Bolaji Status Report 11/2/19

Bolaji Status Report 11/2/19

This week, I got the estimator working to actually commutate the motor and started the process of tuning it. I also have 90% finished the schematics for electric boogaloo and the routing will start after my next midterm.

The way that we are sensing the rotor position uses a flux linkage observer, which essentially measures the ratio of the magnetic flux applied to each phase (integral of voltage over time) and compares it to the actual flux moving through the phase (current X inductance) to estimate the flux linkage. Once you have the flux linkage for each phase, a clarke transform (to put them into a stationary two axis reference frame) and an inverse tangent gives you the angle. Due to how applying the voltages and measuring the currents works, the estimator looks at the phase to phase flux linkage instead of just on particular phases.

Getting the estimator running required first realizing that the way I was thinking about the D and Q currents sensed in the motor was wrong, because while you try to generate a certain D and Q, the back emf and inductive effects make it so you will never actually measure that current. I had wrapped everything in an extra control loop in an effort to enforce those currents, which made it so that it would just start fighting itself and cause instability. After removing that control loop, I increased the control loop frequency from the placeholder 800Hz to 5kHz, re tuned the phase current PID values to compensate, added over current, over voltage, and under voltage shutdown conditions, and spun the motor under the normal “dumb” commutation. I was able to see the estimator output correlate with the known rotor position, and so I sent it and it worked. This means that now we can spin a motor at pretty high speeds, with the top speed seemingly only limited by the motor heating up and our power supply. Because of how FOC works, I was also able to do a bit of field weakening and saw that it had the desired effect of increasing the maximum speed for a given input voltage. I also wrote a basic speed control loop that would increase the motor torque to keep a constant speed, which was very interesting to mess around with.

After some testing with this, the janktroller killed yet another gate driver IC. I think it is likely that there are a lot of transient effects that happen when decent amount of current are flowing through inductors and moderate voltages are held across big capacitors, and it lacks the parts to snub those out. Electric boogaloo will have more discrete components that should make faults easier to trace, and I’m also throwing in some snubbers.

Leave a Reply

Your email address will not be published. Required fields are marked *