We are using High-Power Simple Motor Controller G2 controller on one of our application. I am trying to change through micro controller temporary acceleration settings using the ‘Set Motor Limit’ command. However, the temporary acceleration settings are not changing and always follows the hard limits. I can confirm that temporary values does not exceeds the hard limits.
Hard limit settings: Max acceleration and deceleration is 3200 with update period of 100 ms.
Temporary values: I have tried with different range from 1 onward but still follows the hard limits and not the temporary.
Please let me know how I can control temperory acceleration and deceleration setting using microcontroller.
If you have not already, I recommend simplifying your test program to its simplest complete form that you think should work to try to isolate the problem. At that point, if you are still not sure what is causing the problem, could you post your simplified program here? Also, please post your motor controller’s settings file. You can save your settings file from the Simple Motor Control Center G2 under the “File” menu when your motor controller is connected to your computer.
I have attached the motor controller’s settings file for your review.
In its simplest form, on start up after the initialization of the UART, I send the set motor limit command. Currently I am setting only the acceleration for both forward and reverse for different limit values.
actuator device ID
0x01 (Max acceleration )
After motor limits are set, I send exit safe start and then a command to move the actuator.
smc_settings.txt (2.2 KB)
That part of your code looks okay. Can you post a more complete example of your code with examples of some input values you have tested? Do you receive the 0x00 response byte indicating the temporary limit was set as requested?
Also, can you test if the acceleration limiting works as expected when you operate your Simple Motor Controller over USB with our Simple Motor Control Center G2 software and manually adjust the maximum acceleration setting under the “Motor settings” tab?
On operating the Pololu drivers over USB using the Pololu Serial Transmitter software, I am able to change the temporary motor limits without any issues.
However, I am not getting any response back when I try to set the limits using the micro. I can read various status messages as well read the firmware version. I can also set the speed and move forward and reverse as well brake. So all the other commands are working. Only the set motor limit command seems to not response.
On sending the get variable command to check for errors (status flags ID 0 and 3 ) after set motor limit command is send, the status response indicates that there is a serial error with CRC has occurred.
I have disabled CRC so not sure why serial error with CRC is occurring. This is happening only with the ‘Set Motor Limit’ command.
Please post the test code you are running on your microcontroller. As I mentioned before, this should ideally be the simplest, complete program that demonstrates the problem.
Can you try running your test code with your Simple Motor Controller connected to your computer via USB? While your program is running, please monitor your controller using the “Status” tab of our Simple Motor Control Center G2 software and let us know if it reports any errors and if so, which ones.