Главная » Автоматика в быту
Призовой фонд
на март 2017 г.
1. UNI-T UT-39C
Паяльник
2. Тестер компонентов LCR-T4
Паяльник
3. 100 руб.
От пользователей

Похожие статьи:


Два термометра на PIC16F628A и DS18B20

Информацию о температуре в комнате и на улице (или в салоне автомобиля и за бортом) можно получить с помощью одного микроконтроллера, двух датчиков и одного 4-х цифрового светодиодного индикатора. Пределы измерения от - 55.0 до +125.0 градусов Цельсия с точностью отображения 0.1. Нужно только помнить, что конструкторы обещают погрешность датчиков не более ± 0.5 градуса в диапазоне от -10 до +85.

Показания температуры первого датчика

Процесс индикации выглядит следующим образом: 5 секунд показывается температура первого датчика - 3 секунды все потушено – 5 секунд температура второго датчика – 3 секунды перерыв – и опять сначала. На левом крайнем индикаторе горит один сегмент – первый датчик, два сегмента – второй датчик. В случае обрыва датчика или его отсутствия будет светиться надпись «OFF».

Показания температуры второго датчика

Номер датчика не будет светиться в двух случаях: если температура отрицательная (будет светиться минус) и если температура выше 100 градусов (будет светиться 1хх.х).

На фотографиях датчиков не видно, они временно припаяны со стороны проводников.

Схема 2-х термометров на PIC16F628A и DS18B20

Датчики управляются портами 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 Поиск в FivelВ блокнот
Q1, Q2 Датчик температуры
DS18B20
2 Поиск в FivelВ блокнот
VT1-VT4 Биполярный транзистор
КТ3102
4 Поиск в FivelВ блокнот
C1 Конденсатор0.1 мкФ1 Поиск в FivelВ блокнот
R1, R15 Резистор
4.7 кОм
2 Поиск в FivelВ блокнот
R2, R3, R5, R6 Резистор
1.5 кОм
4 Поиск в FivelВ блокнот
R4 Резистор
10 кОм
1 Поиск в FivelВ блокнот
R7-R14 Резистор
300 Ом
8 Поиск в FivelВ блокнот
7-ми сегментый индикаторFYQ 3641A1 Общий катод, U=2 В, I=10 мАПоиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: Изменена: 28.04.2014 0 3
Я собрал 0 2
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 2 чел.

Комментарии (49) | Я собрал (0) | Подписаться

0
Костя #
Собрал Ваше устройство термометр, огромное спасибо! Но вот только сильное мерцание при измерении температуры! Когда горит off - мерцания нет! Питаю от аккумуляторов! Помогите, это исправить?
Ответить
+1

[Автор]
VIG #
Добавил обновленный НЕХ файл. Мерцаний не будет.
Ответить
0
Денис #
Приспособил Ваш девайс к индикаторам ИВ-9. Работает отлично! Только мерцание немножко бесит!
Ответить
+1
Руслан #
Можно сделать чтобы с общим анодом были индикаторы?
Ответить
0

[Автор]
VIG #
Для индикаторов с общим анодом нужно переписывать программу. Руслан, сообщи, насколько для тебя это важно. Если очень нужно, сделаю.
Ответить
0
Ильдар #
С новой прошивкой также мирцает. Что еще предпринять?
Ответить
0

[Автор]
VIG #
У тебя все детали соответствуют схеме?
Ответить
0
Petr #
Собрал схему - не работает. В схеме термометра на pic16f628a использовал вместо индикатора FYQ3641A четыре штуки русских АЛС321А1 (соединил все правильно) и вместо транзисторов КТ3102 транзисторы КТ315. Почему не работает схема?
Ответить
0
Ильдар #
Какие детали схемы нужно проверить на соответсвие в первую очередь?
Ответить
+1

