Информацию о температуре в комнате и на улице (или в салоне автомобиля и за бортом) можно получить с помощью одного микроконтроллера, двух датчиков и одного 4-х цифрового светодиодного индикатора. Пределы измерения от - 55.0 до +125.0 градусов Цельсия с точностью отображения 0.1. Нужно только помнить, что конструкторы обещают погрешность датчиков не более ± 0.5 градуса в диапазоне от -10 до +85.
Процесс индикации выглядит следующим образом: 5 секунд показывается температура первого датчика - 3 секунды все потушено – 5 секунд температура второго датчика – 3 секунды перерыв – и опять сначала. На левом крайнем индикаторе горит один сегмент – первый датчик, два сегмента – второй датчик. В случае обрыва датчика или его отсутствия будет светиться надпись «OFF».
Номер датчика не будет светиться в двух случаях: если температура отрицательная (будет светиться минус) и если температура выше 100 градусов (будет светиться 1хх.х).
На фотографиях датчиков не видно, они временно припаяны со стороны проводников.
Датчики управляются портами RA4 и RA6 по последовательному интерфейсу 1- Wire (Q1 и Q2). Датчики подсоединяются к плате с помощью трехжильного неэкранированного провода диаметром 0.35 мм.
Резистор R1 и R15 обязательно 4,7 кОм. R4 в пределах 4,7-10к; R7-R14 – 270-360 Ом; R2,R3,R5,R6 – 1- 3к.
Транзисторы любые n-p-n.
Питание 4,5 – 5 вольт, ток < 60мА. (Блок питания я описывал в устройстве Часы на PIC16F628A и FYQ 3641A). Можно использовать его или любой другой.
Скачать прошивку и файл печатной платы LAY вы можете ниже.
Обновления:
- 28.04.2014. Заменена прошивка TER5 rar. Предыдущая некорректно работала в минусовых температурах. Пауз нет, индикация каждого термометра около 30 сек.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
МК PIC 8-бит | PIC16F628A | 1 | Поиск в магазине Отрон | |||
Q1, Q2 | Датчик температуры | DS18B20 | 2 | Поиск в магазине Отрон | ||
VT1-VT4 | Биполярный транзистор | КТ3102 | 4 | Поиск в магазине Отрон | ||
C1 | Конденсатор | 0.1 мкФ | 1 | Поиск в магазине Отрон | ||
R1, R15 | Резистор | 4.7 кОм | 2 | Поиск в магазине Отрон | ||
R2, R3, R5, R6 | Резистор | 1.5 кОм | 4 | Поиск в магазине Отрон | ||
R4 | Резистор | 10 кОм | 1 | Поиск в магазине Отрон | ||
R7-R14 | Резистор | 300 Ом | 8 | Поиск в магазине Отрон | ||
7-ми сегментый индикатор | FYQ 3641A | 1 | Общий катод, U=2 В, I=10 мА | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Комментарии (84) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
[Автор]
[Автор]
Сегодня я закончил доработку программы: полностью убрал паузы между индикацией первого и второго термометров, увеличил время свечения каждого до 30 сек, уменьшил до минимально возможного время "общения" МК с датчиком. Мерцание заметно только "палочек" : "i" и "i i" с близкого расстояния. Если очень тщательно присмотреться. Пришлось увеличить инерционность термометров: одно измерение в сек. Файл называется TER5.3.HEX или в архиве TER5.3. Сегодня же займусь статьёй.
[Автор]
Ильдар, я не все понял. Ты не мог бы заснять "ненормальности" на видео и мне прислать? Я сейчас пришлю тебе свой адрес.
Под общий анод кроме прошивки немного нужно и схему подправить. Но сначала - убрать глюки.
[Автор]
[Автор]
Удачи!
[Автор]
[Автор]
По поводу неправильного отображения датчиков - проверю. У меня часы с таким термометром уже три года работают, не замечал "неправильностей". Подергаю датчики, сообщу.
[Автор]
У меня работает двойной термометр в "Музыкальных часах..." Нормально.
[Автор]
[Автор]
[Автор]
В "Музыкальных часах..." термодатчики на разъёмах. Поэкспериментировал с ними. Все нормально: 1- работает, второй - OFF и наоборот.
Очень много радиолюбителей хотели избавиться от выявленных недостатков работы, предложенного автором термометра. Так вышло, что мой преподаватель из радиокружка, в который я ходил 15 лет назад, собрал данную конструкцию. Он обнаружил теже недостатки. После кружечки чая у него в гостях было принято решение помочь ему и написать программу без косяков. Ранее я уже писал программы термометров и хотел выложить свои варианты, но для начала надо было исправить этот.
Пожеланиями преподавателя было устранить мерцание индикаторов и сделать обновление температуры каждые 5 секунд.
Так вот, народ, кто хочет новую прошивку прошу скачивать. Кому нужно изменить программу для индикатора с общим анодом - можно сделать и это, обращаться через этот сайт (пишите в ЛС).
От себя добавлю, что придерживался схемы автора, но сильно хотелось её изменить:
1) изменить порядок включения сегментов a-h на прямой или обратный (видимо автор ввел свой порядок для уменьшения числа перемычек на плате);
2) изменить порядок включения общих катодов (думаю причина та же).
Т.о. программа переписана с "0", схема та же (прилагается к архиву).
P.S. Критика приветствуется.
Прошивку изменить нет сложности, но мне нужно знать как будет включаться индикатор с ОА:
1) напрямую к выводам МК без транзисторов;
2) с транзисторами, но уже прямой проводимости (p-n-p), с подключёнными к "+" эммиттерами.
http://www.youtube.com/watch?v=c0ssM86n3WM
Возможно только такое в моей конструкции происходит:
1) Если припаять оба датчика к плате контроллера проводами одинаковой длины (в моём случае примерно 5 см), то они оба завышают показания температуры примерно на 2 градуса,
2) Если припаять оба датчика к плате контроллера проводами одинаковой длины (в моём случае примерно от 50см и более), то они оба показывают правильное значение температуры,
3) Если один датчик оставляем припаянным к плате контроллера проводами 5 см, а второй припаянный проводами длинной 50см и более, то первый завышает показания температуры, второй показывает правильно.
Но возможно это виновата топология моей платы.
Спасибо вам if_else
Я эту прошивку как только не проверял, и она работает. Мне сегодня сообщили, что еще 3 таких термометра с моей прошивкой работают исправно не первый месяц.
Думаю, надо проверить монтаж, питание схемы, номиналы резисторов и сами датчики.
Если кто сомневается в программе для МК проверяйте её в Proteus или другом симуляторе. Вас никто не ограничивает.
Пару фоток прилагаю.
Что касается термометров, то у меня есть свой, но с одним датчиком и на дисковых батарейках. Очень низкое потребление тока в режиме "сна" МК позволяет батарейкам долго служить, а индикация разряда батареек позволяет контролировать момент их замены.
По опыту форумчан выяснилось, что могут быть проблемы с не оригинальными датчиками, хотя я применял всякие разные и все работало.
Порой ошибка кроется в мелочах - проверьте номинал подтягивающего резистора для датчика температуры. Если не ошибаюсь, то чем длиннее шина данных, тем меньше должен быть номинал этого резистора (следует обратиться к справочнику (даташиту)).
Необходимо учитывать спецификации индикаторов.
Они у Вас светодиодные, газоразрядные .... ?
Ваша плата уже готова?
Сначала начертите схему, а там постараюсь пересобрать проект под PIC18F2520.
P.S. если нет весомых причин, то я использовал бы PIC16F628 как наиболее простенький и достаточный для данного проекта
Я посмотрел на Ваши печатки, они разведены под 4-х разрядные индикаторы, если я не ошибаюсь?
Если не затруднит, то можно и для двух датчиков.
[Автор]
Индикатор в этих часах состоит из 4 отдельных модулей, при этом те, что отображают минуты, перевернуты.
[Автор]
[Автор]
16 вывод микроконтроллера свободен, можно ли сделать его для управления транзистором, для включения реле при достижении 95 градусов и остывания до 85 градусов, хотелось бы собрать для контроля температуры двигателя автомобиля и управления вентилятором охлаждения .
Возможна ли такая доработка? думаю многим пригодилась бы.
[Автор]