Introduction: Converting Camping Deep Freezer Into Fridge/Freezer Using AtTiny85
After ALL my camping equipment was stolen last year, a very good friend of mine gave me 5 feet trailer, rooftop tent, and a camping fridge. Within no time, I was able to install the tent onto the trailer, and set of on my first outdoor camp in a long time.
With no time beforehand to test the actual working of the fridge, camp was set up, and the fridge powered up on the highest temperature setting, and some beers added to the fridge. The next morning, opening the fridge revealed solidly frozen drinks. It seemed as if the thermostat of the fridge was faulty.
After the camp, I did some research on the internet, and discovered that this specific camping fridge is actually a deep freezer. With no detailed specifications available, I decided to open up the unit, and get the temperature range from the thermostat. And indeed, the thermostat was rated for -7.5 to -26 degrees C.
This is not the ideal temperature when camping, as everything inside the fridge will be frozen solid. The cold temperature caused the eggs to crack, beer cans to pop open, and water undrinkable.
I set of in search of a different thermostat that can control the temperature between -10 and +10 degrees C, but was unable to find one. Although there are many different temperature controllers available on eBay etc., I was not prepared to wait for the three months delivery. Locally, these units cost between 10 and 25 times more than on eBay, thus my decision to design my own.
Step 1: The Design
For temperature control, I decided to keep the design as simple as possible, without making major modifications to the fridge itself. This included mounting the new controls on the original control panel. This panel did not have space to add a display, and there is very little space available at the back of the control panel to mount any electronics.
The circuit consist of seven systems:
Power Supply: I had a 9.5V AC PCB mount transformer available, and this is used to convert the 220V AC into a usable voltage for the electronics. Smoothing capacitors and filter capacitors, together with a LM7805 makes up the 5V DC for the electronics.
Temperature Setpoint: The original thermostat was removed, and I installed a high-quality pot in it's place. This pot is used to set the temperature of the unit
Temperature Sensor: A Dallas DS18B20 1-wire sensor is used to measure the temperature. I had one available in a water prove housing with a 1m lead already attached.
Status LED: The original 220V AC neon indication light was replaced with a high-bright LED.
Push Button: A push button was added, but more about it's function later.
Relay Circuit: The relay is used to control the compressor motor, and replaces the original thermostat contact.
AtTiny 85: This is the heart of the system, and will control all of the functions of the temperature controller.
Apart from temperature control, some additional features were added:
Power On Delay: When power to the fridge fails, the fridge switches off. If the power is restored soon afterwards, the compressor is still under pressure, and the motor will not be able to start. This can be heard by the intermittent clicking of the motor over current unit. To prevent this, the control unit incorporates a 10 minute timer to prevent the compressor from starting within 10 minutes after the power is restored. This time will allow the compressor to depressurize. So, no more worries when fellow campers plug and unplug extension cords.
Settling Delay: The fridge still use a standard fridge compressor, and not one of the newer Danfoss units. For best results, a fridge must be left standing for about an hour after it has been transported to allow the oil and gas to settle. When arriving at your camp site, the last thing on your mind is to leave the fridge off for an hour, and then turn it on. For this purpose, the push button was added to the control panel. When the fridge is switched on for the first time, the 10 minute Power On Delay timer will be active. Pressing the button, will activate the Settling Delay timer, which will keep the compressor turned off for 60 minutes, before switching on automatically.
Motor Timer: To prevent quick on and off control of the compressor, an additional timer was added to prevent the motor from starting within 10 minutes after it was switched of during normal operation.
Power On/Off: The original thermostat had a mechanical On/Off switch to turn off the fridge. To eliminate additional 220V AC wiring to the control panel, the temperature set point pot is also used to switch off he fridge.
Indication LED: With only one LED, the different operating modes of the control unit is indicated by different LED flash rates.
1 Flash per second - 10 minute Power On Delay
2 Flashes per second - 60 minute Settling Delay
Continuous On - Fridge On
Continuous Off - Fridge turned off with set point pot, or no power.
Long flash every 2 seconds - Compressor running
Most of the temperature and timer settings can be changed by editing the settings in the Arduino sketch.
Step 2: Control Panel
Due to limited space available at the back of the control panel, the control unit could not be fitted to the control panel.
The temperature set point pot, indication LED and push button were mounted on the control panel, and will be connected to the control unit with five wires. All connections were covered with heat shrink to make it mechanically more robust.
Step 3: Mounting the Temperature Sensor
Unfortunately, the DS18B20 sensor did not fit in the original thermostat capillary tube hole. There was also no access to the inner aluminium box of the fridge. The inner fridge compartment is also mounted inside a outer sheet metal compartment, and filled up with expanding foam.
From the compressor side of the fridge, there was no access to drill any holes into the outer sheet metal compartment to fit the sensor.
I decided to mount the sensor inside the fridge compartment, on one of two steel bars. Removing the bottom bar, I was able to gain access to the expanded foam via it's mounting hole. With a pin, I determined that there ware no coolant pipes between the inner and outer compartments. I drilled a small pilot hole from the inside of the fridge, right through to the outside of the fridge.
The outside hole was enlarge up to 10mm, and the foam removed. This way, I was able to see that it will be safe to drill a new 4mm hole for the sensor.
Using a piece of wire, I was able to pull the sensor cable from the inside of the fridge, through the expanding foam, to a hole at the bottom of the fridge. This was by far the most difficult part of the modification.
The sensor was then mounted to the small steel bar using some heat shrink sleeve.
The outside hole was covered up with a sticker to hide the 10mm hole.
Step 4: PC Board Design
The PC Board was designed using the freeware version of Eagle. Most components are mounted onto the PC Board, and the electrical connections to the existing fridge wiring is done using screw terminal blocks.
Connections to the temperature sensor and control panel is done via 8 header pins.
Assemble the PC Board by first adding the resistors and diodes. Then continue with larger components.
Finally, mount the PC Board inside a suitable enclosure, and make sure all wiring are secured.
Plug in the temperature sensor and control panel wiring into the 8-pin header.
With the unit unplugged, connect the original thermostat wiring to the new control unit.
I was able ti find some space on the side of the unit to mount the control unit.
! ! ! IMPORTANT NOTE ! ! !
MAINS VOLTAGE PRESENT ON THE PC BOARD !!!!
AFTER ASSEMBLY OF THE PC BOARD, CLEAN OF ALL REMAINING FLUX, AND APPLY 2 - 3 COATS OF CLEAR LACQUER TO THE SOLDER SIDE OF THE PC BOARD.
Step 5: Calibration
To calibrate the set-point pot, upload the Calibrate sketch to the AtTiny85.
The default settings in my sketch is for control between +10 and -10 degrees C.
The LED will now come on only at the following set-points:
+10, +5, 0, -5, -10 degrees C
I used thin pinstripe stickers to make the relevant marks on the dial.
You will notice that there is a large dead band between the pot when turned fully anti clockwise, and the point where the +10 degrees C LED comes on. This is to ensure that when the pot is turned fully anti clockwise, the unit is switched off.
After calibration, you have to upload the Final sketch to the AtTiny85.
Step 6: Final Testing
After assembly, I used a Arduino temperature logger to verify the correct operation of the controller. As can be seen on the graph, the temperature was controlled within 1 degree of the set-point.