|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
Looks like the roborio has 40kOhms to 3.3v pull ups, while the DSC has 10kOhms to 5v pull up.
|
|
#2
|
||||
|
||||
|
Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
Sensor Cut Sheets, DS18 non-working, T18 working.
|
|
#3
|
||||
|
||||
|
Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
We have not got this far yet so I really have not tested anything. But. The RoboRIO is actually 3.3V (5V compatable) (If I understand what the NI guys said.)& the side car was 5V? Assuming you are not seeing the 0V state, maybe the Banner is not pulling the pin low enough?
Looking at the RoboRIO specification Low state is 0.0 V to 0.8 V. On state for the DS18 is <1.8 volts. So it working looks iffy. On state for the T18 is <1V The RoboRIO spec is on the NI web site. Although looking at the NI 9403 (CRio DIO module) it has the same 0.8V max for V low Maybe it is more forgiving? Last edited by FrankJ : 27-01-2015 at 09:16. Reason: fixed decimal . in on state volts |
|
#4
|
|||||
|
|||||
|
Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
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. |
|
#5
|
||||
|
||||
|
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...
|
|
#6
|
|||
|
|||
|
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). |
|
#7
|
||||
|
||||
|
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. |
|
#8
|
|||||
|
|||||
|
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. |
|
#9
|
||||
|
||||
|
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? |
|
#10
|
||||
|
||||
|
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. |
|
#11
|
||||
|
||||
|
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?)
|
|
#12
|
||||
|
||||
|
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).
|
|
#13
|
||||
|
||||
|
Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
Thanks. Makes sense. For some reason i didn't see your earlier post when I asked.
|
|
#14
|
||||
|
||||
|
Re: Photoeye's not working-Difference between RoboRIO and Digital Side Card?
Quote:
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? |
|
#15
|
|||||
|
|||||
|
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. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|