Id, Iq and Vd, Vq values in FOC

As per my understanding the Id, Iq and Vd, Vq values shall be DC or more or less straight lines. Is my understanding correct? I am trying to send these values at every 50ms on CAN. Please advise. I see lot of AC components or kind of fluctuations.

Sorry i am really asking stupid questions. But i did some calculations to actually understand what is the best periodicity i can send.

Let us say the maximum rpm of the motor is 4000RPM. Using the synchronous speed formula
N = 120f / p
N = 4000
p = 10 poles (5 pole pair)
f = frequency
f = N
p/120 = 333 Hz = 3ms
So, if i send a CAN message at every 50ms i will not get any samples, so if i make the periodicity to 1ms at highest speed i get 2 - 3samples. I hope my calculations are correct.

I think you’re right in principle:

4000RPM = 66.66RPs

66.66RPs * 5pp = 333 electrical revolutions per second

each electrical revolution = minimum 6 commutation steps, but minimum more like 60 if you’re trying to do FOC control with Sine commutation.

So it depends how many samples you want to take per electrical revolution, but lets say 100 samples:

333 * 100 = 33300 Hz or 33kHz

So if you want to send 12 bytes (which is 3 float values) per sample this would be 290kB/s
Probably you should collect the values in a buffer, and send as many as possible per CAN packet

1 Like