In previous projects I created several AI stuff in my PC. I intent to start
building robots to house my AI experiments.
It seems that most robots are controlled by microcontrollers. What are the
advantages of MCU's above PC's.
I actually planned to use an old pc to control my robots. It has plenty of
memory, a large hard disk to save results and I am familiar programming it.
Are there any good web-sites on interfacing motors and sensors on PC's?
thanks and excuses for my bad english,
All depends on what features you want
the size of the robot and how much you want / have to spend.
Via nano-itx boards which will be out soon(12cm by 12cm)
they will fit in medium size bots.
see http://www.viaembedded.com/product/epia_N_spec.jsp?motherboardId "1#
With a pc as the controller unless you focus on
large bots how are you going to fit a pc in ?
Also power use.Normal pc's use a lot of power.
Add motors and you are not going to have a lot of battery life.
Another factor is weight, the heavier your robot is the large the
motors you need to move it and the larger the current draw.
The larger your robot gets the greater the cost,
especially for motors.
On a pc even the smaller boards have features you don't need for
robotics, and a lack of usable(easily used) io
(unless you using the more expensive industrial / pc104 boards).
How to interface to your sensors and motors without
lots of addon boards.
Some of the pdas can make useful controllers
but io can again be a problem.
Going light and small gives advantages in cost,
weight and power use.
A lot of micros have easily used io and are easy to interface to
sensors and are designed to run in a lot wider range of environments.
You program a micro in a different way to a pc,
aim is small efficent programs
What language are you looking at using ?
What sort of robots ?
What sensors ?
There is a very wide range of micros and dsp chips that can be used in
Range from 8 bit chips like :
pic from www.microchip.com
avr http://www.atmel.com/products/avr /
z80 / z80e from www.zilog.com or similar from rabit semiconductor
8051's from lots of manufacturers older not as easy to program
MSP430 from http://www.ti.com/msp430
16 bit chips
dspic from www.microchip.com new micro + dsp
56fxxx / dsp56fxx from motorola
arm7 from philips , oki and lots of others
The main advantage of the 8 bit controllers is they are easy to use
in a dip package and relatively easy to program.
chips available in boards like next links or can put them in your own board
www.futurlec.com has some cheap board
Also have intrepters like the basic stamps, java stamps ,
basic x , atoms etc etc etc
Even a native java chip.
Also psoc http://www.cypressmicro.com /
micro + programmable blocks
For lots of io its hard to beat
could use these either stand alone or as an io addon to a pc
Do you have a gameboy or gba ?
They can be used as / for robotic controllers
have a slower arm7 chip (no need to spend as much as
one of these kits)
Can also use micros as io addons for pc's or large micros.
Can also get io extender chips like the 8255
(some of these are a pain).
Another type is programmable logic.
cplds or fpga's. cplds you can use as glue logic (except buffers),
interfacing, and programmable io expanders.
FPGa's are similar except a lot larger and
you can even put a soft micro inisde it.
Also used for prototyping ic's
Should be enough here to keep you busy for a while.
Microcontrollers are cheaper and they use less power. I can run a small
microcontroller bot on 4-8 AA cells, depending on the motor and such.
My current bot, Stuart, has a Mini-ITX board (VIA M 10000) as the
controller. This bot is a medium-sized robot (less than a yard in any
dimension, under 100 lb). It had to be bigger than anything else I've
1. The VIA board is small for a PC motherboard, but it's still
7.5" x 7.5".
2. The Mini-ITX board takes more power than anything else I've used. I
use a 12 V 9 amp-hr SLA. I use another one for the motors.
3. A PC motherboard requires more life-support than a microcontroller
board. I have multiple microcontroller boards on my bot to handle
the realtime aspects of motor control and sensors.
4. This bot cost me much more than any other bot I've developed because
of the above reasons.
As long as you excuse mine.
D. Jay Newman
Thanks for the info. It helped me a lot. I will check the links you
-Using a pc makes the robot large and makes it use more energy. For me these
are not problems as long as I build a static robot (like a robot arm) which
can provide interesting projects. I already have a PC therefore a PC is the
-Sensors and motors can't be atached to a PC directly. Intermediary hardware
is needed. MCU's often have built in io for devices, which makes them
cheaper than the extra hardware for my PC. I am not an very experienced
electrical engineer therefor built in io is nice.
-It seems that there are several MCU's that can be programmed using a
language similar to languages common on a PC. I will read more about this.
The experience I have with BrickOS for Lego Mindstorms is that the lack of
memory is quite a limitation. Maybe others are better.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.