NI-900 I/O as a Relay?
Impaqt
Posts: 155
OK, COnfused.. I hav ea Device that needs 12v/ 50ma to turn on. I figured I could use the I/O onmy NI-900 for that...
I Send at Start.
SEND_COMMAND dvIO900,"'SET INPUT 1 LOW'"
But the connectionbetween 12v and I/O Port 1 always seems top be providing 12v. Regardless of whether I send Port 1 High or low.
I see the Light onthe front of the ni light up when I send it high... But there no change in the output.
I Send at Start.
SEND_COMMAND dvIO900,"'SET INPUT 1 LOW'"
But the connectionbetween 12v and I/O Port 1 always seems top be providing 12v. Regardless of whether I send Port 1 High or low.
I see the Light onthe front of the ni light up when I send it high... But there no change in the output.
0
Comments
That just sets the active state on the I/O channels.
SEND_COMMAND IO,"'SET INPUT 1 HIGH" on a logic high channel is on and logic low channel is off.
SEND_COMMAND IO,"'SET INPUT 1 LOW" on a logic low channel is on and on a logic high channel is off.
Once I sent the
SEND_COMMAND IO,"'SET INPUT 1 LOW"
I tried using
ON [IO,1] to send 12 volts
and
OFF [IO,1] to TUrn Off the Volts...
WHat Am I missing here?
The 12vdc pin is for powering things like PCS2 or PCS. We usually tap off the power + 12vdc supply feeding the master to one side of a relay coil and then the other side of the relay coil to IO pin 1 (in this case).
When used for outputs, the I/O port acts as a switch to GND and is rated for 200mA
@ 12 VDC. You supply the 12vdc and usually some sort of third party relay that uses 12vdc for its control coil.
For this to work you must ,"'SET INPUT 1 LOW" .
THe device I'm kicking on and of is a Niles TVA50.... It only takes like 50ma to kick on so maybe thats why its not going off... If 'OFF" is still putting out some voltage maybe its stil pickingit up?
Seems strange.....
Device needs 12v and Ground.
12vPS hs 12v and Ground...
If I take the 12v fromt he power supply and run it into I/O 1 isnt it going to get shorted to the AMX Ground instead of the Power SUpplies?
Ugh.. It seemed so simple on paper
By default I have 5 Volts between IO1 and ground when I do ON{dvIO,1] I get 6.01 volts between IO1 and ground. What am I missing?
Disclaimer:
It this doesn't work and something fries I take no responsibilty!
http://www.amxforums.com/showthread.php?t=2651&highlight=io
In this thread Hegberd pointed out this:
and later Dave gave this explanation:
Which made sense about the reading I was getting with the voltmeter and I connected the NI-700 to the PC-1 and worked like a charm.
You can set the IO port to detect an input signal (using the port as an input) with either HIGH logic or LOW logic. With HIGH logic, you cannot use the port as an output (i.e. to control anything else). When set to HIGH, a logic HIGH voltage between the IO pin (pin1,2,3,etc) and gnd on the master will trigger the input. Any voltage less than the logic HIGH trigger voltage (check the manual to verify exactly what this voltage is), including a short between the IO pin and ground, will not be detected. So, if you are HIGH and apply 12vdc to the IO pin and ground, the IO light will come on and you should detect a button press -- that is, you can use button events to detect the change in status. If you are using logic LOW, the exact opposite occurs. A very low voltage (or short circuit) will trigger the IO port. An open circuit will NOT be detected as either a HIGH voltage trigger or a LOW voltage trigger.
When you are using a current sensor, you use the IO port as LOW and connect the PCS as shown in the PCS manual, which is available at the AMX website (also included with the PCS). It is my understanding that the +12v pin next to the IO ports is electrically identical to the +12v pin on the Axlink connector and is probably electrically connected to the +12v terminal connected to your power supply. If your power supply is sufficient, there should be nothing wrong with connecting to the +12v pin next to the IO port pins. I believe that the current limit is supposed to be 200ma.
Given all this, if what you are attempting to do is simulate a contact closure, you should be able to do it with the IO port without using a relay. It is not a physical contact closure, but is a transistor being switched on, so some circuits may not be able to detect this. We had a discussion about two output Kramer switches not too long ago and some people could not get their Kramer switchers to detect the ON state of the IO port as a contact closure. Putting an inexpensive relay between the port and the switcher does work, though, so you can easily and cheaply turn an IO port into a reed contact relay.
If you want to power a small, low current device (like a relay or small fan or aPCS) with your NI900 (or any AMX master) you can do it with the IO port. Just use the NI (or its power supply) for the plus voltage and connect the negative voltage to the IO port pin. Use LOW logic and control the device by turning the port on and off with your code. Look at the diagram in the PCS manual to clarify how all this fits together.
A PC1 or PC2 is actuated by switching its input connections to its own ground. Connect the PC1 or PC2 ground to the NI ground and the control connections on the PC1 or PC2 (connectors 2 and 3, as appropriate) to the appropriate IO pin and the NI will switch control it by turning on and off the IO ports.
Vining, the PC1 has 5 Volts between Ground (pin1) and pin 2. By default if you short this two pins you can have a momentary switch. I was reluctant to connect them together since I was having 5 volts between IO1( is the same for every IO port) and ground when the port was Off and 6.01 volts when was On with the logic low. All I did was connect the ground from the NI-700 to the ground of the PC1 and the pin2 of the PC1 to the IO1 on the NI-700. With the logic low when I do On[dvIo,1] I get the PC1 to power up and Off[dvIO,2} power off the PC1.
I have burned out I/O ports before, so be careful when you are connecting things.
If the relay draws too much amperage (over 200ma) you may burn out the I/O port and it seems to take out the port next to it also. Maybe there is one IC controller for every 2 ports or something, but if this happens, you will have to skip a port and try again. I believe they are linked in pairs like 1/2 3/4 5/6 7/8, so depending on what burns out you just need to locate a good port.
This stumped me for a while when I made my first attempts of using an I/O port to control a tv lift. I ended up burning out ports 1/2 and didn't realize it since they still *appeared* to respond as far as the LED on the master goes, but they weren't actually working. I moved my connections to port 3 (skipping port 2) and it worked great. Of course I first found a relay that only pulled 35ma so as to not burn out port 3 and 4 also!
Hope my experiences help someone...
--Erci