Teams who use Pwm

To the teams who still use PWM and not CAN. Why? Do you find benefits to it? Just curious.

1 Like

As a team that previously was exclusively CAN, and on the actual competition robot still is…

We utilized PWM controls this last year and will continue to do so in prototyping.

It allowed us to rapidly test mechanisms and manually control motor speed this last season. This allowed us to refine ideas and identity cost/benefit to different designs before picking a path forward.

Not exactly what you’re looking for, but last year we had a NEO all the way up on our arm. I didn’t want to run both sides of a CAN loop up there, so I just used a PWM wire for that SparkMAX specifically and let programming do the rest.

1 Like

To see what is going on with a scope vs having CAN errors :stuck_out_tongue:

Haven’t used pwm for anything other than servos and LEDs for years. BUT I am not the one that needs to hunt canbus errors.

for mechanisms that only need basic off/on control (e.g. run intake until beam break) we use PWM because it works fine, doesn’t add CAN packets, doesn’t add CAN failure mode, etc.

1 Like

I’m using pwm for a differential drive bot just cause it took like 30 minutes to go from zero code and motor electrical to driving

In 2022 our entire robot was on CAN, except for the intake that went outside the frame perimeter. There was no functionality needed other than on/off, and we anticipated taking hits to the intake. Putting it on PWM allowed us to not worry about the entire CANBus going down from those hits.

It worked great. We could also try a longer stub off the main bus, but there was no reason to get fancy based on our code needs.

4 Likes

We haven’t used PWM on a competition robot in a few years, but I can see some benefits to using it over CAN. In general, I would only use PWM for simple functions that don’t require configuring the motor controller (ie not setting current limits but changing from brake to coast would be okay, as that can generally be done with a button). I’d recommend sticking with CAN if you need to adjust settings on the motor controller because in the heat of competition, you don’t want to mess around with configuring the controller before you can swap it in. Even having a pre-configured backup can create some logistical headaches.

  1. If you are only using 1 CAN bus and have a lot of devices (no CANivore), then using PWM for simple mechanisms could reduce the likelihood of overloading the network.
  2. Reducing the number of devices can help reduce the chance of a break in the CAN wiring.
1 Like

We have a giant box of old pwm motor controllers.

To be clear we use CAN too. Just don’t have the cash on hand to 1:1 replace all our old stuff in a single season. It’ll evolve over time.

1 Like

I feel you with having to hunt for CAN breaks. We replaced all of our can connectors with wagos and the person who did it made one little mistake and the whole robot went down and we spent hours trying to find it. It can be a big pain in the butt.(We replaced them in preparation for our offseason event because we were having problems)

I oversaw/ taught/ did wiring for the robot last year, we lucked out with not a lot of issues (had issues with spark max encoder cables pulling out, but the student and I did a lot to make it as robust as possible. Lots of strain releaf, hot glue, wagos (glued or ziptied down) and zip ties on anderson powerpoles. )

I refuse to spend hundreds of dollers per official match just to have electrical issues rear their heads. CAN or otherwise.

I am sure the attention to detail saved some heartbreak at some point.

PWM mode is good for motors/motor controllers on prototypes. An electronic speed control (ESC) costs $3 and just turn the knob to the desired speed instead of time consuming programming with a roboRIO.

CAN bus overutilization is real, and damage to CAN wires can cause the entire bus to fail.
I still like to use PWM for brushed motors that do not require closed loop feedback control, such as fixed speed intake or conveyor motors. It is very easy to troubleshoot and faster to replace an ESC than one on the CAN bus (having to set IDs etc).

This past year we used only 2 PWM ports — one for a brushed intake motor, and a second for LED light control

Last year we replaced all of our CAN connectors with actual soldering of every single CAN wire (except into the roboRio and PDP of course, we have not had a CAN break ever since!

1 Like