What is the best microcontroller for a competition robot?
Arduino
 100%  [ 1 ]
Propeller
 0%  [ 0 ]
ATmega Series
 0%  [ 0 ]
PIC
 0%  [ 0 ]
Basic Stamp
 0%  [ 0 ]
Total Votes : 1

Looking for the best uC. There are so many to choose from. Keep in mind while your voting that it needs power and ease of use. Best balance between the two anyway! Very Happy
Although it's been way far overused at this juncture by Mechanical Engineers who don't really know anything about EE and microcontrollers, the Arduino is probably best suited to your particular needs in terms of available code to look at, available code and libraries to reuse, price, and flexibility and expandability. For different applications, though, I'd certainly recommend various of the items on that list; for your particular application in this case, the Arduino. For the sake of everyone else who isn't as familiar with your project, would you mind being more specific about your criteria?
Arduino sounds nice Kerm. If no one else votes, I'll go with that. But come on! I know Cemetech can do better! Vote everyone! Only 1 vote in 24 hours, and by Kerm. More results are better!
adept wrote:
Arduino sounds nice Kerm. If no one else votes, I'll go with that. But come on! I know Cemetech can do better! Vote everyone! Only 1 vote in 24 hours, and by Kerm. More results are better!
More results certainly are better! Come on, I know at least some of you have assorted microcontroller experience. Razz
BASIC Stamp should never be an option; they are horribly overpriced for what they are. If you're looking for a very simple to use microcontroller running interpreted BASIC, take a look at the PICAXE.

The Arduino rubs me up the wrong way. On the one hand it's a nice way to introduce non-technies to microcontrollers as you get everything you need to get started with one product, but I'm not sure about the merits of using Processing instead of C given that they're not a million miles away from eachother yet using Processing does not (to my knowledge) let you easily use C code that others have written. It seems like a bit of an artificial limitation.

"PIC" covers just about everything from tiny 6-pin 8-bit weaklings up to 32-bit hulking behemoths. The downside of these (and most microcontrollers) is that the C compilers are not free; you usually have to settle for demo versions, which lack an optimising compiler and/or impose a maximum code size limit.

It really depends on what you need to do with the microcontroller, how much equipment you already have and what experience you have with microcontrollers.
Benryves, fair points all around. Your point about the Arduino is taken well, and I agree that the language is a bit of a sticky wicket for those of us familiar with more universal medium/high-level programming languages, but I think for those who didn't know C in the first place, it perhaps provides a nice transition towards eventually learning it. Regarding code reuse, there's no way to use C code compiled for ATMega chips inline?

I can't say I have too much personal experience with PICs. In my Digital Logic Design class, my half of the class was required to use discrete 74-series TTL logic (and some PLDs) for everything where the other half could use PICs. I then somehow jumped straight to FPGAs and GPUs, and it was only really when the Arduino came out that I was able to get my hands on a microcontroller. I'd love to go back and fill in my missing PIC knowledge at some point in the future, though.
The problem I have is that with it is that the Arduino code I've seen is similar to C with helper libraries. I just don't really see why you couldn't write in C from day one. Last time I asked I was informed that it's not possible to use regular C libraries in an Arduino project.

My initial experience with PICs was with their old 8-bit offerings (e.g. the venerable PIC16F84). I found these generally quite unpleasant to work with (they have a quirky banked memory system which makes accessing registers frustrating) and they're not desperately efficient (four clock cycles to the instruction cycle). I then moved to AVRs, which are still fairly primitive 8-bit devices but have a nicer instruction set, execute most instructions in one clock cycle and don't have the weird banked memory arrangement. A completely free C compiler is also nice.

I returned to PICs with a dsPIC33FJ128GP802; this is a 16-bit device, can run at up to 40 MIPS on the internal oscillator, has 16KB RAM and 128KB Flash ROM. The assembly instruction set is pleasant to work with (though the free C compiler does a decent enough job even without an optimiser). You get lots of on-board goodies, DMA can be used to transfer data to and from peripherals without any CPU intervention, the pins are remappable, interrupts have a fixed five-cycle latency and you can easily manage interrupt priority. All that and it's available in a hobbyist-friendly DIP28 package. Smile
benryves wrote:
I returned to PICs with a dsPIC33FJ128GP802; this is a 16-bit device, can run at up to 40 MIPS on the internal oscillator, has 16KB RAM and 128KB Flash ROM. The assembly instruction set is pleasant to work with (though the free C compiler does a decent enough job even without an optimiser). You get lots of on-board goodies, DMA can be used to transfer data to and from peripherals without any CPU intervention, the pins are remappable, interrupts have a fixed five-cycle latency and you can easily manage interrupt priority. All that and it's available in a hobbyist-friendly DIP28 package. Smile
Despite the somewhat unwieldy name for that chip, I could definitely see that being something that I check out. I had no idea that an microcontroller supported DMA. Shock What do you mean about interrupts having a five-cycle latency? They couldn't possibly only take five cycles away from the main program (right?) so you lost me there. Remappable pins are great, and the fact that that fits in DIP28 is awesome. I'll have to look for a source for those.
KermMartian wrote:
I had no idea that an microcontroller supported DMA. Shock
It's great! I'm using the chip to generate a video signal, so rather than spend each scanline carefully clocking out 320 pixels manually I just copy the scanline data to the DMA memory and use a DMA channel to send the data out of the SPI peripheral.

Quote:
What do you mean about interrupts having a five-cycle latency? They couldn't possibly only take five cycles away from the main program (right?) so you lost me there.
There is a certain delay between an interrupt being triggered (e.g. a timer overflowing) and your ISR being called. Due to different instructions taking different amounts of time to execute this will usually result in a random delay. This microcontroller ensures that there's always a five cycle delay, which makes timing-critical code much easier to write.

For an example of what I've been doing with this chip, here's a YouTube video, source code dump and schematic.

There are, of course, more powerful chips, but once you start heading to the wonderful world of 32-bit ARM microcontrollers and the like you also start heading to the less practical world of surface-mount components. Sad
Through hole ARM9....drool. I would love to have that on my breadboard Razz
willrandship wrote:
Through hole ARM9....drool. I would love to have that on my breadboard Razz
Yeah, good luck finding that. Rolling Eyes I don't know of any through-hole ARM packages, and a very cursory Google searched turned up nothing of interest just now.

@BenRyves: Ahhh, that makes sense, thanks for explaining what should have been obvious to me. Smile That project looks great, as is the norm for your projects, by the way. I'll definitely need to explore these.
The team decided in the beginning of september on the arduino... So really no need to post anymore here. I already find the arduino "neat". It's pretty cool and easy to use. Still learning though.
adept wrote:
The team decided in the beginning of september on the arduino... So really no need to post anymore here. I already find the arduino "neat". It's pretty cool and easy to use. Still learning though.
Cool and easy to be sure, but not the most powerful. I hope it proves to be sufficient for your purposes.
If it isn't sufficient, we lose. Then as a team, we redesign for next year. Not to difficult. Thanks for all the help choosing Kerm!
adept wrote:
If it isn't sufficient, we lose. Then as a team, we redesign for next year. Not to difficult. Thanks for all the help choosing Kerm!
My pleasure, kudos to benryves too for his knowledge.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement