View Full Version : Talon braking
Was wondering if there is a way to increase the braking force of a talon?
Basically looking to have the motor completely stop when input from the controller stops.
Thanks in advance for any input.
Oh and we are using lab view if it makes a difference.
tgross35
15-02-2014, 23:19
There is no "official" way to bring the motors to a dead stop. One solution (and the only one I can see besides a hard stop of some sort) is to reverse drive the motors for a few ms before stopping but even that may not always work, depending on how much momentum is keeping the motor spinning. However, do this at your own risk: it can snap chains, rip teeth off sprockets, wear out your motor and transmission and even, in our case, snap a 1/4" aluminum plate (though to be honest, it was poorly designed strength-wise.) Hope you find a solution.
Alan Anderson
15-02-2014, 23:29
Does setting the Talon's "brake/coast" jumper to brake mode not stop the motor fast enough?
We have a routine for auton where we run a PI velocity controller to 0 speed. It essentially rapidly ramps up a negative voltage command, then stabilizes around speed 0 sorta like antilock brake. If the wheel locks, speed will go negative, and it will bring back a positive command, then oscillate around there as the robot decelerates. We can also calibrate it to hold an acceleration (by changing the P and I gains and ramp rates) so we don't get slip and twist. It's quite effective. It's not really hard to implement, but it's not totally simple either.
For anything outside of the drivetrain, we usually run some sort of position or speed control, which will hold whatever motor power is needed to do something. Sometimes we use large deadbands on both the I term and output, for example in a device which is running near peak power and can't move at non-100% voltages.
I thought about using a spike to control the motor, but we would like the ability to vary the speed of the arm we are moving.
Does setting the Talon's "brake/coast" jumper to brake mode not stop the motor fast enough?
We need the motor to go so far and then stop. It is controlling an arm in our intake system. Thinking of trying a spike, but would like to vary the speed of the motor
electroken
18-02-2014, 06:29
A spike has zero braking capability. The only was to get a Talon to stop your arm faster than the brake setting is with a brief opposite direction command. Without some position feedback the meaning of brief will vary.
Alan Anderson
18-02-2014, 08:14
A Spike relay module should actually have exactly the same braking ability as a speed controller. It connects the motor leads together when it isn't driving either forward or reverse.
The risk of the spike with anything but the smaller motors is you blow the fuse if stall them for any amount of time. Fairly normal occurrence with ball intakes & such.
We need the motor to go so far and then stop. It is controlling an arm in our intake system. Thinking of trying a spike, but would like to vary the speed of the motor
Do you use a sensor to tell you where to stop?
Is it the same spot(s) every time?
What motor are you using?
The Talons brake by effectively shorting together the leads of the motors. If it is a Permanent Magnet motor, like the CIMs (or retains the residual magnetism) the motor acts like a generator and creates power. This provides the braking force. It only works above a certain speed (push a robot on the ground, and if you get it going fast enough, you WILL know when the braking kicks in). It can't brake at a stand still and requires power to maintains position.
Back in logomotion we used some limit switches and a window motor to hold an arm in place. The window motor is not easily backdriveable so we didn't have to worry about brake/coast. If we had to redo this today, I'd try using a Jaguar as the limit switches on that work even in PWM mode. As it was, we implemented software limits in labview.
If you're trying to brake any other motor, you'd probably need an external brake.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.