Australia
Offline
Sr. Member
Karma: 7
Posts: 317
Arduino rocks
|
 |
« on: November 25, 2012, 06:18:27 pm » |
I want to make my arduino mimic an industry standard 4-20ma sensor.
I understand that the load that it will drive (PLC, VSD, etc) are usually around 100 ohms.
Has anyone got any ideas on the circuit that would be required to do this?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 3
Posts: 1712
|
 |
« Reply #1 on: November 25, 2012, 06:21:30 pm » |
Are you talking about an analog or digital sensor? If its digital (on or off) than a simple npn transistor will do the job(or better yet optoisolator) analog would be a little trickier but still doable
|
|
|
|
|
Logged
|
|
|
|
|
Australia
Offline
Sr. Member
Karma: 7
Posts: 317
Arduino rocks
|
 |
« Reply #2 on: November 25, 2012, 06:30:18 pm » |
I'm talking analogue; e.g. pressure, water level, etc.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 3
Posts: 1712
|
 |
« Reply #3 on: November 25, 2012, 08:23:15 pm » |
You could use a pwm pin and a lowpass filter to drive a transistor, hardest part will be finding the right combination of base resistor and cap to give a sufficiently smooth yet responsive result, perhaps the best way would be a separate lowpass into an opamp as a buffer before the transistor to separate the base resistor from your lowpass filter you may find you need to use a potentiometer to limit the base current as the hfe of a transistor can vary alot under various conditions and you may need to tune it to get your needed limits
|
|
|
|
|
Logged
|
|
|
|
|
Left Coast, CA (USA)
Offline
Brattain Member
Karma: 279
Posts: 15316
Measurement changes behavior
|
 |
« Reply #4 on: November 25, 2012, 08:34:59 pm » |
Emulating a 4-20ma current loop transmitter sensor is a matter of implementing a programmable constant current output. This will cannot be done with a single transistor as it involves having and using a feedback reading of the actual loop current to set and control the loop current to the desired measurement output value desired based on the sensors primary measurement. There are special industrial ICs that help perform this function. Also the source of the 'loop voltage' used to generate the loop current will need to be defined as if at the transmitting end (emulating a 4 wire transmitter with active output) or from the receiving end (emulating a 2 wire transmitter, with passive output).
Lefty
|
|
|
|
« Last Edit: November 25, 2012, 08:46:54 pm by retrolefty »
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 114
Posts: 2205
|
 |
« Reply #5 on: November 25, 2012, 08:45:51 pm » |
If you are sensing a current loop transmission, you can use a resistor;
If you are sending a current loop transmission, you can use a current generator. You can build one from an opamp + transistor, or with just four transistors + some resistors. Either way, it is fairly simple.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 3
Posts: 230
|
 |
« Reply #6 on: November 25, 2012, 08:46:47 pm » |
Here a little reading on this http://www.bapihvac.com/CatalogPDFs/I_App_Notes/Understanding_Current_Loops.pdfThe transmitter is the heart of the 4-20 mA signaling system. It converts a physical property such as temperature, humidity or pressure into an electrical signal. This electrical signal is a current proportional to the temperature, humidity or pressure being measured. In a 4-20 mA loop, 4 mA represents the low end of the measurement range and 20 mA represents the high end. BAPI specifies the power to our current transmitters as a range, 15 to 24 VDC for a humidity transmitter or 7 to 40 VDC for a T1K temperature transmitter. The lower voltage is the minimum voltage necessary to guarantee proper transmitter operation. The higher voltage is the maximum voltage the transmitter can withstand and operate to its stated specifications
|
|
|
|
« Last Edit: November 25, 2012, 08:50:00 pm by be80be »
|
Logged
|
|
|
|
|
Left Coast, CA (USA)
Offline
Brattain Member
Karma: 279
Posts: 15316
Measurement changes behavior
|
 |
