Author Topic: 1st robot microcontroller questions  (Read 2236 times)

0 Members and 1 Guest are viewing this topic.

Offline CentaurTopic starter

  • Jr. Member
  • **
  • Posts: 41
  • Helpful? 0
1st robot microcontroller questions
« on: March 01, 2008, 02:26:08 PM »
Hi all,

I have some questions on microcontrollers.  The specific questions are numbered to make it easier to follow exactly what I'm asking and so I can follow what you are responding to (please place the numbers next to your answers).  The rest of the info is background info to help you understand my situation.

Background:
The other week I decided that it would be fun hobby to make robots (especially ones that chase my sisters crazy dog around, I promise video in the future), so here I am.  I'm a 23 year old mechanical engineering student out of Akron Ohio (graduating this may).  I have extensive experience with RC aircraft, where I have designed and built them from scratch for an international competition (I have placed in the top three for the past three years).  Obviously enough, RC is quite different from autonomous robots.  With my area of expertise being in mechanical components, I have several questions regarding the electronics.  Additionally, I have some experience with programming, particularly MATLAB and excel based macros.  I have written several macros and programs with well over 1000 lines (teaching myself) so I think I'll be able to get up to speed on programming rather quickly.  With this background hopefully you'll be able to better understand what I am looking for in a microcontroller. 

Yes I have read the FAQ on microcontrollers (several times), and the tutorial on the $50 dollar robot, and the motor control, sonar, I2C, UART, etc...  What's amazing is I've probably only read 1/10th of what's on this website.  Based on my initial research I've already decided to go for an AVR controller to narrow down the selection, but I still find many differences and so I still have many questions.

Questions:
I am looking for an augmented microcontoller board that will have substantial capabilities so I will not exceed it's capabilities within my first year or two.  I'd rather not spend a great deal of time building the microcontroller when I can just purchase one with the capabilities I'll need (while money is always an issue, I'm willing to spend a couple of hundred to get me started). 

Capabilities I would like to have in my microcontroller
I want to make sure I have the correct connections for these sensors.  please tell me if I am incorrect.
1.  Sonar - analog input
2.  IR - analog input
3.  Accelerometers - ??  analog input or I2C?
4.  Vision systems - no idea about the connectors, but two cameras together for depth of field would be cool
5.  Servo - Digital I/O (PWM needed?)
6.  Motor controll (how can i tell by specs if the controller can directly handle motor control w/o needing additional H-bridges?)
7.  digital compass, or magnetic field detection - I2C, analog?
8.  gyros - I2C, analog?

I plan to start by having my first robot have motors and a bump sensor and just drive around like the romba, but I want to eventually move into vision systems, sonar and IR etc...  since the more sensors I have the more intelligent I can make the robot.  I'd  rather spend more money now then find out I need to spend money again later for more advanced capabilities.  I also plan to do a biped at some point.

I managed to obtain 4 free servos from the RC aircraft design team that I mentioned above, so I'd rather purchase motors (which I'll need eventually anyways), instead of ruining my free servos for my first robot (as is done in the $50 robot tutorial).

While comparing microcontrollers on the internet I found several that I'm interested in.  The first difference between most of them that I noticed was the available memory.  If I understand correctly, flash memory is the memory for the program. 

9.  Can someone give me examples of times when you've ran out of memory, what you were trying to accomplish and how much memory you had? 
10.  When would you need significant amounts of SRAM or EEPROM, examples please
11.  How useful is JTAG, it sounds like I'll want it for debugging
12.  I require the ability to read sensors real time for testing (not necessarily while robot is in use), UART accomplishes this correct?
13.  It would be very helpful to record all variables along with time on board, so I can see what circumstances resulted in what actions at a later date for debugging/optimizing.  How can I do this, and then output the data later, instead of simultaneously (i don't want to teather my robot to my computer, it's a desktop so this causes problems, or spend the money for wireless communication if I can avoid it.

Since this is a really long post, I'm going to split it up and post a second one below, that compares specific microcontrollers.
Any intelligent fool can make things bigger, more complex, and more violent.  It takes a touch of genius - and a lot of courage - to move in the opposite direction.  ~E.F. Schumacker

Offline CentaurTopic starter

  • Jr. Member
  • **
  • Posts: 41
  • Helpful? 0
Re: 1st robot microcontroller questions
« Reply #1 on: March 01, 2008, 02:52:47 PM »
Follow up post

Specific microcontrollers I'm looking at

Robostix $50
ATmega128
6 PWM
6 Servos
I2C
8 analog inputs
128k flash
4k Sram
4k EEPROM
http://gumstix.com/store/catalog/product_info.php?cPath=31&products_id=139
btw, gumstix website sucks.  In the microcontroller tutorial it says that it has a ton of AVR based controllers, but I could only find the robostix.  Am I missing something?

Cerebot II (or Cerebot, they are basically the same) $40
ATmega64L
? PWM
8 Servos
I2C ?
8 analog inputs
64+128K flash
4k Sram
2k EEPROM
have multiple "peripheral module hookups"
http://www.digilentinc.com/Products/Catalog.cfm?Nav1=Products&Nav2=Embedded&Cat=Embedded%20Control

BDMICRO MAVERIC -IB ($119) and IIB ($99) (close to the same)
ATmega128
6 PWM
IB has no direct servo hookups (how would I get servos to work?) IIB has 6 servos
I think both have I2C (the IIB may not)
8 analog inputs
128K flash
IB = 4k + 128K external Sram, IIB = 4K Sram
IB - 4k EEPROM + 32K I2C serial, IIB - 4K
what would be the benefit of screw connections?  both offer them for additional $$
why are these so much more expensive than the robostix?  I fail to see significant differences
http://www.bdmicro.com/mavric-ib/

I was considering the Arduino Diecimila, but I can get so much more with the extra 10 or 20 dollars for one of the above that I think I'm not going to strongly consider it.  Unless someone can make a strong case for it because I'm missing something.  It only has the ATmega168 while the others have more advanced controllers.

Are there any other big boards that I'm missing in my search?  these are pretty much all I can find, except for a few rediculous boards that cost $200+ and can control 20+ servos, which I don't think I would need for a few years.

One last question...  how often are new microcontrollers released.  Could it be beneficial to purchase a controller like the Diecimila because i probably won't use the advanced features of the other boards for a year or two (or more) and by then the prices on the other boards will have dropped significantly or there will be other major advancements (to me it seemed like new ones aren't released all that often and the prices won't drop siginificantly like they do with computers, so i'd just be better off or the same spending the money now).

