Thermometer-thermostat
This device is intended for measuring engine temperature, indication of heating and overheating, as well as for cooling fan control. The well-known DS18B20 sensor is used as a temperature sensor. Algorithm of error control in the process of data exchange with the sensor is implemented in the device. The device is calibrated by means of a single button, without using a programmer.
Characteristics
1 | Measured temperature range | -55° … +125°C |
2 | Fan on/off temperature | programmable (default +90° and +85°) |
3 | Indication of engine warm-up | switchable |
4 | Temperature of switching off indication of engine heating | programmable (default +40°) |
5 | Threshold of actuation of engine overheat indication | programmable (default +100°) |
6 | Indication | Dynamic, LED indicator |
PROJECT DESCRIPTION
The thermometer measures the temperature and displays it on the LED indicator. In warm-up mode, the digits blink until the cut-out threshold is reached (the function can be deactivated). In overheating mode the digits flash and 3 short warning beeps are emitted 3 times in a row.
If an error is detected, the instrument goes on displaying the error code until the correct data is received from the sensor. If error E-1…E-4 occurs, the fan relay will be on continuously, regardless of the actual engine temperature.
Error code E-5 is issued in case of error of reading and/or writing calibration data to EEPROM. This error is not related to the operation of the sensor, but indicates a violation of the integrity of the settings. When this error occurs the standard calibration data is loaded into the settings.
Error codes
Е-1 | Checksum error (CRC) while exchanging data with the sensor |
Е-2 | Sensor ID error DS18B20 |
E-3 | Sensor signal lead is shorted to ground |
E-4 | Sensor signal lead is open or shorted to +5V |
E-5 | Erroneous checksum (CRC) of the non-volatile EEPROM |
DEVICE SCHEMATIC
PLEASE PAY ATTENTION
It is very important to correctly connect the sensor to the device to avoid any glitches and oddities in operation.
CALIBRATION
To enter the calibration mode press and hold the button for a couple of seconds. The digits on the screen will start flashing, indicating the value to be changed and audible signals will sound corresponding to the selected parameter. Then by short pressing the button you can change the value, and by long pressing the button you can select the desired parameter.
1 beep – setting of the fan switching on temperature, from 80 to 115 degrees
2 beeps – setting the fan cut-off temperature, from 75 to one degree lower than the switch-on temperature.
3 beeps – Setting the overtemperature warning temperature, 80 to 125 degrees
4 beeps – Setting the engine warm-up temperature, from 0 to 50 degrees in increments of 5 or 10 degrees, as well as OFF mode when there is no warm-up warning
1 long beep – Writing data into EEPROM and exiting calibration mode. This is indicated by three dashes (—)
It is also possible to reset the instrument to its default settings. To do this, press and hold the button before turning on the instrument and apply power. The display will show clr for a couple of seconds. After this you can release the button, the default values will be loaded into the EEPROM and the unit will return to normal operation.
ARCHIVE WITH FILES
Contents of the archive:
File | Description | Note |
---|---|---|
termostat_vaz.hex | Firmware on microcontroller | — |
termostat_vaz.lay6 | VAZ-2107 dashboard | Format: SprintLayout |
termostat_vaz.spl7 | Layout | Format: sPlan |
DESIGN FEATURES
Transistors (except VT1) – Any n-p-n structure
Relay – Any normal automotive relay, with a pair of normally open contacts
DIY kit for making a digital thermometer and then integrating (not kolhozing) it into a car
Hello. Here is a review of the kit for making a homemade digital thermometer. I will also try to tell you about some tricks. For gurus my “tricks” may seem ridiculous, but to some, I hope, will help. Also in the review will be information about how this thermometer I installed, not fiddled with, but exactly installed in the car. It’s not really just a thermometer, it’s a thermostat, it has a load control output and set point change buttons, but I don’t plan on using those features. Those interested please… I don’t have an outside temperature sensor in my car. Due to this, I am experiencing some inconvenience. Analysis of off-the-shelf car thermometers was not satisfactory to me. Therefore, the choice fell on this set. Why this one? The thermometer uses a DS18B20 digital temperature sensor, which does not need to be adjusted or calibrated. It is already accurate to an absolute 0.5 degrees. But more about that below. Let’s move on to the kit.
Package and packing:
The seller put this memo-request:In it, the seller thanks you for choosing his particular store, talks about how he cares about customer satisfaction and asks you to remember to leave a good review. It goes something like this.
The package includes:
- 470 ohm resistor – 7pcs.
- 4.7 kOhm resistor – 5 pcs.
- 10 kOhm resistor – 1 pc.
- 1 kOhm resistor – 1 pc.
- 10 uF capacitor – 2 pcs.
- 0.1 uF capacitor – 1 pc.
- 30 pF capacitor – 2 pcs.
- Transistor S9012 – 4 pcs.
- 12 MHz quartz resonator – 1 pc.
- button – 3 pcs.
- AT89C2051 microcontroller – 1 pc.
- DIP-20 panel – 1 pc.
- DS18B20 temperature sensor – 1 pc.
- LED matrix 3631 – 1 pc.
- 2 x terminal strip – 2 pcs.
- red LED – 1 pc.
- printed circuit board – 1 pc.
- circuit diagram – 1 pc.
Printed Circuit Board:
Single-sided printed circuit board made of fiberglass. On the printing side is a protective lacquer layer, commonly referred to as “green”, on the side of the elements is silkscreened. The board size is 50x55mm. The quality is good.
Microcontroller:
The AT89C2051 microcontroller in a DIP20 package is an Atmel clone of the famous Intel Intell 8051 microcontroller. The official name of the Intel 8051 microcontroller family is MCS 51. The microcontroller is already “flashed”, i.e. contains the necessary program code.
Quartz resonator:
The microcontroller is equipped with a clock and uses an external 12 MHz quartz resonator for frequency stabilization.
Thermal Sensor:
The common digital sensor DS18B20 is used as a temperature sensor (Russian-language description). This temperature sensor is registered in the State Register of Measuring Instruments and has a description of the MI type (link). So in the description of the type of measuring instruments is stated that this temperature sensor has an absolute error of temperature measurement of +-0,5 degrees Celsius in the range from -10 to +85 degrees. Outside the range, the error increases to 2 degrees. This digital sensor has a “1-Wire” or “MicroLAN” interface. Works both with “active” power (using all 3 legs), and with “parasitic” (for this enough 2 wires). But due to the fact that the thermometer is supposed to be operated in a car with a high level of interference, it is better to connect all 3 legs.
Indicator:
A 3631 three-digit LED digital display with common red anodes is used as the indicator.
Screw terminals:
The terminal blocks are connected to each other with a dovetail socket. These terminal blocks have one design flaw: The axis of the soldering contact corresponds to the axis of the screw and if you apply enough force to the screw, the soldering contact will rotate, tearing off the solder. Therefore, it is necessary to tighten these terminals carefully, without excessive force.
The other elements:
The remaining elements are the most standard: capacitors, resistors, transistors, buttons.
Soldering:
It is desirable to solder using flux – alcohol colophony. It is made by yourself (rosin is ground into sand and dissolved in medical alcohol) or you can buy it in specialized stores. Ready to use rosin, for convenience, I advise to pour into a vial of nail polish, pre-cleaned from the varnish with acetone. Use a brush to apply the rubbing alcohol to the board and pins, and then solder with regular solder, such as PIC-61.
Soldered:
Near the holes, you may notice a residue of flux leaking from the print side.
To clean the flux off the board is placed in a liter glass jar and poured into alcohol or an alcohol and gasoline mixture for about half an hour. I usually wash the board with medical alcohol. Then this alcohol can be used to make spirits and colophony. After half an hour, the flux residue is washed off with a cotton swab or a not-so-hard toothbrush.
Setup and first power-up:
The board does not need to be adjusted, it should work immediately after power-up, but it did not work for me. At first I even thought that the controller was sent unprogrammed. But it turns out that the thermometer turns on in “standby mode” when the power is applied and you need to press the S1 button to “wake it up”. The same button can be used to send the thermometer back to the “standby mode” by long pressing. A short press will put it in the set point change mode. The set point indication mode is indicated by a blinking LED. Buttons S2 and S3 are used to change the set point. To confirm the set point, press S1 briefly. The setpoint is the temperature at which the output value at terminal X2 changes, which is additionally indicated by the red LED1. To the terminal block X2 you can connect a coil of low-power 5 volt relay, which contacts already control something more powerful. This works as follows: If the measured temperature is higher than the set point, the LED does not light up and the relay is de-energized, if the temperature falls below the set point, the LED lights up and voltage is applied to the contacts of the X1 terminal block, i.e. the relay is triggered. Thus with this thermometer, or more precisely the thermoregulator, it is possible to maintain the temperature in an oven (incubator). The thermometer is powered by a 5 volt DC. I couldn’t measure the current consumption, but it’s not very high. I think it is in the tens of milliamps.
Installing it in the car:
Well, time to move on to the second part of the review – the installation in the car. I do not like all sorts of “kolhozing” and stuffing the interior with all sorts of “gadgets”, so I tried to build the thermometer so that it was not visible from the outside. I decided to insert it into… regular receiver. The only function the receiver uses is the clock. That’s why the left side of the LCD is always blank. So I decided to hide the thermometer display underneath the LCD. To install the thermometer LED behind the receiver’s LCD, the thermometer indicator had to be extended with an 11 wire flat cable (I took the cable from the PATA interface, it was before SATA, if you don’t have it, you can buy it in a radiosupply store). Then in the plastic case behind the LCD indicator a flat slit the width of the cable is cut through, I drilled a number of holes 2mm with a drill, and machined them skachala office knife, then a small file. Next, I attached the indicator with thermal adhesive, removing the excess glue with a knife: The LCD indicator itself is transparent, but there is a scattering white plastic gasket behind the indicator. Here’s how you can see the numbers without the scattering gasket: And here’s how with the scattering gasket installed: I liked the second option better.
Power:
You have to keep in mind that the supply voltage of the thermometer is 5 volts, and the on-board voltage of most cars is 12 volts. You need to use a 5 volt stabilizer for this. I used a 7805 line voltage regulator in a TO-220 package. The circuit: I screwed the AVR to the heatsink. I attached the board itself with 2 standoffs to the main board. I connected S1 button to the regular button of the receiver having previously cut off tracks from the latter:
Connecting the temperature sensor:
To connect the temperature sensor I used an existing but unconnected 8 pin DIN-8 socket: As a connector I used an old Soviet stereo DIN-5 plug (the same used in old AT keyboards): Here’s how it turned out:
Thermal sensor and cable:
I used a 2-wire microphone cable because it is round in cross-section and flexible enough. It consists of 2 wires and a braid – screen. Here is this screen I connected to the “-” power of the sensor, wires as it turned out: Now it is necessary to seal the sensor. The easiest way is to put a heat shrink tube over it so that it overlaps part of the cable and stays outside the sensor for another 5-8 millimeters. Then shrink starting from the cable to the sensor and while the tube is still hot, clamp the end with pliers. It turns out this kind of airtight non-detachable “cover”:
The place of installation of the temperature sensor:
An important step in installing the outdoor thermometer is choosing the right place to mount the thermosensor. First I put the temperature sensor in the underhood space between the headlight and fender. While driving, the thermometer shows the correct temperature. But while parked, the underhood is heated by the running engine and the readings drift up. After researching the issue I found out the manufacturers install outside temperature sensors mainly in 2 places: In front of the radiator, under the hood lock: And in the rear view mirror: The second option seemed perfect to me, since there is definitely nothing to heat the thermo sensor in the mirror, provided the mirrors are unheated. My car has power mirrors and just without heating, so structurally there are already holes for the wires. To do this, I had to remove the door trim and part of the interior trim. The most time consuming part was to run the wire through the conduit with cables between the door and the interior:
Enjoying the result:
With the thermometer off but with the LCD indicator light on: With the thermometer on: I was pleased with the result.
Conclusion:
- The thermometer indicator can be replaced with a different size or color of illumination, but similar in connection, provided the remote connection as in this variant. You can use any 3-digit 7 segment LED matrix with a common anode or separately 3 single-digit 7 segment indicators, also with a common anode. There are a lot of similar indicators from different manufacturers such as Kingbright.
- Some automobile manufacturers do not equip their cars with an outside thermometer but they do provide an indicator, usually with a snowflake, which tells you that the weather conditions are close to ice formation. With this thermometer, you can implement such a function. You can connect the thermostat output (terminal X2) to some light bulb on the dashboard, or bring out an additional LED and by setting the set point +1 degree, you can indicate the temperature drop to this set point.
P.S. There is a variant of exactly the same builder for a couple of dollars cheaper (thanks to gargargar for the information). But the quality of the circuit board is worse there. Gargargar mentioned it in his comment and on the main page there is also a comment “Very hard to solder, blue PCB”.