« Reply #7 on: November 25, 2012, 08:56:59 pm » |
If you are sensing a current loop transmission, you can use a resistor;
If you are sending a current loop transmission, you can use a current generator. You can build one from an opamp + transistor, or with just four transistors + some resistors. Either way, it is fairly simple.
I would dispute that assertion, especially for a passive 2 wire transmitter, as the power to actually operate the sensors electronics has to also be derived from the energy available from less then 4 ma zero measurement value. That is, with the loop set to 4 ma when a sensor needs to signal that it's measuring 0% of operating measurement range, then the power to operate that sensor at that time comes from where? There is no other independent voltage/power source out there at the end of a 2 wire 4-20ma sensor transmitter. Loop powered 2 wire sensor transmitters are very challenging to design and construct. Lefty
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 3
Posts: 1712
|
 |
« Reply #8 on: November 25, 2012, 09:39:47 pm » |
Now im assuming an arduino is involved from the title so I would think its not the general scheme of things, What exactly are you trying to emulate or achieve and in what enviroment? If you need to do like the industrial standard(which I don't know too well) it would seem there are quite a few restrictions, tho if its going to act like a regular 3 wire sensor it'll be alot easier
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 3
Posts: 230
|
 |
« Reply #9 on: November 25, 2012, 10:07:17 pm » |
It don't look like any one reads any thing that's posted and start dumping out Idea's
First this is a loop you power this on the high side with power able to output more then 20mA at 24 volts the transmitter reads say a temp of 10 C and that means it needs to lower the low side to 5mA then the receiver which is a 250 ohm resistor Is read and show 5 mA the uC then tells you the reading is how these work.
|
|
|
|
|
Logged
|
|
|
|
|
Australia
Offline
Sr. Member
Karma: 7
Posts: 317
Arduino rocks
|
 |
« Reply #10 on: November 26, 2012, 06:05:13 am » |
What exactly are you trying to emulate or achieve and in what enviroment?
It probably doesn't matter what I'm trying to measure as long as I can output the industry standard 4-20ma. There are a few scenarios which I would like to use it for, however the one at hand is for pressure measurement as previously stated, into the aforementioned VSD (or VFD as some call them). Its starting to sound like the complexity of the circuit may be a bit beyond me, but I may play around with this setup: The base of a transistor connected (through a resistor) to a PWM pin of the Arduino. A resistor in the circuit collector->load(vsd)->power-> emitter to measure the current flowing through the load. The voltage across this resistor is fed into an analogue input of the Arduino so that it can read the current flowing through the load and regulate the voltage going out the PWM pin and into the base of the transistor; thereby completing the feedback loop. This may be a bit simplistic but I will see how it goes. Any views on improvement?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 114
Posts: 2205
|
 |
« Reply #11 on: November 26, 2012, 06:26:19 am » |
The typical implementation is a current mirror + a current amplifier: the input voltage is used to generate a current into one leg of the mirror, and the current amplifier amplifies the mirrored current in another leg. It can be either a current source or a current sink (less common). Fairly simple.
A opamp - based solution would be a simple opamp buffered by a current amplifier, typically as a current sink.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 3
Posts: 1712
|
 |
« Reply #12 on: November 26, 2012, 09:09:09 am » |
So you are talking about a three wire or two wire sensor? Id assume three to keep it simple?
|
|
|
|
|
Logged
|
|
|
|
|
Left Coast, CA (USA)
Offline
Brattain Member
Karma: 279
Posts: 15316
Measurement changes behavior
|
 |
« Reply #13 on: November 26, 2012, 09:43:46 am » |
So you are talking about a three wire or two wire sensor? Id assume three to keep it simple?
That is the thing. The OP stated he would like to have the arduino send a 4-20ma measurement signal to a PLC like system. The majority of PLC interface via two terminals to the remote 2 wire transmitter and the loop voltage is coming from one of the two 'field terminals' of the PLC. So my contention is that it will be a difficult interface circuit to design. If however the PLC is supplying just a passive 250 ohm ground based resistor to the 2 field wires then it would be somewhat easier but still not simple. I've noticed that no one has supplied an example circuit for a arduino to PLC current loop interface, so that would back my opinion that is not as simple a task that a few have stated it is. Lefty
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 3
Posts: 230
|
 |
« Reply #14 on: November 26, 2012, 11:00:31 am » |
Here look like a workable idea 
|
|
|
|
|
Logged
|
|
|
|
|
|