HandyBoard 16 servo addon and software

  
Inside:
Repository
The expansion board had 6, but I didn`t think that 6 servo ports were worth the price of the expansion. I ended up making a fully reversible modification to my handyboard that gave me 16 servo ports costing a total of about $2, two of the motor ports and a digital input. Aservo motor doesn`t just turn when we apply voltage. instead, it is a positional motor -
HandyBoard 16 servo addon and software - schematic

it exerts effort to maintain a particular position. We tell it which position by supplying a string of pulses, where the time that the pulse is positive defines the position we want the motor to hold. 0. 8ms is 90 degrees left, 1. 5ms is center, and 2. 2ms is 90 degrees to the right. Digital input #9 is connected to a special pin on the 68HC11. It is connected to a bi-directional timer pin which can have its digital level read, throw an interrupt when it changes and record the time, be a digital output, or make a pulse that goes for a specific length of time (of either polarity), and throw an interrupt when the pulse ends! I did a little bit of maths, and worked out that this timer has a resolution (or accuracy) of 500ns! this means 3, 000 counts for center position - well within our maximum time of 65, 535 counts. The fact that we can ask the 68hc11 to tell us when its done is great too - we can use this to trigger the pulse again without ever having to check if we need to start again! Instead of making the board wait until its ok to pulse again, I wondered if I could get it to pulse a different servo in that time instead - enter the 4514 ic. The 4514 ic basically decodes 4 bits and sends the relevant one of 16 pins positive. Each motor port uses two bits - direction and enable. I decided that I wouldn`t need more than two motor ports, and could use the other two to talk to the 4514. The signals to the L293D are latched...



Leave Comment

characters left:

New Circuits

.