SimpleFOC driver with 3 ohm winding motor?


First thanks for providing such a nice open source library. I have recently purchased this motor to try and use for a turntable. I will ultimately build my own driver board for it, but I ordered a SimpleFOC v2 shield just for learning and prototyping. I realized however that the motor windings have a resistance of 3Ohm. Since the SimpleFOC shield sets 10Ohm windings as a minimum, I am wondering if I can safely use it for prototyping. The motor is rated at 15W/5A which is significantly below the boards rated 120W/5A though. Could someone comment on this pairing? Thanks!

Hi @LindyBalboa and welcome to SimpleFOC!

The motor should work, most BLDCs can work, although sometimes you have to tune the PIDs before you see any commutation.

Lower ohm windings can work, many people run motors with <0.01Ω resistance, but you have to be careful when using such a motor!

Your motor is rated at 24V, its resistance is not listed. You can measure it by measuring with an Ω-meter between any two of the phases.
But lets say it’s resistance is 0.1Ω, hypothetically - then if you run it at, lets say 12V for a first try, it will draw around 120Amps (!) - if you’re lucky the driver’s protection will kick in, if not, everything will burn. Your PCB traces can just evaporate at this current.

So to prevent this, be very sure to set the driver.voltage_limit to something nice and low - maybe 0.4V or less for the first try.
Then the SimpleFOC software will make sure the current does not exceed what the hardware can handle.

Once you have things running well, then you can probably raise the voltage somewhat, (esp in closed loop FOC mode).

Hi Runger,

Thanks for the reply. As I mentioned (although maybe not so clearly), I measured the windings as being 3 Ohm. I find this kind of odd given the motors rating of 24V and 1.2A. 24V/3Ohm=8Amp! I know they don’t expect the a given winding to be running at full voltage continuously, but it still seems like a big discrepancy to me.

Given the drivers rating of 5A, I would imagine 15V=(3ohm*5amp) should be the maximum voltage I should supply.

Hey @LindyBalboa,

I’ve run motors with around 0.2 ohms with the shield no problem. Don’t pay too close attention to the ratings of the motor, as these ratings tend to be suggestions for conventional ESCs or other type of driver.

What I suggest you do is connect the shield to no more than 12V and, as @runger suggested, start with a very small voltage limit and from there test what limit keeps the shield cool.

Ooops! I missed that in your post!
So yes, as long as you stay under 15V you’ll be in the driver’s 5A rating. But motors can take a bit of abuse. I’d be more concerned about your PCB and driver, and while it is rated to 5A, that is a peak value. They don’t recommend more than 4A continuous, and to get that much for any length of time you will have to add a heat sink to the board.

But with FOC control, the motor will be using much less current (unless stalled) so you will be fine with 15V. For first tests, and in open loop mode I’d set it a bit lower, and set a voltage limit.

These things are not directly related. The expectation is that the motor will be driven with an appropriate driver, and the commutation will never allow DC currents for any length of time. For example, I have some (tiny) motors which have 0.01Ω windings, but can only handle <1A.

There is something fundamental about motors that you must understand before using them.
A motor is not a simple resistor.
In fact, an ideal motor has zero (!!!) resistance.
What a motor does when it is moving is generate a voltage that is equal to the voltage you supply it with, but has the opposite polarity.
So without load, the motor would consume zero ( !!! ) current and the RPM would be proportional to the supplied voltage.
In the real world, there are always mechanical and electrical losses. And real motors do not have zero mass like an ideal motor, so it would consume energy to start all that mass moving.

1 Like