TMCL: Use of X-Register
TMCL is the simple way to implement your motion control application. With this series of simple coding examples we want to provide you an easy start.
This program demonstates the usage of the X-register. The motor 0 is performing 10 rotations with velocity 1000 then the program will be stopped.
Before use: Restore Factory Defaults
//This program demonstates the usage of the X-register. The motor 0 is performing 10 rotations with //velocity 1000 then the program will be stopped. //For more details look at TMCL_reference.pdf - //http://www.trinamic.com/software-tools/tmcl-ide // //Before use: Restore Factory Defaults //(MN 19.05.2015) // *** Values that have to be adapted *** // vmax = 2000 //max. speed (0 ... 2047) amax = 1000 //max. acceleration (0 ... 2047) cmax = 100 //max. current (0 ... 255) // *** Interrupt initialization *** // SAP 4, 0, vmax //set max. positioning speed SAP 5, 0, amax //set max. acceleration SAP 6, 0, cmax //set max. current CALC LOAD, 1 //load 1 to accu CALCX LOAD //load accu to X-register CALC LOAD, 0 //load 0 to accu // *** Main Loop *** // loop: MVP REL, 0, 51200 //perform 1 rotation: 51200 = 200 * 256 WAIT POS, 0, 0 //wait until postion reached WAIT TICKS, 0, 100 //wait 1 second. 100 * 10ms CALCX ADD //add X-register to accu COMP 10 //compare accu with 10 JC LT, loop //if greater or equal 10 end program STOP //end of program
For more details look at TMCL_reference.pdf at http://www.trinamic.com/software-tools/tmcl-ide
This sample is tested with TMCM-1140, TMCM-1161, TMCM-6110.
November 19, 2015 / Jonas P. Proeger / 3
Categories: Code Snippet, Tutorial
TRINAMIC reveals progress on AutoR Heliostat Program How to make a stepper motor turn in minutes with Trinamic TMC5130-EVAL-KIT
Comments are currently closed.
3 thoughts on “TMCL: Use of X-Register”
Hi…How is 1 roation caluculated as 51200?? is it constant for all or what is the logic behind it??
This number is calculated by the full steps per revolution of the used stepper motor and the micro step resolution set in the controller. In this example a 200 full step motor is used with a micro step resolution of 256.
200 multiplied by 256 equals 51200.
I hope that help.