Get help about sensorless FOC on MC56F84766

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

Get help about sensorless FOC on MC56F84766

1,282 Views
changshuili
Contributor I

On my last project,  I used MC56F84766VLK as controller, and one quad encoder as angle/speed sample to realize PMSM motor control by using FOC algorithm:

MC56F84766 FOC with Encoder.jpg

where:

        (1)TMR0:quad timer0, input A/B signals from encoder as quad counter

            by one function:MCSTRUC_AngleFromEncoder() to output two angle signals as Park's & Inverse Park's angle signal(θe):

            gsM1_Drive.sSpeedPos.sAnglePosEl, gsM1_Drive.sSpeedPos.sAnglePosElUpdate

       (2) TMR1: quad timer1, input TMR0 OFLAG

            by one function:MCSTRUC_PosCalc() to get the relative position,θm: gsM1_Drive.sPosCalc.f32PosRelative

       (3) TMR2: quad timer2 and timer3, normal M/T speed calucation and low speed calucation

            by one function:MCSTRUC_SpeedClacMTMethod() to out normal speed signal,ωm:gsM1_Drive.sSpeedPos.f32Speed

            by one function:MCSTRUC_SpeedClacImproved() to out the startup speed signal:gsM1_Drive.sSpeedPos.f32SpeedImproved          

In order to get lower cost, we want to cancel the quad encoder,and consider to use back-emf observer+tracking algorithm to realize the sensorless FOC.

MC56F84766 FOC withno Encoder.jpg

By browsing our NXP resource, we found one reference(AN5014SW) may realize our task. Functions CalcObs() and Update() can out angle signal(module->data.posElEst) and speed signal(module->data.velocityElEst).

Questions:

(1) How to get these signals as like encoder? or, to replace them with the sensorless Observer+Tracking :

    (a)Angle signals:gsM1_Drive.sSpeedPos.sAnglePosEl, gsM1_Drive.sSpeedPos.sAnglePosElUpdate

   (b)Relative position signal:gsM1_Drive.sPosCalc.f32PosRelative

   (c)Speed signal:gsM1_Drive.sSpeedPos.f32Speed,gsM1_Drive.sSpeedPos.f32SpeedImproved

(2) Why the angle signal(module->data.posElEst) change too much when the motor stops?

as the below figure(captured by FreeMaster):

Obs FreeMaster.png

Wait your reply.

Thanks too much!

Lichangshui ,2017-12-11

Tags (1)
0 Kudos
6 Replies

951 Views
pavelsustek
NXP Employee
NXP Employee

Hello Lichangshui,

regarding encoder replacement by  Bemf observer + tracking observer for a position control is not very feasible. The observer requires for its functionality a minimum level of Back-emf voltages. These voltages are generated during PMSM rotation. Thus, the algorithm starts reliably working from 5%-10% of motor nominal speed. Under this speed the algorithm is not capable to estimate rotor speed and also rotor electrical position (integrated from estimated speed).

Typically the sensorless algorithm is used only for speed control while position control requires precise position feedback even for very low speed.

Regards,

Pavel

0 Kudos

949 Views
changshuili
Contributor I

Dear Mr. Pavel:

Thank you very much for you reply.

As you said, the sensorless algorithm can’t meet the demand of position control because the observer can work until the speed is great than 5%-10%. When motor start, it may work on open-loop while the level of back-emf voltage is very that make the observer can’t work?

It is a bad news for me. I want to find a solution without quad encoder. It seems to be very difficult if we use the sensorless observer.

Do you have other solution, for example, with Hall encoder to realize the position control for FOC algorithm ?

By the way, I would like to hope you give the reference software codes(if you have) as described on the attached DRM139. In the solution, it told us to realize position control without sensors.

Thanks,

Best regards,

Changshui Li

发件人: pavelsustek

发送时间: 2017年12月13日 15:36

收件人: 李长水

主题: Re: - Re: Get help about sensorless FOC on MC56F84766