20.  Lastly, do you guys know if any of these boards can directly drive small motors w/o additional h-bridges?

21. What do you guys think about these boards and how they would be for my situation?

23.  Are there any other boards in this same range of capabilities that I'm missing? (or even more capabilites for the same price)

24.  What are the big differences besides memory, between the ATmega128 and ATmega64L (I looked at the specs and like most newbs, it didn't mean all that much to me, despite all my research)

THANKS FOR YOUR INPUT AND HELP!!!

« Last Edit: March 01, 2008, 04:24:43 PM by Centaur »
Any intelligent fool can make things bigger, more complex, and more violent.  It takes a touch of genius - and a lot of courage - to move in the opposite direction.  ~E.F. Schumacker

Offline CentaurTopic starter

  • Jr. Member
  • **
  • Posts: 41
  • Helpful? 0
Re: 1st robot microcontroller questions
« Reply #2 on: March 02, 2008, 03:16:55 PM »
I wanted to give this topic a bump.  Lots of views but no responses. 

One note, I realize I could probably do more research and find answers to most of the questions in the first post so if anyone is thinking of answering questions, these are the most important ones that I had.  (copied from the bottom part of the second post).

how often are new microcontrollers released.  Could it be beneficial to purchase a controller like the Diecimila because i probably won't use the advanced features of the other boards for a year or two (or more) and by then the prices on the other boards will have dropped significantly or there will be other major advancements (to me it seemed like new ones aren't released all that often and the prices won't drop siginificantly like they do with computers, so i'd just be better off or the same spending the money now).

20.  Do you guys know if any of these boards can directly drive small motors w/o additional h-bridges (how could I tell)?

21. What do you guys think about these boards and how they would be for my situation, to much overkill? (please explain why if so)

23.  Are there any other AVR based boards that you think I should be considering that I might be missing?

24.  What are the big differences besides memory, between the ATmega128 and ATmega64L (I looked at the specs and like most newbs, it didn't mean all that much to me, despite all my research)
Any intelligent fool can make things bigger, more complex, and more violent.  It takes a touch of genius - and a lot of courage - to move in the opposite direction.  ~E.F. Schumacker

Offline airman00

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 3,650
  • Helpful? 21
  • narobo.com
    • Narobo.com - Mechatronics and related
Re: 1st robot microcontroller questions
« Reply #3 on: March 02, 2008, 03:26:14 PM »
welcome to the forum centaur !

all of your questions can be answered by searching google and searching the forum
http://www.societyofrobots.com/robotforum/index.php?action=search

If after searching it for at least 2 hours , you still have a question , then one of us at the forum will answer it
Check out the Roboduino, Arduino-compatible board!


Link: http://curiousinventor.com/kits/roboduino

www.Narobo.com

paulstreats

  • Guest
Re: 1st robot microcontroller questions
« Reply #4 on: March 02, 2008, 06:11:34 PM »
You would definately be better off deciding on an mcu and making an augmented board yourself, that way you could add h-bridges etc.. on the board .
As with the memory of mcu's etc. Just look at the stats, the higher numbers are better (apart from if the higher number has a $ symbol before it ;D)
Check out the $50 robot that admin has on the main site. Even if you dont build it, you should see how it is cheaper to build your own mcu board and realise that you can add whatever you like to the board.

 


data_list