Go Down

Topic: 1KW motor control (Read 4441 times) previous topic - next topic


Let's say that i wanna control a 0.75-1 KW motor with an Arduino.
Let's say that i wanna always know the position, and control  speed and torque.
I don't know a lot about motors and electronics, i will probably start with the starter kit dc motor just to try.
Can you help me research components or provide a good source of information?
Any help is appreciated :D


You have to decide what style of DC motor you are going to use.  A brushless DC motor uses a completely different controller than a brushed DC motor.

You then need to find a controller that will accept 5V signals for speed and direction.

A shaft encoder will let you track the motor position: Absolute encoder if you want to know the position on power-up and quadrature encoder with index if you don't need to know the position immediately on power-up.

I don't know how you would control torque.  I think that usually you would drive speed or position and let the motor use as much of it's torque capability as it needs.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp


Jul 09, 2014, 04:29 pm Last Edit: Jul 09, 2014, 04:44 pm by ViniciusPereira Reason: 1
Thank you johnwasser.
It's gonna be a brushless motor, capable of rotating in both directions.

I studied a little, and I learned a lot! :D
i learned that torque is based on current, speed on voltage, i learned that i need an ESC to regulate the speed, but torque depends mainly on the load, and, as you said, more load means more current absorbed, so more torque. I can decrease current with current limiters, but that's not what i was hoping for.

Now, i saw that a 1kW motor like this
has Continuous Current(A): 26A and Voltage: 48V
Those are the maximum values? The ESC regulates voltage between 0 and 48V?
Can you help me choose an ESC (if you can give me parameters, won't ask you for a link)?



Lots of people sell controllers.  Starting with a Google search for 1KW 48V ESC I quickly found a few.  Here is one:


W=V*A so 1000W at 48V is a little under 21A so you can also look for a 48V 25A+ controller.

These seem to take mostly 0-5V throttle signals.  You can emulate that with PWM using an RC (Resistor-Capacitor) filter to convert from pulse duty cycle to voltage.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp


For a simple solution you may be able to use a solid state relay. Solid state relays activate almost instantly. You can control the speed on it by hooking it to the Arduino pwm port.
Technician at Yuneec Electric Aviation


To my knowledge bike controllers don't do reverse.

No the values are not maximum values, the current is a continuous rating, expect
to go to perhaps 1.5x to 2x that for brief periods (but you must then allow
enough time for the windings to cool again).  The voltage rating is probably
constrained by expected gearing ratios - normally a motor can be spun faster
but you may accelerate the wear of the bearings, or overheat them.  Every motor
has a speed beyond which the rotor may disintegrate, but its not easy to find this
out sometimes, so I'd stick to 50--60V as a practical upper limit.

What power supply are you contemplating - with a battery system you may well
need to consider current-limiting as the stall current of the motor will be loads
higher than 26A.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


Thanks for your replies.

It doesn't need to be moved, so i can simply supply it with an AC/DC converter, Speed isn't a problem, although i might need to decrase the speed with a gear system.

I will contemplate the Solid state relay, in this case do i need something like an H Bridge to make it spin reverse?


The basic control you need is PWM - perhaps with an H-bridge if you need reverse,
otherwise a half-H-bridge will be needed at that power level (using just one
switch and one diode means non-linear PWM -> speed control curve and lots of
loss in the diode).

A good ESC will do this (and as mentioned you can do straight DC motor or
a BLDC depending on the the ESC).

An encoder gives the position, current sensor on the motor gives the current as
a proxy for torque.

Its non-trivial to provide a test load for such a motor at those power levels,
a dynamometer of that power rating is an expensive bit of industrial kit.

[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up