Drive motor without sensor

Hello guys!
Is it possible to drive bldc motors without any position sensor attached?
I need slow speed but with high torque and as I know with FOC it is possible.
Thanks for any help!


Welcome to the community.

Yes, it is possible, it’s called open loop mode.

Problem with open loop mode is, it is inefficient and will create a lot of heat and high current.


It’s also possible to do open loop position control like stepper motors on most 3D printers and hobby CNC machines, although SimpleFOC doesn’t have any code for it.

The idea is to home to a limit switch so the motor is in a known position, and then use trapezoidal motion planning to gradually accelerate and decelerate with no feedback from the motor, while applying enough excess torque that the rotor never fails to keep up with the electromagnet field. Requires oversize motors to be reliable, but sometimes that’s cheaper than using closed loop control. And it wastes a lot of power, so definitely not good for something that runs on a battery.

What is it you’re trying to do?

I’m developing R/C cars with hub motors and for my first car which is an onroad race car it’s not necessary but I would like to develop a crawler car, where very low speed with high torque is necessary. The position is not necessary.

Thank you, will check it in the future!

As far as I’m aware of, the VESC is the only controller that can do position tracking without a sensor at zero speed with full torque: VESC silent HFI. Sensorless full torque at 0 speed. - YouTube

SimpleFOC can run in open loop mode without a sensor, but performance is quite bad as noted by others.

Perhaps I misunderstand your goal and use cases but I believe you are confusing velocity tracking with angular position control. The HFI can determine the velocity but no the absolute position. Zero velocity control does not mean the controller knows the angle. The HFI use case is for example a motor driving a scooter at low speed using the motor coils as sensors in a closed loop. The angle position tracking is a closed loop for example a robotic arm moving from 110o to 110.5o degrees with absolute angle control (the arm knows the absolute angle a priori).

In addition, the HFI requires a specialized hardware module added to the driver boards.

The SimpleFOC does not have HFI closed loop implemented. You may approach @Antun_Skuric directly and inquire if he would be interested in adding this functionality.

Even if you get HFI working you will still be unable to perform angular position control, only velocity control. For your use case (RC cars) HFI velocity control will be sufficient.


1 Like