View Single Post
  Spotlight this post!  
Unread 27-01-2015, 10:06
ozrien's Avatar
ozrien ozrien is online now
Omar Zrien
AKA: Omar
no team
Team Role: Mentor
 
Join Date: Sep 2006
Rookie Year: 2003
Location: Sterling Heights, MI
Posts: 524
ozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond repute
Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?

I tested using a QS30LV banner sensor on the roboRIO, powering it directly from the PDP, and then later with the VRM. I got the same negative results with each.

Again, the VRM is not isolated.

My banner sensor pulls the digital input rail on the RIO (from it's typical 3.3V) to 0.7V when in the "off" state [not ok]. Reading the banner sensor datasheet, I see it's "off" current is "<200uA". Reading the RIO user manual, the internal pullup in the RIO is 40Kohm. This suggests the sensor pulls about 65uA. (3.3V - 0.065mA X 40K = 0.7 V). This also matches the sensor data sheet (<200uA).

We want the voltage on the RIO digital input at least be above 2V when the sensor is "off". This is the minimum input high threshold of the RIO input. Otherwise we will always get a logic low [not ok] regardless of the beam breaking/or complete.

So... I added a 1K pullup from sensor ouput to the VRM's 5V rail. A 1K pullup to 5V along with the internal 40K pullup to 3.3V thevenizes to 4.958V with 0.975K impedence.
The roboRIO digital input rail only drops to 4.9V (really nothing at all). This follows assuming the sensor drew about 65uA in the off state.

This sounds like a simple case of checking the current leakage of your sensor against the strength of the pullup. Those sensors Scott mentioned that work have an "off" current of "<1uA" according to their data sheets.

Since the cRIO had a 10K pullup to 5V, and ~20K pulldown to ground, that thevenizes to 6.6K pullup to 3.3V. That means the roboRIO digital inputs (0 through 13) have weaker pullups, so having to add an external pullup makes sense to me, even if it is a little annoying

If that's a problem then read the datasheet of your sensors before purchasing. Or just buy some resistors.

I don't understand the poster who connected a continuity meter between sensor output and ground. Why would you do this? This is not a useful test. Also why was the system powered while doing continuity checks? Yes continuity adds current into the system. Probably was enough to makeup for the weak pull, hence the sensor started working. That's not a useful clue, especially when we have datasheets that tell us the impedances of all of our components.