deltaa Posted December 17, 2012 Posted December 17, 2012 Anyone has experience on how to setup position compare function for Geo Brick LV direct microstepping mode without using encoder? Thanks.
Sina.Sattari Posted December 17, 2012 Posted December 17, 2012 The mircostepping uses a simulated feedback in the Turbo PMAC's memory and doesn't use any of the DSPGate1 ASIC functionality which position compare is one of them. If you want to do a position compare, the best way is to set up a virtual motor using an internal pulse and direction on one of the available channels on one of your DSPGate1 ASIC(s) and set it as a slave to your microstepped channel and perform all the position capture on the virtual axis. I hope this helps.
deltaa Posted December 20, 2012 Author Posted December 20, 2012 The mircostepping uses a simulated feedback in the Turbo PMAC's memory and doesn't use any of the DSPGate1 ASIC functionality which position compare is one of them. If you want to do a position compare, the best way is to set up a virtual motor using an internal pulse and direction on one of the available channels on one of your DSPGate1 ASIC(s) and set it as a salve to your microsteped channel and perform all the position capture on the virtual axis. I hope this helps. Trying to use motor #1 for direct micro stepping and motor #4 as the virtual motor with internal pulse & direction wrapped back, with the following setup, both motors work fine individually. ; ECT for motor #1 I8000=$6800BF I8001=$10020 I8002=$EC0009 ; ECT for motor #4 I8003=$C78018 ;virtual motor #4 I400=1 I401=0 I402=$7801C I403=@I8003 I404=@I8003 I405=@I8002 I406=1 I7040=8 I7046=3 When trying to move motor #4 along, position compare works no problem. When enable position following on #4 and moving motor #1, position compare does not work. It seems motor #4 does not "follow". What could be wrong? Thanks
curtwilson Posted December 21, 2012 Posted December 21, 2012 Your setting for I8002 ($EC0009) is integrating the result for I8009, and it should be integrating the result for I8001 (the velocity command for Motor 1), so it should be set to $EC0001.
Recommended Posts