NXP Community <https://community.freescale.com/resources/statics/1000/35400-NXP-Community-Email-banner-600x75.jpg>

Re: Get help about sensorless FOC on MC56F84766

reply from Pavel Sustek<https://community.nxp.com/people/pavelsustek?et=watches.email.thread> in Digital Signal Controllers - View the full discussion<https://community.nxp.com/message/969726?commentID=969726&et=watches.email.thread#comment-969726>

0 Kudos

949 Views
pavelsustek
NXP Employee
NXP Employee

Dear Lichangshui,

I'm a little bit affraid that replacement of quadrature encoder in position control is almost impossible.

Hall sensors could be considered, but there's also problem at low and zero speed region where the position resolution is zero or very low.

For correct position control there has to be information about actual rotor position even at zero speed. This condition can ensure only sensors like resolver or encoder.

DRM139 does describe position sensor elemination but only for speed control. It's the same control as described in previous comment - open-loop start-up and switching to sensorless backemf control for speed > 5-10% of nominal speed.

Open loop control in low speed does not provide any information about actual rotor position as well. Thus, it cannot be used as replacement for position sensor at low speed regions.

Regards,

Pavel

0 Kudos

949 Views
changshuili
Contributor I

Dear Pavel,

Thank you very much for your guideness.

Do you have the reference software code which implements the position FOC with Hall encoder? Although the precision may be low for Hall (there are only six sectors one round, it means the error of 60 degrees), but we installed the motor with a gearbox. The ratio of the gearbox is about 90 , then the total error may be 60/90 degree(i.e. 0.67 degree), It may be acceptable in the lower application. So, I hope you give me one reference software codes about these with Hall encoder on position FOC.

By the way, I ask that do you have the software codes like DRM139?

Best regards,

Changshui Li

发件人: pavelsustek

发送时间: 2017年12月14日 20:58

收件人: 李长水

主题: Re: - Re: Get help about sensorless FOC on MC56F84766

NXP Community <https://community.freescale.com/resources/statics/1000/35400-NXP-Community-Email-banner-600x75.jpg>

Re: Get help about sensorless FOC on MC56F84766

reply from Pavel Sustek<https://community.nxp.com/people/pavelsustek?et=watches.email.thread> in Digital Signal Controllers - View the full discussion<https://community.nxp.com/message/970066?commentID=970066&et=watches.email.thread#comment-970066>

0 Kudos

949 Views
pavelsustek
NXP Employee
NXP Employee

Dear Lichangshui,

Hall sensor FOC control could somehow works in your case with gearbox. Unfortunately I cannot offer any official FOC with Hall sensors software application at this time.

It's planned for next year, hopefully end of Q1 for Cortex M4 Kinetis MCU.

For DSC there's is no plan currently to support this application, but we can consider this as an option.

For initial testing of Sensorless FOC I would recoomend to use AN5014SW as for DRM139, the software is no publicly available.

Regards,

Pavel

0 Kudos

949 Views
changshuili
Contributor I

Dear Pavel,

Thank you very much for your reply.

(1) You will plan on 2018 Q1 to issue the hall FOC on Cortex Kinetis MCU. We hope you could also implement it on MC56F847xx

Please let mu know when you issue the solution. Thanks in advance.

(2) We have studied AN5014SW, and find the estimation result of angle “posElEst” fluctuates very highly even on stop state and run state. We have captured the below signal as below:

Best regards,

Changshui Li

发件人: pavelsustek

发送时间: 2017年12月15日 16:00

收件人: 李长水

主题: Re: - Re: Get help about sensorless FOC on MC56F84766

NXP Community <https://community.freescale.com/resources/statics/1000/35400-NXP-Community-Email-banner-600x75.jpg>

Re: Get help about sensorless FOC on MC56F84766

reply from Pavel Sustek<https://community.nxp.com/people/pavelsustek?et=watches.email.thread> in Digital Signal Controllers - View the full discussion<https://community.nxp.com/message/970416?commentID=970416&et=watches.email.thread#comment-970416>

0 Kudos