Hi, our robot is using two Falcon 500’s for our climber. I have done master/follower logic on Falcon 500’s before, but I seem to be having trouble this time. The motors are mechanically linked but one needs to be the inverse of the other. So, I set rightClimber to follow leftClimber with rightClimber.follow(leftClimber). Then, I do rightClimber.setInverted(InvertType.InvertMotorOutput) or whatever the exact method is. However, when we run it with the Percent Output control mode, only the master LED blinks indicating the direction and speed of the drive. The follower remains a solid orange LED. I tried swapping which was the master and which was the follower and the LED’s switched sides, where now the left side was solid orange and the right was blinking indicating speed and direction. I am going to post our ClimbSubsystem below for anyone to take a look at.
ClimbSubsystem.java (4.2 KB)
Firstly, if you want to invert the follower motor relative to the master, I recommend using InvertType.OpposeMaster
instead of InvertType.InvertMotorOutput
. That way, if you ever need to invert the master, the follower will still have the correct invert setting.
As for the follower not moving, it looks like the stop()
method is calling .set()
on the follower motor. Calling .set()
on a follower cancels follower mode, so removing that line of code should fix the issue.
Great!! That fixed that problem. However, now we are getting an even weirder issue. If we put a brand new battery in the robot and run the motors at 100% power, we are able to climb, but any drop in battery voltage will cause the motors to stall when we are trying to climb. I created a new code base with just motors running at 100% on a button to confirm it was not an issue with loops or anything and it had the same problem. We tried using Motion Magic, creating our own PID command, and in the end just tried 100% power, but below 12.5 volts the robot is unable to climb. The gear reduction is slightly higher than that of the robot we based ours off of, so I don’t know why we would not have enough torque. During troubleshooting, the PID command is creating a 100% output, and when using motion magic and .getOutputPercent on the motors we also see 100% output. So, we have no clue why the robot would be stalling. Do you have any thoughts on that?
I would check your wire gauge and also look for whiskers on the connectors that might be causing a short. You could post a picture of your wiring.
Have you checked the current on that circuit? See Measuring Current Draw using the PDP/PDH. You could post your DriverStation logs.
We are using 12AWG for sure (I wired it and made sure it was 12), but obviously we might have a short that I am unaware of. Would a short only become obvious at lower voltages? That is what confuses me. And on the driver station, what kind of current would be unacceptable? I will log onto my laptop and upload the logs shortly, though. Thanks in advance
Got the logs. Have 7 hours worth from today, lol. PDP slots 3 and 12 have the climb motors. It does not look like we get anything above 54 amps. We never detected a brownout, either. I can’t upload the dslog file type to chief, but again both motors are almost exactly the same current draw at 50 ish amps during stall.
If it’s overly sensitive to battery voltage, I’d look for a voltage drop elsewhere in the circuit, such as loose connections or thin wires. A short is possible, but would likely manifest differently. Are any wires or terminals getting hot?
Does it succeed in climbing if you help it a little? I don’t know your climbing mechanism but could the friction be higher than you expect?
We did not try and give it help climbing, and we didn’t check temperatures of anything besides the motors. So sadly I don’t have any data on that. Also it works great on the ground, and has no trouble or stalling whatsoever. Just thought I would mention that in case you were wondering. We had Spark Max’s controlling Neo’s instead of falcons before, and were able to successfully climb at 11.8-11.5V, but then they had a similar issue to what we are experiencing now, and we switched to falcons which move significantly smoother but have this issue of not being able to lift also.
Also, we did the math, our robot with a perfect battery should be able to lift 10 robots with the power and reduction and spool diameter we are using, lol so its very strange.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.