go_away

Author Topic: PIC VS PC Board  (Read 1136 times)

0 Members and 1 Guest are viewing this topic.

Offline Builder1Topic starter

  • Jr. Member
  • **
  • Posts: 46
  • Helpful? 0
PIC VS PC Board
« on: January 05, 2009, 12:57:33 AM »
Hello All,
I am in the final stage of planning my course of actions for building my robot. I would like your opinions on the use of PICs vs PC Boards for the brain of the robot. What are the advantages and drawbacks of using PICs, and what are the advantages and drawbacks to using PC boards. Please be as detailed as you can, as this will help me decide which one to choose for my project. Thank you in advance for your help.
« Last Edit: January 05, 2009, 01:28:17 AM by Builder1 »

Offline izua

  • Supreme Robot
  • *****
  • Posts: 682
  • Helpful? 0
Re: PIC VS PC Board
« Reply #1 on: January 05, 2009, 01:37:53 AM »
basically, a PIC is a microcontroller, while a PC is a fully fledged computer.
A PIC can only do 1 (one) specific operation, while the PC can perform several tasks at once. The PC takes up a lot more power, but the PC is also self-programmable (you can write software for it by using it, can't do that on the PIC).
These are basically the major differences. Everything else arises from these.
Check out my homepage for in depth tutorials on microcontrollers and electronics.

Offline Builder1Topic starter

  • Jr. Member
  • **
  • Posts: 46
  • Helpful? 0
Re: PIC VS PC Board
« Reply #2 on: January 05, 2009, 07:27:13 AM »
Hi,
Thanks for responding, I thought that PICs are capable of performing more than a task at a time, but I guess I'm wrong . If that is the case then why would someone choose a PIC over a PC board for his robot? Wouldn't he need multiple PICs to cover all of the different tasks that he wants the robot to perform simultaneously? Thanks in advance for your time.
« Last Edit: January 05, 2009, 07:28:25 AM by Builder1 »

Offline cosminprund

  • Robot Overlord
  • ****
  • Posts: 284
  • Helpful? 8
Re: PIC VS PC Board
« Reply #3 on: January 05, 2009, 08:12:22 AM »
@Builder1

Quote
I thought that PICs are capable of performing more than a task at a time, but I guess I'm wrong

Take a good look at the single-board PC's you might want to use for your robot. Do they use multi-core CPU's? If they don't then realistically they'll still only do one thing at a time.

When you need to do multiple things at once you can use an multi-core CPU to truly do multiple things at a time. If you don't have an multi-core CPU you can smartly divide your CPU time betwen all the tasks you need to do. If you're using a PC board chances are you'll be using an operating system (Linux) and that operating system will take care of dividing CPU time betwen tasks automatically. What the operating system does is called "Preemptive Multitasking": It starts one task then it stops it allowing an different task to do some work and so on. This cuts both ways. What if the task you're doing NOW is really important and you don't want the OS to stop it so an other task does some work? You'll need to see what facilities for "real-time" operations your PC board offers.

An other option for doing multiple things at the same time is to intentionally sequence those things so it appears that you're doing multiple things at the same time, when in fact you're not. (What the OS calls Preemptive Multitasking is the same thing, only it's not done by the programmer and it's using some support from the CPU). This sounds difficult but it's not. When you're working on a robot the multiple tasks you need to take care are really small: You need to send a pulse to some servos, need to watch the inputs from some sensors, need to compute some values (speed, etc). Lots of people on this forum are using microcontrollers to do complex robotics stuff and manage to do it with microcontrollers (most people? I'd think most people.)

Did you decide on the kind of robot you want to build? This might help you decide: If everyone's using an Microcontroller for that kind of robot you might want to do the same so you can use the available code snippets. The same is true for the PC board.

And why did you stop at PIC vs PC board? There's also the Atmel AVR! Unless you're aiming for the higher end PIC's (PIC18F and up) you'll have very limited compiler options. Maybe you want to repeat my mistake: I started with PIC's and now I want to switch to AVR.
« Last Edit: January 05, 2009, 08:13:11 AM by cosminprund »

 


Get Your Ad Here