Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Electrical (http://www.chiefdelphi.com/forums/forumdisplay.php?f=53)
-   -   Photoeye's not working-Difference between RoboRIO and Digital Side Card? (http://www.chiefdelphi.com/forums/showthread.php?t=133484)

Alan Anderson 27-01-2015 08:20

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Quote:

Originally Posted by tr6scott (Post 1434518)
Sensor Cut Sheets, DS18 non-working, T18 working.

The suspicious difference I see is the "ON-state saturation voltage".
DS18: < 1.6V @ 100 mA
T18: < 1V at 10 mA dc, < 1.5V at 100 mA dc

Perhaps the roboRIO input's logic 0 threshhold is too low for the DS18 to satisfy without assistance. When I get to the workshop on Wednesday I plan to do some experimentation.

tr6scott 27-01-2015 09:06

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Thanks Guys, the delivery on the AB ones are 2/16 from the factory...

crake 27-01-2015 09:17

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Forgive me, I was channeling my physics professor there for a moment. He never told me the answer directly (team 900, am I right?)

There are a couple of differences between myRIO and cRIO.

myRIO DIO (for the most part - there are exceptions with DIO14 and DIO15 which are 2.2k to 3.3V) have 40k pull up to 3.3V

cRIO DIO with side car has a 10k pull up to 5V AND a weak >20k pull DOWN (internal to an ASIC on the NI 9403 module).

This means that the roboRIO has a far weaker pull up than the cRIO w/side car.

From the datasheets it isn't entirely clear to me how they have NPN circuit configured, but I suspect that if you had a strong pull up your sensor will start working. I agree that the differences in saturation voltages is a strong candidate as to why some sensors work with roboRIO as-configured while others don't.

Anyway, try placing a nice strong pull-up on DIO to 3.3V (say, 1k).

tr6scott 27-01-2015 09:25

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
For the record, I was testing with DIO6 on the base interface, aka NOT MXP connector.

Thanks for the help.

Al Skierkiewicz 27-01-2015 09:31

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Chris,
I would suggest the same thing, although I think I would start with 10k to limit current. However, I am still trying to analyze why a meter, testing continuity, between two common points should make this work. The lights on the sensor indicate that switching is taking place. I would expect that the output of the Banner sensor is a photo transistor that includes a series resistor for over current protection. However, simply connecting a meter seems to indicate that the power common wiring is not as low impedance as one would expect. I would suggest someone with a scope actually check the operation of the sensor and report your findings.

tr6scott 27-01-2015 10:00

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Al, I don't have access to a scope.
Seeing I don't completely understand the circuitry of the sensor, or the roboRio, Let me state what I think I am to do to test.

Wire a resistor (1k, 10k) from the 3.3v+ which looks to be available on the MXP port pin 33, to the signal line of DIO6, along with the sensor output. Sensor still being powered from the 12v 2a rail of the VRM.

Did I follow that right?

ozrien 27-01-2015 10:06

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.

FrankJ 27-01-2015 10:13

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
So with the sensor connected, is the RobRIO reading true or false? (low volts or high volts?)

ozrien 27-01-2015 10:19

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
My observation is low volts. (0.7V) even when the open-collector output of the banner sensor is "high-z" (off).

FrankJ 27-01-2015 11:00

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Quote:

Originally Posted by ozrien (Post 1434613)
My observation is low volts. (0.7V) even when the open-collector output of the banner sensor is "high-z" (off).

Thanks. Makes sense. For some reason i didn't see your earlier post when I asked.

tr6scott 27-01-2015 11:06

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Quote:

Originally Posted by ozrien (Post 1434603)
If that's a problem then read the datasheet of your sensors before purchasing. Or just buy some resistors. :)

Omar, Thanks for the write up and the investigation work.

I see this as a Chicken and a egg problem...
I purchased these sensors over 4 years ago, and have used them on every bot since then... How was I to check it against the roboRIO specs?

Seems to me the hardware design team on the roboRIO missed the mark, by not providing the same sensor interface we had on the cRio. I mean backward compatibility to existing sensor base would have been as easy as selecting a different resistor?

Al Skierkiewicz 27-01-2015 11:31

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Omar,
The continuity test was between the 0v terminal on the VRM and 0v terminal on the Roborio (my interpretation). While continuity necessarily provides a voltage, it really didn't make a lot of sense as to why this actually worked. The OP also stated he was using the NPN output of the Banner sensor which is an active low when sensed. My suspicion to this point is again the very low current provided by the 40k pullup. I would not, however, recommend a pull up to 5 volts in parallel with the internal pullup to 3.3 volts. That would tie both supplies together and would draw current dependent on the state of the input as connected. I was suggesting that a 10k resistor be used as an additional pullup to the 3.3 volt buss. The 10k (in parallel with 40k) to 3.3v would produce near the current of a single 10k in a 5 volt pullup. Certainly something between 1k and 10k should work.

Alan Anderson 27-01-2015 11:32

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Quote:

Originally Posted by tr6scott (Post 1434632)
Seems to me the hardware design team on the roboRIO missed the mark, by not providing the same sensor interface we had on the cRio. I mean backward compatibility to existing sensor base would have been as easy as selecting a different resistor?

It wouldn't quite have been that easy. The 3.3v input port would have changed things regardless of the pullup value chosen.

For this specific situation, we're fortunate. It takes very little effort to add an appropriate pullup resistor to the roboRIO end of the cable.

Alan Anderson 27-01-2015 11:39

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Quote:

Originally Posted by Al Skierkiewicz (Post 1434643)
I would not, however, recommend a pull up to 5 volts in parallel with the internal pullup to 3.3 volts. That would tie both supplies together and would draw current dependent on the state of the input as connected.

I doubt 50 microamps between the 3.3v and 5v supplies is something to be worried about. Not knowing the detailed architecture of the supplies makes me less confident about that than I could be, though.

Al Skierkiewicz 27-01-2015 11:43

Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
 
Alan,
You know me, I work on failure mode and tying two different power supplies together is not something I recommend. A miswire or bad insulation job forces the two supplies together with some unknown consequences. I would suspect that the 5 volt supply might take out the RoboRio through over voltage on the 3.3 volt buss.


All times are GMT -5. The time now is 09:41.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi