No averaging on the current readings at all. There is an RC low pass filter for the current inputs, but it is very small, like 1microSec time constant.
sorry I just read the message about the first gen control board. I'll have to look around for the code. It's possible that it had debug code on it rather than regular code, but it was also a "pure sine wave" inverter code. I was messing around with that. I'll see what I can find.
I'm adding a new feature until you get a better throttle:
2<cr> increases throttle a bit
1<cr> decreases throttle a bit.
so, you could spin the motor up and backwards too.
Also, another new command is:
off<cr>
That's for if you want to trigger a fault and just turn it off. it will stop running the motor and then you can turn it off without wear on the contactor.
By the way, one danger of the bad throttle under very high RPM is, if it gets disconnected, while falling to zero, it may land on MAX_REGEN (which is near zero. remember that zero throttle is 512, or 2.5v), which will then try to command 400 amps into your battery pack, using the energy stored in the spinning motor. That could cause a catastrophically high voltage pushed back into the pack that could break something.
Another new command is:
run-inductance-test
Basically, you use your artificial throttle to rev the motor up pretty good (3600rpm?? whatever!). Then type run-inductance-test. it will dump some data. The first list of data is the voltage on phase 1 to neutral (if Y connected motor) and it is phase1 to phase 2 (or phase 3 I don't know haha) voltage if it's a delta connected motor.
The next list of data is the current on phase 1 (or line 1, or whatever the crap those words mean). Then, you see what the biggest voltage is, and the biggest current, and then convert them to real voltage and currents (not the lala land of the controller):
real voltage = your fake volt reading * 124 / 1500. 124v since that's your battery pack.
real current = your fake current reading * 600 / 4096
RPM will just be printed out at the end of the test.
L = VoltsYouFound/(2*pi*currentYouFound*RPM)
At least I think that's how it works. haha. I'm pretty sure it's at least close.
Another way is L = 1/(2*pi*rpm) * sqrt(voltsYouFound^2 / currentYouFound^2 - RotorResistance^2)
They agree pretty well. My motor's stator inductance was about 0.055 vs 0.062Henry for those 2 methods.
EDIT: That may only work where the mechanical speed is approximately the electrical speed. My inductance maybe 0.030 Henry instead of 0.060 Henry. I'm not sure.
Last edited by MPaulHolmes; 09-16-2015 at 11:09 AM..
|