Термометр
В данной статье описывается цифровой термометр на базе микроконтроллера (МК) ATtiny2313-20SU с внешним датчиком температуры DS18В20. Этот датчик обеспечивает точность измерения 0,5°С в диапазоне -20…+80°С (рабочий диапазон -55…+125°С). Данные в МК передаются по однопроводному интерфейсу 1-Wire. Прежде чем пойдёт подробное описание моего устройства, рассмотрим преимущества и недостатки цифрового термометра.
Недостатки: считается, что цифра затрудняет восприятие и отвлекает от управления авто, хотя на иномарках уже спидометры цифровые и ничего ездят
Преимущества: теперь наконец-то известна реальная температура двигателя с точностью 1ºС (определяется количеством разрядов индикатора), хотя некоторым и стрелочный прибор не нужен, хватило бы лампочки перегрева. Известно, при какой температуре заводится ваш автомобиль, виден процесс прогрева двигателя, температура открытия термостата, включения электровентилятора, все отклонения в системе охлаждения (и вероятно даже пониженное октановое число бензина, если у вас впрыск с датчиком детонации). Цифры светятся и их видно под любым углом, даже снаружи машины. Пара дополнительных фишек: звуковой сигнал при перегреве, диагностика обрыва и КЗ на массу провода датчика.
Разводка платы сделана в Sprint Layout 5.0 rus, дистрибутив (5Мб) есть в инете.
Плата изготовлена по утюжной технологии, элементы SMD, кроме кварца и индикаторов (DA04-11SRWA). Типы, номиналы остальных элементов видны на схеме. Транзисторы любые, соответствующей полярности и с током не менее 200мА, стабилизатор напряжения самый ходовой L78M05ABDT. Зуммер с встроенным генератором любой на 5В, я использовал HCM1206Х. Остальные элементы также широко распространённые. Кондюки около стабилизатора лучше поставить большей емкости на порядок, но можно и такие. Выход HL идёт на сигнализатор перегрева (у меня параллельно ему висит зуммер на 12В), если у вас его нет, то транзистор можно не паять. Затраты на радиодетали 200-300руб.
Программа написана в среде Algorithm Builder v.5.20 (http://algrom.net). Это прога просто супер, спасибо автору Геннадию Громову, всем рекомендую. Без регистрации она работает с проектами до 1К слов, у меня пока 685 слов.
Контроллер впаян в плату, к ножкам внутрисхемного программирования припаян шлейф с разъёмом для программатора, схема программатора в описании среды (я спаял пассивный и активный USB программатор). Кварц использован на 8МГц. Но можно поставить любой из ряда: 1 — 20 МГц, при условии корректировки пауз в программе. Термодатчик подключается к плате тремя проводами: +5В, данные и земля.
Порог срабатывания звукового сигнала перегрева — 102 градуса, если нужен другой, смените константу в проге.
Электрические хар-ки: Uпит. = 8-30В, Iпот. = 30-130мА, длина провода датчика до 100м.
Алгоритм работы устройства:
- Основной режим — отображение температуры, период обновления показаний датчика раз в 750мсек.
- В случае обрыва провода данных термодатчика или отсутствия ответа от него, загорится надпись «ОБР». В случае замыкания линии данных на массу «Еrr».
Немного о программе. Постарался напихать побольше пояснений на русском языке. Это для того чтобы вы попробовали разобраться в программе и возможно улучшили её. Реализовано округление и программный гистерезис показаний датчика, проверка контрольной суммы (CRC8).
Термометр закреплён в RARовской приборке на месте родного датчика на двух 15мм стойках.
Для проводов в плате приборки проточено отверстие, провода распаяны на дорожки и залиты лаком (можно для ногтей). Дополнительный массовый провод протянут из моторного отсека и подключен к штекеру неиспользованной цепи лампочки пристёгнутых ремней безопасности. Самое сложное для меня было найти кусок темно красного оргстекла J, искал полгода, но темного так и не нашёл, пришлось изнутри вокруг индикатора всё закрасить чёрным перманентным маркером. Стекло закреплено маленькими саморезами.
Датчик температуры для F3R пришлось точить самодельный, родной было жалко портить. Сделали как и оригинал из двух деталей: алюминиевый корпус с запрессованным датчиком, в него ввёрнута крышка из термостойкой пластмассы. Всё залито герметиком, провода выведены наружу. Оригинальный разъём не нашёл, пришлось приспособить разъем от датчика холла. Как показали натурные испытания алюминиевый корпус датчика работает как радиатор, отдавая тепло в моторный отсек и занижая температуру ОЖ. Поэтому в алюм. болванке были просверлены отверстия для проводов, а сам датчик приклеен через текстолитовую прокладку с внешней стороны корпуса клеем ВК9.
Дальнейшая эксплуатация показала ненадёжность этого решения. Из-за разного коэффициента температурного расширения образовалась микротрещина и антифриз немного (капля в день) просачивается из датчика. Сейчас буду делать новый датчик на основе четырёхконтактного VAG.
Владельцам машин с уфимским или вазовским моторами датчик можно изготовить по рецепту Альфа, только общий провод я бы рекомендовал тянуть вместе с +5В и сигнальным проводом на индикатор, так надёжнее. Окунуть датчик в расплавленный припой тоже довольно смело, я бы на это не решился, можно залить холодной сваркой.
Второй месяц проводятся ежедневные испытания этой конструкции. Замечено пара дефектов, во первых при перегреве не срабатывает зуммер, нужно доработать программу, во вторых при заводке двигателя иногда загорается надпись «Err» (тухнет только выключением/включением зажигания), возможно замыкаются контакты в датчике, подмоченном антифризом. Датчик будем делать новый. Когда будет тепло, модифицируем программу контроллера. А в остальном всё работает, очень удобно следить за прогревом мотора. Например сегодня с -8°С, до +30°С прогрелся за три минуты, можно ехать не опасаясь за ресурс двигателя. Рабочая температура мотора зимой 75-80°С, больше не прогревается.
Сделать этот девайс я решил после прочтения статьи Альфа http://club.azlk.ru/index.php3?mode=memberpage&userid=69929 про аналогичный термодатчик. В его статье про электронный спидометр подробно показана технология изготовления печатной платы.
Сори за фото, фотоаппарата как обычно под рукой не было, некоторые вещи щёлкал мобилой.
P.