No PWM outputs

I am running into a problem where no PWM output appears to be generated and consequently no drive motors are turning.

We are using Labview.
Jan 17 - I took the classmate and installed the Labview update then the DS update. I then reimaged the cRIO to v19. I tested this set-up on last year’s chassis and was able to drive the robot via joystick. The default project was built and deployed to the cRIO. Driving ability was again verified.

Jan 20ish – Last year’s chassis was stripped of its components and they were placed in cardboard box for re-use in this year’s chassis.

Feb 2 – Components are installed in this year’s chassis. Initial test demonstrated an inability to drive.

No drive motors are turning (4 motor chassis). The Jags (4) are all flashing amber. The RSL is active, flashing in disabled and short flashing in teleop enabled.


  • Verified that the robot was enabled
  • Verified that the robot had not been E-stopped
  • Tethered the robot
  • Verified that all PWM’s (4) are seated in the jags and DSC.
  • Checked the continuity of all PWM conductors
  • Replaced DSC
  • Replaced cable between digital module and DSC
  • Checked the interface between the cRIO and the digital module for bent pins or debris
  • Attempted soft push of code from Classmate for 4 motor configuration
  • Verified that gyro data returned to main front panel corresponds to gyro inputs (it changes when I manually turn the robot) and joystick inputs
  • The PWM outputs reported to the dashboard correspond to the joystick inputs
  • Reimaged cRIO to v19… again
  • Created and soft pushed a default robot project without modification. Only the main front panel was opened to facilitate this.
  • Verified that user watchdog is being fed. At beginning of Teleop VI

Conclusions to this point:
The issue is not downstream of the DSC. I think that simultaneous failure of 4 parallel components unlikely. The data stream through the digital module and DSC is functional by virtue of the correctly operating RSL. The error is not in my code as I have not written any. The DS is operating nominally by virtue of its ability to change the operation of the RSL. The cRIO is passing the RSL, gyro and joystick data back to the dashboard, so it appears to be operating nominally.

Next Steps:
<edit>Verify DCS supply voltage</edit>
Swap the digital module out with the spare
Repeat above with different laptop
Find a team that will allow me to borrow the cRIO to swap ours out

I am basically throwing parts at this to troubleshoot and running out of things to throw at it. It appears to be a system watchdog issue, but I don’t know how to address it. What am I missing.

Disclaimer: I am an ME and am not sure that electrons really exist.

Make sure that it’s getting 12 volts correctly. Can you verify that the three power LEDs on the Digital Sidecar are lit? Can you measure the voltage on its Wago connector?

I measured 12.45 at the Jag and 12.45 was reported back to the DS, but I didn’t check the DSC power explicitly. I will add that to my list for when I get back into the shop.

My only suggestions are to mod the default code to try slot 6 with a different Digital Module, and to verify the PWM cable connection orientation at both ends.

P.S. Forgot the basic one - is your battery fully charged :slight_smile:

Have you opened up your cRIO to clean it out and add the gaskets?

Symptoms show you only seem to be missing PWM communication between the DSC and the Jags.
With the default project only pwm 1 & 2 are live - the other two should cause Jag blink.

With the correct Teleop long-on/short-off blink the System Watchdog isn’t coming into play.

P.S. Even Heisenberg was uncertain about electrons…

I verified the orientation, both independantly and with a third party. We have some black dots at the connection points help error proof that.

P.S. Forgot the basic one - is your battery fully charged :slight_smile:
. I thought 12.45V was ‘full’ enough. Am I mistaken?

Have you opened up your cRIO to clean it out and add the gaskets?

I am not sure what you mean by, “open”. I took out the modules and checked for debris/bent pins. I have no idea what gasket you are referring to.

P.S. Even Heisenberg was uncertain about electrons…

Well, in principle anyway. :rolleyes:

This really didn’t get enough publicity:

I keep wondering why nobody has been wondering what those black rubber things with holes in them are for.
My thought there was to inspect for metallic dust collecting inside the chassis, but it’s probably a stretch.

I’m sure your battery voltage is fine. I get students measuring the voltage without putting the battery under load all the time and I like to bring it to their attention that what they measure is just surface charge.

Did you redo the DSC power Wago connections as part of your tests?

Nope, I missed that potential source. I hope the fix is that simple.

Where should I have found the gasket rework originally?

Mark - you have a PM. We’re just up the road from you and would be happy to help if you need it.

So, just to close the loop, I got the problem resolved.

After walking through the system with two experienced robot inspectors, a FTA and several other folks a bystander walked up and suggested we plug the PWM’s into the PWM output instead of the digital IO. doh This just goes to show that
a. sometimes you need someone outside the situation to solve a problem and
b. ME’s on cold medicine should not be allowed to wire the robot.

Thanks to everyone for your help and support. I hope that some others found the conversation to be as educational as I did. I will now crawl back under my rock and die of embarrassment.