Friday, June 14, 2013

WBMD pump, spinner, and dumper - DC motor control

The next project was to figure out DC motors.  Jake had one I could borrow, but I wanted more to mess with.  I had gotten one earlier at Halted, and also pulled one from an old printer.

The WBMD called for having a pump to fill a water balloon, a spinner that would just spin the water balloon around a zillion times until it self-tied (proof of concept was completed by the boys by the time I got to this point) and a dumper that would release the balloon to a delivery chute.  For all this, I figured I'd need bidirectional and speed-controlled DC motor circuitry.

As it turns out, there are several example circuits online that explain how to control a DC motor in two directions, but none that make it very clear how to do that in combination with speed control while also maintaining proper isolation.

My first step was to figure out the pump motor.  Jake had a big lead acid battery and a bilge pump for the job.  It had been tested to see if it could have enough power to fill a balloon, and it did.  He had rigged up some tubing to allow sufficient hold by the balloon (with no human intervention to keep it held on) while pumping.

It was a this point that I fried my first transistor.  I tried to set up an opto-isolated circuit such that the Arduino would PWM the input to an opto-isolator, and the opto-isolator would allow current to flow to the pump.  But I hadn't accounted for the fact that the pump took 6 amps to run, sometimes peaking at nearly 10 amps!  Poor little transistor.  So it goes.

Then, I found that by running the power across a transistor that could take that kind of amperage, and using PWM, I ended up in a position where I didn't have sufficient amperage to pump the water balloon anyway.  The circuit would survive, but the pump wasn't generating enough water pressure to fill the balloon.

Meanwhile, Jake found a geared DC motor that would allow for the dumper to run without speed control.  And, I ordered up a SainSmart 4-channel relay that could take plenty of voltage and amperage.

So the design changed.  The pump would be run through a relay at full pressure -- no need for speed control nor directional control.  The spinner could use speed control but did not require directional control.  And the dumper was geared, so I could do directional control but didn't need speed control.  And what that meant was that the pump and spinner could be handled by a relay, and the dumper could be managed by a simple H-bridge.

Pump with lead-acid battery and relay in initial tests:


Merit badges
- Fry a transistor
- Measure amperage (always start with highest first, wire in series!)
- Learn about transistor current limits and voltage drops
- Use an optoisolator
- Learn how to handle a relay that closes on a LOW signal
- Use an Arduino to control a DC motor via a relay
- Use an Arduino to control DC motor direction

No comments:

Post a Comment