[Автор]
VIG #
LED - индикатор и транзисторы, коэффициент усиления.
Сегодня я закончил доработку программы: полностью убрал паузы между индикацией первого и второго термометров, увеличил время свечения каждого до 30 сек, уменьшил до минимально возможного время "общения" МК с датчиком. Мерцание заметно только "палочек" : "i" и "i i" с близкого расстояния. Если очень тщательно присмотреться. Пришлось увеличить инерционность термометров: одно измерение в сек. Файл называется TER5.3.HEX или в архиве TER5.3. Сегодня же займусь статьёй.
Ответить
+1
Ильдар #
Прошил последней прошивкой, сейчас вроде бы все нормализовалось, мерцаний как таковых нет. Спасибо за оперативность и за хороший девайс. Если не затруднит, можно было бы и прошивку под общий анод, есть в наличии...
Ответить
0
Ильдар #
Появилась новая бяка, когда термометр проходит ноль на минус сразу начинает показывать -16 и десятые. При положительной + температуре все нормально. Думал что датчик, с другим также. Поставил 628 со старой прошивкой, там нормально, если можно так сказать светятся два ноля, когда проходит через ноль, точка и десятые. Должно наверное светится один ноль(градусы)-точка-и десятые. В общем такие вот дела. При плюсовой все окей, а на минусе что-то не то. Проверьте пожалуйста.
Ответить
0

[Автор]
VIG #
Уже почти 2 года прошло, как я написал эту статью. Я уже и программу пишу несколько другим стилем. Пара таких термометров еще работает, но сейчас я делаю на 628 пике 2 термометра со своими индикаторами (статью только выложил). Но это мой крест, и мне его нести.
Ильдар, я не все понял. Ты не мог бы заснять "ненормальности" на видео и мне прислать? Я сейчас пришлю тебе свой адрес.
Под общий анод кроме прошивки немного нужно и схему подправить. Но сначала - убрать глюки.
Ответить
0
Александр #
Спаял Ваш прибор, спасибо большое за конструкцию. Но выскакивает большой "баг" - при отрицательных температурах начинает ошибаться. Не может быть у меня в морозилке холодильника минус 14 при первой прошивке, и минус 25 при второй. Кстати, при прошивке ТЕР5.3 при переходе через "0" на индикаторе выскакивает сразу минус 16. Поправить как-то можно?
Ответить
0

[Автор]
VIG #
Ты уже второй, у кого датчик не выдерживает жестких временных (паспортных) рамок. Программу переделал. Не сегодня - завтра отредактирую.
Ответить
0
Александр #
Спасибо за хлопоты. Перепрошил.
Ответить
0

[Автор]
VIG #
Ответ для Petr. Не хочу повторяться. В своей статье Часы на PIC16F628A и FYQ я очень подробно пошагово описал метод полной проверки схемы.
Удачи!
Ответить
0
Penicillin #
Скажите, нет ли опечатки в названии датчика, точно 18D20, а не 18B20?
Ответить
0

[Автор]
VIG #
Термодатчик DS18B20. Прошу прощения за опечатку на схеме.
Ответить
0
Penicillin #
Собрал, работает неплохо.
Ответить
0
shubin #
Большое спасибо автору! Собрал уже несколько термометров по данной схеме. Всё замечательно работает. Особенно радует точность показаний температуры. Огромная просьба к автору переработать прошивку под использование индикаторов с общим анодом. Заранее спасибо.
Ответить
0
роман #
Собрал термометр, всё хорошо, но есть небольшие недочёты. Начинается измерение почему то со второго датчика, при обрыве первого датчика показывает "OFF" второго датчика, термометр не работает при обрыве второго датчика-показывает "OOFF", во время первого включения кратковременно показывает "85.0". Можно ли это как нибудь исправить?
Ответить
0

