Maker Pro
Maker Pro

I need help with a DC voltage regulator circuit

First of all, I am just a very very basic electronics guy. I can read circuits and can solder them. I enjoy that immensely. I have built my own chipamp using LM3886 and have done a few other projects too. It is just my hobby. If you ask me why is the transistor there and not here, it will be same as speaking to me in Japanese. :)

I am currently building a model lift which were used to carry cargo to replicate the older era manually controlled lift. These were mainly used in deep underground mines. I have a specification about what I want but have no clue has how to implement it. So here I am, seeking help.

There is no control inside the lift. All contols are above on the ground level.

Basically the power supply is a 0-12V DC 7812 regulated DC. The lift motor draws around 800mA of current. I am using a 2A supply that is probably giving around 1.5A. So enough of current there.

Now what I need is a circuit, where I can control this 12 V DC from 0 to 9V. But there are some strings attached and they are the most important.

1. There would be a speed controller of the lift that would vary the voltage from 0 to 9V DC
2. Supposing there is a power cut, the lift should stall slowly.
3. Supposing there is a power resume, the lift should start slowly and take up the speed set may be in 1V/Sec.
4. Suppose someone presses the down button when the lift is going up, the lift should first stall and then go down.
5. An emergency stop function to stop the lift immediately.

The direction of the lift can be controlled by a DPDT type of switch but I am open to ideas. I am not looking for anything complicated just an analog circuit with resistors, capacitors, transistors and ICs.

Any help is appreciated.

Thank you!
Robert.
 

Harald Kapp

Moderator
Moderator
Welcome to electronicspoint.

Here are a few answers to get the discussion started:
1) An analog controller can be built from a transistor, a potentiometer and a few other components. However, an analog controller will dissipate lots of waste energy. The standard way of varying a DC motor's speed is using a pulsed signal called PWM (an example is here).
2) This will require an additional energy storage for the motor driver and the motor. Otherwise, without power the motor will stop immediately. An alternative, non-electronic way could employ e.g. the momentum of a fly wheel attached to the motor's axle. In case of a power outage the energy of the fly wheel is transferred to the movement of the lift's cabin.
3) An electronic start-up circuit can do this, e.g. by employing the charge characteristics (voltage vs. time) of a capacitor. Again the mechanical solution from 2) will work to the same end as it will take the motor some time to accelerate the fly wheel whcih in turn will lead to a soft start of the cabin's movement.
4) This could also be done using the charge characeristics of a capacitor. Again the ides from 2) will work towards the same goals as the motor first will have to break the fly wheel, then accelerate it in the revrese direction.
5) Short circuit the motor's winding to achieve an electrival brake effect. Alternatively use a mechanical brake.

As you have several conditions determining the movement of the lift cabin plus the requiremnt for speed control, this is (today) a typical application for a small microcontroller, e.g. an arduino (note that there are other platforms, too). For this kind of microcontroller platform you will find lots of code examples for the different parts of your problem description. It will also easily allow speed control and control of direction by using an H-bridge motor driver (e.g. this one). What are your programming skills?
 
Thank you for all the explanation Harald Kapp. I am 38 and had learnt C 15 years ago. Currently I code in php and javascript.
 

Harald Kapp

Moderator
Moderator
Can this PWM system damage the motor by any chance?
Unlikely. PWM is widely used to control motors.

This circuit should be suitable. You will have to add a freewheeling or flyback diode across the motor to protect the transistor(s). Note that the freewheeling diode is connected in reverse: anode towards battery "-", cathode towards battery "+".

I found another circuit that is not a PWM (probably), I would really like to know which one is better.
The second circuit looks like a linear regulator with current limiting. Both circuits will do theiy job, but the second one will dissipate lots of power in the transistors, especially at mid-voltage settings.
Both circuits will require an additional dpdt switch to reverse the motor's direction of rotation. Also, none of these circuits features options 2...5 taht you requested.

I had learnt C 15 years ago
The arduino for example is programmed in a C++ dialect (the programs are called sketches). The jump from C to C++ is not that big (at least on this platform) as it may seem. Good C-knowledge wil get you upo and running rather quickly. You can also modify the arduino IDE to directly handle C/C++.
Or , if you are more ambitious, forget about the arduino platform and use directly a microcontroller (AVR, PIC, etc.)
 

Harald Kapp

Moderator
Moderator
Is it not possible to modify any of the above two circuits for points 2 - 5?
It is certainly possible, but will require some mayor effort I cannot provide right now.
Instead of a potentiometer one would use a voltage controlled PWM generator (or linear voltage supply, it doesn't matter here) plus a few other generators to provide the suitable control voltages for slow acceleration/deceleration. An RC-filter with some logic at the input for controlling start/stop could be used. You will then have to add additional logic for scenario #4 to reverse direction once the lift has stopped.
Plus a bypass circuit to provide an emergency stop.
Plus you will need to take into account end switches to stop the lift smoothly when it has reached top or bottom of the well (youwill probably need to switches at each end: one to start decelerating a short distance before the cabin reaches the end, a second one to definitely stop the cabin at the end position).

While this could be an interesting exercise in analog circuit design - provided someone has the time for it - a problem like this nowadays calls for a microcontroller solution. You can buy all the hardware off-the-shelf and only need to do the programming.
 
Thanks again. I did a small change on circuit # 2 today and I could start the lift with a delay. I replaced the 10uf capacitor on the wiper of the pot with a 470 uf and now the lift starts slowly and picks up speed. I have put a switch in between the 7812 and the 10K resistor and when I switch it off the lift stalls slowly too. If I disconnect the mains, the lift stalls slowly too. So 2 and 3 are solved although, I am not getting the smoothness when I reduce the speed, but when I increase the speed it is smooth. The motor works between 3v to 9v and the pot takes the V down to 0V . So 0V to 3V is a dead zone.The emergency circuit, I will put a double pole single switch between the motor and the 10uf OUT. That will disconnect the motor from the circuit immediately and make it stop.

I just need something to prevent the accidental reversal of the lift. If the DPDT has to be removed not a problem.

Any help is appreciated.
 
Here is one supply that comes up slowly, it could be modified to decay on off.
M.

cct.JPG
 
Last edited by a moderator:
As Harald suggests, this is really a job for a microcontroller. If you're already familiar with php and Javascript, it's not a big jump to C, C++ or even simple basic. PICBasic or C with a PIC uC is my weapon-of-choice. (PICBasic Pro from MicroEngineeringLabs.) The Arduino is very popular these days, but a PIC or similar raw micro is much more versatile.

If you're intending to get into electronics more deeply in the future, you'll eventually find that a microcontroller is the best way to implement any complicated functions such as those you describe.

The only downside is initial cost for a compiler, but this is quickly offset by component costs and speed of development. A programmer is very cheap - I use the K150, purchased on eBay for $10.
And as mentioned, PWM is the way to go with speed control, rather than analogue. Besides the high losses in heat with an analogue system, torque suffers badly at low speeds.
 
Top