Step 2: Design the Circuit

Motor control is accomplished through pulse width modulation. Although PWM amps are slightly more complicated in both hardware and control, they are much more power efficient than linear amplifiers. A PWM amp operates by very quickly switching the current or voltage to a load between on and off states. The power supplied to the load is determined by the duty cycle of the switching waveform. Provided that the dynamics of the load are slower than the frequency of switching, the load sees the time average.

In this design, the switching frequency is approximately 87 kHz, which was tuned to the motors on the rover. The duty cycle is voltage controlled by setting the threshold of monostable oscillators driven by an astable oscillator. A digital to analog converter on the rover's computer controls the threshold voltage and thus the duty cycle of the amplifiers.

The PWM wave forms are generated by seven timers (each of the four 556's has two timers, and the eighth timer is unused). The first timer is set for astable oscillation, and switches between an on and an off state at 87 kHz. This 87 kHz clock signal is fed into the triggers of the other six timers, which are set to operate in monostable mode. When a monostable timer receives a trigger signal, it changes state from off (0 volts) to on (5 volts) for an amount of time set by the input voltage. The maximum time is approximately 75% the period of the astable clock signal and the minimum time is zero. By varying the input voltages, each monostable timer will generate a 87 kHz square wave with duty cycle between 0 and 75%. The LMD18200 chips act simply as digital switches controlled by the output of the timers and by the brake and direction digital inputs from the computer.
I would be helpfull if you included a PDF of the circuit and the PCB layout.
Agreed, but I lost the data I actually used to print my toner mask.
<p>thesis link is not working. can't view/download.</p>
thanks for making this nice instructables.can you post an instructable for homemade dc motor controller for electric bikes. I would be glad ,if so..
<p>Can someone help me with controlling a 600W 36V PMDC motor??</p><p>I guess it will need atleast 30amps</p>
<p>I bought a useful circuit recently, a PWM from the weblink, I find it works great for motor control and (no offence) but it looks neater too.</p><p>http://www.rmcybernetics.com/shop/PWM-OCm</p>
can this be used with radio control!?
pls send me a circuit for controlling multiple stepper motors
hey, thanks for that insttruction! do you think you could upload a better resolution circuit drawing? .. i can hardly read that text. thanks a ton. F
look in his thesis the schematic is a lot more clear<br/><a rel="nofollow" href="http://sub-zero.mit.edu/ewilhelm/thesis/Thesis.PDF">http://sub-zero.mit.edu/ewilhelm/thesis/Thesis.PDF</a><br/>
Can u modify this to control AC voltages (mains)
This is a great instructable, and I am trying to use these same H bridges with an arduino controller. <br/>Do you have any advice for me as to whether or not that will work?<br/>This is my first arduino project, and I may be biting off a large bite at first. I think I can do it, but am looking for some guidance as to where to connect the Pins on the arduino to the Hbridge. I have to use a heavy duty bridge since the motor I have is a 30VDC, 3Amp stepper.<br/>Thanks in advance for any help you might have to offer.<br/>-=Andy<br/>
Every time I've used beefy H-bridges for anything high-current, I've always ended up having to opto-isolate the H-bridges from the pulse generator. Maybe it's just bad luck on my part. I would think the Arduino should be able to handle connecting its digital outputs directly to the input on an LMD18200, for example. However, you're going to have to just try it out.
Thanks,<br/>It seems to be able to connect directly (although it seems at this moment that I may have fried something) but the motor just stutters back and forth. <br/>So at this point I am trying to figure out how to write the code to control the motor, since all the examples I can find use the built in stepper library which I think has the timing off slightly.<br/>does that sound right to you ?<br/>Maybe I am missing something.<br/>Thanks,<br/>-=Andy<br/>
It does sound like the timing is off; however, I was only ever controlling continuous DC motors, not steppers, with my setup.
<a rel="nofollow" href="http://www.4engr.com/webs/type/1021/index.html">stepper motors</a>as far as i know u r controlling motion by by LMD18200 chips....so u may suggest how can i control more then 6 motors...whats about the amps &amp; volts..i have combined bipolar &amp; cmos control circuitry<br/>with DMOS power devices on the same monolithic structure.I am telling about<br/>stepper motors<br/>
Nice thesis, I've been wantimg to build some sort of a rover model as a project with my kid. This looks like it might work nicely
Can you upload a larger circuit diagram?

About This Instructable




Bio: Eric J. Wilhelm is the founder of Instructables. He has a Ph.D. from MIT in Mechanical Engineering. Eric believes in making technology accessible through ... More »
More by ewilhelm:LEGO table with integrated parts bin Custom Wooden Train Track X-crossing Mad Max and War Boy Nux father son costume 
Add instructable to: