This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi
This is sampath, I am using a TMS320F2810 DSP for an application which drives servo-motor in loopback control-system mode. The gain parameters for the loop are initially saved in the flash memory ( the gain values are around 3.879, 4.894 etc.,) at some locations. The responce is testing using a sine wave with finite amplitude, initially servo is running but after some time servo is not running, when we debug this we found that the gain values which must be copied from flash are copied as (0.000000000000000000000000000000000001) for all the gain values, thats why the motor is not running, so kindly tell me the reason behind that.
Regards
sampath
Hi Sampath,
Did you check if tha values are correctly saved in the flash during runtime? Are the gain values overwritten during runtime (you can check this by setting a hardware watchpoint on the adress where the gain values are stored)
An other issue could be wrong waitstates for your flash. Look for ControlSuite example projects using flash.
Best regards
Andreas
Hi Andreas von kaenel
Thanks very much for your suggestions,Let me explain my application briefly: Iam using timer ISR which has my control-loop , the timer starts for every 200ms, the control-loop module will get the position feed-back using sensors and the control out-put is given to the motor. I have tested the unit as explained by you and the flash is having the right data and iam reading the data in to the buffer at start up, and the buffer values at initial stage are fine. When the input command is given to the ADC and depending on the feed-back the control-loop will start. The system is working for 5-6 mins and suddenly the motor is stopping, when we examine the system gain parameters the values are changed to 0.00000000000000000000000000000000000001 in the buffer(which is in the RAM), please can you you tell me problem behind it
Regards
Sampath
Hi Sampath,
As I stated in my previous post, set a Hardware Watchpoint to the Adress where your gain parameters are stored and see which part of your code overwrites these values. visit the following link http://processors.wiki.ti.com/index.php/Watchpoints_for_C28x_in_CCS_4 (or this linkf for CCS3 http://processors.wiki.ti.com/index.php/Data_Breakpoint/Watchpoint) to see how to set watchpoints in CCS4
Regards
Andreas