PWMs on the new roboRio issues

Hey guys… is it just me or does it bug anyone else that we only have 8 PWM ports…

Especially for those of us who wanted complex systems on our robots or customized drive trains such as a swerve drive.

Do any of you know if there is anything being introduced by FIRST to help with the lack of PWM problems?

I can’t live with 8 PWMs, I could barely live with 20

Help guys :’(

We have a swerve drive and don’t use any pwm for it… CAN is something amazing if you use it right.

According to the flyer that can be found here, there will be 20 PWM channels, 10 of them being dedicated. Where did you get the the only 8 number from?

Like Tyler2517 said, there is also the ability to use CAN, and avoid PWM cables all together. That would require CAN capable speed controllers.

Newbie here - can you explain ‘CAN’ please?

Thank You

Its a way that you can control jagwire motor controllers. They have a port on them that looks much like a phone jack. Using the CAN allows for a few fancy sensors to be built in to the system (closed loop PID). It has a lot of problems and is not the most main stream thing.

  • i do not compleatly understand it but that’s the best i got…

CAN is an alternate (and some might say better) system for controlling motors. Rather than being a 1-way, 1-cable-per-controller loop like PWM, its a network setup.

The controllers are daisy chained with CAN cables and the last one is terminated to signify the end of the chain. Each controller is assigned a unique ID, and command and control packets are sent with this ID. Only 1 cable leaves the cRIO or roboRIO for all the CAN controllers.

The advantages are more precise control, wiring can be easier, and it allows you to use more of the on-board sensor inputs and outputs from the Jaguar rather than simply setting it to a PWM percentage. You can choose things like set by voltage, current, RPM (with sensors), etc.

The disadvantage is that you can only use Jaguars rather than Talons or Victors, and it is more difficult to program. There is some debate over if it has a higher rate of problems vs PWM, and can get ‘stuck’ if a node goes offline.

Reply to this or PM me if you have more questions, I’ll do my best to answer them or refer you to someone more knowledgeable.

THIS robot didn’t need 20 PWMs even.

Also, as stated, there will be more than 8 available.

It wouldn’t surprise me if CAN is implemented better in the near(ish) future and teams switch to that exclusively.

There are a total of 20 PWMs available. 10 available on board and up to 10 through the expansion port. The 8 limit is probably Analog Inputs. There are 4 on board and 4 through the expansion port.

CAN is a communications protocol that all cars use to communicate betweem control systems. It is also widely used in industrial controls.
The only CAN device currently supported on the CRio is the Jaguar speed controller. The protocol was tacked on to the controller through the serial port or on ethernet through a bridge called the 2CAN.
The RoboRio has hardware CAN support on board and the Pneumatic module and power monitoring subsystems will communicate through it. Jaguars will be supported and hopefully other CAN I/O and speed controllers will emerge.

As John mentioned CAN (Controller Area Network) is used by all new cars and is a very reliable communication protocol. The connectors used on the Jaguar are less than super reliable and the original versions of the Jaguar weren’t the most reliable but that does not mean that CAN is unreliable. I’ve heard that the there will be a CAN version of the Talon eventually hopefully soon as it would complement the CAN functions of the RoboRIO.

I have heard of a new Jag that uses the same tech as the talon( size and weight reduction) along with CAN.

I remember reading that Cross the Road Electronics was working on a CAN compatible Talon to be released next year with the roboRio. Let me find the article


Found it

page 17 says CAN bus Talon confirmed

That’s what they told me when a few of us were up in NH for testing, anyway.

Also, if you need more than 8 Analog Inputs, some teams have developed Arduinos to communicate over Ethernet or I2C for feedback to the RIO. If you need more inputs, this is a perfectly valid solution. Outputs can be another matter at times.

Our team’s record for most motors used was 9 with Rebound Rumble.