On 10/08/2012 02:03 PM, Michael Torrie wrote: > On 10/08/2012 01:30 PM, Shane Hathaway wrote: >> The large current requirement (10A) and the need for a middle position >> make the circuit interesting and difficult to achieve using low cost >> analog components. An analog H bridge would work well if you only >> needed 2 positions. You can't dump that much current through an >> ordinary op amp. (Audio amplifiers use big, expensive op amps that >> easily surpass the cost of an Arduino.) PWM is the usual solution for >> handling that much current. > >> However, can you achieve the middle position using a simple mechanical >> spring? That would allow you to use a very simple H bridge. >> >> It would help a lot to understand the application better. What kind of >> resting position do you want? When the power is lost, do you want it to >> revert somewhere, or hold its position firmly/loosely? > > Okay, so here's what I have. I have a linear actuator, which is > essentially a screw driven by a motor. And the actuator has a built-in > potentiometer to give you position. The motor uses very little or lots > of amps depending on the load. I won't be having much load, so the amp > draw is very low, like under 1 amp at 12 VDC, most likely. The > actuator, being a screw, cannot move when power is not on. So I don't > need to hold it actively. It is also very slow (compared to a servo), > so PWM is not required. Full on voltage or no voltage is sufficient. > As I said before, I don't need super-accurate positioning, so I don't > need the actuator to seek back and forth around the target point. When > it gets there it can just stop, even if it's too far or too close by a > small amount. > > This actuator is controlling a hydraulic valve assembly so it only needs > three positions: extended, middle, and retracted. It will always be in > one of these positions; there's no resting position. > > Nick's idea of using limit switches is a good idea. I am confident a > simple circuit can do it all without that kind of extra mechanical stuff > though. > > Really I'm not worried about amp draw because I can use the result of > the op amps to drive a relay to switch the higher amps if I need to.
Ok, it seems like you want 2 op-amps wired as comparators. One op amp decides whether to move the motor forward, the other decides whether to move it backward. (You can get multiple op-amps on a chip, so this doesn't increase the parts count.) You'll have to calibrate the circuit so that the op amps don't activate simultaneously. To keep things simple, let's say each op amp drives a DPST (or DPDT) relay. That solves your voltage issue: it isolates the control circuit from the motors, so you can apply reverse voltage to the motors. You can also use a voltage regulator in case the supply is too noisy. Each op amp should perform a slightly different comparison. When you want the middle position, the op amp that controls forward movement should compare the motor sense voltage with a voltage slightly lower than the control voltage, while the other op amp compares the motor sense voltage with a voltage slightly higher than the control voltage. You can adjust the voltages using resistor-based voltage dividers. Does that make sense? The comparator circuit on this page is a good reference: http://www.swarthmore.edu/NatSci/echeeve1/Class/e72/E72L2/Lab2%28OpAmp%29.html Shane /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */