Fast regulated DC motor    - Page 1
Forum section: electronics / beginners

author: chrillemanden
author_rank: Newbie
timestamp: August 17, 2021, 09:05:53 am
content: Hi allI need to regulate a DC motor (brushed or brushless) from a stopped position, rotating half a revolution to a stopped position with a load between 0.25 and 1 kg within 80 ms. I can supply the motor up to 24 V and 10 A. I am not really sure what to look for in a motor to meet these specs? I'm aware that suppliers typically specify the stall torque of the motor but how can I use this to solve the above problem? Is it even possible to meet these requirements given a budget of say maximum 200 dollars?Best regardsChrille

author: Benta
author_rank: Super Contributor
timestamp: August 17, 2021, 02:12:07 pm
content: A DC motor, brushless or not, is probably the worst choice for this application. They are not really designed for position control.Stepper motor or AC with field oriented control would be more like it.Your specs on load are pretty meaningless here, you'll need to look at inertia and specify the motor from there.

author: chrillemanden
author_rank: Newbie
timestamp: August 17, 2021, 03:36:55 pm
content: Ok, well the positional requirements for the 180 degree turn are not that strict. They need to be within +- 5 % of 180 degrees.But yeah, you are right about I need to find the moment of inertia of the thing I want to spin. I will calculate an estimate of that.So how would I go about calculating the requirements for a stepper motor? For example looking at a bipolar hybrid stepper motor, I see that it has holding torque and detent torque. But as I understand it, these are the torques I need to overcome to rotate the motorshaft.

author: langwadt
author_rank: Super Contributor
timestamp: August 17, 2021, 03:40:59 pm
content: Quote from: Benta on August 17, 2021, 02:12:07 pma DC motor could work, but it'll need position feedback and a servo controller

author: chrillemanden
author_rank: Newbie
timestamp: August 17, 2021, 03:56:02 pm
content: Yeah, I have a DC-motor setup right now, with an encoder and motor driver and a PID-regulator running on a microcontroller. So I can do the position control just fine. Its just not fast enough and will not be fast enough at the current voltage I supply to it (12 V). Turning the motor on in one direction from standstill, it takes around 100 ms to rotate 1/4 of a revolution and that does not include slowing down arriving at the position.

author: Zero999
author_rank: Super Contributor
timestamp: August 17, 2021, 07:48:34 pm
content: You haven't provided enough information.What you need to establish is the amount of torque you require, which doesn't just depend on the load, but its physical dimensions. If there are two flywheels, of the same mass, but with different diameters, the one with the larger diameter will have the higher moment of inertia. You also need to consider the inertia of the motor and any gearing.How fast is the motor?Half a revolution in 80ms is 1 revolution every 160ms, which is 60/0.16 = 375rpm. My guess is you need more torque, rather than speed, as your motor can probably run at over three times that speed. Add a gearbox, to increase the torque.Note that you'll need to consider how to dissipate the energy spent when braking. You might need to add a braking resistor to the drive, or if the duty cycle is low, dissipating it in the driver transistors and motor windings, could be an option. Be careful, it's very common for motor drivers to inject energy dissipated, during braking into the supply rail, which is fine if it's being powered from a battery, buy could blow things up, if it's run from a mains powered supply.

