Датчик включения вентилятора на DS18B20 с индикацией текущей температуры

Автор: | 28.10.2015

Наверняка многие счастливые и не очень, обладатели старых автомобилей марки ВАЗ сталкивались с проблемой выхода из строя вот этого датчика:

1422013-1-0-95eb04a8c8ae1f369cc85d48cee795c4

Устроен он довольно просто два контакта, один выполнен из термочувствительного металла и в процессе нагревания датчика термочувствительный элемент растягивается и когда температура датчика достигает примерно 92 градуса, происходит замыкание контактов. Включается вентилятор и начинается интенсивное охлаждение радиатора и когда температура датчика падает примерно до 87 градусов, контакты размыкаются.

12

Вообщем просто все до безобразия, и все таки это на первый взгляд простое устройство довольно часто выходит из строя. Не вольно закрадывается мысль, о том что конторам которые их производят довольно выгодно производить их плохого качества. Цена у него не большая в районе 200 рублей, не особо напрягает купить новый, но когда берешь уже 5й по счету датчик это уже начинает напрягать. Я думаю наверняка у многих в гараже валяется пара а то и больше неисправных датчиков.

Вообщем пришла идея сделать электронное управление вентилятором охлаждения, с использованием микроконтроллера Atmega 8, и цифрового датчика DS18B20.

Датчик DS18B20 купил в таком виде:

DFR0198-1_enl

Назначение проводов: Yelow (Данные); Black(Общий или GND); Red(Питание +5V).

Сам датчик находится под металлической оболочкой, и выглядит вот так:

DS18B20

Назначение его выводов с лева на право:

GND (Общий); DQ (Данные); Vdd (Питание +5V).

Как его установить вместо штатного? Да очень просто, берем старый датчик греем его газовой горелкой или на кухонной плите, и выколупываем все содержимое, и сверлим по центру отверстие диаметром примерно 5.5 мм.

 S1510004         S1510007

Вставляем датчик DS18B20 в отверстие так чтобы он выступал из него примерно на 5 мм. После установки DS18B20, замазываем полость вокруг него холодной сваркой.

Принцип работы устройства:

Измеренное датчиком значение температуры сравнивается и выводится на LED дисплей. Если значение температуры больше либо равно 92°C, то на контакте PC3 микроконтроллера устанавливается логическая 1, и контакты реле Rel 1.1 замыкаются включая вентилятор. Когда температура достигает значения ниже либо равно 87°C,  то на PC3 устанавливается логический 0, и контакты реле Rel 1.1 размыкаются выключая вентилятор. Светодиод HL2 служит индикатором состояния реле Rel 1, если на его обмотку подано напряжение то светодиод горит.

Схема

Sheme

Для индикации текущей температуры используется трех разрядный с общим анодом семисегментный индикатор красного цвета, вывод значения на который осуществляется по алгоритму динамической индикации. Напряжение +5В получается с помощью линейного стабилизатора 7805 на 1А в корпусе D2PAK. Питание DS18B20 полноценное, +5V по отдельному проводу. Загрузка прошивки в контроллер производится через разъем ISP CON1. Разъем для прошивки я сделал таким образом чтобы все контакты были задействованы, в отличие от разъема программатора USB ASP.

USBasp-pin

Это распиновка ISP коннектора программатора USB ASP, здесь лишние контакты которые нам не нужны это: 3 6 8 10. В целях экономии ресурса сверла, припоя и двух рядной PLS линейки решил сделать в одно рядную PLS линейку. Для подключения питания 13.5V, контактов реле Rel 1.1, провода данных DQ и питания +5V датчика DS18B20, общего GND провода к плате устройства используется клеммные зажимы.

Печатная плата

55646

44645

Файл проекта печатной платы в DipTrace: Скачать

Использованные детали

Atmega 8 в корпусе TQFP32

LED индикатор LD-3361BS с общим анодом

Реле 833H- 1C-C 12VDC из UPS

Линейный стабилизатор LM7805 в корпусе D2PAC

Транзисторы: BD139(корпус TO-220), 2N5551(корпус TO-92)

Светодиод: 3mm 20mA green

Датчик температуры: DS18B20(корпус TO-92)

 PLS линейка 1 ряд 6 контактов

Конденсаторы электролитические: 10uF 16v

Резисторы SMD типоразмер 1206

Клеммник с винтом 2 контакта

Диоды: SM4007

Куда подключить контакты реле Rel 1.1

1451

А подключить необходимо к проводам которые подключались к контактам старого датчика. Получается что контакты реле Rel 1.1 замыкают выводы 30 и 85 силового реле которое включает вентилятор.

Код программы на C в CodeVisionAVR

Тактовая частота 4МГц

Hex файл прошивки Скачать

В заключение

Фото уже встроенной платы в панели авто:

S1460001

Не айс конечно но можно при желании сделать по красивее. В правом верхнем углу две кнопки, это кнопки ручного выбора значений включения, выключения. По тестировал с разными значениями и решил исключить их из проекта. Работает все стабильно, есть один прикол конечно при запуске двигателя, может словить глюк но это редко бывает и к тому же легко решается путем установки экранированного кабеля от платы до датчика или отключением питания на время пуска. В будущем планирую поставить еще один датчик на двигатель.

 

Вопросы замечания в комментариях пожалуйста.

 

Добавить комментарий