DC motor controller, controlled by digital voltage signal

k1ng 1337

Joined Sep 11, 2020
1,038
is there a way to make this rotary switch "digital", so that the voltage automatically selects the right path, without manual input?
What exactly do you mean by this? The technical answer is no because a rotary switch works by being physically moved with the hand. Of course you can make a robot that moves the switch lol. All things considered, my circuit is an easy and electronically safe solution due to its simplicity but at this point we need more information because you are kind of all over the map.

I'll also point out that your unit already has an entire control module on it. You might do more damage by building your own DRIVER as motors are quite the beast to tangle with. From what I can tell, the control unit only needs an ANALOG input signal which varies from 0-8V. This can be easily achieved by:

1) A voltage divider

2) A PWM signal

3) Any other method that generates a stable voltage either lineally (LM317 etc.) or by averaging a signal (example: PWM)

I posted a voltage divider and dendad posted a PWM circuit. I have used both to control motors (albeit smaller ones) and other analog outputs that didn't need another layer of control such as automation. These circuits are called ANALOG because they make use of analog values. A circuit is DIGITAL when it uses binary (0, 1) to encode data. So, an Arduino Uno is an ANALOG-DIGITAL device because it has both analog and digital capability. You can then use an Uno or other microcontroller to write a program in DIGITAL with an ANALOG output to automatically control the signal sent to the analog 0-8V controller but this would require another layer of circuitry in order to interface with my or dendad's circuit. Is this what you want to do?

Note: Dendad's circuit allows for direct control via a potentiometer whereas my circuit allows only for incremental changes. You didn't specify which you needed. What is your motor actually doing?

Assuming the controller operates on a scale of 0-8V which is linear in direct proportion (implied by your description), this would mean that 8V is 100% RPM, 4V is 50% RPM and so on but this might not be the case as Bob pointed out. You have a bench power supply so try out a list of values between 0-8V connected to the speed control input to see the response. You'll have to supply the main power input with another 12V source for the test. It will be hard to measure RPM but you can easily measure current with a shunt resistor to see at which point the motor begins to stall.
 
Last edited:

MisterBill2

Joined Jan 23, 2018
27,615
Yes.
Makes no difference how you control the motor linearly, be it transistors, variable resistors, or other means.
The amount of dissipated power in the controlling device will be the same.
The current a simple PM DC motor draws is related to the applied voltage. The power tends to vary as a second order function, since as the speed and torque both increase and the power relates to the product of speed and torque.
The power turned to heat in the pass transistors is not constant, but it does vary in a non-linear manner.

It should be possible to trace out the circuit of that module, although it may have a processor IC, as I can not resolve that one square object that is not a transistor. It might be an IC hiding under a disc capacitor.
The same three-transistor circuit, driven by a PWM circuit already posted, could provide speed control that probably would not be the same as the original control.
AND, the feedback, as is required for ACCURATE speed control, would be provided by the controller portion of the system, since exact RPM adjustment is not required.
 

dendad

Joined Feb 20, 2016
4,641
An Arduino to read the 0-8V via a voltage divider and then drive a large power FET with PWM sounds like the simplest way to me. Why do you not want to use an Arduino?
Other micros can be used of course, like a Pic etc, but an Arduino Nano is what I would use if I was doing it.
 

MisterBill2

Joined Jan 23, 2018
27,615
Consider the application: The heater blower speed control in a car. Consider the available power supply: A single 12 volt line also powering a brushed motor. Not clean power at all. Then consider the space available: Not much. Aside from that, an arduino must be programmed, which not everybody has what is needed for that, and not everybody speaks that different language that calls a program listing a sketch.
The PWM generating circuit from post #9, driving the transistor switching circuit in post #13, should be able to handle the task, with adequate heat sinking. The difference will be in the biasing arrangement for the two power transistors. they will need to transition from off to saturated quite rapidly.
 
Top