Slashdot Mirror


What Micro-Controller Would You Use to Teach With?

Rukie asks: "I'm looking into starting some sort of robotics class for my high school, which severely lacks any sort of technological classes. I am now wondering what micro-controllers are best for an educational environment. I definitely want something more advanced than the Legos, but something that won't fly over people's heads. Are there cheap, scaleable micro-controllers for learning in a classroom or at home? I'm curious how my fellow readers have hacked up toys to make their own robotics at minimal cost."

5 of 175 comments (clear)

  1. Freescale/Motorola 6808 by StarWreck · · Score: 4, Informative

    The 6808 micro-controller (long version of the name is M9S08GB60) would be excellent for teaching a class on robotics. As its been around since the dawn of time, there's a lot of support readily available for it. Complete, detailed reference manuals are freely available, Freescale will even ship printed copies to you for free. Compilers are available that allow you to program in your choice of assembly, C, or C+. The "M68DEMO908GB60" demo board is available from many online retailers for around $50 which makes it easier to use the microcontroller for prototyping as well as experimentation and class labs.

    What lends the 6808 microcontroller is its Pulse-Width-Modulation components (it has 2 modules, one with 5 channels and the other with 3 channels and all channels can be set up for either incoming our outgoing). In addition to all that it runs up to 40MHz without cooling and includes 4K of RAM and 60K of ROM all on-die, so no extra chips for those. It has more power than you could ever hope to use in a class-room.

    A good example project is available here: http://home.comcast.net/~starwreck/FinalReport.pdf

    --
    ... and in the DRM, bind them.
  2. Reluctantly recommending the basic STAMP by Uncle+Ira · · Score: 4, Interesting

    As much as I love the open source Arduino board for my own personal use, and even though the basic STAMP is raher expensive (even with the education discount), Parallax has an extremely thourough set of documentation that is perfect for an educational environment. They have a fee book available for download called "What is a Microcontroller" that should fit all your needs. It contains a series of predesigned lessons that assume no technical experience for your students. All your lesson plans are done for you.

  3. Re:options by IceCreamGuy · · Score: 4, Informative

    I love the Brainstem, it's got 5 digital I/O ports, 5 analog I/O ports, 4 servo outs, GP2D02 port, RS232 port and an IIC bus. All of the functionality you could need, such as sonar, IR, servo, text-to-speech, even pyroelectric (human heat-signature sensor), and many more are implemented in pre-built, extensive libraries. You can run 4 VMs at once and swap them out among 11 different 1MB programs, with 1MB of shared scratch space. You can also program low level "reflexes" to run independently of the VMs. They're programmed with the TEA, or Tiny Embedded Application, language (you "steep" .tea files into .cup files, which are the binaries :-D), which is a stripped-down, easy to use, C-syntax language that's really easy to learn and program with. The compiler is just a tiny little console that can be downloaded for free and even runs on PalmOS. Did I mention they're really easy to interface with Palm Pilots? They're great for post-intro robotics classes when you want more functionality and would like to really get down into nuts and bolts construction. As well as being cheap and easy to use, there are a ton of kits and libraries for platforms that specifically use the Brainstem. After doing research at my university's robotics lab with several different platforms for over 3 years now, I'd recommend these over anything else, of course, that's just my personal opinion and there's a ton of other great controllers out there, especially the BASIC, JAVA and other Stamp controllers. Here's the link http://www.acroname.com/robotics/parts/S1-GP-BRD.h tml -Julius

  4. Atmel AVRs by lordlod · · Score: 4, Informative

    I'd go with Atmel AVRs.
    They are widely used, well documented and well supported.
    There are a large range of chips with a consistent instruction set, so they can learn on a simple eight pin 1-Kbyte chip and then apply that knowledge the next day on a large 32-pin 16-Kbyte device.
    They are extensively used in industry so students can feel like they are learning something practical.

  5. Atmel AVR. No contest. by Miamicanes · · Score: 5, Interesting

    I'd recommend Atmel AVRs without a moment's hesitation.

    The PIC and 8051 grew from architectures that were considered spartan and stripped to the bone a generation ago, and got a foothold only because (compared the "real" CPUs) they were somewhat affordable. They've matured, of course... but people who start on PICs almost inevitably get saddled with all the legacy baggage. In contrast, people whose first exposure is to Atmel or Motorola take one look at the PIC's legacy stuff, say "eeeewwww!", skip the first 20 chapters of the book, and go right to the good (modern) stuff.

    The Motorola/Freescale MCUs are powerful, but they're NOT for newbies.

    The nice thing about AVRs is that they're fairly robust and hard to permanently kill. I've abused AVRs pretty badly, and I've NEVER had one permanently die on me. There were a few I'd thought were dead, but ultimately they were all resurrected via high-voltage programming or by supplying an external clock signal to them. I've grossly exceeded the i/o pins' current-draw capabilities, connected power backwards, created pin-to-pin shorts, and still lived to tell about it. From what I've read, other platforms aren't quite as forgiving and wantonly abusable as AVRs. I know people who've driven 5v-relays straight from AVR i/o pins.

    AVRs also have a great resource -- avrfreaks.net

    AVR development tools are fairly cheap. An ISP-only programmer costs around $30-35. The Dragon costs $50, but adds support for high-voltage programming (handy for fixing messed up fusebits and reviving chips that otherwise appear to be dead) and Debugwire (think of it as single-wire JTAG for debugging). Unless you actually care about compatibility with Atmel's old chips, I'd recommend a Dragon over the STK500, if only for the Dragon's Debugwire capabilities.

    AVR Studio is a free IDE (Windows only, though... but I think there's a Linux alternative) that natively supports assembly, but also integrates seamlessly with WinAVR for C/C99/C++ (of the 3, C99 is the one I find the most useful... it basically gives you the linguistic niceties of C++, like parametric polymorphism, without the huge libraries and resource requirements normally required for full-blown C++).

    One major tip: if you want to use C (or eventually C99 or C++), buy John Pardue's book ("C Programming for Microcontrollers) and a Butterfly. He sells it directly from his website (smileymicros.com) for less than it costs from Amazon, and you can pick up the relevant hardware from him for less than you'd spend buying it all from Digikey. No, it's not the greatest book on C programming ever written... but it's the single best book you can get for learning C as it applies to AVR microcontrollers. Remember, 99% of C is learning how to use its libraries. Let's just say that time spent learning to use stdio in a generic C programming book isn't going to do much for your AVR programming skills...

    Architecturally, AVRs are fairly well-behaved. The biggest problem I've had is the fact that they're SO well-behaved, it's easy to get a false sense of security and overlook details that are different between them. Unfortunately, Atmel's datasheets seem to have the same general editorial philosophy as the first O'Reilly books (say it once, never repeat anything, and bury important details in the middle of otherwise nondescript paragraphs on page 183, without so much as a gray box or sidebar to call attention to it). However, everyone at avrfreaks.net is painfully aware of those documentation shortcomings, and when somebody gets snared by one of them, someone else usually notices within 5 minutes, sighs, yawns, and politely points them in the right direction. It's exceptionally rare for anyone to get flamed.

    As far as robots go, AVRs definitely seem to be just about everyone's favorite 8-bit processor. 6809s are popular with some more advanced users (though many of them freely admit that they aren't quite sure why they used a 6809 instead of an AVR), and the 68332 is a longtime favorite at the high en