Need assistance building freezer temp alarm.

First, I am an Arduino noob. I dabble in it once or twice a year. Enough that I tend to forget a lot. I typically use Arduino controllers to try and automate things around the farm.

Right now, I want to make temp alarms for my chest freezers.

We have 5 chest freezers (we raise our own meat), and I want to install next-gen system to monitor them.

Currently, I'm using a small IC chip that reads temp (built into the IC) and has simple responses to the set (set with a resistor) temperature.

If temp is below set temp, pin X goes low and pin Y goes high. If temp is above set temp, pin X goes high, pin Y goes low. Those pins go to a simple buzzer as an over-temp buzzer.

Super simple.

The issue is that the IC has to be INSIDE the freezers. The easiest way I found to run that is to use lithium AA batteries (whole thing runs on 3v) and just 2 CAT5 wires to the buzzer outside the freezer.

Also, battery life is about a year. Not bad, but no low battery alarm. It just fails to be working one day w/o warning.

SO, I'm here to hopefully get help putting together a more sophisticated option. I'm hoping to use them as Christmas gifts as well!

What I have in mind:
-In need to monitor up to 5 chest freezers independently, possibly adding in a fridge/freezer for 7 sensor inputs.
-Already have some waterproof DS18b20 sensors (with 3m of cable on each) on order from Amazon.
-Need battery backup and/or power out alarm
-Using an automotive backup beeper for the alarm. That will be routed outside (freezers are in a shed, not the house). Needs to run both power out alarm AND high temp alarm. Current requirement is 12-48VDC and 112mA at 12v
-Have a 8xAA battery holder to make a 12v battery on order
-Have 12v wall wort power supply for the Arduino
-Would be big added bonus to have an LCD screen with current temp readouts, but not needed. Would substitute that with LEDs that are on when temps are good.

I'm thinking that I will have the temp sensors setup on a common bus bar on the shield PCB, leaving room for up to 10 inputs, or however many LED outputs I can have for indicators. Hopefully they should all run off the Arduino's built in power supply. Still don't fully understand these digital sensors though. I was reading about them late last night on the phone.
I think that I will run the output pwr wire for the alarm from 2 PCB relays (with appropriate diodes in between). The battery will connect to the NC on one relay so if power is off to the coil (supplied full time by the Arduino), alarm goes on. The other relay will connect to either the NC or NO (doesn't really matter I suppose) and be directly controlled by the Arduino to activate the same alarm for low temp.
I'm hoping that the alarm can be ran from the Arduino's Vin pin to get power directly from the wall wart. IIRC, that pin can supply up to 1 amp?

This should be a fairly easy project to put on an Uno for those more familiar with them. Any guidance for it?

I should mention that I am sick today, so I'm not with it 100%. I won't work on vital stuff at work, so I'm working on this. Apologies in advance.

One issue with a flexible and repeated system like this is the DS18b20 addresses...they keep changing. If you want to know a freezer is warm, no big deal. The library can address them as sensors 1-5 (or 0-4). If you want to know which freezer is alarming, then you need to correlate (track the association of) the sensor/sensor address to the freezer. OK, not bad for one system at home. But you mention you want to build multiple as gifts. Now you need to do this correlation X times, and the installer needs to keep the sensor-freezer assignment straight. I have been dabbling in a part time project (part-time part-time project) of coming up with a way to do the assignment in software by connecting the sensor for a given location and the starting the Arduino. The Arduino would assign the new address to the next "blank" sensor address, and would store the address in the internal EEPROM.

Something like:

  1. Connect sensor to Arduino
  2. Turn on Arduino
  3. Read sensor address from EEPROM
  4. Get sensor count (should be 1)
  5. If 4 != 3 (should be 4>3), then assign sensor address to EEPROM

Repeat for each sensor. Only for the second sensor, the address of the first will be found in the EEPROM and skipped, the address for the second will not be found and will be assigned and stored as sensor 2.

What are 8xAA batteries for? Why not use the smallest computer UPS you can find. Most will beep when their battery isn't working right.

I would use either the truly optically isolated relay board or make you own using ULN2003 or ULN2803 which can drive larger loads (relay, LED, or buzzer).

I would go with one ESP8266 per freezer and have them send back to a WiFi point to alert you of battery and also temperature.

one board, one enclosure, one battery and one sensor.

from that point, it is more like a rubber stamp.

dave-in-nj:
I would go with one ESP8266 per freezer and have them send back to a WiFi point to alert you of battery and also temperature.

one board, one enclosure, one battery and one sensor.

from that point, it is more like a rubber stamp.

I'm not yet familiar with the ESP8266, but I would agree, especially if it is as dave describes (which I'm not doubting, just agreeing).

