Modify Resolver Excitation Signal (MCP5775E)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Modify Resolver Excitation Signal (MCP5775E)

3,512 次查看
NilsTro
Contributor II

Hello Community,

I am using a MCSPTR2A5775E Motor Control Kit with the delivered application software.

For my application I want to use a different motor/resolver. So, I need to change the resolver excitation signal. My measurement shows, it currently is 10 kHz, 5V peak to peak. I need to increase the amplitude but keep the frequency.

Can anyone guide me in this, resp. does anybody know, if this is even possible? 

Thanks in advance!

Nils 

0 项奖励
回复
8 回复数

3,482 次查看
Lukas2
NXP Employee
NXP Employee

Hi NilsTro,

 

Motor control development kit MCSPTR2A5775E is using resolver excitation signal generator based on a Sallen Key 3rd-order filter.

Lukas2_0-1667321747066.png

 You can find full schematic in link below.

https://www.nxp.com/webapp/Download?colCode=PMSMPOWERSCH

The purpose of this filter is to get a sine wave from a square wave signal. The resulting filtered signal, output from the Sallen Key third order filter is going through the adapter which is changing the excitation signal magnitude.

 

Lukas2_1-1667321814363.png

 

If you want to modify excitation signal magnitude for different types of resolvers you shod change passive components values in this adapter. Please focus your attention on R91.

One note :
Any type of resolver should work with the default settings of the excitation filter. It depends mostly on the Resolvers transformation ratio how big magnitude is visible at the resolver's output. Our experience shows correct function even in use when -+7V is required for excitation.

0 项奖励
回复

3,478 次查看
NilsTro
Contributor II

Hello Lukas, 

thank you for your transparent reply and for sharing your experience that the lower exciation voltage might be no issue. Accordingly, in the meantime, I figured out that the root cause of my problem might be a different one.

For the background: we want replace the kit's demo motor by our own PMSM and resolver with 2 pole pairs each.

For this, I modified the pole pair numbers in the application software (original NXP software for Kit) and then debugged using the .elf file.

I am then able to get the new motor running in scalar control mode. However, the resolver position evaluation signal still looks the same as for the 3p demo motor, which cannot be. When enabling any FOC control mode, the application  runs into a failure. So, I suppose the debug sequence is loading the "old" software version and is not taking over the new parameter values.

How can we load a "new" software version with our new pole pair parameters? I opened a new case (00498617) on this and would be happy if you could have a look. 

Best regards

Nils

 

 

0 项奖励
回复

3,474 次查看
Lukas2
NXP Employee
NXP Employee

Hi Nils,

Motor control kit MCSPTR2A5775E has equipped with SW tools FreeMaster and MCAT. The Motor Control Application Tuning tool is specifically designed for this action. Based on your description it looks like we should start to verify all necessary SW modifications.

You can download app note specifically targeting PMSM motor control and application tuning via MCAT here : https://www.nxp.com/webapp/Download?colCode=AN4642

Lukas2_0-1667376318134.png

Please verify if all PMSM machine parameters are correct. Parameters can be added to the MCAT Parameters page. For the first experiments please verify especially pp and align voltage. After you modify the Parameters please use the MCAT buttons to store data and update target.

Lukas2_1-1667376346081.png

In page sensors please add the correct number for resolver pole pairs. Once again uses MCAT buttons to store data and update target.

Lukas2_2-1667376365913.png

In the Output file page please verify all modifications in the code. If you see modified parameters in this part please use generate configuration file button. This action generates a header file in design studio PMSM_appconfig.h

Lukas2_3-1667376414303.png

Lukas2_4-1667376445955.png

 

Please open the design studio and verify if the header file was generated correctly. New parameters should be visible there. Now your code is ready to Build.

Lukas2_5-1667376513604.png

If you still see some issues with parameters please clean all projects and build it again.

Lukas2_6-1667376570281.png

For more information about MCAT please visit this link  :

https://www.nxp.com/design/software/development-software/motor-control-application-tuning-mcat-tool:...

0 项奖励
回复

3,465 次查看
NilsTro
Contributor II
Hello Lukas,

 

Thank you for your quick response. I am aware that the MCAT tool allows parameters to be set. However, when I try to modify the resolver pole pairs and click "Update Target" I receive an error: 

NilsTro_3-1667382644871.png

 

 

Moreover, I receive a fault when trying to generate the file ("File Closing Error"). 

What exactly do you mean by "[...] clean all projects and build it again"? Do you mean the following:

NilsTro_2-1667382627743.png

After that, is it also necessary to debug / load againg using the .elf file?

Thanks and br

0 项奖励
回复

3,457 次查看
NilsTro
Contributor II

Lukas, 

I reinstalled everything, downloaded a recent copy of the application software, and included a new version of AMCLIB to make sure, the setup is clean. 

However, it is still not possible to change the parameters from MCAT without an error message (see below). Hence, I changed the parameters directly in the code, specifically,  in the "M1_params" file. I set RES_PP=2 and pp=2. Then I rebuilt the project and loaded it to the MCU and the new parameters are actually displayed in FreeMaster/MCAT thereafter.

Result: 

-Speed FOC still fails during alignment

-Current FOC reaches run state but motor won't move 

-In scalar control at 100rpm set point I observe the following for the resolver position: 

NilsTro_0-1667394297878.png

To me this doesnt look plausible. For 2 pole pairs I would expect either two or four teeth per revolution. So, I really dont see what else could be done to make the application accept my values.

Thank you in advance 

br Nils

 

0 项奖励
回复

3,446 次查看
NilsTro
Contributor II

 

I tried to find the part of the code, where the resolver and motor pole pair information is processed. I  looked into "pospe_sensor.c", which is where I believe the resolver position is converted to speed. 

I figured out that you splitted the multiplication by the number of motor pole pairs in two steps using motor_PP_gain and shift operation. I managed to adapt this for my 2pp motor.

However, I find it very irritating that the resolver pole pair number is never used in the code. Screened the project for RES_PP. Its only defined in PMSM_appconfig and M1_params. 

So, how can I adjust the resolver pole pair number? 

 

NilsTro_1-1667487300422.png

 

0 项奖励
回复

3,446 次查看
NilsTro
Contributor II

Hello Lukas,

thank you for your quick response.

I am aware that the MCAT tool allows parameters to be set/modified. Unfortunately, when I try to update the resolver pole pair number and click "Update target" I receive an error: 

NilsTro_0-1667379963024.png

Do you have any idea, why I am receiving this message?

In addition, for your statement 

"If you still see some issues with parameters please clean all projects and build it again.", 

what do mean exactly by "build it again". Do you mean the following option:

NilsTro_1-1667380178841.png

If yes, after that, would I also need to debug again? 

Thanks for your help and best regards

Nils

 

 

 

 

 

 

 

 

 

0 项奖励
回复

2,695 次查看
gpereira
Contributor I

I am having exactly the same issue. Did you ever got a response?

Thanks in advance.

0 项奖励
回复