Induction motor control strategy  [SOLVED]

User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Re: Induction motor control strategy

Post by catphish »

EV_Builder wrote: Sun Apr 17, 2022 9:14 pm Slip control I call that you measure rotor speed and depend Hz setpoint on that plus requested torque. The more requested torque the more you add. That will induce current because the motor tries to follow (maybe combined with V increase??).

But below a certain speed I would fallback on sensorless control.
That makes sense. What you're describing as slip control is indeed exactly what my code does. It increases slip with throttle. V/Hz is a necessary secondary component of this.

As for "sensorless control", I suppose the obvious option there is simply to ignore the rotor speed at low speed, set a minimal slip, and begin to increase voltage. I believe this is what openinverter currently does, but it it my hope that I can instead extend slip control right down to stationary, and beyond into reverse.

Of course, there's real sensorless control, using the current sensors to calculate everything, but sadly nobody has ever published a working open source implementation of this.
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: Induction motor control strategy

Post by EV_Builder »

Ahhh ok. But I think you can't control slippage wel at low speed because of the encoder resolution. One thing we could do is feedback ABS sensor speed into the drive unit. And knowing tyre size etc. You know rpm again... but no clue if it would help or makes things worse (wheel spin)

We have a +/-10 degrees slip control with current encoder setup / SW
That means we might don't use the quadrature resolution. I checked the SINE software, it's using the counter mode when AB mode is selected. Maybe we could improve that but no clue if it's worth the effort.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Re: Induction motor control strategy

Post by catphish »

EV_Builder wrote: Sun Apr 17, 2022 9:44 pm Ahhh ok. But I think you can't control slippage wel at low speed because of the encoder resolution. One thing we could do is feedback ABS sensor speed into the drive unit. And knowing tyre size etc. You know rpm again... but no clue if it would help or makes things worse (wheel spin)

We have a +/-10 degrees slip control with current encoder setup / SW
That means we don't use the quadrature resolution. I checked the SINE software, it's using the counter mode when AB mode is selected. Maybe we could improve that but no clue if it's worth the effort.
The low resolution is a worry, but at low speed, my hope is that the the slip added by the throttle will swamp the frequency of the rotor anyway, so it'll be close to sensorless, but in a more organic way. Again, this is all my speculation, as I have no proof yet that this strategy works!

With regard to the encoder, I am pretty sure that "AB" mode uses counter mode with the full quadrature resolution (ie it counts up 4 times for each notch on the wheel). This mode is trivial to enable on the STM32, so it's very unlikely that Johannes didn't use it already :idea:
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: Induction motor control strategy

Post by EV_Builder »

catphish wrote: Sun Apr 17, 2022 9:54 pm With regard to the encoder, I am pretty sure that "AB" mode uses counter mode with the full quadrature resolution (ie it counts up 4 times for each notch on the wheel). This mode is trivial to enable on the STM32, so it's very unlikely that Johannes didn't use it already :idea:
Yes; it counts in quadrature mode but later we divide /4 again. Maybe i'm wrong. Didn't do a complete study of it.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
johu
Site Admin
Posts: 5682
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 153 times
Been thanked: 960 times
Contact:

Re: Induction motor control strategy

Post by johu »

No, every edge is counted
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: Induction motor control strategy

Post by EV_Builder »

johu wrote: Mon Apr 18, 2022 2:42 pm No, every edge is counted
Yes, it's counted; but what is the resolution used in the firmware?
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Re: Induction motor control strategy

Post by catphish »

EV_Builder wrote: Mon Apr 18, 2022 9:01 pm Yes, it's counted; but what is the resolution used in the firmware?
It uses all of it, I see no reason why it would willingly discard this resolution.
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: Induction motor control strategy

Post by EV_Builder »

catphish wrote: Mon Apr 18, 2022 9:03 pm It uses all of it, I see no reason why it would willingly discard this resolution.
:roll:
Me neither; well if it isn't needed that precise..

But did you check the encoder code?
If the counted pulses is divided by 144 what do you get?
A: revolutions..

If you want to understand me, take a look at the code.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
johu
Site Admin
Posts: 5682
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 153 times
Been thanked: 960 times
Contact:

Re: Induction motor control strategy

