I am looking for guidance to see if a heater element fails or more specifically has failed.
I did see a similar post, but it ended with temperature and current detection, which in my case will not work.
I have a system that is using two heaters that are made from resistance wire powered with 6VAC @ ~ 3A.
The heater is on for a max of 500mSec for each cycle. Each Cycle is about 5 seconds apart. I also want to make sure the heater is capable of working before I turn it on.
I've come up with some relay logic that can run the heaters in series to an Arduino input - supplied by the Arduino Mega 5VDC, when they are not turned on and powerd by the 6VAC supply. But it occurred to me that the heaters will just pull the system down since they'll be trying to be heated from the Arduino Mega 5VDC. I havent tested this but - I'm thinking that's what's going to happen.
Does anyone have any guidance on how to check for heater continuity and supply an input to the Mega?
You can read current with a small precision resistance (for example 5mOhm 1% )in series with your heating element. For temperature you can use a simple NTC sensor. In the case of the current, you can rectify the wave (since you have AC) or you can feed the AC signal to the Arduino and let him calculate the RMS value.
Measuring the current with a current transformer seems to be the best option to me. I don't know why that is a problem. There are other sensors to measure the current, with a ACS hall sensor or a shunt resistor.
You could do a resistance test before it is turned on.
With relays, that switch the relay between "on" (6VAC) and "off". In the "off" position they are connected to the Arduino Mega to measure the resistance. You have to protect the inputs of the Arduino board ofcourse.
The relays could fail too, so perhaps you have to add a check for them too.
Why do the heaters fail, can't you buy better ones ?
@ Boardburner - right about ambient temp and resistance, etc, I forgot about that. But I can still use this circuit to detect an open - which would occur when the heater fails.
If you just want to check the continuity of the heater element BEFORE you power up the element why not connect it directly to an Arduino I/O pin via a suitable current limiting resistor (1k, perhaps) and treat the element as you would a switch setting the pin with pinMode(INPUT_PULLUP).
Put a suitable zener diode on the Arduino side of the 1k resistor to protect the Arduino from supply voltages above 5v.
Yes, that was my initial thought, but, as stated above, I am concerned that the heaters will draw power from the Arduino power. Each one wants at about 12VA.
I have some relay logic that switches them between the power transformer and the Arduino 5VDC.
Can you say what you are trying to do ?
Relays and 6 v ac etc equals lots of bits.
Can you use 5v dc and pwm perhaps.
Then very short pulse to meAsure continuity before applying power ?
Could be a much simpler and cheaper circuit.
KippyG:
Yes, that was my initial thought, but, as stated above, I am concerned that the heaters will draw power from the Arduino power. Each one wants at about 12VA.
Nothing can draw significant power through the internal PULLUP resistors - that's what they are for! Normally they are used with swirches that short them to GND.
My concern is to ensure the working voltage on the heaters does not feed back to the Arduino and damage it.
I've attached a sketch of how I plan to integrate the relays. Assume kick back diodes installed for all coils.
6VAC from Step down Transformer 3 VAC HI and 3 VAC LO.
Four relays total:
When K1 and K2 Energize VAC is isolated from the arudino and sent to the heater.
When K2 and K3 Energize VAC is isolated from the arudino and sent to the heater.
When K1, K2, and K3 are de-energized and K4 Energized AC voltage are isolated and input sent through the heaters to the Arduino.
In the case of this diagram the Arduino Output energizes the relay coil which swtiches the relay states from Open To Close. All relays are shown in the de-energized state.
I've always personally liked ladder logic to understand the circuit - but that may because it's what I'm use to (using it for >30 years).
The temp is ~ 200C so, enough to boil water - but my mass is pretty small so I wouldnt be able to boil a pot of water. essentially, I am heating nichrome wire to seal paper.
Here's the theory of operations:
Checking if Heaters are good - Ardiuno Output 0,1,3 Low and 2 High will Energize only K4. Thus reversing the state of K4 on the diagram. The contacts of K4 shown as open will close and vice versa. No connection from VAC LO to the heaters and the circuit from 5VDC through the heaters will close and complete to Arduino Input. This lets me know if I have a good heater or not
Turning heaters on - Ardiuno Output 2 Low and 0,3,1 High K4 de-energizes and contacts will look as they do on the diagram. K1 and K3 Energize reversing their state as shown on the diagram. Isolating 5VDC and the Arduino input while supplying one side of each heater with VAC HI. K2 Energizes and supplies the other side of the heater with VAC Lo and the Heaters Energize for 500mSec as programmed.
The OP is using Ladder Logic circuit representation. I'm not familiar with it either. Never used it.
To test a heater element the only thing you really need is a variac and a known good heater element for comparison.
Test the known good heater element and plot the current vs voltage. This can be done manually in about 15 to 30 minutes.
Replace known good heater with suspect heater and plot the current vs voltage.
Compare the two.