View unanswered posts | View active topics It is currently Tue Sep 02, 2014 11:28 am






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

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
Code:
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
Profile
Guru
User avatar

Joined: Sun Nov 15, 2009 5:46 am
Posts: 1347
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
Profile
Novice

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
Profile
Site Admin
Site Admin

Joined: Wed Jan 24, 2007 10:42 am
Posts: 602
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
tfriez@robotc.net


Wed Jan 23, 2013 10:38 am
Profile
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.