Overheat alternative

Do you have a question on how to do something.
Ask in here.
Post Reply
mantu
Posts: 14
Joined: Tue Mar 22, 2011 12:56 pm

Overheat alternative

Post by mantu »

Hi!
i was thinking to change Overheat function...
now it's based on lights temperature and a warnig threshold.

what about checking tank temperature instead?
expecially in summer... fan cannot be enough to keep cold water temperature and, maybe, use overheat for checking tank temperature and eventually power off lights can be a life saver!

what do you think?

i take a look at curt libraries, under ShowInterface() function the code is :

Code: Select all

// if temp2 exceeds overheat temp
#ifdef OverheatSetup
            if ( Params.Temp2 >= InternalMemory.OverheatTemp_read() )
#else  // OverheatSetup
            if ( Params.Temp2 >= 1500 )  // 150.0 F is the default
#endif // OverheatSetup
            {
                LED.On();
                // invert the ports that are activated
                Relay.RelayMaskOff = ~OverheatShutoffPorts;
#ifdef RelayExp
				for ( byte i = 0; i < MAX_RELAY_EXPANSION_MODULES; i++ )
				{
					Relay.RelayMaskOffE[i] = ~OverheatShutoffPortsE[i];
				}
#endif  // RelayExp
            }
            // commit relay changes
            Relay.Write();
do you think that change Temp2 to Temp1 is enough?!
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Overheat alternative

Post by rimai »

Yes, simple as that... But changing libraries core code is not the best alternative.
Usually it is recommended not to do that because when there is an update to the libraries, you would loose the change you've made and you would have to keep changing everytime there is a new update.
Just create a custom function in your own PDE file and call it from within your loop() function.
Something like this:

Code: Select all


void loop()
{
OverHeatAlternative();
}
void OverHeatAlternative()
{
// if temp2 exceeds overheat temp
#ifdef OverheatSetup
            if ( ReefAngel.Params.Temp1 >= InternalMemory.OverheatTemp_read() )
#else  // OverheatSetup
            if ( ReefAngel.Params.Temp1 >= 1500 )  // 150.0 F is the default
#endif // OverheatSetup
            {
                ReefAngel.LED.On();
                // invert the ports that are activated
                ReefAngel.Relay.RelayMaskOff = ~ReefAngel.OverheatShutoffPorts;
#ifdef RelayExp
            for ( byte i = 0; i < MAX_RELAY_EXPANSION_MODULES; i++ )
            {
               ReefAngel.Relay.RelayMaskOffE[i] = ~ReefAngel.OverheatShutoffPortsE[i];
            }
#endif  // RelayExp
            }
            // commit relay changes
            ReefAngel.Relay.Write();
}
Roberto.
mantu
Posts: 14
Joined: Tue Mar 22, 2011 12:56 pm

Re: Overheat alternative

Post by mantu »

yes, great idea!
instead of this i'm witing all modification in a note file... :lol:


jus a little OT.
another modification i did is to invert the value read from the float sensor.
before this mod, usin singleATO, wires of my sensor where alyas under water... not a great idea!

noone had the same issue?!

Lorenzo
bmhair03
Posts: 166
Joined: Sun Mar 20, 2011 1:22 pm

Re: Overheat alternative

Post by bmhair03 »

Nice idea for the ATO. I was faced with the same problem .So not being programing Savoy I ran the wires through some airline and sealed it to the float housing. Something to look into Roberto. I did a quick search and found most floats didn't recommend the top be submerged . I also cut the metal coating off my temp sensors. (First design).I had a pump that was leaking voltage into my tank and the electrolysed was eating the Plating off and I was seeing the brass?copper ? base metal . They work just the same
Post Reply