Vector control ESC

3691190343?profile=originalAbout half a year ago,I posted something about an ESC I was developing, receiving good comments how other builders already achieved some of my things ages ago or are just in the final stages of working out the new ESC at their lab (see px4ESC for example).

The picture above shows four generations of my ESC that were produced over the last half year. Only the left one was really used. The second left is the same design, but produced for smaller components and in a suitable layout for hiding the ESC in a multirotor arm (74x18mm).

The left one is now actually working with field oriented control. I just posted a video how that sounds. Be careful, at specific rpm's there are some grinding noises (to be investigated), which sound like nails on chalkboard (or worse), so if you hate that sound, you can turn sound off now:

Field Oriented Control is where a motor is controlled in such a way that (ideally) the current flowing through the motor is at 90 degrees with respect to the rotor flux, because at that angle the torque is at its maximum. How does that work?

Hardware wise, you need 2 current sensors (each installed after the mosfet bridge on a different phase) and a resistor bridge to get the bus voltage.

Software wise, the current sensors are used to derive not one, but two 'back-emf signals' in a 2-axis representation of the motor (Clarke/Park transform).

By observing the change of the angle over time it is possible to derive the rotational speed of the motor.

Although I really like the very low noise level (and supposedly vibration too)  I'm not sure yet whether FOC is going to be the way forward for multirotor ESC's:

- FOC is meant to be used on PMSM's, which are motors that produce a more sinusoidal back-emf signal. BLDC's though produce a trapezoidal signal. This has an impact how well the angle is tracked and thus efficiency.

- FOC algorithms utilize available energy efficiently, but produce about 15% less maximum torque, because it doesn't direct current into inefficient angles. So a conventional ESC just opens a mosfet for X time to generate torque there, if it's considered to be in that 60-deg quadrant.

- FOC is also heavily associated with PI(D) control, to be able to control RPM and torque. The theory suggests that this linearizes the behavior of the ESC from the perspective of the AP, so that the system overall gets more control bandwidth. I think this is true for steady-state conditions, but for very dynamic situations like multirotor control I'm not sure, it's probably more important there to have very fast responses. Possibly, what the ESC with PI(D)s would do is achieve the same level of response regardless of AUW, etc. or change this behavior linearly in comparison to system load instead of just blowing up the system controls.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Activity

DIY Robocars via Twitter
How to use the new @donkey_car graphical UI to edit driving data for better training https://www.youtube.com/watch?v=J5-zHNeNebQ
Monday
DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
Saturday
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
Thursday
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
Nov 23
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord: https://discord.gg/EPsZHkg9Nx) https://t.co/PNDewvJdrb
Nov 23
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
Nov 23
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20
DIY Robocars via Twitter
Incredible training performance with Donkeycar https://www.youtube.com/watch?v=9yy7ASttw04
Nov 9
DIY Robocars via Twitter
RT @JoeSpeeds: Sat Nov 6 Virtual DonkeyCar (and other cars, too) Race. So bring any car? @diyrobocars @IndyAChallenge https://t.co/nZQTff5…
Oct 31
DIY Robocars via Twitter
RT @JoeSpeeds: @chr1sa awesomely scary to see in person as our $1M robot almost clipped the walls as it spun at 140mph. But it was also awe…
Oct 29
DIY Robocars via Twitter
RT @chr1sa: Hey, @a1k0n's amazing "localize by the ceiling lights" @diyrobocars made @hackaday! It's consistently been the fastest in our…
Oct 25
DIY Robocars via Twitter
RT @IMS: It’s only fitting that @BostonDynamics Spot is waving the green flag for today’s @IndyAChallenge! Watch LIVE 👉 https://t.co/NtKnO…
Oct 23
DIY Robocars via Twitter
RT @IndyAChallenge: Congratulations to @TU_Muenchen the winners of the historic @IndyAChallenge and $1M. The first autonomous racecar comp…
Oct 23
DIY Robocars via Twitter
RT @JoeSpeeds: 🏎@TU_Muenchen #ROS 2 @EclipseCyclone #DDS #Zenoh 137mph. Saturday 10am EDT @IndyAChallenge @Twitch http://indyautonomouschallenge.com/stream
Oct 23
DIY Robocars via Twitter
RT @DAVGtech: Another incident: https://t.co/G1pTxQug6B
Oct 23
More…