author: chrillemanden
author_rank: Newbie
timestamp: August 19, 2021, 11:56:50 am
content: I made an approximation of the moment of inertia of my load and was able to calculate a required torque to accomplish my task. This came in at around 2.64 N m. But then my goal seems a bit unreachable within my budget at least for using a DC motor or Im maybe not looking in the rigth places?Quote from: Zero999 on August 17, 2021, 07:48:34 pmThe current DC-motor I use, has a nominal torque of 0.02 N m and a nominal speed of 2250 RPM (https://www.ride.it/en/dc-electric-motors-diameter-4239-m4239x35-m4239x35#configurator)

author: Berni
author_rank: Super Contributor
timestamp: August 19, 2021, 12:30:45 pm
content: Well lets punch the numbers in.You say your motor takes 100ms to do a quarter of a turn from standstill so that would work out to an average of 150 rpm or 300rpm at the end of those 100ms. So if the motor is producing 2.6Nm of torque that works out to 80W of mechanical power at its shaft. So sounds about right for what a motor powered from 12V 10A might produce. You can probably get more efficiency out of it by getting a motor that is wound for more torque and less RPM or give it a gearbox so that its running closer to its optimal RPM (This tends to be somewhere between half a 3/4 of the no load RPM)But if you are looking to significantly speed things up then you are going to need to provide more input power, no matter the motor type. Unless perhaps your load is so light that a great deal of the inertia is the motors rotor. In this case using a so called "DC servo motor" might speed things up, these are motors that are designed to be long and skinny to reduce the rotor inertia, these tend to be used in CNC machines and robots due to there good combination of speed and power.Since you are doing only 180 degree turns you might consider saving up power in a large super capacitor and then dumping that into motor to really give it a kick with some >50A. For short pulses you can overload DC motors a lot, its only a question of how much of the rough handling the commutator brushes can hold up to. Tho at some point you might start demagnetizing the permanent magnets inside the motor if you take it really far.But if 180 degree movement is all you ever need then you might also look into a solenoid or voice coil design much like hard drives move the head. Those things move in the blink of an eye, while not having to worry about commutators catching fire.

author: chrillemanden
author_rank: Newbie
timestamp: August 19, 2021, 08:58:06 pm
content: Quote from: Benta on August 17, 2021, 02:12:07 pmYeah I estimated the inertia of the load to be around 0.0021 kg m^2Quote from: Berni on August 19, 2021, 12:30:45 pmIs my motor then capable of producing 2.6 Nm? According to the datasheet it has a nominal torque of 0.02 NmQuote from: Berni on August 19, 2021, 12:30:45 pmNo unfortunately, I will also need to do movement between 0 degrees and 180 degrees. I just based the question on the half revolution as this will take the longest of time.

author: james_s
author_rank: Super Contributor
timestamp: August 19, 2021, 09:28:41 pm
content: If you just need a 180 degree rotation and not fine position control a DC motor will work fine for this, you need to feed it with a constant current though. Torque is proportional to current so a constant current will result in a constant torque. If you need precise position control then an encoder on the motor or a feedback pot will be needed.

author: Berni
author_rank: Super Contributor
timestamp: August 20, 2021, 05:41:07 am
content: Quote from: chrillemanden on August 19, 2021, 08:58:06 pmAh sorry i misinterpreted it, i thought you calculated it takes 2.6Nm to move your load at the speed it is moving it rather than what you want to get.The nominal torque is not all that useful, this is what the motor produces at rated RPM and can produce it continuously. Since you are running much slower than the rated RPM you are actually getting something close to the stall torque(This is according to the site from 0.23Nm to 0.76Nm) while the motor will be consuming something close to the stall current. The catch is that the motor will give up the magic smoke if you attempt to produce this stall torque for more than a few seconds at a time, since so much current makes the rotor coils get real hot real fast while there is no airflow to cool them.You just need to pick a motor that can produce as much stall torque as possible while making sure you can supply it with as much current as it is willing to pull. Overvolting it is one way to convince the motor to pull more current, but should not be taken too far as the commutator might start arcing over at some point, eating itself alive.Quote from: chrillemanden on August 19, 2021, 08:58:06 pmWell if you don't need to rotate more than 360 degrees then you can still use a voice coil like one in a hard drive. It is essentially the same thing as a DC motor except that the commutator is replaced by a flexible piece of wire. Put current trough and it turns towards given direction. This removes the limitation of the commutators power handling capability, so you can push as much peak power as you want and thus gets lots of peak torque, only limitation is how much of a field the permanent magnets can stand up to before getting magnetized back the other way. Tho if you need to make these fast movements many times per second for minutes on end then this does not matter since the limiting factor at that point will likely be the coils overheating well before you destroy the commutator.As james_s said, torque is linearly proportional to the current, so if you manage to push 2x the current trough a DC motor it will produce 2x the torque.

author: james_s
author_rank: Super Contributor
timestamp: August 20, 2021, 05:48:40 am
content: Don't forget there is also the possibility of using a geared motor to multiply the torque. Obviously it will then not be able to spin as fast but there's always a trade off. Lots of different motors you can choose from too.