My relays only need 30mA for the coil. As I understand, that is within the limits of the I/O pins, right?

Easy enough to put an ULN2003 in there though. I will add it.

The 8xAA battery pack was just a 12v source for the backup alarm as a power-outage alarm.

A computer UPS wont work. They don't like to work in the temps we get (hoping the Arduino will), and I will never hear its low battery beep. Unless I break it open and hijack the speaker wires, then maybe...

The power-outage alarm could be optional I suppose. Right now, I have an LED work light on the freezer outlet to alert me if the power is out, but you have to remember to keep an eye on it.

As far as grabbing the address of the sensors, It isn't the biggest deal to grab them all. I have several Uno's lying around I can use to grab the address on. I would be doing maybe 20 sensors, tops.

The 1820 route is the simplest requiring only one centralised “ intelligent” point and power supply.
They can be wired together on one bus ( I used cat 5 cable/plug/sockets ).
There are examples on the IDE for running these and identifying their addresses .
You could actually run your sensor network back to your house and have your Arduino there, so you only run one cat 5 cable and no batteries etc in the shed . Use the lcd to show all the temperatures and the buzzer for fault/alarm.
Beware some of the cheap “waterproof” ones aren’t ...
If you look where the compressor etc for the freezer is you may get access to a suitable measurement point , or just drill a hole in the lid .

I would use a small sealed 12v lead acid battery connected to a Wall wart charger as your power supply ( if the mains fails the battery takes over )

An alternative is to look at “ control by web” products - they have some great rugged devices with relay out and DS1820 inputs, plus internet access and a phone app. Makes a professional job.

https://www.controlbyweb.com/x410/

For just getting this going, I'm going to skip on the power-outage detection and just have the arduino trip alarms for temp.

To be honest, I don't have the time/desire to run CAT5 and I don't care for WiFi (I find WiFi less stable).

Those "control by web" products look great, just out of budget :frowning:

It seems to be an interesting project. I was wondering if you managed to make the temp alarms for the freezer? I am thinking about making a similar alarm and your experience would be useful for me. Actually, I had some issues with my refrigerator, and I had to check the temperature every time. So, the best solution was to buy a new refrigerator thermometer, which works very well and I didn't notice any problems with the temperature anymore. However, the idea of your project motivated me to try to make a temp alarm.

I am building one as we speak. Tomorrow I am going to put 6 DS18B20 (waterproof, they come with about 3' wire) in one freezer to see where the best location for locating a good permanent location for the sensor (you can add multiple sensors, they just get wired to each other). I am also going to have a DS18B20 module outside the freezer just to see how hot the garage gets.
The system will run every 30 minutes and will let me know if a temp is about 30F (maybe change it). If it detects a high value, it sends me an email. If after 6 hours, no email is sent, it will send me an "I am ok" message. ON my computer, i have a watchdog program that checks the messages, and if none is found in the past six hours, blinks the computer screen.

It seems to work on my workbench, tomorrow its in the freezers.
I am going to use a NodeMCU 12-e breakout board (it has arduino and wifi on its board), easy to program and test .I may add a screen display in the future.

I also have an audible alarm and led that go off in the garage if there is a problem, I have a PB switch to silence for about 12 mins (for when we rearrage freezer).
plan on having the arduino board powered by a plug in 5V charger cable which plugs into the board.

For my test system, I am transmitted to to adafruit IO where I can bring up a graph of the thermometers, and also download if i want to see it on excel, or another program.

Need to run some tests how quick temp goes down, and how fast will it go up if door left open )right now now switch on that, as 1 of the detectors will start rising.

I base the design in KiCad, but I'm learning that - should be down pretty quick, I expect less than a 4inch square board so it is not overstuffed, and have extra holes for sensors, power. Resistors, transistor to control light/buzer-speaker

Fee free to ask me any questions, I expect a test run this weekend, and a more permanent setup early next week.