Hello,
I am new to Arduino, but I have been doing a lot of online study with it. Normaly I use and program PLC's. The project that I have in mind is to data log events with the Arduino and datalogging sheild (monitoring a PLC). No problem there. My question is what would be the best way to take the 24vdc inputs and outputs of a PLC and monitor them with the Arduino? I know it would be best to convert them to 5vdc. Is there a good and inexpensive way to monitor, say 6 24vdc signals converting them to 5vdc to interface with the Arduino, maybe with an opto isolator IC chip or something?
Thanks inadvance for any suggestions,
Bill C.
Arduino Datalogging
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit_support_bill
- Posts: 88093
- Joined: Sat Feb 07, 2009 10:11 am
Re: Arduino Datalogging
The simplest way is with a voltage divider. Choose resistors to scale your output from 0-24v to 0-5v.
You can find the circuit and equations here: http://en.wikipedia.org/wiki/Voltage_divider
There are plenty of voltage divider calculators to help select the right values. Here's one: http://www.raltron.com/cust/tools/voltage_divider.asp
You can find the circuit and equations here: http://en.wikipedia.org/wiki/Voltage_divider
There are plenty of voltage divider calculators to help select the right values. Here's one: http://www.raltron.com/cust/tools/voltage_divider.asp
-
- Posts: 1
- Joined: Mon Oct 01, 2012 1:44 pm
Re: Arduino Datalogging
I am interested to do a similar project. Any update on how to do this in more detail ?
- john444
- Posts: 443
- Joined: Sun Mar 04, 2012 2:42 pm
Re: Arduino Datalogging
Hi K30,
Much depends on the sensitivity of the signals to being 'loaded'.
A PLC can output considerable current. This will allow 'low'
value resistors in a voltage divider. An example might be
10-mA current, @ 24-V, Ra and Rb are two resistors in series.
Ra + Rb = 2.4K, Rb = 5v/10-mA or 500-Ohm, leaving
Ra = 19-V/10-mA or 1.9k.
This is just typical Ohm's Law stuff. Easy to read-up on.
Other situations, may require different resistor values.
Do you have a specific application in mind?
John
Much depends on the sensitivity of the signals to being 'loaded'.
A PLC can output considerable current. This will allow 'low'
value resistors in a voltage divider. An example might be
10-mA current, @ 24-V, Ra and Rb are two resistors in series.
Ra + Rb = 2.4K, Rb = 5v/10-mA or 500-Ohm, leaving
Ra = 19-V/10-mA or 1.9k.
This is just typical Ohm's Law stuff. Easy to read-up on.
Other situations, may require different resistor values.
Do you have a specific application in mind?
John
- buton
- Posts: 55
- Joined: Fri May 11, 2012 8:06 am
Re: Arduino Datalogging
Right now at work i made something similar to monitor one machine with plc..
thanks to the arduino mega, arduino proto shield and arduino ethernet shield with the sd card from adafruit...
this is what i do, inside the plc i program states, 0,1,2,3,4,5,6,7,8... for examples state 0 is loading piece, state 1 machine in process, state 2 machine unload, state 3 waiting for input, state 4 quality test..
so i have for ouputs on the plc wired to relays, and the relays go to my arduino...
in my arduino i just read one port, and the value in binary is the state, for example on the plc state 2 will be 010, state 3 011...
with the ethernet shield i have a html webpage to see that information and also to see units produced, production rate etc...
i also transmit information UDP to labview to see what the machine is doing in real time.
also every cycle time is saved on the microSD card...
so instead of buying RSlinx and RSview to do that which is like 5 k USD.. you just need to get less then $200 from adafruit and program and program...
thanks to the arduino mega, arduino proto shield and arduino ethernet shield with the sd card from adafruit...
this is what i do, inside the plc i program states, 0,1,2,3,4,5,6,7,8... for examples state 0 is loading piece, state 1 machine in process, state 2 machine unload, state 3 waiting for input, state 4 quality test..
so i have for ouputs on the plc wired to relays, and the relays go to my arduino...
in my arduino i just read one port, and the value in binary is the state, for example on the plc state 2 will be 010, state 3 011...
with the ethernet shield i have a html webpage to see that information and also to see units produced, production rate etc...
i also transmit information UDP to labview to see what the machine is doing in real time.
also every cycle time is saved on the microSD card...
so instead of buying RSlinx and RSview to do that which is like 5 k USD.. you just need to get less then $200 from adafruit and program and program...
- john444
- Posts: 443
- Joined: Sun Mar 04, 2012 2:42 pm
Re: Arduino Datalogging
Hi Burton,
Nice.
Even if you are not measuring input or output voltages,
the cycle-time and real-time monitoring of your machinery
using relays is very useful information.
Relays are great at signaling and isolating, while It is pretty
tough to effectively isolate an AC or DC signal.
Thanks for sharing.
John
Nice.
Even if you are not measuring input or output voltages,
the cycle-time and real-time monitoring of your machinery
using relays is very useful information.
Relays are great at signaling and isolating, while It is pretty
tough to effectively isolate an AC or DC signal.
Thanks for sharing.
John
Please be positive and constructive with your questions and comments.