[Автор]
VIG #
Да. Можно. Обратись в фирму Dallas. Зачем они записали в датчик эту температуру 85? Пусть запишут 25 или 40. Хоть немного ознакомься с даташитом.
По поводу неправильного отображения датчиков - проверю. У меня часы с таким термометром уже три года работают, не замечал "неправильностей". Подергаю датчики, сообщу.
Ответить
0
elroman #
Расскажите пожалуйста о результатах работы ваших датчиков.
Ответить
0

[Автор]
VIG #
Я сделал три или четыре таких двойных термометров. Но все их раздал. Работают они до сих пор исправно.
У меня работает двойной термометр в "Музыкальных часах..." Нормально.
Ответить
0
elroman #
У меня не работает прибор, если нет датчика №2. У вас также?
Ответить
0

[Автор]
VIG #
Прибор должен работать. Вместо отсутствующего датчика будет писать OFF.
Ответить
0
elroman #
У меня происходит так: когда отключаю датчик подключенный к 15 ноге PIC прибор показывает OFF и переходит на другой канал. Если отключить датчик подключенный к 3 ноге PIC при включенном другом датчике, прибор показывает OFF, но на другой канал не переключается и так стоит бесконечно. Можно протестировать в Proteus, там всё видно.
Ответить
0

[Автор]
VIG #
А зачем?
Ответить
0
elroman #
Я считаю ,что нужно стремиться к совершенству!
Ответить
0

[Автор]
VIG #
Это устройство я сделал более трех лет назад. И оно предназначено для измерения двух температур. Если нужен один термометр, собери один. На ассемблере я не пишу уже больше года, и что-то менять, не проверив в железе, не хочу.
В "Музыкальных часах..." термодатчики на разъёмах. Поэкспериментировал с ними. Все нормально: 1- работает, второй - OFF и наоборот.
Ответить
0
elroman #
Мы друг друга видимо не понимаем. Пусть будет, как есть.
Ответить
0
if_else #
Доброго времени суток! Прочитал весь этот блог и решил сделать следующее.
Очень много радиолюбителей хотели избавиться от выявленных недостатков работы, предложенного автором термометра. Так вышло, что мой преподаватель из радиокружка, в который я ходил 15 лет назад, собрал данную конструкцию. Он обнаружил теже недостатки. После кружечки чая у него в гостях было принято решение помочь ему и написать программу без косяков. Ранее я уже писал программы термометров и хотел выложить свои варианты, но для начала надо было исправить этот.
Пожеланиями преподавателя было устранить мерцание индикаторов и сделать обновление температуры каждые 5 секунд.
Так вот, народ, кто хочет новую прошивку прошу скачивать. Кому нужно изменить программу для индикатора с общим анодом - можно сделать и это, обращаться через этот сайт (пишите в ЛС).
От себя добавлю, что придерживался схемы автора, но сильно хотелось её изменить:
1) изменить порядок включения сегментов a-h на прямой или обратный (видимо автор ввел свой порядок для уменьшения числа перемычек на плате);
2) изменить порядок включения общих катодов (думаю причина та же).
Т.о. программа переписана с "0", схема та же (прилагается к архиву).
P.S. Критика приветствуется.
Прикрепленный файл: Для сайта Паяльник.zip
Ответить
0
Александр #
Дорогой if_tlse! Если Вас не затруднит, опубликуйте прошивку в HEX для индикаторов с общим анодом. Заранее благодарен.
Ответить
0
if_else #
Здравствуй, Александр!
Прошивку изменить нет сложности, но мне нужно знать как будет включаться индикатор с ОА:
1) напрямую к выводам МК без транзисторов;
2) с транзисторами, но уже прямой проводимости (p-n-p), с подключёнными к "+" эммиттерами.
Ответить
0
if_else #
Изменённая программа для индикатора с ОА. Схема прилагается.
Прикрепленный файл: Termometr_PIC16F628a__v 2.2 (for NN)__OA_forum.zip
Ответить
+1
elroman #
Спасибо за понимание и труд. Работает так как нужно!
Ответить
0
if_else #
Если у Вас есть возможность редактировать программу и записывать её в микроконтроллер, то могу помочь изменить в ней какие-нибудь параметры и настройки.
Ответить
+1
victor #
Спасибо if-else за прошивку, после двух лет термометр стал показывать набор цифр, перепрошивка не помогала, проверка датчиков и платы ничего не дала. Только с новой прошивкой заработало как надо.
Ответить
0
Сергей 70 #
Пробую прошивку от if_else. Почему то датчик подключенный к входу 3 завышает показания на 2-3 градуса. Неужели нужно вводить программную корректировку для него? Как вы думаете if_else
Ответить
0
if_else #
Высылаю в качестве ответа видео. Оно снято на телефон, но надеюсь будет понятным.
http://www.youtube.com/watch?v=c0ssM86n3WM
Отредактирован 05.12.2015 16:23
Ответить
0
Сергей 70 #
Спасибо if_else за исчерпывающий ответ.
Возможно только такое в моей конструкции происходит:
1) Если припаять оба датчика к плате контроллера проводами одинаковой длины (в моём случае примерно 5 см), то они оба завышают показания температуры примерно на 2 градуса,
2) Если припаять оба датчика к плате контроллера проводами одинаковой длины (в моём случае примерно от 50см и более), то они оба показывают правильное значение температуры,
3) Если один датчик оставляем припаянным к плате контроллера проводами 5 см, а второй припаянный проводами длинной 50см и более, то первый завышает показания температуры, второй показывает правильно.
Но возможно это виновата топология моей платы.
Спасибо вам if_else
Ответить
0
if_else #
Сергей, очень странное наблюдение, но от длины проводов зависеть не должно. Это цифровые датчики. Вам аналоговый элемент находится внутри на кристалле датчика и соединён с внутренним АЦП очень коротники проводниками.
Я эту прошивку как только не проверял, и она работает. Мне сегодня сообщили, что еще 3 таких термометра с моей прошивкой работают исправно не первый месяц.
Думаю, надо проверить монтаж, питание схемы, номиналы резисторов и сами датчики.
Ответить
0
if_else #
Данную схему и программу к ней проверил в среде Proteus 8 Professional. Значения температуры заданные датчикам в схеме симулятора совпадают с отображаемыми
Если кто сомневается в программе для МК проверяйте её в Proteus или другом симуляторе. Вас никто не ограничивает.

