Exhaust alarm set temperature

Not that you need this accuracy but, here's a bit of code I wrote in the last century
It should work for Pt1000 type 501 if you just change the R0 constant to 1000.00.
It assumes you're happy to use floating point and you have a resistance value in ohms which you may not want to bother with.

C:
//
//Convert r to t for Pt100 type 404
//Parameters:
//    r = resistence in ohms
//Returns :
//    temperature in deg C
//    -9999.99 if sqrt error predicted.
//
double pt100lin(double r)
{
    double t;
   
    const double A  =  3.90802e-3 ;
    const double B  = -5.80195e-7 ;
    const double R0 =  100.00 ;

    t = A * A - 4.00 * B * ( 1 - r / R0 ) ;
   
    if ( t < 0.0 )
    {
        // Trap sqrt error
        return( -9999.99 );
    }
   
    t = ( -A + sqrt( t ) ) / ( 2.00 * B );
   
    return(t);

}
 
Last edited:
I've simulated the temperature and alarms already and both my i70s display and Axiom MFD can show the temperatures and both go into a beepy flashy frenzy when I generate an alarm. The text of the alarm on the displays is pretty much what is in the source code above - there's no user choice in the NMEA2000 message or the display. Strangely cancelling the alarm on an i70s does not cancel it on the Axiom or vice versa.

I'll give Silicon Marine a call today and report back if it's a PT-xxx type sensor.

Have you simulated any of the "Manufactuerx" alarms to see what Raymarine do with them (if anything)?
 
Fitted a Silicon Marine alarm on our Yanmar 3YM30 a couple of years ago. At normal cruising revs it sits at low 40s °C, and this goes up a little when pushing the revs up. When it really goes up is when you drop down to idle after motoring for a reasonable length of time. Then it goes up to low 70s for a short period before slowly dropping to the 40s again. I have the alarm set at 80°C.
 
Not that you need this accuracy but, here's a bit of code I wrote in the last century
It should work for Pt1000 type 501 if you just change the R0 constant to 1000.00.
It assumes you're happy to use floating point and you have a resistance value in ohms which you may not want to bother with.

C:
//
//Convert r to t for Pt100 type 404
//Parameters:
//    r = resistence in ohms
//Returns :
//    temperature in deg C
//    -9999.99 if sqrt error predicted.
//
double pt100lin(double r)
{
    double t;
  
    const double A  =  3.90802e-3 ;
    const double B  = -5.80195e-7 ;
    const double R0 =  100.00 ;

    t = A * A - 4.00 * B * ( 1 - r / R0 ) ;
  
    if ( t < 0.0 )
    {
        // Trap sqrt error
        return( -9999.99 );
    }
  
    t = ( -A + sqrt( t ) ) / ( 2.00 * B );
  
    return(t);

}

Thanks. I thoroughly approve of source code in replies on a boat forum :)
I'll look in to it more when I get my sensors and have the ADC's working.
 
Fitted a Silicon Marine alarm on our Yanmar 3YM30 a couple of years ago. At normal cruising revs it sits at low 40s °C, and this goes up a little when pushing the revs up. When it really goes up is when you drop down to idle after motoring for a reasonable length of time. Then it goes up to low 70s for a short period before slowly dropping to the 40s again. I have the alarm set at 80°C.

Thanks for that. That's useful information.
 
Thanks. I thoroughly approve of source code in replies on a boat forum :)
I'll look in to it more when I get my sensors and have the ADC's working.

The relationship between resistance and temperature for Pt100/1000 is a function with three terms.

Reducing the function to two terms also reduces the accuracy, but only to the same magnitude as that found on typical ADCs and internal Vref on MCUs.

With only two terms, converting resistance to temperature means solving a quadratic. That's much simpler than solving a higher order polynomial.

My function solves the Pt100 quadratic. It's only really applicable for positive temps but works quite well below 0C.

I can't remember how the hardware in my project was configured, but it's likely I used a 1mA constant current source with a three or four wire connection. Too much current through the Pt100/1000 will cause self-heating, the probe manufacturer's datasheet normally specifies a maximum stimulation current. You may not be able to get that data but 1mA is quite commonly used.

This is total overkill for this application but it's fun to recall.
 
Have you simulated any of the "Manufactuerx" alarms to see what Raymarine do with them (if anything)?

I tested 1, 2, 3 and 8 and they all come up as an "Unknown Alarm x". I'm guessing 4, 5, 6 and 7 will be the same.

Below is what I consider the most appropriate alarm of the named ones because it describes what is probably the cause. Coolant over temperature is the other one that could be used, but if you get the water flow alarm the instinct is probably to look over the stern at the water coming out of the exhaust and see that it's diminished. Coolant high temperature alarm might tempt a look at the engine panel overheat indicator, find it not showing an alarm, and cause confusion.

photo.jpg
 
Last edited:
An update...

I've got the new PCB's and have made a couple of devices. I added the temperature sensing to my existing remote anchor watching YAPP. Here is the device...

photo(2).jpg

The Silicon Marine PT-1000 temperature sensors are the 2 cables coming in on the right. Here's my Axiom display showing the readings...
photo (1).jpg

I added the temperature readings to my outgoing mobile internet data so they can be seen on a website from anywhere. Not added to Bluetooth yet. It's not something that I have screen space for in the Android app and I haven't looked to see if OpenCPN can display engine parameters yet. If it does I'll add it to the Bluetooth stream.

The live data of the temperature at my desk can be seen on the website here (must be http, not https)...

http://miniwinwm.000webhostapp.com/

When asked for the code enter 62C7959D. This is unique for my device (it's an HMAC of the modem's IMEI if any geeks are interested). Click 'Cancel' to saving cookies. The data are updated every 10s. I'll leave it running for a while. If it doesn't update then I've switched it off.

It's all open source, software and hardware, and can be found here...

GitHub - miniwinwm/BlueBridge: Sharing boat data across NMEA0183/NMEA2000/Bluetooth/IoT/MQTT with Android anchor watcher app and webpage. This project is under development and at beta.
 
Last edited:
Both of these are from eBay. They both had instructions with them (or in the product description) and were a doddle to wire in.
Screenshot 2022-12-04 21.06.53.png

Screenshot 2022-12-04 21.10.17.png
 
I built a standalone temperature alarm using one of the cheap ebay 12v controllers and wired in a piezo sounder that I had lying around. Unfortunately the alarm is just about above my hearing frequency range and it's not very audible to me, especially in the cockpit.
Can anyone point me to a lower frequency, louder sounder please. Searching is just confusing.
 
Top