While testing with our Falcon 500s, we’ve noticed an interesting discrepancy in the voltage and power sent to our motors.
We’re running 4 Falcons, with one set as master, and the other set to slave, on each side.
The slave motors are running at about half of the voltage of the master motors.
We think that this is causing the motors to stall/squeak when we turn slowly, for example when using vision alignment.
Our drive code can be found here
Any help is appreciated
Unfortunately, our build meeting ended three hours ago, so can’t get those things right now. We will get pictures and screenshots tomorrow.
I can, however, say that I don’t believe it to be a wiring or CAN issue because the motors do spin. When driving normally, lights on both Falcons turn green/red signaling they are receiving commands to turn in some direction. The issue is when we’re turning very slowly, the slave Falcons don’t light up until the motor power exceeds a certain amount. When manually driving, we notice this when we barely touch the stick to one side – we can notice that one Falcon per side is idle (orange lights) while the other is solid green/red. Again, when driving/turning at any medium to high speed, the lights all turn on.
The log files show that what appears to be happening is the slave motors’ motor output percentage is set lower than it should be, at about half on both sides. In our drive code (and CTREMotorControllerFactory), you can see that we have one Talon set to follow the other, so we have no idea why this could be happening.
I guess we didn’t push the code, but we changed those while testing to be the same (both to the lower master configs), and that’s what the logs were collected with.
The deadband was also set on the slave during our meeting, as we also identified that as a potential issue (not sure if that was pushed or not). This also didn’t fix the issue, oddly enough.
The code was modified on @jazonl’s computer, he may be able to push it somewhere soon.
Did you log the current draw of the motors? If not, can you access the driver station logs? I expect things to be relatively normal, but it could help rule some options out.
I see the problem. TalonFX has an improved dead-band over the older products. Once you leave the dead-band (say 4%), it starts at 0% and ramps to full-100%. This is useful since you don’t get a jump in output when you just-exceed the dead-band.
So what your data suggests is the follower is applying the dead-band logic again. So the 7% applied from the master is passing thru the logic a second time, resulting to 3%. I expect the discrepancy to disappear as you increase the output (which appears to be what your reporting).
I don’t expect the symptom to be harmful, but perhaps annoying to hear the master stall-whistle when you scrub-turn.
To eliminate the symptom, set the dead-band to 0 on the followers. I’ll write up a tracker so it gets looked at this week. If what I hypothesize is correct, it will be addressed in the next update.