Synchronizing Tetrix Motors
Page 1 of 1

Author:  akrobotics [ Sat Jan 19, 2013 2:56 am ]
Post subject:  Synchronizing Tetrix Motors

Our robot has scissor lift which is run by four tetrix motors powered by a 12V external battery pack, two on the right side, two on the left side. The way they are currently set up, the two motors on each side absolutely must run at the same speed, otherwise they will strip gears and unleash all sorts of havoc. What we would like to know is: How can we synchronize each set of motors together in such a way that they will each get full power and that they will each be running at the same, constant speed?

If they were NXT motors, (for this example, MotorA and MotorB running at 80% power) the proper syntax should’ve been
nMaxRegulatedSpeed12V = 800;
nMotorPIDSpeedCtrl[MotorA] = mtrSpeedReg;
nSyncedMotors = syncAB;
Motor[MotorA] = 80;

where it would slave MotorB to MotorA, and run them at a constant speed without power fluctuations. We want to do the same thing but using differently named motors; we want to slave MotorE (not encoded) to MotorD (encoded) and to slave MotorG (not encoded) to MotorF (encoded).

Author:  MHTS [ Sat Jan 19, 2013 5:46 am ]
Post subject:  Re: Synchronizing Tetrix Motors

If you want absolute synchronization, you may consider locking all four mechanically (e.g. by a chain).

Author:  amcerbu [ Sat Jan 19, 2013 6:27 pm ]
Post subject:  Re: Synchronizing Tetrix Motors

Have you considered using only one or two motors, but with a different gear ratio? You'd probably have to write some custom PID code otherwise; there's no built-in RobotC function for synchronizing Tetrix motors.

Also, @MHTS - Congrats, it seems you've broken 1000 posts.

Author:  tfriez [ Wed Jan 23, 2013 10:38 am ]
Post subject:  Re: Synchronizing Tetrix Motors

The motor synchronization that happens on the NXT is controlled by the ROBOTC firmware. This is possible because there's not much latency when processing data from the motors because this code resides in firmware (vs. user space/interpreter level)

With the TETRIX system, because they are I2C devices and the HiTechnic Motor Controller does all of the encoder/PID processing, synchronization in the same manner is not possible. We *could* implement something that is like a synchronization, but with the I2C transaction times being what they are (multiple milliseconds) to get encoder values, it would not be as precise/reliable as your use case needs.

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group