Building DC motor speed control

crutschow

Joined Mar 14, 2008
38,526
I thought about using the Arduino. I have experimented a little with them, but this is way beyond what I could design. Would that be an easier method to build a circuit.
The Arduino would be the easiest since it can directly generate a PWM signal based upon the input signals.
So you need a program that slowly increases the PWM duty-cycle for one input signal, and slowly decreases the duty cycle for the other input signal.
I'm not familiar with programming an Arduino but perhaps someone here who is, can help you.
What would I need to interface with the pump motor?
Likely just a MOSFET power transistor controlled by the PWM signal.
 

Alec_t

Joined Sep 17, 2013
15,121
The part of the manual relevant to this project seems to be :
"SERVO CONTROL SIGNAL
Put master switch in MANUAL, remote run/Hold in RUN and Boom Switches ON. Using a voltmeter or test light, check from a good frame ground to each servo wire. you should get about 6 volts (dim light). Holding the “+” switch should cause the red wire to pulse towards 8 volts (light pulses dimmer). Holding the “-” switch should show opposite results. If the servo control signal checks OK but a known working servo valve will not run or takes longer than 20 seconds to go from one end to the other, check for low voltage or poor connections on the small orange power wire."
I think the reference to pulses just means that the voltage on either wire is manually incremented/decremented in steps. If 6V is the mid-position value it looks like the valve expects to receive a proportional differential DC control voltage in the range -4V to +4V.
 

Thread Starter

djreiswig

Joined Aug 8, 2008
131
I think the reference to pulses just means that the voltage on either wire is manually incremented/decremented in steps. If 6V is the mid-position value it looks like the valve expects to receive a proportional differential DC control voltage in the range -4V to +4V.
That's what I get, too.
Okay. Well I have an Arduino clone at home. I will need to locate a MOSFET. I'm getting excited. Where do we get started?
 

Alec_t

Joined Sep 17, 2013
15,121
If you want to try an analogue approach, here's a suggested circuit which I think should do the job :
DualPolarity-to-PWM.PNG
U1 is a quad opamp IC, e.g. LM324.
R1, C1 low-pass filter the input signal, so that the circuit can handle either DC or pulsed inputs.
U1a converts the reversible-polarity input signal into a uni-polarity control signal with a range from about 2V to 10V. The gain of this stage can be set to accommodate whatever voltage range the input signal has.
U1b and U1c together form a triangle-wave generator with a frequency of ~140Hz (adjustable by tweaking the value of R7, R8, or R9).
U1d acts as a comparator, comparing the triangle wave with the U1a output voltage to provide a PWM signal with a duty cycle variable from 0% to 100%. This signal operates a push-pull driver stage (Q1, Q2) for the gate of a N-channel MOSFET which pulses the pump motor on/off at 140Hz.
D1 is a back-emf catch diode and needs to be rated to pass the full pump motor current.
D2 and C3,C4 decouple the opamp circuits from the pump supply voltage.
A star ground system should be used to keep the heavy pump current path separate from the ground current path of the rest of the circuit.
 

Thread Starter

djreiswig

Joined Aug 8, 2008
131
Thanks for the circuit design.
A friend found a digital potentiometer chip.
http://www.learningaboutelectronics.com/Articles/MCP4131-digital-potentiometer-circuit.php
I didn't know such a thing existed.
I'm thinking it could be used to replace the POT on a speed controller board like this.
https://www.electronickits.com/dc-pwm-motor-speed-controller-30-amp-max/
Then all I would have to do is write the program to take the voltage inputs and adjust the digital POT output.
He's also working on a mechanical solution by coupling a stepper to the POT shaft on the above speed controller.
 

crutschow

Joined Mar 14, 2008
38,526
I'm thinking it could be used to replace the POT on a speed controller board like this.
That can work but the voltages applied to the pot cannot exceed its rating (7V for your referenced digital pot) so you'd have to determine what those are for the PWM circuit you will use.
 

Andrei Suditu

Joined Jul 27, 2016
52
Arduino has a inbuilt ADC(analog to digital converter used with the Arduino analogRead(pin)function) so it can read analog signals.It's max input voltage is 5 volts but a voltage divider can solve the problem.Arduino can create PWM signals on a couple of pins and can do some digital processing(computations).
Now the Arduino core is a microcontroller more exactly(AVR Atmega 328p for uno).There are other chip variants that may tailor better for your needs.
It can be done but research any others possibility ies .Implementing digital control for stuff that is too simple can be unnecessary and hard.If you stick to the Arduino environment it's gonna be easy but if you need more advanced stuff you will have to get your hands dirty and see the Atmel's datasheet.
Depending on the operating PWM frequency a logic level mosfet may be a solution.At high frequency the mosfet is highly likely to need a drive circuit to switch efficiently.
I have used the irlz44n and it can drag quite a lot of current.
 
Top