tag:blogger.com,1999:blog-8200098102909041178.post9168982124728366237..comments2024-03-24T09:12:10.872-04:00Comments on Shane Colton: 3ph Duo Wrap-Up Part 2: ControlShane Coltonhttp://www.blogger.com/profile/10603406287033587039noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-8200098102909041178.post-24081911963112386252010-03-29T12:33:28.722-04:002010-03-29T12:33:28.722-04:00Shane,
This project is cool, but your write up is...Shane,<br /><br />This project is cool, but your write up is incredible. Thank you so much for the extra effort it took to get all this information out there.<br /><br />I would never have thought motor control and timing would be an 'interesting' topic to me, let alone that I might try to make a controller myself. Now I just might.Unknownhttps://www.blogger.com/profile/10220086307078730738noreply@blogger.comtag:blogger.com,1999:blog-8200098102909041178.post-56069428777301326562010-02-24T11:31:59.946-05:002010-02-24T11:31:59.946-05:00You're exactly right. Since you already have a...You're exactly right. Since you already have a d-axis controller running anyway, setting its reference negative is field weakening.<br /><br />As you increase the d-axis current, it might be necessary to decrease the q-axis current so that I^2*R losses do not also increase. This will reduce torque, but extend the speed range. How much field weakening you can achieve depends a lot on the inductance of the motor. Haven't tried this on the scooter because it's already dangerously fast.<br /><br />There's also a very interesting catastrophic failure mode with field weakening, where the controller fails while in the extended speed range. Then, the back EMF (which is higher than the battery voltage by now) gets applied directly to the inverter. It can destroy the inverter and/or send large bursts of current back into the battery through the flyback diodes. Just something to watch out for.Shane Coltonhttps://www.blogger.com/profile/10603406287033587039noreply@blogger.comtag:blogger.com,1999:blog-8200098102909041178.post-49833182581828999282010-02-19T11:15:58.673-05:002010-02-19T11:15:58.673-05:00Shane,
Thanks for the reply.
I'd like to pry i...Shane,<br />Thanks for the reply.<br />I'd like to pry into your FOC knowledge again if I may. I'm interested in using FOC for field weakening as well as torque optimization. Do you think a field weakening effect could be achieved by simply changing the d-axis reference from 0 to a value less than 0? This should give a resultant d-axis vector which decreases as the d-axis reference becomes more negative. I read a section in Meveys' thesis (awesome reference by the way) pg 225-228 that explains this is the general idea. I was wondering, did you try to do this with your scooter motors to extend their base RPM? How do you think the q-axis reference would need to be changed for field weakening? I expect adding field weakening will increase the complexity slightly. Still in the scope of a little 8-bit MCU? Any potential issues that you can see? (Sorry for all the q's - its damn hard to find good answers to these questions).<br /><br />Thanks.Dan Scofieldhttps://www.blogger.com/profile/03776768015884424099noreply@blogger.comtag:blogger.com,1999:blog-8200098102909041178.post-14826964466023445362010-02-04T21:39:35.724-05:002010-02-04T21:39:35.724-05:00I would bet money that it could be done on an 8-bi...I would bet money that it could be done on an 8-bit MCU...for one motor. In fact I have a friend who insists he will do FOC on an Arduino (see above...)<br /><br />All you need, hardware-wise, is three PWM-capable compare units on one or more timers, plus some current sensing analog channels.<br /><br />You might need to sacrifice the speed of the fast loop. It may not run at the PWM frequency. But that's really totally fine, since that's just an upper limit as the fastest you could possibly modify the outputs anyway. So, you would generate new sine wave values every two or three PWM cycles instead. As for the slow loop with the actual floating-point controllers, it can run at whatever speed is possible. <br /><br />I think this is very workable, although I have no real desire to try it. :)Shane Coltonhttps://www.blogger.com/profile/10603406287033587039noreply@blogger.comtag:blogger.com,1999:blog-8200098102909041178.post-40558132977927630632010-02-02T03:22:48.709-05:002010-02-02T03:22:48.709-05:00Hi Shane,
Great job on the builds.
Perhaps you cou...Hi Shane,<br />Great job on the builds.<br />Perhaps you could shed some light on the following thought for me - I see that you used a 16 bit MCU to implement FOC. Do you think an 8 bit MCU could also be used to do this? There are some tailor made 8 bit MCUs out there for FOC (like the XC878) but i am talking about a standard 8 bit MCU. If you think it cannot be done, what would be the potential problems with using 8 bit?<br />Thanks.Dan Scofieldhttps://www.blogger.com/profile/03776768015884424099noreply@blogger.comtag:blogger.com,1999:blog-8200098102909041178.post-5094754779873691312010-01-15T01:16:42.550-05:002010-01-15T01:16:42.550-05:00can u emial me the arduino code 4 itcan u emial me the arduino code 4 itcHaRlEshttp://www.etotheipiplusone.netnoreply@blogger.comtag:blogger.com,1999:blog-8200098102909041178.post-15609972962561267972010-01-14T12:48:40.293-05:002010-01-14T12:48:40.293-05:00Thanks. I haven't done the efficiency calculat...Thanks. I haven't done the efficiency calculation. There are just so many variables! In the big write-up, I did look at BLDC vs. sinusoidal, with and without phase advance, at one particular operating point of a made-up motor. If you normalize to output power, sinusoidal control with phase advance has a slight edge. But this is all simulation... What I should really do is run both controllers for 10mins and measure everything.Shane Coltonhttps://www.blogger.com/profile/10603406287033587039noreply@blogger.comtag:blogger.com,1999:blog-8200098102909041178.post-13262669115447750392010-01-14T10:32:17.931-05:002010-01-14T10:32:17.931-05:00Boy, does this take me back to memories of my own ...Boy, does this take me back to memories of my own EE controls classes. This is really impressive considering the hardware you are running it on! <br /><br />Question: did you calculate the efficiency improvement as compared to the standard square wave BLDC controller? For a small battery powered scooter like this, that translates directly into more run time so I'm curious what you're seeing.Electric_02https://www.blogger.com/profile/00081064670193199431noreply@blogger.com