View Single Post
Old 09-22-2015, 01:21 AM   #2058 (permalink)
Master EcoModder
Join Date: Sep 2010
Location: Saskatoon, canada
Posts: 1,488

Ford Prefect - '18 Ford F150 XLT XTR

Tess - '22 Tesla Y LR
Thanks: 748
Thanked 565 Times in 447 Posts
Originally Posted by MPaulHolmes View Post
I think I've got a really good filtering scheme for sensorless at 0.5Rev/sec up to 15,000rev/sec.
That's quite the range .. all wrapped up in one scheme!

It fits so well with the nature of the noise in the motor. The faster the motor, the more the waveforms look like fairly well behaved sine waves.
Matches what I've seen on industrial stuff. Control is good from 10ish Hz on up to 400 Hz

The slower the motor, the more the waveforms look like crap.

But the lower the motor, the longer the period and the more severe you can filter the signal. The goal is to find the derivative of the noisy current waveform.
OK. I sort-of follow.

Well, it only looks random. Even at near zero rpm, that thing is a sine wave, if you do enough filtering. The trouble is, the filtered signal lags behind the one you want. Also, the magnitude is squashed just a bit.
I guess that makes sense. Filtering can grab the sine wave out of the noise.

But in general, the RPM doesn't change super super fast. I mean, not microseconds fast. So, you find the shifted and scaled "peak of the last half cycle" and width of the last half cycle, and use that to construct a sine wave that is shifted back in time, and scaled up.
So do you need to cut off the filtering when you get up above a certain speed? Do you have the CPU cycles to filter at above 1000 rpm.

YOu now know how the true sine wave looks like. You don't have to depend on the old news filtered sine wave. You can then take the derivative of the corrected sine, which then gives the derivative of what's happening right now! No lag! will post simulation pics soon.
The algorithmn makes sense. It also sounds like a lot of work - filtering, taking the period, calculating the filter offset, calculating the peak, figuring out where the last half-wave WAS and where the next one WILL BE.

If you can cram all of that into the CPU you have - that's AWESOME!
  Reply With Quote
The Following User Says Thank You to thingstodo For This Useful Post:
MPaulHolmes (09-22-2015)