You are viewing an older revision! See the latest version

m3pi Development

After playing the the 3pi, I had a list of things I want to achieve and add to the 3pi. The ideas below are just driven by my objectvies and irritations

  • An "m3pi" library class that abstracts all the features and functions of the basic 3pi to simple method calls. (controlling motors, LCD, speaker, line following sensors)
  • An eagle library for the expansion card template, and a refernce design to be publushed and reused. Alex has kindly shared his work on this.
  • A battery charger on the expansion card, to charge NiMH cells fitted into the 3pi. My idea here was to have the batteries charged by USB (or some other DC source) whenever is is plugged
  • Footprints for common, low cost wireless modules (Bluetooth, Zigbee, Wifi)
  • Use a SPI port on the mbed to reflash the ATMega328 from the mbed LocalFileSystem (drag and drop programming for the ATMEga!). I'll reuse the AVR910 implementation from Aaron Berk

Getting Started

As ever, lots to do for a new platform, but the Pololu site is really well set out.

The tool chain

To start working with the 3pi, you'll need to complete the following steps (or similar). Download and install a toolchain? How quaint ;-)

Seriously though there is plenty of help at the Software resources area on the Pololu site.

  • Download and install AVR Studio
  • Download and install WinAVR (avr-gcc compiler)
  • Download and install the Pololu code examples
  • Get a copy of HEX2BIN - the output of AVR Studio is hex files, Aarons AVR910 implementation only works with binary files.
  • Build (and convert to binary) the 3pi Slave example.

The hardware

Before I go headlong into making a PCB, I want to prototype it all up, so I bought an expansion card, and built this :

m3pi prototype

Getting Stuck In

After playing a little bit with Chris prototype, I start working with the charging circuit.

A Linear IC selected for this job as it was the best fitted solution because of the lowest count in peripheral components with the shortest time from concept to production. I populate the design with the footprints of the mbed, Bluetooth and XBee modules, together with a row of eight LEDs (Yes, we can create some funny scroll messages with those!!!).

/media/uploads/Lykos1986/_scaled_4.jpg

The PCB produced using the etching method. I know that it looks ugly but it was my first one using the local equipment. It is a process that demands good timings counted in seconds with these powerful chemicals. At least we can test the parts that we want really easily…

(I am promising for an easy step by step tutorial of how you can make your own PCBs with this method, using simple products from your local super market and not the dangerous and aggressive chemicals)

And here is a close up of the actual charging circuit.

/media/uploads/Lykos1986/_scaled_5.jpg

Check the color difference in the square just below the transistors collector. This indicates the expected heat produced by the high current flow. If we reduce the charge current and increase the PCB heat sink we will have a safer implementation for the user (and that is what we are planning to do in the next prototype, together with a few more improvements.

The testing procedures were in this bench, together with the discharge element… yes, a small value resistor!

/media/uploads/Lykos1986/_scaled_1.jpg /media/uploads/Lykos1986/_scaled_6.jpg

The circuit consumes 470mA @ 9V making it perfect for a wall powered transformer.

And here is a small mechanical problem. This pin header is aligned just 3mm above the 3pi wheel. Yes, I am already making a few changes in the next prototype… so, stay tuned!!!

/media/uploads/Lykos1986/_scaled_2.jpg /media/uploads/Lykos1986/_scaled_3.jpg

Resources


All wikipages