View Full Version : Speed Controllers: Which is best?
mcarobotics
19-03-2013, 13:21
Our team's robot uses Victors exclusively as our speed controllers because they are smallest and cheaper than Jaguars and Talons.
However, I have seen many teams using Jaguars and Talons a lot instead of Victors. I have seen some people use Spikes a lot as well.
Which type of speed controller works best and why? Which is the best quality/most durable? Which one does your team use the most?
I'm trying to decide if our team should switch next year or stick with Victors.
Thanks! :)
For the record, spikes are not "motor controllers" per say...they're relays, and generally used as on/off switches for certain motors (R52 for more information)
Our team used Talons this year, and we are immensely satisfied with the result. The linear response and small footprint is incredible, not to mention how it is an enclosed motor controller so we don't have to worry too much about shavings and dust and whatnot.
As far as using Jaguars, the only reason to continue using them right now would be an inventory of them or if your team is particularly fond of CAN/2CAN.
midway78224
19-03-2013, 13:28
For my team we use jags on our practice bot and talons on our competition bot. The first thing we notice was the big difference in the speed of the drivetrain. Then we notice the difference in the flywheel. We ran the same set up on both drivetrain and flywheel just with different speed controllers. On our flywheel with talons we would hit dead center in the 3 pointers but with jags we notice a ft drop in height of shot.
So.... for us we will stick with the talons from now on.
Jon Stratis
19-03-2013, 13:44
This is a very difficult question to answer, and there really is no "right" answer. Some pro's and cons of each way we have to control a motor:
- Spike: Good for low-current (less than 20A) motors that just need on/off control. Small footprint and the fact that many teams have a dozen of them laying around from previous year's kit of parts make them popular.
- Victor 884: These have been around forever, and many teams have a ton of them as a result. While they provide variable speed control, the result is the least-linear option available. This has caused many teams to move away from using them for the drive train, or situations that require precise, varied speed control. They've seen a lot of abuse, and have held up well over many years.
- Victor 888: This is brand new this year, has the same footprint as the 884, and provides a much more linear response. Due to their newness, we don't have much experience with them.
- Jaguar: These have been around for a few years. They offer some enhanced features with the use of CAN (encoder/potentiometer inputs, limit switch inputs, feedback from the controller concerning the amount of current draw, etc) that teams have made great use of, although these features can all be had with some extra programming or sensor effort if you're using other controllers. They have the biggest footprint, which isn't the best. Some teams (like mine) haven't had any reliability issues with them over 4 years, while others have complained about them and sworn them off.
- Talon: Also brand new this year, they don't have much run time. They offer a completely enclosed controller, which should help prevent damage from metal shavings. The heat sink on them allows you to run them without fans, although fan use is recommended for high-current situations (like the drive train). They have a footprint similar to the Victors.
We used all Talons this year, and absolutely love them. We only had 1 burn out, and that was due to someone accidentally powering it backwards (fed 12V from a battery into the output terminals), which would kill any of the speed controllers. We have fans on all of them as a precaution against burning any out, although we probably only need them on the drive train. The small footprint allowed us to fit twice as many on our board as we could have with Jaguars, which was a necessity due to space constraints in our design.
For my team we use jags on our practice bot and talons on our competition bot. The first thing we notice was the big difference in the speed of the drivetrain.
Anyone care to comment on what might be the cause of this?
Chris is me
19-03-2013, 13:57
All I can really speak to are Victors - the Victor 888 is everything the Victor 884 was, with linearity. It is just as reliable under extreme conditions. We used 888s on our drive this year and enjoyed the greater low speed controllability and general "smoothness", moreso than other years with the 884. If you're using PWM, they are certainly a worthy choice.
If I had to guess, my money would be on differences in calibration between the controllers used.
- Talon: Also brand new this year, they don't have much run time. They offer a completely enclosed controller, which should help prevent damage from metal shavings. The heat sink on them allows you to run them without fans, although fan use is recommended for high-current situations (like the drive train). They have a footprint similar to the Victors.
We are using talons for the drivetrain of our robot, and haven't had any issues yet (fingers crossed). We've vacuumed a lot of metal shavings and haven't had any problems at all. No fans either.
Teamcodeorange
19-03-2013, 14:14
Our team's robot uses Victors exclusively as our speed controllers because they are smallest and cheaper than Jaguars and Talons.
However, I have seen many teams using Jaguars and Talons a lot instead of Victors. I have seen some people use Spikes a lot as well.
Which type of speed controller works best and why? Which is the best quality/most durable? Which one does your team use the most?
I'm trying to decide if our team should switch next year or stick with Victors.
Thanks! :)
We use Talons and love them. No problems whatsoever. Believe it or not the Talons are even smaller than the Victors.
mhos1997
19-03-2013, 14:41
My team uses jaguars for our drive train we vary the other speed controls depending on the motor that we use. We also use the spike specifically for our compressor to control our pneumatics.
kuraikou
19-03-2013, 15:01
I know that my team uses talons for our drive train because they are linear and the drive train usually is what other things are getting attached to and so it helps that they are closed instead of susceptible to things getting in them.
Neutrino used Victor 888's this year, pretty similar to your standard old 884, reliable as long as you don't get metal shavings near them.
Unfortunately we blew a MOSFET on one during the finals at Greater Kansas City (not sure if it was metal shavings or something else), resulting in us calling in a backup to avoid getting DQed.
Neutrino used Victor 888's this year, pretty similar to your standard old 884, reliable as long as you don't get metal shavings near them.
Unfortunately we blew a MOSFET on one during the finals at Greater Kansas City (not sure if it was metal shavings or something else), resulting in us calling in a backup to avoid getting DQed.
Why would you get DQd? Changing a Victor is allowed without reinspection, as it is just replacing a failed part. Calling a backup over a blown Victor is a fairly drastic measure, IMO.
Weren't able to get it changed fast enough, and timeout was already used, so it was either get DQed for not keeping up with time, or call in backup.
Had to run back to pits to track one down. Needless to say, I plan to have a spare victor on the cart at North Star.
Thad House
19-03-2013, 16:27
Weren't able to get it changed fast enough, and timeout was already used, so it was either get DQed for not keeping up with time, or call in backup.
Had to run back to pits to track one down. Needless to say, I plan to have a spare victor on the cart at North Star.
If you have room and weight, you can always mount the spare victor on the robot itself, so if it ever happens again you just switch the output and PWM to the spare one and you are up and running again. We did that in 2011 and it saved us during the Finals.
Alan Anderson
19-03-2013, 16:35
For my team we use jags on our practice bot and talons on our competition bot. The first thing we notice was the big difference in the speed of the drivetrain.
Anyone care to comment on what might be the cause of this?
The cause is almost certainly the fact that Jaguars and Talons use different ranges of control. With the same PWM signal, a motor connected to a Jaguar will run slower than one connected to a Talon. If the same program is used, then either the Talon will reach full output before full power is commanded, or the Jaguar will never reach full output.
The software needs to respect the different speed controller hardware requirements.
Mounting wouldn't be too much of an issue as they are all held on with 3M Duallock, but not a bad idea never the less.
nekojess
19-03-2013, 16:43
Don't forget the various speed controllers have varying abilities to keep their signal cables in. And as they age, the springiness decreases and cables are more prone to fall out.
Talons have the clear advantage of being able to securely hold PWM cables in. Or if you use CAN with the Jaguars, the RJ connectors click in too.
We had some issues keeping PWMs in our spikes which were mounted upside down, which cost us some climb points. We put some tape on the PWM heads (to make it about 0.02mm thicker) and it fit snugly into Jaguars, and was better (but not perfect) with spikes. Other than that, we put an abundance of tape around it to hold it in, but not an ideal solution.
Also, I dislike spikes because there is a small gap between the casing and the the pins to slip in and get severely bent if pressing it in too hard (as was kind of required with the added tape). Also they'd fall apart because they're just held together with a simple plastic snap thing. Buuut they're small and are great if you just need on/off.
I haven't played with Victors in this regard though, so I don't know how well they hold their cables.
Victors aren't the greatest at holding PWM cables, we typically put a dab of hot glue where the cable connector meets the housing. If a swap is necessary a knife or flathead screwdriver can remove the glue rather quickly.
alex.lew
19-03-2013, 17:32
We used talons for the drivetrain and victor 888s for our shooter wheels. Last year we had problems with CAN, so the talons' PWM security is greatly appreciated. Though its something of an art to put them in quickly.
We are using victor 884s as backups for the talons at competition.
It was time for us to purchase some new speed controllers this year.
We didn't purchase any Jags because of reliability issues and not wanting to invest in a basically dead product.
We got a bunch of Tallons with our AM voucher and purchased a couple more.
We use these mostly on our drive and they have behaved flawlessly even with us pushing the speed envelope and working them hard.
We also got 888's with the Vex voucher and also purchased additional units. We use these with other motors and (like the 884's before them) and they also performed flawlessly.
We have been very happy with both products.
bbuncher12
20-03-2013, 09:21
We used Talons this year and were very happy with the small footprint, great response time, and linear output. They are very robust and do not break at all. We used Jags for the past three years, and I was never a fan of them. They constantly broke from metal shavings and had numerous errors throughout the years. It was nice to be able to use CAN, but I found that there were more problems with that than anything else. I have worked a little with Victors on old robots, and they were fine, but they took up more space and had a less linear response curve. If I were to pick any, though, I would go with Talons--they don't break!
For my team we use jags on our practice bot and talons on our competition bot. The first thing we notice was the big difference in the speed of the drivetrain.
Assuming (as I did, perhaps incorrectly) that Team 3997 changed the code to use the proper WPILib driver for each motor controller, and calibrated the motor controllers appropriately, is there any other reason to expect "the big difference in the speed of the drivetrain" they noticed? For example, is there any reason to think that the difference between the Jag and Talon switching designs might interact with a CIM to produce such an effect? Have any other teams noticed a difference (or no difference) in top-end motor speed with Jag vs Talon?
MrRoboSteve
22-03-2013, 13:34
Regarding cable retention, Jaguars have a tab below the PWM connector that you should run the cable through. I'd recommend having a tie down nearby for controllers that are purely friction fit for PWM connections, to lower the chance that things wiggle loose. A bit of black electrical tape doesn't hurt either.
There's per-controller tuning in WPILib; don't know whether the same tuning is present for LabVIEW. This means that, for the most accurate response, you want to create speed controller instances that match the controller in use. Having a different controller will function, but with a curve that will seem nonlinear.
Pro tip for WPILib users: declare your speed controllers as SpeedControllers in your header:
SpeedController *leftMotor;
SpeedController *rightMotor;
but create instances that match your controllers in use:
this->leftMotor = new Talon(PWM_SLOT, DRIVE_MOTOR_L_1);
this->rightMotor = new Talon(PWM_SLOT, DRIVE_MOTOR_R_1);
This makes it easier to switch controllers by making changes only where you construct the instances.
buchanan
12-04-2013, 10:43
Jaguars are the only ones that support closed loop (i.e. not through the cRIO) PID, are they not?
F22Rapture
12-04-2013, 15:25
Jaguars are the only ones that support closed loop (i.e. not through the cRIO) PID, are they not?
Correct
joelg236
12-04-2013, 15:54
Jaguars are the only ones that support closed loop (i.e. not through the cRIO) PID, are they not?
This might be a topic for a new thread, but how do you actually accomplish that? Is it built into the hardware (CAN specific I assume?)?
This might be a topic for a new thread, but how do you actually accomplish that? Is it built into the hardware (CAN specific I assume?)?
Look at the CANJaguar class in WPILib.
s1900ahon
12-04-2013, 16:14
This might be a topic for a new thread, but how do you actually accomplish that? Is it built into the hardware (CAN specific I assume?)?
All motor controllers have basically the same structure. This applies to Jaguars, Talons, Victors, and even the VEX Motor Controller 29s. Each has a small microcontroller, a motor interface, and some way of communicating with it. The microcontroller is a system-on-a-chip (SoC) that contains a CPU, memory (flash and SRAM), timers, etc.
In the case of Jaguar, the microcontroller contains a CAN interface that is capable of receiving packets (messages) sent by the cRIO that contain commands. The software takes the packets and interprets them. So there is no specific hardware (logic gates) that are specifically wired together to do the PID, it is just software.
Jon Stratis
12-04-2013, 16:42
All motor controllers have basically the same structure. This applies to Jaguars, Talons, Victors, and even the VEX Motor Controller 29s. Each has a small microcontroller, a motor interface, and some way of communicating with it. The microcontroller is a system-on-a-chip (SoC) that contains a CPU, memory (flash and SRAM), timers, etc.
In the case of Jaguar, the microcontroller contains a CAN interface that is capable of receiving packets (messages) sent by the cRIO that contain commands. The software takes the packets and interprets them. So there is no specific hardware (logic gates) that are specifically wired together to do the PID, it is just software.
This is incorrect. See chapter 7 in the Jaguar guide: http://content.vexrobotics.com/docs/217-3367-VEXpro_Jaguar_GettingStartedGuide_20130215.pdf
A network-controlled Jaguar supports several types of closed-loop control through an internal PID controller.
• Constant-current control
• Position control using an encoder
• Position control using a potentiometer
• Speed control
The Jaguar will accept position, speed or current values over the CAN network, and then utilizes its own internal PID controller to hit the desired target.
This is incorrect....The Jaguar will accept position, speed or current values over the CAN network, and then utilizes its own internal PID controller to hit the desired target.
I think Scott's post was saying that the PID in the Jag is implemented in software (firmware), not hardware (logic gates).
EricVanWyk
12-04-2013, 17:04
This is incorrect. See chapter 7 in the Jaguar guide: http://content.vexrobotics.com/docs/217-3367-VEXpro_Jaguar_GettingStartedGuide_20130215.pdf
The Jaguar will accept position, speed or current values over the CAN network, and then utilizes its own internal PID controller to hit the desired target.
I'd hesitate to second guess the creator of a device on a question about how the the device in question works.
buchanan
15-04-2013, 12:10
I think Scott's post was saying that the PID in the Jag is implemented in software (firmware), not hardware (logic gates).
I'd hesitate to second guess the creator of a device on a question about how the the device in question works.
Why does it matter how it works internally? The device as delivered has the capability, and the alternatives apparently don't. Our team has found this capability quite useful.
connor.worley
15-04-2013, 12:41
We've run a few hundred hours of practice. Obviously not driving every minute, but the Talons have held up flawlessly.
Teamcodeorange
15-04-2013, 13:18
We've run a few hundred hours of practice. Obviously not driving every minute, but the Talons have held up flawlessly.
I concur.
Why does it matter how it works internally?
For 2 reasons:
1) Because Scott's post was correct and Jon said it wasn't correct. It was a simple misunderstanding, I believe... but it might confuse students if left uncorrected.
2) Some people care how things work internally.
We used talons this year. Like nearly everyone else, we love them. They are small, have a sealed design, and are pretty linear. We put fans on our drive train, though I don't think we needed to. We don't really like Jags because of their size and reliability issues, and we have never used CAN. Victors are okay, but the 884s are not linear, and the 888s have a slightly larger footprint (compared to the talon) and open design. Even with the conformal coating, I would be wary of metal shavings.
Can anyone comment on the reason to use a Jag PID as opposed to using the crio to accomplish the same thing. Why is it better/prefered by some teams?
joelg236
15-04-2013, 20:32
Can anyone comment on the reason to use a Jag PID as opposed to using the crio to accomplish the same thing. Why is it better/prefered by some teams?
There's one less thing to do on the CRIO. (although the crio is powerful enough for basically everything but heavy vision processing)
The real strength of the Jag is in the first few weeks of build season.
Attach a jag, a breaker, a battery, encoder + potentiometer wires, and a serial CAN adapter on a small board, and you have a really versatile prototyping rig.
We basically had a working FCS prototype with <2% velocity speed control on day 2 of build thanks to the Jags and BDC-COMM.
No cRIO or programming required.
It's incredibly fast to get a newly built mechanisms up and running for trials - whether it requires speed control or position control - or neither!
Jags are great when used in the right situations.
Can anyone comment on the reason to use a Jag PID as opposed to using the crio to accomplish the same thing. Why is it better/prefered by some teams?
Internal PID closes the loop at 1000Hz. Too bad the Jag doesn't have an internal bang-bang speed controller.
Teamcodeorange
15-04-2013, 21:16
Internal PID closes the loop at 1000Hz. Too bad the Jag doesn't have an internal bang-bang speed controller.
Could you not just bump the P value up very high and set I and D to 0? Doesn't that basically emulate a bang-bang?
joelg236
15-04-2013, 21:19
Could you not just bump the P value up very high and set I and D to 0? Doesn't that basically emulate a bang-bang?
No, since it would compensate when the encoder value is over the setpoint (think -1 speed), making the speed go up and down uncontrollably.
Unless you pulled the limit switch jumper that prevents it from going in reverse...?
joelg236
15-04-2013, 22:06
Unless you pulled the limit switch jumper that prevents it from going in reverse...?
Well there you go. That would effectively be bang-bang control.
Well there you go. That would effectively be bang-bang control.
I'd like to hear from someone who has done this.
We used talon But victor is less weight.
Saberbot
17-04-2013, 22:56
The real strength of the Jag is in the first few weeks of build season.
Attach a jag, a breaker, a battery, encoder + potentiometer wires, and a serial CAN adapter on a small board, and you have a really versatile prototyping rig.
We basically had a working FCS prototype with <2% velocity speed control on day 2 of build thanks to the Jags and BDC-COMM.
No cRIO or programming required.
It's incredibly fast to get a newly built mechanisms up and running for trials - whether it requires speed control or position control - or neither!
Jags are great when used in the right situations.
Plus one on this.
I'd love to see vex do an overhall of BDC-COMM GUI though. It is a major pain ( and a possible safety concern) to have to type in every setpoint. I've had to use the "pull the USB cord" estop method a few too many times. If Vex doesn't do it, it could be a great project for a couple of our programmers to work on.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.