Announcements

From sunburn to sun earn – we’ve got the power! Watch our #poweringgreen videos now.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
swasabi
Level 1
Level 1
5 sign-ins First reply posted First like given
Hi,
 
For my project I employed a 1 pol pair 24 Vdc 80 W Portescap BLDC motor [1] to rotate a shaft at defined fixed speeds up to 15,000 rpm, and bought the Infineon IFX007t BLDC shield to run it. 
 
I am currently trying to control it using an Arduino uno combined with this bldc shield and am facing some issues with getting the motor to spin. 
 
I tried using sensorless back EMF control to run the motor, and there are a few elements in the code such as phase delay and virtual neutral offset that I am not sure how to calibrate. The example code I found [2] is for a 4-pole pair motor, and I tried to modify it to run my 1-pole pair motor, which makes the motor oscillate randomly instead of spinning.
 
My knowledge on motor control is very limited and I need this motor to spin at defined speeds to do testing on my prototype. I would really appreciate if some help could be kindly provided to help run this motor at defined speeds. 
 
[1] Brushless motor datasheet: A700000008258801.pdf (rs-online.com)
 
[2] IFX007t motor control library (I am using BLDC_BEMF example): https://github.com/Infineon/IFX007T-Motor-Control
 
 
Kind Regards.
0 Likes
1 Solution
Sahil_K
Moderator
Moderator
Moderator
250 replies posted First like given 100 solutions authored

Hi @swasabi ,

There are some issues with the BEMF example code due to which it is removed from GitHub at present and it is not recommended to use this BEMF code.

If you need to use a BLDC motor with IFX007T please use the HALL example code provided on the Infineon Technologies website.

 

Warm Regards

Sahil Kumar

View solution in original post

3 Replies
Sahil_K
Moderator
Moderator
Moderator
250 replies posted First like given 100 solutions authored

Hi @swasabi ,

There are some issues with the BEMF example code due to which it is removed from GitHub at present and it is not recommended to use this BEMF code.

If you need to use a BLDC motor with IFX007T please use the HALL example code provided on the Infineon Technologies website.

 

Warm Regards

Sahil Kumar

Hi Sahil,

Thank you for you kind suggestion. I had a couple more questions that I'd request you to help me with.

For using the hall sensor operation, the user manual mentions that the resistors R18/R19/R20/R21/R22/R23/R25/R26/R27 have to be placed and R36/R37/R38 must be
removed. How should I determine the values for these resistors R18 through to R27?

Additionally, how do I determine the P and I values for the PI-REG RPM regulator (from lines 28-29 on the .ino file - IFX007T-Motor-Control/BLDC_HALL.ino at master · Infineon/IFX007T-Motor-Control · GitHub)?

Kind Regards,

Sayed

0 Likes
Sahil_K
Moderator
Moderator
Moderator
250 replies posted First like given 100 solutions authored

Hi @swasabi ,

1) For the value of resistance from R18/R19/R20/R21/R22/R23/R25/R26/R27 please refer to the Schematic of the motor control shield for Arduino with IFX007T provided in the datasheet on page no.4. For your reference I am attaching the image.

sk7211_0-1674021275369.png

 

2) The PI compensator gains are adjusted depending on the motor and load characteristics to meet the target dynamic performance. For optimal operation the tuning of the PI controller is necessary, start with default Ki(PI_REG_I) and Kp(PI_REG_K) given in the code and slowly increase the Kp value to get a faster response if your system became unstable then try to increase the Ki value slowly to reduce the oscillation.

3) For the code please refer to the “Infineon-Demo Code for IFX007T Arduino Shield-Software-v01_00-EN” available on the Infineon Technologies website. As shown in the attached image.

sk7211_1-1674021275372.png

 

 

Warm Regards

Sahil Kumar