Article
I2C Servo Interface
control eight servos using the I2C bus
Model servos have improved greatly in the past few years and now offer greater torque and speed, so much so that they are increasingly being used for other applications. The circuit described here controls up to eight servos using the well-established I2C bus. Additional cards enable expansion up to 64 servos. Software running under Win95/98 demonstrates the features of the circuit and allows simple programming on a PC using Visual Basic.Generating an accurate Pulse Width Modulated (PWM) signal necessary to control a model servo is not an easy job for any computer particularly so if its running a multitasking operating system like Windows. Needless to say the problem gets worse when we add more servos and need to generate more control waveforms. In this situation the application of a little hardware often works wonders. The solution presented here uses a simple card driving eight servos controlled from an I2C bus on a parallel PC interface like the one presented in the March 1999 PC Topics Supplement of Elektor Electronics. The card allows eight servos to be controlled independently via commands sent over the I2C bus. Address selector switches on the card enable eight of these cards to be connected in parallel to the same I2C bus thereby providing a maximum of 64 servos to be controlled from the same I2C bus.
Materials
Gerber file
CAM/CAD data for the PCB referred to in this article is available as a Gerber file. Elektor GREEN and GOLD members can exclusively download these files for free as part of their membership. Gerber files allow a PCB to be produced on an appropriate device available locally, or through an online PCB manufacturing service.
Elektor recommends the Elektor PCB Service service from its business partner Eurocircuits or AISLER as the best services for its own prototypes and volume production.
The use of our Gerber files is provided under a modified Creative Commons license. Creative Commons offers authors, scientists, educators and other creatives the freedom to handle their copyright in a more free way without losing their ownership.
PCB
Component list
Resistors:
R1 = 100Ohm
R2 = 27kOhm
R3-R10 = 6kOhm 04, 1%
R11-R18 = 18kOhm 7, 1%
R19 = 10kOhm 4-way SIL array
Capacitors:
C1 = 33nF
C2-C9,C16 = 100nF
C10 = 1µF 16V radial
C11-C15 = 470µF 16V radial
Semiconductors:
IC1 = TDA8444
IC2-IC5 = NE556
IC6 = NE555
Miscellaneous:
K1,K2 = 6-way mini-DIN socket
K3-K10 = 3-way pinheader
K11 = 2-way PCB terminal block, lead pitch 5mm
Disk, project software, order code 010006-11 or free download
R1 = 100Ohm
R2 = 27kOhm
R3-R10 = 6kOhm 04, 1%
R11-R18 = 18kOhm 7, 1%
R19 = 10kOhm 4-way SIL array
Capacitors:
C1 = 33nF
C2-C9,C16 = 100nF
C10 = 1µF 16V radial
C11-C15 = 470µF 16V radial
Semiconductors:
IC1 = TDA8444
IC2-IC5 = NE556
IC6 = NE555
Miscellaneous:
K1,K2 = 6-way mini-DIN socket
K3-K10 = 3-way pinheader
K11 = 2-way PCB terminal block, lead pitch 5mm
Disk, project software, order code 010006-11 or free download
Discussion (0 comments)