Hi everyone,
I'm a fresher about BLDC control I wanna do thesis about BLDC FOC sensorless control. I known about VESC project of Vedder many year ago and I really admire him. :D
But now I'm really confused about starting-up BLDC in sensorless mode. I read the code of firmware 3.7 but I couldn't figure out the method he used to start-up the motor. :"(
I designed myself a BLDC driver using DRV8323 based on open-source board of Vedder (not for commercial purposed). I had phase current and voltage measurement.
Please help me. Thanks a lot.
Hi dangminhducnbk
I'm not the right one to answer, but I do know a bit about how block commutated BLDCs are started when there's no HALL is available:
1) the uC is listening on all three ports for reverse EMC "reporting" the direction (therefore the user have to kickstart/bootstrap the motor)
2) with the information the halfbridges join in according to their intended role and you have a rotating wheel.
OR
a) the first half-bridge is (low) powered with the standard signal (trapezoid, square) and any second Halfbridge just as well (just with a 120° offset).
b) the uC is listening on the third bridge how the reverse EMC is progressing
With the Info of 1) and b) it's possible to calculate the direction (which could be switched if halfbridge B and not used C is switched) and then start the "normal" L1,L2;L3 iteration. Most controllers leave a small window while commutating and "hear/measure" on that how things are developing. With three shunts (like VESC6) it's possible to "hear" all the time so there's no real DutyCycle loss afair.
By principle it does not matter if you use sinewave, square, trapezoid as long as the polyphase formular (360°/L count=120°) is followed.
Unluckily for me I'm unable to read uC code but I'm pretty sure Ben did something very similar for sensorless mode. With HALLs the motor is able to know which direction to turn in a very small angle.
Maybe some experts could correct my statement and explain how it is really made in VESC.
Cheers
Sam
Pedelec usage in combination with a GoldenMotor MagicPie3 BLDC
Thanks a lot @sam.vanratt,
I tried to use I-F start with matlab simulink, with the known rotor position, I tried to integral the angle speed to achieve the next rotor position, and tried to control Iq = 0 and Id = some suitable value with load.
Is this method right?
Here is the result of actual speed and observer speed.
<https://imgur.com/a/wbmcBRw>