Is my board overheating?

ChubRock1

Member
I am trying to troubleshoot some issues I have been having lately with my setup (Webcontrol, 4 channel relay, wiring, etc) and looking for some feedback on the Webcontrol board about overheating. Is there a typical symptom if the board is overheating?

I had this setup working fine for over a month, but lately a few strange things have been happening and last night is really tanked. I have the board controlling several things, but the two in question are a freezer and a dehumidifier. The PLC code keeps the temp between 53-57F on the freezer switch and between 60-65%RH using the dehumidifier and this has all been working perfectly for a month.

Then last night right around midnight the system never shut off the dehumidifier switch which slowly caused the temp to rise, but for some reason the board never turned on the freezer either so six hours later the temp was 87F and 35%RH. I thought maybe the relay for the dehumidifier had gone bad (and I am still testing that), but I know the relay for the freezer works(as I could manually turn it on the webcontrol) so why didn’t the PLC code work to turn the freezer on when the temp was rising?

As I said, all of this has been working flawlessly so I am confident it is not a coding issue, which leaves me looking for other reasons. Could something like this happen if the board was overheated?
 
The board CPU does not overheat, even running in 120F environment. The only part generates a lot heat is the voltage regulator on board.

When the problem happend, did you see what on the web GUI the output status? The GUI status is what the CPU seeing the output state. Then using a meter measures it to see if the actual TTL output matching the GUI state. Between the CPU and TTL ouput terminal, there is a TTL output buffer IC. That IC has current limitation 10mA per output.

How much current does your relay baord draw from WebControl TTL output? Please make sure the current is within the 10mA limit.
 
I did not get a chance to check on the status when it was happening and my polling tool is not set to capture output status (although I may add that now) I just got the warning emails I had setup and was able to check on the system this morning. My friend checked it this morning but I'm not sure if he noticed the actual state of the outputs on the GUI(I have that question in to him).

The relay board is http://www.hivitronix.com/shop/article_13/4-Channel-Relay-Positive-5V-HR0504S4X1.html?sessid=XfzBBh1n1aIz1XEa5LUQXluucLGwoX9qfmn2FvjvRsM7g82Ph6fKA1EtSfU1FuhK&shop_param=cid%3D5%26aid%3D13%26
which I have powered by a 5V supply.
 
Also, the board uses the Songle Relays which are 15-20mA but per the webcontrol doc "The maximum current that can be sourced or sinked by one of these outputs at a time is 20mA or 100mA for the whole board" So that should be fine right? Why are you saying max of 10mA in your note?
.
 
The chip spec says 24mA when the VCCA is 5.5V, then it also says 12mA when Vccb is 3.3V. We do have Vcca 5V and Vccb 3.3V. I think that means the 5V side is 20mA which is WebControl configured. How many TTL output do you use in your setup?

Is the TTL output still working for you? Does the buffer IC ever get warm during operation?
 
I am using four TTLs to the four relays. Two of relays (the freezer and the dehumidifier) are running 115V and turn on and off about every 5-15 mins. The other two relays are each running a 12VDC computer fan and they both turn on every 6 hours for 20 seconds. So it is possible that all four TTLs would be on at once but only for a max of 20 seconds every 6 hours.

I have not been able to check if the buffer IC gets warm but perhaps in the future I can test that.

I did get some detail from my friend that he recalls seeing this morning that all outputs were in the off state on the GUI even though the dehumidifer was stil on which would point toward a problem with the relay for that, but I still don't undertand why Webcontrol would not have been trying to turn on the TTL for the freezer?

We will do some additional troubleshooting this evening, so if there are certain things we should check on the board, please let me know.
 
If GUI showing all TTL states are off, then the problem is not TTL buffer IC.
Have checked if time displayed on GUI still advancing, and web GUI pages can be clicked and move from one page to another?
If sensor information displayed correctly, then the PLC logic should work, unless the PLC code being wiped out.
 
Okay, after checking the relays is does look like we have a sticking relay on the dehumidifier which does explain why the humidifer stayed on and drove the temp up. But what is still confusing is why the freezer was not being turned on as the temp continued to rise?

Can you see anything in this PLC code that would create and issue?


