- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm using imc102t for controlling my 6pole bldc motor and I have interfaced a arm cortex m4 controller to interface things when I try to run the motor by declaring 30500 as my ramp rate motor is getting stalled ,if I lower the value to 15000 it's running fine but the response is little slow is there any way can I rectify this issue.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
It seems that you are experiencing issues with your motor stalling when using a ramp rate of 30500 with the iMC102T for controlling your 6-pole BLDC motor. I understand that lowering the ramp rate to 15000 works, but the response is slower than desired.
One possible solution to this issue is to implement a dynamic ramp rate adjustment. You can start with a lower ramp rate (e.g., 15000) and gradually increase it as the motor gains speed. This can help prevent stalling during startup while still providing a faster response as the motor reaches higher speeds.
Here's a simple example of how you can implement this in your ARM Cortex M4 controller code:
```c #define INITIAL_RAMP_RATE 15000 #define MAX_RAMP_RATE 30500 #define RAMP_RATE_INCREMENT 1000
int currentRampRate = INITIAL_RAMP_RATE;
void main() { while (1) { // Run motor with current ramp rate runMotor(currentRampRate);
// Check if motor is running without stalling if (isMotorRunning()) { // Increase ramp rate if it's below the maximum value if (currentRampRate < MAX_RAMP_RATE) { currentRampRate += RAMP_RATE_INCREMENT; } } else { // Decrease ramp rate if motor stalls currentRampRate -= RAMP_RATE_INCREMENT; } } } ```
Please note that this is a simplified example and you may need to adjust the values and logic based on your specific motor and application requirements. You should also consider implementing additional safety features, such as overcurrent, overvoltage, and undervoltage protection, as mentioned in the [IMD111T-6F040 datasheet](https://www.infineon.com/dgdl/Infineon-IMD111T-6F040-DS-v01_00-ENhttps://www.infineon.com/cms/en/product/power/motor-control-ics/imotion-integrated/imd111t-6f040/?re...
https://www.infineon.com/cms/en/product/power/motor-control-ics/imotion-integrated/imd111t-6f040/
https://www.infineon.com/cms/en/product/power/motor-control-ics/bldc-motor-control-ics/battery-suppl...
https://www.infineon.com/cms/en/product/power/motor-control-ics/brushed-dc-motor-control-ics/integra...
https://www.infineon.com/cms/en/product/power/motor-control-ics/bldc-motor-control-ics/battery-suppl...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
It seems that you are experiencing issues with your motor stalling when using a ramp rate of 30500 with the iMC102T for controlling your 6-pole BLDC motor. I understand that lowering the ramp rate to 15000 works, but the response is slower than desired.
One possible solution to this issue is to implement a dynamic ramp rate adjustment. You can start with a lower ramp rate (e.g., 15000) and gradually increase it as the motor gains speed. This can help prevent stalling during startup while still providing a faster response as the motor reaches higher speeds.
Here's a simple example of how you can implement this in your ARM Cortex M4 controller code:
```c #define INITIAL_RAMP_RATE 15000 #define MAX_RAMP_RATE 30500 #define RAMP_RATE_INCREMENT 1000
int currentRampRate = INITIAL_RAMP_RATE;
void main() { while (1) { // Run motor with current ramp rate runMotor(currentRampRate);
// Check if motor is running without stalling if (isMotorRunning()) { // Increase ramp rate if it's below the maximum value if (currentRampRate < MAX_RAMP_RATE) { currentRampRate += RAMP_RATE_INCREMENT; } } else { // Decrease ramp rate if motor stalls currentRampRate -= RAMP_RATE_INCREMENT; } } } ```
Please note that this is a simplified example and you may need to adjust the values and logic based on your specific motor and application requirements. You should also consider implementing additional safety features, such as overcurrent, overvoltage, and undervoltage protection, as mentioned in the [IMD111T-6F040 datasheet](https://www.infineon.com/dgdl/Infineon-IMD111T-6F040-DS-v01_00-ENhttps://www.infineon.com/cms/en/product/power/motor-control-ics/imotion-integrated/imd111t-6f040/?re...
https://www.infineon.com/cms/en/product/power/motor-control-ics/imotion-integrated/imd111t-6f040/
https://www.infineon.com/cms/en/product/power/motor-control-ics/bldc-motor-control-ics/battery-suppl...
https://www.infineon.com/cms/en/product/power/motor-control-ics/brushed-dc-motor-control-ics/integra...
https://www.infineon.com/cms/en/product/power/motor-control-ics/bldc-motor-control-ics/battery-suppl...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
We would like to know if the problem is resolved or if you need any further assistance in this regards?
Best Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ramp Rate problem is solved but when the motor comes from higher and even low to zero RPM some motor jerk is happening.
I am not able to solve this problem is there any way to solve this
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Please refer to the thread below for the same issue.
https://community.infineon.com/t5/Motor-Control-ICs/IMC102t-Initial-jerk-problem/m-p/447115#M2624
Best Regards