When I started this project, I had very little experience with electronics, verging on none. I just new about basic circuits and I could tell you the difference between a resistor and a capacitor. I knew nothing about micro controllers, so as you can imagine, it was quite a steep learning curve. It was eased by the use of C though, which I was quite comfortable using, if I had to do it with assembly, I wouldn't have done it!
Parts & Schematic
So the electronics in Perdo has the following key components:
- Atmel ATmega8: This the micro controller, 8KB of flash memory, with up to 20MHz clock speed.
- L293D: This is a basic, dual H bridge (4 transistors arranged in an H) stepper motor driver, capable of moving the steppers in half steps when given a specific sequence of pulses.
- FTDI FT232R: This is a USB to serial converter chip. Essential, as my laptop does not have a serial port.
Along with that goes a voltage regulator, a decoupling capacitor, a transistor to move the relay with a diode to prevent the reverse current from the relay damaging the transistor and a crystal with a speed of 14.7456MHz which yield a 0% error over serial. Add a few LEDs for power and things like that and that is it. So all this together in a schematic looks like this:
Putting it All Together
While building the project, I used a breadboard to prototype. This worked so well that I still haven't made a PCB yet (9/5/2011), a PCB is now made (13/6/2011), click here for details. Even though this won't mean anything, all the parts on the breadboard look like this:
Terminal blocks are used to connect the wires coming from the motors to the breadboard.
Overall, the electronics for this was not too much of a hassle, as the part count is quite low, there are probably a load of wrong things with the design of the circuit. What was more of a headache as the firmware