View unanswered posts | View active topics It is currently Thu Oct 22, 2020 3:03 pm

Reply to topic  [ 4 posts ] 
Synchronizing Tetrix Motors 
Author Message

Joined: Sat Jan 19, 2013 2:09 am
Posts: 6
Post 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).

Sat Jan 19, 2013 2:56 am
User avatar

Joined: Sun Nov 15, 2009 5:46 am
Posts: 1523
Post Re: Synchronizing Tetrix Motors
If you want absolute synchronization, you may consider locking all four mechanically (e.g. by a chain).

Sat Jan 19, 2013 5:46 am

Joined: Sun Oct 21, 2012 10:01 pm
Posts: 76
Post 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.

Sat Jan 19, 2013 6:27 pm
Site Admin
Site Admin

Joined: Wed Jan 24, 2007 10:42 am
Posts: 620
Post 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.

Timothy Friez
ROBOTC Developer - SW Engineer

Wed Jan 23, 2013 10:38 am
Display posts from previous:  Sort by  
Reply to topic   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.