[font="Times New Roman""]START [/font]

[font="Times New Roman""] TSTGT T1 568 [/font]

[font="Times New Roman""] CALLSUB COOL_ON [/font]

[font="Times New Roman""]COOL1:[/font]

[font="Times New Roman""] TSTLE T1 555 [/font]

[font="Times New Roman""] CALLSUB COOL_OFF [/font]

[font="Times New Roman""]COOL2:[/font]

[font="Times New Roman""] TSTGT H1 63 [/font]

[font="Times New Roman""] CALLSUB EVA_ON [/font]

[font="Times New Roman""]EVA1:[/font]

[font="Times New Roman""] TSTLE H1 57 [/font]

[font="Times New Roman""] CALLSUB EVA_OFF [/font]

[font="Times New Roman""]EVA2:[/font]

[font="Times New Roman""] TSTEQ T1 570 [/font]

[font="Times New Roman""] SET RAM8 0[/font]

[font="Times New Roman""] TSTEQ H1 65[/font]

[font="Times New Roman""] SET RAM7 0 [/font]

[font="Times New Roman""]FANS:[/font]

[font="Times New Roman""] TSTEQ CT 16:00:00[/font]

[font="Times New Roman""] CALLSUB FANS_ON[/font]

[font="Times New Roman""] TSTEQ CT 22:00:00[/font]

[font="Times New Roman""] CALLSUB FANS_ON[/font]

[font="Times New Roman""] TSTEQ CT 04:00:00[/font]

[font="Times New Roman""] CALLSUB FANS_ON[/font]

[font="Times New Roman""] TSTEQ CT 10:00:00[/font]

[font="Times New Roman""] CALLSUB FANS_ON[/font]

[font="Times New Roman""]EMAIL:[/font]

[font="Times New Roman""] TSTGT T1 700 [/font]

[font="Times New Roman""] CALLSUB MAIL_HOT [/font]

[font="Times New Roman""] TSTLE T1 450 [/font]

[font="Times New Roman""] CALLSUB MAIL_COLD[/font]

[font="Times New Roman""] TSTLT H1 54[/font]

[font="Times New Roman""] CALLSUB MAIL_DRY[/font]

[font="Times New Roman""] SET VAR1 H1[/font]

[font="Times New Roman""] TSTGT VAR1[180000] 75[/font]

[font="Times New Roman""] CALLSUB MAIL_WET [/font]

[font="Times New Roman""] END [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""]COOL_ON:[/font]

[font="Times New Roman""] TSTEQ RAM1 1 [/font]

[font="Times New Roman""] GOTO COOL1 [/font]

[font="Times New Roman""] SET OP4 1 [/font]

[font="Times New Roman""] SET RAM1 1 [/font]

[font="Times New Roman""] RET [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""]COOL_OFF:[/font]

[font="Times New Roman""] TSTEQ RAM1 0 [/font]

[font="Times New Roman""] GOTO COOL2 [/font]

[font="Times New Roman""] SET OP4 0 [/font]

[font="Times New Roman""] SET RAM1 0 [/font]

[font="Times New Roman""] RET [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""]EVA_ON:[/font]

[font="Times New Roman""] TSTEQ RAM2 1 [/font]

[font="Times New Roman""] GOTO EVA1 [/font]

[font="Times New Roman""] SET OP3 1 [/font]

[font="Times New Roman""] SET RAM2 1 [/font]

[font="Times New Roman""] RET [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""]EVA_OFF:[/font]

[font="Times New Roman""] TSTEQ RAM2 0 [/font]

[font="Times New Roman""] GOTO EVA2 [/font]

[font="Times New Roman""] SET OP3 0 [/font]

[font="Times New Roman""] SET RAM2 0 [/font]

[font="Times New Roman""] RET[/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""] MAIL_WET:[/font]

[font="Times New Roman""] TSTEQ RAM7 1 [/font]

[font="Times New Roman""] GOTO EMAIL [/font]

[font="Times New Roman""] EMAIL EM3 [/font]

[font="Times New Roman""] SET RAM7 1 [/font]

[font="Times New Roman""] RET [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""]MAIL_DRY:[/font]

[font="Times New Roman""] TSTEQ RAM7 1 [/font]

[font="Times New Roman""] GOTO EMAIL [/font]

[font="Times New Roman""] EMAIL EM4 [/font]

[font="Times New Roman""] SET RAM7 1 [/font]

[font="Times New Roman""] RET [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""]MAIL_HOT:[/font]

[font="Times New Roman""] TSTEQ RAM8 1 [/font]

[font="Times New Roman""] GOTO EMAIL [/font]

[font="Times New Roman""] EMAIL EM1 [/font]

[font="Times New Roman""] SET RAM8 1 [/font]

[font="Times New Roman""] RET [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""]MAIL_COLD:[/font]

[font="Times New Roman""] TSTEQ RAM8 1 [/font]

[font="Times New Roman""] GOTO EMAIL [/font]

[font="Times New Roman""] EMAIL EM2 [/font]

[font="Times New Roman""] SET RAM8 1 [/font]

[font="Times New Roman""] RET [/font]

[font="Times New Roman""] [/font]

[font="Times New Roman""]FANS_ON:[/font]

[font="Times New Roman""] SET OP1 1[/font]

[font="Times New Roman""] SET OP2 1[/font]

[font="Times New Roman""] DELAY 20000[/font]

[font="Times New Roman""] SET OP1 0[/font]

[font="Times New Roman""] SET OP2 0[/font]

[font="Times New Roman""] RET[/font]
 
In your email section,
TSTLT H1 54
CALLSUB MAIL_DRY
you will email by going to mail_dry.
In your mail_dry: subroutine,
MAIL_DRY:

TSTEQ RAM7 1

GOTO EMAIL
EMAIL EM4
SET RAM7 1

RET

you will go loop at email. That is pretty much looping there. You don't have to have goto, since RET will return back anyway.
 
So are you saying that possibly the PLC code got stuck in that email subroutine and never returned to the main program, so that is why it never turned on the freezer even though the temp was rising? That subroutine is the same logic as several others in my code, so I'm not sure I understand why it would be looping? Thanks for the help.
 
Chub, in the past, your dehumidifier never kept drying, so that this condition was not a problem. However, if you step through your email code, you will see in your email section, you will check if humidity is less than 54, then call email_dry subroutine. and your email_dry routine checked the RAM7 is 1, then it go back to email section. Your code is looping there forever, if the humidity is less than 54.

My suggestion is to get rid of the GOTO EMAIL line. Instead of TSTEQ RAM7 1, TSTEQ RAM7 0. So that you will only send email when RAM7 was 0. RAM7 will be reset to 0 only when you need to turn on dehumidifier again.

Similar to this, you may consider revise other email subroutines also. Consider the case if the relay stuck caused the condition not changing, would the logic handle it.
 
Okay, I think I get it (maybe) so because EMAIL: is so low in the PLC code it kept looping at the bottom of the code and that one subroutine. Would it also fix the problem if I just moved EMAIL: to the top of the PLC code? That way it would still have to run through all the code before it gets back to the EMAIL_DRY subroutine?
 
I am not sure the purpose of GOTO EMAIL in each of your email routines. If you just let those subroutine return, it will move on to next line of code, eventually goes back to END/START, then other logic will have chance to be executed.
 
Well if I don't include that step, how to I avoid the email from sending over and over? I thought the logic would be that the first time it happens it steps through the whole subroutine and sets VAR7 =1 . So the next time it cycles through the code and is sent to the subroutine it checks if VAR7=1 and then GOTO EMAIL so as not to keep sending the email out. If I remove that step won't the email keeps sending each time it runs that subroutine?
 
Chub,

If you reset the RAM7 in the opposite direction function, then you will not have problem sending more than one email.

For exmaple
MAIL_DRY:
TSTEQ RAM7 1
GOTO EMAIL
EMAIL EM4
SET RAM7 1
RET

change to:

MAIL_DRY:
TSTEQ RAM7 0
EMAIL EM4
SET RAM7 1
RET

Then
in your eva_on function:
EVA_ON:
TSTEQ RAM2 1
GOTO EVA1

SET OP3 1
SET RAM2 1

RET Change to
EVA_ON:

SET RAM7 0
TSTEQ RAM2 1
GOTO EVA1

SET OP3 1
SET RAM2 1

RETThen You will only set RAM7 to 0 when you need to call evaporator on at that time, the humidty must be high.
 
Back
Top