Why does Tetrix motor spin slower under PID control?
Author
Message
tom.jakowenko
Rookie
Joined: Wed Jan 23, 2013 6:16 pm Posts: 7
Why does Tetrix motor spin slower under PID control?
We are using PID control on a Tetrix motor to control position. The moves are long and trapazoidal in nature (e.g. motor ramps up, moves at a flat speed, ramps down, then sits idle).
Wetried to run the motor with and without PID and each time the motor command is 100%. It spins faster when the PID attribute is disabled. I understand slower speeds while ramping up and down, but it should be 100% during the flat portion of the move.
Does anyone understand why this happens? Is there anything we can do to speed things up?
Tue Feb 05, 2013 3:08 pm
SergeantFTC
Rookie
Joined: Tue Nov 20, 2012 8:09 pm Posts: 36
Re: Why does Tetrix motor spin slower under PID control?
I'm wondering this as well, anybody know the answer?
Tue Mar 19, 2013 4:39 pm
mightor
Site Admin
Joined: Wed Mar 05, 2008 8:14 am Posts: 3654 Location: Rotterdam, The Netherlands
Re: Why does Tetrix motor spin slower under PID control?
When you use PID, the power is regulated based on the speed of the motor. When you switch PID off, the power is simply a percentage of a duty cycle. With PID you like to have a little wiggle room at the top, so you can maintain the speed, even under load. When you use PID and you're really giving it 100% duty cycle, where do you go when that's not fast enough to achieve the pre-determined number of RPM? 105% duty cycle? That's unpossible! Unless you're bad at math, but then you probably shouldn't be in the FTC.
I know with the NXT, when you're using PID, each % motor speed has a pre-determined amount of RPMs assigned to it. It is based on a average maximum of a large sample of motors, taking into account the deviation in those samples. If you assigned 50% to two motors, you don't want one of them to run at 80 RPM and the other at 72 RPM.
= Xander
_________________ | Professional Conduit of Reasonableness | (Title bestowed upon on the 8th day of November, 2013) | My Blog: I'd Rather Be Building Robots | ROBOTC 3rd Party Driver Suite: [Project Page]
Wed Mar 20, 2013 1:39 am
JohnWatson
Site Admin
Joined: Thu May 24, 2012 12:15 pm Posts: 722
Re: Why does Tetrix motor spin slower under PID control?
Xander beat me to it but he is absolutely correct. Also, normal usage of the TETRIX motors (without PID control) 'cap out' the motor speed quicker; it's hard to explain without writing a full paragraph on it, but in a nutshell the PID control will 'linearize' the power level to actual speed ratio. Thus, at most power level setting the PID control seems to be running slower, when in fact it's running at a speed that relates more directly to the given power level.
For more information on this, take a look at the links below. You can also test this yourself by using the code below both with and without PID control enabled, then copy and paste the Debug Stream results into an Excel spreadsheet and graph the results (which I have also done, screenshot below).
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