Post by johu »

Are you referring to these lines? https://github.com/jsphuebner/stm32-sin ... r.cpp#L185

It is first multiplied by 2¹⁶ then divided by numimp*4. So no resolution loss there.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: Induction motor control strategy

Post by EV_Builder »

Thank u for jumping in :)

Yes indeed; can you elaborate more on that part?
The increments are in 2.5 degrees steps (360/(36*4)).
2^16 isn't two-pi or am I misreading that too?

Before I'm mis untherstood I doubt we will come up with something better easyly since the current code works and I doubt Johu with his experience dropped the ball somewhere big. But curious as I was I checked the code out a bit. Probably not enough :(
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Re: Induction motor control strategy

Post by catphish »

EV_Builder wrote: Tue Apr 19, 2022 9:21 am Thank u for jumping in :)

Yes indeed; can you elaborate more on that part?
The increments are in 2.5 degrees steps (360/(36*4)).
2^16 isn't two-pi or am I misreading that too?

Before I'm mis untherstood I doubt we will come up with something better easyly since the current code works and I doubt Johu with his experience dropped the ball somewhere big. But curious as I was I checked the code out a bit. Probably not enough :(
Yes the detected steps are 2.5 degrees apart (5 degrees of sine angle because the motor is 4 pole). This is the best accuracy we can achieve. What matters more is how this value is used later. At its simplest, you could just increment the field by 5 degrees immediately for each pulse, but there are plenty of ways to smooth it out. Basically you count the pulses over a 10ms period, which gives you a speed accurate to about 1Hz, and use this for the following 10ms. Errors will average out over a longer time period. Johannes can correct me if I'm not explaining this correctly.

My implementation does something very similar, but on the basis of an overlapping moving average.
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: Induction motor control strategy

Post by EV_Builder »

You dive into implementation; or new implementations; first I suggest we know/ discuss the current one. To know it's strengths and weaknesses.

I'm gonna park this discussion for now since I don't have an engine running in the car yet and I'm not familiar with the current implementation and don't know the need for change at all.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Re: Induction motor control strategy

Post by catphish »

EV_Builder wrote: Tue Apr 19, 2022 9:57 am You dive into implementation; or new implementations; first I suggest we know/ discuss the current one. To know it's strengths and weaknesses.

I'm gonna park this discussion for now since I don't have an engine running in the car yet and I'm not familiar with the current implementation and don't know the need for change at all.
I would argue there is clearly no need for change. Many people are perfectly happy with the current implementation, and it's absolutely not my intent to criticize it.

I'm far from certain that my oversimplified design can be an improvement, but I wanted to post it here to demonstrate and discuss my ideas :)
User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Re: Induction motor control strategy

Post by catphish »

I spent a couple more hours reading and doing simulations. It seems that exactly as Johannes said, there are different ways to do this, but the difference in performance and efficiency are petty negligable. The voltage-then-slip approach favoured by openinverter, while initially confusing, certainly works well. :idea:
Olegnormalniy
Posts: 2
Joined: Wed Sep 06, 2023 10:25 am

Re: Induction motor control strategy

Post by Olegnormalniy »

hi catphish, here is a book for you, see page 13, in my product I used 180 degrees, there is a video, and I conducted experiments with reduced voltage, 96 volts on a 220-380 volt motor, I received power by expanding the PWM signal and kept it at 180 degrees, sorry about that my english i am from russia
https://drive.google.com/file/d/1WPyG3D ... drive_link


https://drive.google.com/drive/folders/ ... drive_link
https://drive.google.com/drive/folders/ ... drive_link
Olegnormalniy
Posts: 2
Joined: Wed Sep 06, 2023 10:25 am

Re: Induction motor control strategy

Post by Olegnormalniy »

Hello people, have any of you ever wondered where to get energy? one evening I was drinking red wine and a crazy idea came to me, drinking is sometimes useful, the idea is to go for high voltage, about 800-900 volts, I bought a mosfet for 1700 volts, and with span drivers, only for 1200 volts, ideally I need I get 1200 volts from the generator but the drivers are slowing me down, if you have suggestions and wishes then let’s talk, we simple and working people need to prepare for bad times and be ready
that's my dream
Post Reply