Пару фоток прилагаю.
Ответить
0
if_else #
Готовые программы для индикаторов с ОК и ОА, а также схемы в прикреплённом архиве ниже.
Прикрепленный файл: Thermometers.zip
Ответить
0
Сергей 70 #
И действительно if_else вы правы на счёт датчиков. Интересный момент, прижимаешь датчик корпусом к его питающим проводам начинает завышать температуру на 2 градуса, или припаиваешь его непосредственно к входам контроллера тоже завышает, вот только при длине питающего кабеля от 50см и до 5м(дальше не проверял) всё отлично работает. Спасибо вам if_else за рабочие программы, можно ли ещё где то ознакомиться с вашими проектами...
Ответить
0
if_else #
Сергей 70, пока только этот опубликовал. Так получилось, что сделал похожий проект, а затем понадобилось подлатать этот, вот и подогнал свой проект под этот.
Что касается термометров, то у меня есть свой, но с одним датчиком и на дисковых батарейках. Очень низкое потребление тока в режиме "сна" МК позволяет батарейкам долго служить, а индикация разряда батареек позволяет контролировать момент их замены.
Отредактирован 11.12.2015 07:05
Прикрепленный файл: IMG_7504.zip
Ответить
0
if_else #
Ещё одно фото.
Прикрепленный файл: IMG_7501.zip
Ответить
0
Сергей 70 #
Да, занимательная малогабаритная конструкция.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Радиореле 220В
Радиореле 220В
Ветрогенератор Модуль радиореле на 4 канала
вверх