DRM077 and MC56F8037 using vector control for low speed hub ebike motor

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DRM077 and MC56F8037 using vector control for low speed hub ebike motor

2,483 Views
offgrid
Contributor III
Hi:
I would like to use a reference design for a brushless ebike hub motor. I also want to use the sensorless PMSM software to allow the use of field oriented control (FOC) and space vector modulation (SVM).

DRM077 supports both the use of BLDC (trapezoidal) and PMSM (sinusoidal) sensorless drive methods, so that is good. Only problem I can see: the specifications for the reference design, on page 23 are the words "Motor control has a speed range of 300rpm to 4500rpm."
http://www.freescale.com/files/dsp/doc/ref_manual/DRM077.pdf?fsrch=1

The hub motor has a speed range of about 15 RPM (slow pedalling) to a MAX speed of 300 RPM, and in looking at the code in Codewarrior, and checking DRM077 it is not clear what happens at low rpm. There does seem to be a sofstart variable, but I am not clear if the low rpm uses the FOC and SVM methods, or is there just a canned lookup table for slow speed start.

So my questions are: Does the slow speed startup of DRM077 use FOC and SVM, and if so great. If not is there a way to make them do that, or is there another solution that will work at low RPM? Is there another sensorless solution? I know the QE128 now has a new reference design but that uses an encoder that is many times the cost of a micro, so that is not a solution.
Thanks!!
Tim
0 Kudos
3 Replies

630 Views
offgrid
Contributor III
OK, I think I have found the answer in DRM099 and I quote:
"2.4.3 Open-Loop Start-up
The sensorless techniques described in this document are based on BEMF. This means the position can not
be estimated at a zero or low speed. Therefore the motor start-up is provided with a vector of a constant
current amplitude."

So if this is also the issue with DRM077, then one simply cannot use back EMF sensing at low speeds to run the motor efficiently.

So then the question is... what low cost method can be used for speed and position sensing of the motor at low RPM? An incremental encoder is used in DRM105:
http://www.freescale.com/files/microcontrollers/doc/ref_manual/DRM105.pdf?fsrch=1

 I have asked but not yet received the pricing on this encoder, but I would have to believe it would be in the 10's of USD $$, so that is not exactly a low cost option.

So my question: is there a low cost 1024 (or equiv) incremental encoder that will work for this application?

Thanks,
Tim
Offgrid Engineering LLC
0 Kudos

630 Views
offgrid
Contributor III
Oh I forgot to mention the encoder part number in DRM105, it is
ES28-6-1024-05-D-R you can see the supplier directly at:
http://www.inducoder.de/dat_en/datsheet/es28.shtml
I really like DRM105 because it uses the Flexis AC256 which is good but it does require this incremental encoder. There must be an inexpensive way to do an encoder whose reliability is good for 400K cycles (the approx life of a hub motor for 10 years).

Thanks
Tim
0 Kudos

630 Views
offgrid
Contributor III
Found the pricing of the encoder in this DRM105 to be over 30USD!!! so that is a ridiculous way to control a 50 USD motor!!

So my question is ....does my application absolutely require 4096 or 1024 pulses per revolution, or is 180-512 good enough? What problem will lower encoder resolution cause, jerky motion? Can I mitigate?

Thanks
Tim
0 Kudos