One capability my team wants to add this offseason is the ability to test mechanisms without code. Sometimes when testing we just want to be able to turn a dial and run a motor. How can we do this? Is anything extra needed for brushless motors?
You could probably get an ESC for NEOs from HobbyKing and drive that with an Arduino(with PWM), although I think you will need some sort of control board for running Falcons although you can use Phoenix Tuner to make the process “Easier”(as long as you only want to run motors one at a time…). I think CTRE should’ve made some sort of port for PWM or something that’s not CAN onboard so that you can power it manually if they’re going to force you to use a TalonFX but I can’t think of anything at the moment.
EDIT:
You can, in fact, use PWM for the Talon FX, so that shouldn’t be a problem. It seems they dual purposed the CAN wire to also be used as PWM.
Brushless motors require a pwm signal going to the motor controller. Do NOT use brushless without a motor controller. So if you want to test that you need a controller
You can set up a pretty simple board with a motor controller, servo tester, inline breaker, and anderson to connect to a battery. All motor controllers, including brushless controllers and CAN controllers, take a basic PWM input for open-loop speed control. Just make sure that you use the proper brushless motor controller (in brushless mode!) when controlling a brushless motor and you should be fine.
For anyone looking to build something: I’ve spent quite a bit of time finding parts for the purpose of retrofitting older robots to free up FRC legal parts, and to build out test boards for our use in house. In hopes that I can save others some time here’s our shopping list of parts that we’ve used/plan to use for this type of setup.
NOTE - many of these parts are NOT FRC legal. They should only be used for testing purposes. Not for field use!
I actually designed a motor tester as an offseason project (spring 2019). It was done pre-Neo era for us, but the concept is the same. We have a 12V input from the typical FRC battery with a high current rocker switch that feeds the motor controllers. Spitting off of that we have a transformer that steps the voltage down to ~5V (if I remember correctly) which goes to the servo tester. That signal then feeds to the Spark motor controllers (dumb enough since they’re running open loop) which then connects to the motors we’re working with. I also then made extension cables and converters to Anderson Powerpoles since we switched to those this year and didn’t migrate the tester yet. This may have been the most used piece of diagnostic equipment we have. We’ve used it to test motors that were marked as bad, break in new ones, test gearboxes and mechs without code - the list goes on. I actually do have a CAD model for this box, and will likely work on a brushless version was well in the next couple of weeks as a part of boredom. If any team wants the BOM for this, I am more than happy to send it over.
The 3D printed “control panel” for this is at: Onshape. We use the same panel (with different text) for brushless motor as well.
We drive the brushless motors from an Arduino using the same switches to set direction and the pots to control the PWM frequency. We don’t have the code out there but I could if people care. It’s pretty self explanatory. This works just like the PWM rig but there are two connections per motor controller (we use Spark Maxes): power and PWM signal.
Here is a picture of the PWM rig driving DC motors:
If you want to go wireless, AndyMark’s cheap and dirty control system gives you 6 PWM channels. It also works great for demo robots so you don’t have to take a laptop with you. They also have a few mixers so you can use it for several holonomic drives, and other mixers are available from the hobby RC market.