ESC with FOC and sensor - why not

So for a while I was thinking of creating a big ass tilt rotor tricopter with a X8 as a base frame. All good, but which ESC to use? After deciding that I don't really like anything on HobbyKing, I started working on my own. It had to have good quality components, rated for automotive applications (don't want my ESC to fail when flying...), FOC control, CAN/RS232/PWM interface and rotor position sensor input.

So after a couple of months, it is spinning. With a "bit" better micro than an 8 bit Atmel and a 12$ sensor chip we can get instant responses from motor to requests from the control - be it for faster/slower speed, startup from standstill or completely reversing rotational direction. And because it is field oriented control, when motor is decelerated it sends power back to the battery.

Views: 4269

Comment by Crispin on April 1, 2015 at 2:19pm

"With normal ESC, you have to align the rotor and then start the rotation blindly, until you get enough feedback."

Fantastic! I did not know that. So does that explain then why some of my motors sometimes stutter when I start them at very low throttle? Blip the throttle and they start and then run just fine at min throttle.

Comment by Jure M on April 2, 2015 at 1:20am

It could, because for sensorless operation, you need some minimal speed to get feedback for position. After you have reliable position, you can use rotation speed to predict/correct position. So until you have enough speed to get reliable value, your position prediction will be all over the place and this results in stuttering. If you give it more throttle, speed stabilizes and you get good enough prediction for smoother running.

Comment by AKcopter on April 22, 2015 at 8:38am

But what makes it tricky in standard ESC's is that the feedback voltage(Which is used for estimating rotor position and hence the next commutation step) is constantly being corrupted because of the PWM switching of the FET's in the H-bridge, this switching is especially high at low RPM's because the ESC has to control the power supplied to the motor to an adequately low level so that you don't fry your ESC if the rotor is blocked but at the same time it is enough to spin the motor which in-turn provides the ESC with a discernible back EMF signal which is then used to detect the Zero-crossing and estimate the next commutation step for the next instant 

Comment by Gerard Toonstra on April 22, 2015 at 9:44am

You can mitigate the effects of PWM switching with one of these tricks:

- Instead of sampling the back-emf and deciding on the measured sample, you integrate the back-emf signal over time until the integrated value exceeds the threshold. If the noise on your samples is evenly distributed, then the integrator cancels out the impact of that noise and you get a reasonable estimate when the zero-crossing really occurs. 

- If you take the ADC samples just before the high sides switch, you're also getting ADC samples that aren't polluted much by noise. This requires you to run the ADC and PWM at the same frequency and synchronous with one another.

- The motor is an inductive load, so when you apply a voltage over it using a PWM signal, the actual current doesn't look like the PWM voltage signal, but is much smoother. So if instead of the voltage, you measure the current through 2 windings plus you have an accurate model of the motor in use, you can derive the back-emf using a much smoother signal.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service