Двухканальный термометр, часы
на ATmega8, DS18B20, DS1307, LCD 1602
Схема двухканального термометра и часов
Печатная плата двухканального термометра и часов
Описание работы двухканального термометра и часов
Предлагаю вашему вниманию простую схему и конструкцию "Двухканальный термометр, часы на ATmega8, DS18B20, DS1307, LCD (ЖК) 1602".
Конструкция позволяет выводить на двухстрочный символьный индикатор текущее время, дату, месяц, день недели и текущую температуру с двух цифровых датчиков температуры.
Схема двухканального термометра и часов
Конструкция собрана на микроконтроллере ATmega8-16PU, микросхеме часов реального времени DS1307 в DIP корпусе, цифровых датчиках температуры DS18B20, ЖК индикаторе LCD1602
Схема устройства создана в программе "Cadsoft Eagle"
Датчики температуры подключаются к разъемам DS1 и DS2:
- вывод 1 - к выводу GND датчика
- вывод 2 - к выводу DQ датчика
- вывод 3 - к выводу Vcc датчика
Подключение датчиков на схеме не соответствует печатной плате.
Программа подогнана под печатную плату, необходимо подключать:
- 1-й датчик к РВ1 (15-й вывод)
- 2-й датчик к РВ2 (16-й вывод)
Обращаю ваше внимание на подключение выводов порта D микроконтроллера к выводам индикатора:
- PD0 микроконтроллера - к выводу D7 индикатора
- PD1 микроконтроллера - к выводу D6 индикатора
- PD2 микроконтроллера - к выводу D5 индикатора
- PD3 микроконтроллера - к выводу D4 индикатора
Такое подключение выбрано с целью упрощения разводки дорожек на печатной плате
Детали, примененные в конструкции:
В качестве ЖК дисплея применен 2- строчный, 16-символьный LCD дисплей китайского производства с маркировкой "1602А" - негативный, белые символы на темно-синем фоне с белой подсветкой. Также можно использовать любой аналогичный знакосинтезирующий (символьный) двухстрочный, 16-символьный индикатор, с поддержкой кириллицы или без поддержки, поддерживающий систему команд контроллера НD44780 типа:
- STN (FSTN) Negative (blue или black) с подсветкой (такой применен в конструкции) - такие индикаторы работают только с подсветкой
- FSTN Positive, TN Positive, HTN Positive - с подсветкой или без нее
Примененный китайский LCD индикатор не имеет встроенной кириллицы, поэтому, для наглядности вывода дня недели на индикатор в ОЗУ знакогенератора (CGRAM) записаны пользовательские символы - "П", "н", "т", "Ч", "б" и два символа в инверсном виде "Д" и "У".
Печатная плата двухканального термометра и часов
Конструкция собрана на односторонней печатной плате, все примененные детали - "выводные"
Печатная плата устройства создана в программе "SprintLayout".
На плате имеется три перемычки - П1, П2, П3
Кварцевый резонатор установлен на плате "лежа", корпус резонатора припаивается перемычкой к контактной площадке на плате под резонатором.
Описание работы двухканального термометра и часов
Основой конструкции "Двухканальный термометр, часы" является микроконтроллер ATmega8 в DIP корпусе с тактовой частотой 1 МГц от встроенного генератора с внутренней RC цепочкой. Установка FUSE-битов - по умолчанию, ничего менять не надо.
Для определения текущего времени применена микросхема часов реального времени DS1307, которая отсчитывает секунды, минуты, часы, дату месяца, месяц, день недели и год с компенсацией високосного года действительной до 2100 года.
На индикацию выводятся только:
- текущее время - часы и минуту
- дата месяца
- месяц
- день недели
В качестве датчиков температуры применены два цифровых датчика температуры DS18В20, которые позволяют измерить текущую температуру в пределах от -45 градуов до +125 градусов Цельсия с точностью 0,5 градуса.
На индикацию выводится текущая температура каждого датчика с разрядностью 0,1 °С
Перед значением каждой температуры выводятся символы "Д" и "У" в инверсном виде:
- "Д" - температура в доме
- "У" - температура на улице
Работа программы организована по прерываниям по переполнению от таймера Т1 возникающие каждые 4 секунды. Обновление текущего времени происходит каждые 4 секунды, обновление текущих температур с датчиков - поочередно, через каждые 4 секунды.
Питание устройства осуществляется от стабилизированного источника питания напряжением 5 Вольт, можно применить зарядное устройство от сотового телефона, или автономный источник питания - АКБ. Потребляемый ток зависит от яркости подсветки (номинала резистора R3) и в конкретном случае составляет 12 мА.
Управление устройством осуществляется двумя кнопками:
- S1 - "Выбор"
- S2 - "Установка"
При первом включение устройства (или при каждом включении при отсутствии резервного источника питания DS1307 - BAT1) устройство переходит в режим "Полной" установки. При этом необходимо выставить текущие год, месяц, дату, день недели и текущее время - часы-минуты. В этом режиме перевод пояснительной информации на русский не проводился (в отличии от индикации дня недели), все пояснения выводятся на английском (полная установка производится крайне редко, разобраться в ней не трудно):
Установка года "Year":
Мигающий курсор в виде белого прямоугольника указывает где и что нужно вводить:
- кнопкой "Установка" - выставляем десятки лет
- кнопкой "Выбор" - переходим к установке единиц года
- кнопкой "Установка" - выставляем значение единиц года
- кнопкой "Выбор" - переходим к следующей установке
Установка месяца "Month"
- аналогично установке года
Установка дня месяца "Data":
- аналогично установке года
Установка дня недели "Week":
- аналогично установке года, при этом - 1- Пн, 2 - Вт, 3 - Ср, 4 - Чт, 5 - Пт, 6 - Сб, 7 - Вс
Установка текущего времени "Hour_Min"
Для примера, текущее время 17 часов 39 минут:
- кнопкой "Установка" - выставляем десятки часов - 1
- кнопкой "Выбор" - переходим к установке единиц часов
- кнопкой "Установка" - выставляем единицы часов - 7
- кнопкой "Выбор" - переходим к установке десятков минут - 4
- кнопкой "Установка" - выставляем единицы минут -0
- секунды уже обозначены на дисплеи как "00"
- ровно в 17 часов 40 минут нажимаем кнопку "Выбор" и текущее время 17 часов 40 минут 00 секунд запишется в DS1307
В рабочем режиме кнопки "Выбор" и "Установка" позволяют перейти в режимы:
- кнопка "Выбор" - коррекция времени (при этом производится установка только текущего времени "Hour_Min" как описано выше)
- кнопка "Установка" - "Полная" установка
Для входа в нужный режим необходимо нажать соответствующую кнопку и держать ее до тех пор пока экран дисплея не очистится. После очистки дисплея отпускаем кнопку и через секунду переходим в выбранный режим.
Конструкция была разработана и тестирована на макетной плате, в "железе" не собиралась.
Поступило много комментариев на неработоспособность устройства, несоответствие печатной платы схеме.
Решено было воссоздать устройство в "железе".
Ниже представлены фотографии собранного устройства по схеме, печатной плате и прошивке опубликованных на этой странице.
Устройство заработало сразу, проблем не наблюдается.
Печатная плата выполнена методом ЛУТ. Из-за ошибки установки микросхем на плате, их пришлось выпаивать и переставлять (и на старуху бывает проруха), что привело к повреждению печатных проводников и, как результат, - внешний вид не очень, перемычка П2 установлена со стороны печатных проводников (не просверлил отверстия), датчик DS1 подсоединен кабелем длиной около 1 метра (так, чтобы он был на высоте около 30 см от пола, датчик DS2 подсоединен кабелем длиной 5 метров и выведен за окно. Разъемы для подключения датчиков взяты от куллеров старых компьютеров.
Была одна проблема - не сразу запустилась RTC DS1307, причина - канифоль между выводами кварца. После промывки платы часы заработали.
Программа устройства в НЕХ файле (10,8 КиБ, 3 818 hits) Программа в Algorithm Builder (27,3 КиБ, 3 612 hits) Схема двухканального термометра, часов в "Cadsoft Eagle" (390,1 КиБ, 2 306 hits) Печатная плата двухканального термометра, часов в "Sprint Layout" (51,7 КиБ, 4 414 hits)
Скачать с ЯндексДиска (дополнительно - даташиты на русском)
Все необходимые детали для сборки "Двухканального термометра, часов на ATmega8, DS18B20, Ds1307", включая запрограммированный микроконтроллер, вы можете заказать в интернет- магазине сайта "МирМК-SHOP"
Другие конструкции на микроконтроллерах:
1. Простые электронные часы на микроконтроллере ATyni26, с использование микросхемы часов реального времени DS1307
2. Простой термометр на микроконтроллере ATmega8 и датчика температуры DS18B20
3. Двухканальный термометр на микроконтроллере ATmega8 и датчиках температуры DS18B20
4. Двухканальный термометр, термостат, терморегулятор с возможностью работы по времени, одноканальный таймер реального времени на ATmega8 и датчиках DS18B20
Хорошие устройство! Собрал на макетной плате для пайки 80см х 60см. Получилось компактно, кнопки в низу под атмегой ближе к местам подключения к атмеге. Устройство рабочее. Сразу не запустилась из за грязи в районе пайки кварца, вобщем если спаяно все правильно начинает работать сразу! Спасибо автору!
Здравствуйте. Кто-нибудь может подсказать, почему при инициализации датчика DS18, если порт установить на выход и притянуть его ножку к "земле" (ту, на которой управляющий контакт DS18), то через подтягивающий резистор на этой ножке всё равно получается 5Вольт? Ради интереса поставил резистор 51кОм, и всё равно там 5В. Попробовал с двумя разными датчиками: оригиналом и неоригиналом.
Хотя нет, на осциллографе видно, что порт притягивается к "земле". Не видно только этот переход, когда МК отпускает шину, а резистор подтягивает ножку к 5В, и датчик тут же опять притягивает её к "земле" - слишком маленький промежуток получается.
Влад, к сожалению сейчас пока никто не может подсказать ответ на ваш вопрос, потому что эту статью писал предыдущий админ нашего сайта. Первое время он еще заходил сюда на сайт и отвечал на комментарии к своим статьям, но в последнее время он по необъяснимой причине к нам уже не заходит. Что случилось, я не знаю
Все работает. Проблема сдатчиками, из 3 датчиков один показывает нормально, 2 других -0.01.
В чем таки проблема? Кто знает?
Для любителей поиграться в Proteus сделал проект. Все работает. Протеус 8.6.2 Версия winRAR - 5.70
https://yadi.sk/d/84EdCDbUB_dOWQ
Здравствуйте. Как подкорректировать прошивку для OLED дисплея? Не выводится первая строчка приветствия и иногда путает строки местами. В интернете проблема известна - нужно прописать задержки и что-то ещё. Можете посмотреть? Может это не займет много времени...
Здравствуйте Сергей.
Письмо получил, завтра отвечу
Здравствуйте, не программируется указанный вами как основной файл hex 11 kb, из архива ЯД, пишет ошибку: "Ош. записи @=0000, надо 04, есть FF". В чем проблема? Подскажите пож. Спасибо
На выходных посмотрю
Не смотрели еще?
Извините, Сергей, не смотрел, и пока не получится, нет на это времени.
Приношу свои извинения.
Я всё таки доделал прошивку, правда сделал совсем по другому. Руссифицировал все тексты, убрал знак + и много чего ещё. В архиве несколько прошивок под олед дисплей, фото, а так же плата в смд варианте с ds3231. Вадим, прошу добавить в статью данный https://yadi.sk/d/yPj2S5uRW4_KiA архив (если не возражаете).
Здравствуйте! Собранные часы на микросхеме ds3231 сильно спешат при питании от зу телефона ,при работе от внутренней батареи все OK .Не подскажете в чем может быть причина?
Попробуйте использовать другое ЗУ. Установите конденсатор по питанию.
Здравствуйте! Собрал схему все работает.Спасибо.
У меня один вопрос, можно ли чтоб выносной термометр включить по радиоканалу т.е использовать китайские модули для этих целей.
За ранее спасибо.
Здравствуйте, Геннадий.
Сейчас, у меня в процессе тестирования, имеено то, о чем Вы написали.
После тестов Будет статья и программа.
С уважением, Admin.
Здравствуйте!
Подскажите пож... как продвигается процесс тестирования?
Когда будет статья и программа?
За ранее спасибо.
Доброго дня, Геннадий.
Медленно продвигается, не хватает времени.
Постараюсь на этой неделе закончить.
Здравствуйте! Собрал схему все работает.Спасибо.
Я приобрел аккумулятор LIR2032. Можно ли под заряжать его прямо в часах.
Здравствуйте Геннадий.
В китайских магазинах можно найти специализированные миниатюрные и очень дешевые платки для заряда аккумуляторов.
Также можно применить специализированные микросхемы (к примеру APL3202) и пристроить на плате часов даже навесным монтажом.
С уважением, Admin.
Здравствуйте!
Собрал часы, работают. Спасибо за схему.
Я купил аккумулятор LIR2032. У меня вопрос, нельзя-ли чтоб его под заряжать прямо в часах.
Если да то что добавить.
Есть говорящие часы cxem.net/mc/mc291.php, они рабочие я собрал добавил функцию "Голос с любого пульта" , но есть загвоздка . У меня 8 часовых кварцев. Перепробовал все . Со всеми сильно спешат до 18 секунд в сутки. Я не программист может быть кто перепишет программу с коррекцией хода ? Я был бы очень благодарен. И вообще я считаю коррекция всего обязательна во всех самоделках часах, термометрах и т. д.
Здравствуйте Анатолий.
Это только автор может подкорректировать код.
Как вариант, попробуйте заземлить корпус кварца, попробуйте последовательно поставить подстроечный конденсатор на несколько мкФ.
С уважением, Admin.
не микрофарад, а несколько пикофарад - опечатка.
А еще попробуйте кварц с платы компьютера.
Там ставят очень стабильные и точные кварцы.
Спасибо за отклик конденсатор я ставил 100nF изменений не заметил. А что дает замкнуть корпус на массу? А Вас не привлекает идея говорящих часов я бы воспользовался вашей разработкой. В 90-е я немного программировал на ассемблере , но это был компьютер синклер. А теперь мне 66 и учить другие программы просто нет времени
Здравствуйте Анатолий.
1. Конденсатор надо ставить подстроечный - несколько пикоФарад
2. Замкнуть корпус на массу - убрать все помехи и получить стабильную частоту - 32767
3. Говорящие часы - на любителя, возможно и хорошо,
Анатолий, до конца года будет прошивка с коррекцией хода
Собрал это устройство, и как некоторые, подключил датчик не на тот пин. Собирал с СМД варианте и не уследил по выходам. Минус один термодатчик, блин! А так довольно неплохое устройство, правда по цене выходит то же самое, как и с китая готовое купить.
Здравствуйте Влад.
По датчику - сочувствую.
В Китае купить можно почти все, но не то, что собрано своими руками.
С уважением, Admin.
Добрый вечер!Собрал ваши часы все работает спасибо .Единственное что хочется добавить чтобы мигало двоеточие .можно ли изменить в прошивке?
Здравствуйте Владимир.
Изменить возможно, но пока нет на это времени.
С уважением, Admin
Доброго времени суток! Термодатчик, про который писал, что сжег, воткнув не на тот пин, оказался все таки рабочим! Собирал блок термостата на работу в компрессорную - на нем работает. А в этом устройстве почему то показывал +85 вроде бы... Странно, все одинаковые и куплены в одном месте, где то не стыкуются по протоколам что ли...Хотя не страшно, есть выбор.
Сам аппарат работает уже почти пол года, без перерыва, чуток уходит время, но надо поиграться с кварцем. Как нибудь. В принципе собирался для индикации температуры на улице и дома, с чем успешно справляется.
Не нашел тут информации по фьюзам на прошитых и снятых с аппаратуры защищенных АТМЕГА 8, подобрал, работает, иначе козябры, либо просит внешний кварц. forum.cxem.net/uploads/monthly_2019_06/IMG_20190625_155455.thumb.jpg.7db0e75dc1932afe7956d22c48dafdff.jpg
Здравствуйте.
Когда-нибудь будет и статья о фьюзах и их лечении.
В принципе любой микроконтроллер можно оживить, если только у него неправильно выставлены фьюзы по тактированию, подачей внешнего тактового сигнала на вывод XTAL1 частотой 3-4 мГц. Сигнал можно получить с помощью другого микроконтроллера.
С уважением, Admin.
схема рабочая,только датчики температуры от разных продавцов работают не корректно(-0.01)
Здравствуйте! Часики конечно классные! Завелись сразу. Хотя после первого включения какое-то время пялился в пустой экран, пока не догадался покрутить подстроечник)) Не могли бы Вы дать прошивку без заставки (если возможно), чтобы часики сразу вступали в работу?
С уважением.
Здравствуйте.
Очень интересное устройство, собрал работает. Но слишком долго вступает в работу
Вопрос такой можно ли ускорить запуск устройства ? Убрать заставку убрать число 85?
Если можно то очень прошу вас помочь мне .
Спасибо за устройство.
Здравствуйте.
Будет время, внесу изменения и вышлю на Ваш адрес.
С уважением, Admin.
Спасибо огромное вам за труды.
Здравствуйте,Админ.При попытке отладки Вашего устройства в Протеусе и на макетке по каналам температуры светятся ошибки ERR2,кроме того,отсутствует индекс Дом.Часы и календарь работают нормально,а управление перемещением курсором некорректное.Где можно скачать рабочий Hex-файл?
Здравствуйте Владимир.
Код рабочий. В Протеусе устройства не тестирую, все только в железе или на макетной плате.
Err2 означает, что датчик не подтверждает запрос от микроконтроллера на свое присутствие в схеме, возможно ошибка подключения.
Курсор в программе перемещается в нужную позицию автоматически, кнопками выставляются только нужные значения.
С уважением, Admin.
Есть исправный (проверен на двух других устройствах) датчик DS18B20. При подключении его к данным часам постоянно показывает температуру -00,1.
Другой же DS18B20 работает на всех устройствах (и на данных часах), но он дефектный (на всех устройствах занижает температуру примерно на 3 градуса).
Почему не все DS18B20 работают в данных часах (они же вроде все одинаковые по параметрам)?
К сожалению у меня больше нет DS18B20 для более детальной проверки. Такая же проблема мелькала ранее здесь в комментариях у Евгения.
Совет искать проблему в подключении датчика не принимается (радиотехникой занимаюсь полвека).
Спасибо за ответ. А часики просто супер.
Здравствуйт Леонид.
С такой проблемой еще не сталкивался, поэтому без практики теоретически это обосновать трудно.
Возможно проблема в общении МК и датчика. Попробую в воскресенье изменить временные задержки в подпрограмме общения МК и датчика в большую сторону, прошивку вышлю на Ваш почтовый ящик. Если будет возможность проверить - спасибо, у меня такой возможности сейчас нет и собирать конструкцию нет времени.
С уважением, Admin.
Здравствуйте Admin!
Спаял, включил и настроил "Двухканальный термометр, часы на ATmega8, DS18B20, DS1307, LCD (ЖК) 1602". Кварц с материнки и надписан 32768
Неделю тестировал - РАБОТАЕТ!
Потом поползли строки и стройными рядами "кракозябры"...
Выключаю питание, включаю питание, в верхней строке прямоугольники и после изъятия
батарейки и обнуления памяти замыканием ( в слоте батарейки)появляется возможность настроить и посмотреть работу сего устройства. Вопрос ниже.
Прошивка демо???
Здравствуйте.
Проiивка не "демо", рабочая.
С уважением, Admin.
кроме заставки ничего не работает . пробовал штук 10 1307 менять , кварцы менял , выводы менял , датчики менял . даже атмегу менял 3 раза
Здравствуйте.
Проблема в DS1307 или в ее подключении.
С уважением, Admin.
да все перепроверил 50 раз уже и менял и 1307 и атмегу и датчики и прошивки . кнопки и дисплей осталось поменять
Здравствуйте.
Чудес не бывает, устройство рабочее.
Если все детали исправны, значит ошибка в их соединении.
С уважением, Admin.
Температура на 4 градуса ниже. Запаял датчик на другое (исправное) устройство - тоже занижает. Вывод - дрянь датчик.
Но когда переставил в наши часы датчик с исправного устройства - получил постоянную температуру - 0.1
Подскажите, почему при замене датчика DS18B20 на другой такой же, температура отображается не корректно, постоянно минус 0,1? В других устройствах этот датчик работает правильно
Здравствуйте Александр.
Ищите ошибку в подключении датчика.
С уважением, Admin.
К сожалению на улице у данного устройства с DS1307 и точным кварцем, а точнее подкидывал несколько (монтаж по всем правилам) точность хода часов зимой составила 5 минут в неделю. Поставил конденсатор, но меньше 2 минут не добился. бросил 1307. Сегодня перепаял на DS3231SN без каких либо доработок. РАБОТАЕТ. Ток потребления DS1307 был около 0,2-0,3 мкА. А DS3231SN - около 2,8-3,2 мкА. О точности хода после такой доработки сообщу после тестов.
Здравствуйте Сергей.
У DS1307 нет температурной коррекции, поэтому и такой уход.
У DS3231 такая коррекция есть, точность хода должна быть достаточно приемлемой.
С уважением, Admin.
Итак, за 14 дней данное устройство с DS3231SN показало себя с приятной стороны, а именно часы идут очень точно. За эти 14 дней точность хода составила менее одной секунды (может это погрешность вторых часов). На этом считаю данное устройство полностью доработанным и готовым к повторению. Так что однозначно собирать на DS3231SN.
Здравствуйте Сергей!
Спасибо за Ваш труд и то, что поделились результатами.
Внесу дополнения в статью о преимуществах использования в конструкции RTC DS3231.
С уважением, Admin.
Здравствуйте.
Очень интересное устройство, собрал работает. Но слишком долго вступает в работу приходится ждать 20 секунд пока появится заставка потом пока начнут работать датчики и того все это время занимает 20 секунд.
Вопрос такой можно ли ускорить запуск устройства ? Убрать заставку убрать число 85?
Если можно то очень прошу вас помочь мне .
Спасибо за устройство.
Поделитесь пожалуйста исходниками данных часов.
Здравствуйте! Спасибо за отличное устройство. Всё завелось и работает сразу "из коробки". Конечно без Но не обошлось. Моя невнимательность.
Плату разводил под свои детали и просто на автомате сделал по схеме. 🙂 Заказал платы на завод и только после этого дошло, что подключение датчиков температуры развёл по схеме. 🙂 Соответственно один датчик не определяется. Пожалуйста, выручайте. Дорожки на платах резать совсем не удобно. Нет ли возможности подправить программу под подключение датчиков, как на схеме.
Заранее благодарен.
Здравствуйте. Собрал данное устройство в автомобиль. Всё нормально работает. Проблема заключается в очень долгом "запросе" температуры. То есть если подать питание на прибор, то температура около 20 минут показывает +85 градусов. Может как то можно сделать вывод температуры в течении хотябы одной минуты, а до этого не выводить значение?
Здравствуйте Сергей!
Запрос температуры с датчиков и ее вывод на индикатор происходит каждые 4 секунды поочередно от каждого датчика с момента включения устройства.
Почему у Вас такой "долгий" вывод, - сказать трудно.
А с какой периодичностью меняются показания после 20 минут?
+85 градусов выводится только при включении устройства, убрать возможно.
С уважением, Admin.
Сегодня провел эксперимент. С Вашей прошивкой: время и дата работают правильно. При отключении/подключении датчика error появляется/пропадает через 5 секунд. При включении появляется +85 на 15-16 минут, после чего частота обновления температуры также 15-16 минут. ВАЖНО: если устройство работает и уже показывает температуру, при перезаливании программы (не отключая устройство) температура появляется через 5 сек. Если увеличить частоту мк (фьюзы на 8 МГц), то время и дата не показывает, датчики error. Если же при частоте 1 МГц изменить деление таймера Т1 с СK/64 на СК, то температура будет обновляться с периодичностью 15 сек., но на дисплее все остальные символы - каракули. К сожалению с алгоритм билдер сталкиваюсь не часто и не полностью понимаю работы данной программы.
Здравствуйте Сергей!
Увеличивать частоту МК, менять установки таймера не нужно, - приведет к ошибкам и каракулям.
Все временные интервалы рассчитаны для тактовой частоты 1 МГц.
Возможны 2 варианта:
1. Глюки МК, попробуйте его заменить
2. Возникшие глюки в выложенном на сайте файла программы при обновлении платформы сайта (очень маловероятно)
На всякий случай отправляю Вам, на почтовый ящик, нех файл программы, храняшийся у меня на компьютере.
С уважением, Admin.
Наконец то я разобрался с данной проблемой. Датчики, заказанные с али - ПОДДЕЛКА. Ведут себя очень странно (описано выше). Спасибо большое автору данного устройства за помощь. Очень приятно видеть, что человек не просто создал устройство, но и выложил исходник, да еще и оказывает помощь в устранении неполадок. Ещё раз СПАСИБО!
Здравствуйте Сергей.
И Вам спасибо.
С уважением, Admin.
Можно заказать плату?
Двухканальный термометр, часы на ATmega8, DS18B20, DS1307, LCD1602, сюда бы два термостата и таймер на два интервала ,была бы вообще сказка.
Здравствуйте Игорь!
В разработке, с управлением каналами по радио и телефону.
С уважением, Admin
Подскажите, почему при замене датчика DS18B20 на другой такой же, температура отображается не корректно, постоянно минус 0,1? В других устройствах этот датчик работает правильно, причиной замены стало, что старый датчик отображает температуру по шкале 0,5, а новый 0,1. Как будто адрес не соответствует, а он другой у нового датчика, но я не помню, чтоб раньше гдето прописывал адрес и все работало. Подскажите, в чем может быть причина?
Здравствуйте Евгений!
Поясните пожалуйста, что означает "по шкале 0,5 и по шкале 0,1".
Адреса у датчика нет.
С уважением, Admin.
У меня та же проблема. Один DS18B20 нормально работает, а другой (исправно работающий в другом термометре) постоянно показывает -00,1.
Победили ли Вы данную проблему?
Спасибо за ответ!
В самом начале статьи опечатка: "Конструкция собрана на микроконтроллере ATmega8-16PU, микросхеме часов реального времени DS1307 в DIP корпусе, цифровых датчиках температуры DS1307, ЖК индикаторе LCD1602"
Спасибо автору! Все заработало сразу после включения!!!
Спасибо Вам admin за ответ.Да хранит Вас бог.
Подскажите есть ли такая схема не для ЖКИ индикатора а для семисегментного индикатора? Хочу собрать такие часы как у вас на схеме но с другим индикатор. А один вариант схемы я переделаю на люминисцентный индикатор. Схему с люминисцентным индикатор могу вам в копилку прислать. Работаю в программе Dip trace и весь проект могу создать в нём.
Здравствуйте Александр!
Поздравляю Вас с наступившим Новым Годом.
Александр, на сайте, в разделе "От читателей", Вы можете разместить свою конструкцию и получить за это бонус - 500 рублей.
Схема только для ЖКИ.
С уважением, Admin.
Здравствуйте.НЕ скачивается новая прошивка с Яндекс диска.Если не затруднит сбросьте прошивку на почту.
Здравствуйте. С какой программой рекомендуете программировать Atmega8, через программатор USB ISP.
Здравствуйте Александр!
Любой программой, которая поддерживает этот программатор.
Но, наверное, лучше averdude_prog, тем более, что ее описание есть на сайте.
С уважением, Admin.
ПЕЧАТКА НЕ ОТКРЫВАЕТСЯ НИ ТА НИ СКАЧАННАЯ С ЯНДЕКС ДИСКА
ПРОСЬБА ВЫЛОЖИТЬ ПОД СМД ПЕЧАТКУ
Здравствуйте Денис!
Проверил, скачивается и открывается в программе.
Под СМД платы нет.
Выслал файл платы на Ваш почтовый ящик.
С уважением, Admin.
Здравствуйте Вадим !
можно ли в Вашем проекте вместо индикатора LCD 1602 использовать индикатор WH2004A-YYH-CPH#?
Здравствуйте.
Да, такой индикатор использовать можно.
С уважением, Admin.
что будет выводится прогой если исполховатт дисплей 16 мест 1 строка просто есть такой крупный (от ККМ)
Здравствуйте Сергей!
Будет выводится только верхняя строка (текущее время).
С уважением, Admin.
Здравствуйте!
Какие изменения нужно сделать в прошивке, чтобы точки между часами и минутами мигали?
Согласитесь, не очень приятно для глаза отображение температуры в таком формате "+01,5", не могли бы вы сделать, чтоб перед "1" не выводился "0"?
Здравствуйте Евгений!
Да, Вы правы, не очень.
К сожалению запарка, смогу, устраню недостаток.
С уважением, Admin.
Скажите пожалуйста, вы смогли устранить этот недостаток?
Здравствуйте!
Часы через неделю отстают на пять минут. Как повысить точность хода часов?
Здравствуйте Михаил!
1. Хорошая промывка платы от флюса
2. Если DS1307 стоит в панельке - убрать панельку
3. Разводка дорожек и подключение кварца как в даташите
4. Подключение подстроечного конденсатора 10-15 pF последовательно с кварцем
5. Поменять кварц (должен быть на 12,5 pF, можно взять с материнской платы ненужного компьютера)
С уважением, Admin.
Здравствуйте у меня такой вопрос, на всеми нами известном сайте есть в продаже готовый модуль часов реального времени "Tiny RTC I2C modules" возможно ли его интегрировать в с схему с перерисовкой и в плату?
Здравствуйте Владимир!
Придется переделывать программу.
С уважением, Admin.
Собрал схему на макетной плате. Все работает.Домашний датчик в отличии от эталонного ртутного показывает на 0.5 град. больше. Спасибо разработчику проекта.Отлично!
Подтверждаю, при отключении питания 5 вольт и последующем его включении(10-15 минут), настройки времени и даты приходится вводить заново и это плохо.
прошу удалить сообщение выше, настройки сохраняются возможно контакт на батарейке плохой был.
Идентификация датчиков как в вашем коде происходит? Дело в том, что в вашем проекте у меня работает только один датчик, второй показывает -0,01 градус, при подключении же обоих датчиков к ардуино они оба показывают температуру исправно.
Здравствуйте Евгений!
Датчики подключены к разным выводам МК, поэтому идентификация датчиков не проводится.
С уважением, Admin.
Так, вроде бы заработало у меня, но температура снимается только с домашнего датчика, уличный датчик показывает "Err1", подключать его нужно к 14 пину МК, правильно? Он у меня так и подключен к 14 пину.
Здравствуйте Евгений!
Из-за путаницы в подключении датчиков на схеме и плате, возникла ошибка в тексте статьи, исправил.
Необходимо подключать как на плате:
1-й датчик к 15 выводу, второй датчик - к 16 выводу
Приношу свои извинения.
С уважением, Admin/
На улице показывает "Err2", даже когда переставляю домашний датчик, уличный датчик перепаял на 16 пин
Все, теперь показывает, т.е. будет показывать уличный датчик через полтора месяца, когда новый придет из китая, взамен сгоревших))))
Скиньте мне пожалуйста рабочую прошивку, дальше заставки ничего на экране не происходит.
Протравил плату, запаял. На экране заставка и все.
Почему в схеме SDA 1307 подключен к SCL микроконтроллера?
Здравствуйте Евгений!
Общение МК с DS1307 происходит программным путем, такое подключение - чистая случайность.
С уважением, Admin.
скпжите пожалуйста можно ли использовать DS1302 вместо DS1307 на схеме
Здравствуйте Владимир!
DS1307 заменить на DS1302 нельзя.
С уважением, Admin.
Минусовую температуру показывает? SCL и SDA теперь правильно на печатке подключены? А RESET MK нужно или нет все-таки к + подтягивать через резистор? Кто собрал, нормально работает, не перезагружается, не сбоит?
Схему собрал на плате. Минусовую температуру показывает без глюков. Выводы: SDL К SDL, а SDA к SDA. Reset к плюсу не подключал. Часы работают нормально. Посл отключении питания, настройки сохраняются.
Здравствуйте. У меня не сохраняются в памяти настройки тоесть при каждом включении приходится заново все настраивать год месяц число . Датчики пока не подключал. Прошивал Алгоритм Билдер.
В чем может быть проблема ????
Здравствуйте Serg!
Причины:
- отсутствие резервного источника питания DS1307
- неправильное подсоединение резервного источника питания к DS1307 или плохой контакт
- проблемы в DS1307
С уважением, Admin.
Добрый день! давно занимаюсь электроникой,и люблю повторять чужие разработки, все отлично работает, только я собрал на smd, размер получился в ровень с дисплеем, спасибо!
Кнопки отдельно сделали?
Здравствуйте Сергей. Поделитесь пожалуйста вашим вариантом печатки в смд.
Сергей скиньте пожалуйста печатку под smd
поделитесь платой
Здоравствуйте!
Изменённая прошивка не работает, выходит только заставка.
А на яндекс диске старая (с глюком при минусовой температуре) прошивка.
Здравствуйте Михаил!
Проверьте правильность подключения DS1307 к МК.
На ЯД файлы заменил.
С уважением, Admin.
Поменял подключение выводов SDA и SCL, часы заработали.
Спасибо!
Ждём, с нетерпением, изменненной прошивки. Пожелание одно, если можно, сделайте мигающее двоеточие между часами и минутами, часы оживут, как то оно так привычнее. Спасибо.
Здравствуйте Вячеслав!
Процесс затянулся (праздники), но завтра с утра сяду разбираться с глюком.
С уважением, Admin.
Здравствуйте Валерий и Вячеслав!
Глюк найден, новые файлы выложены, должно работать.
С уважением, Admin.
Вадим, здравствуйте. Все работает, спасибо. Двоеточие не получилось сделать мигающим?:)
Здравствуйте Вячеслав!
Праздники....
С уважением, Admin.
Будем ждать)))
Хотел добавить от себя, что RESET МК необходимо подтянуть к +5В через резистор 10К. Иначе, по крайне мере у меня, после часа работы, МК начинает постоянно перезагружаться.
Собрал, работает с исправленной прошивкой, но так же при минусовых значениях показывает символ < ( т.е. если, например, температура "-15,3", на дисплее показывает "-<5,3". Предположу, что это глюк прошивки, т.к. при замене датчиков температуры, ситуация аналогичная.
Здравствуйте Вячеслав!
Проверю и внесу исправления. Честно говоря, при отрицательной температуре работу конструкции не проверял.
С уважением, Турчак Вадим.
Здравствуйте! Собрал схему все работает. Одна проблема при минусовых значениях вместо цифр показывает знаки (;,<).Прошу помощи.Заранее спасибо.
Здравствуйте! С Новым годом!Тоже с нетерпением жду измененную прошивку.Заранее спасибо!
Здравствуйте Валерий и Вячеслав!
Глюк найден, новые файлы выложены, должно работать.
С уважением, Admin.
Спасибо! Все работает.
Здравствуйте!
Собрал часы на плате, работают. Спасибо за схему.
Усовершенствовать будете? Нужно датчик температуры улица, по радиоканалу, на дешёвых китайских RF модулях.
Здравствуйте Михаил!
Да, схема будет переработана.
С уважением, Admin.
Здравствуйте! Посмотрите у вас на схеме датчик DS1 подключён к PB0, а на печатке к PB2, это ошибка?
Здравствуйте Дмитрий!
Да, есть такая ошибка, спасибо.
С уважением, Admin.
Здравствуйте!
Собрал схему на плате, выходит только заставка. Соединяю R7 и R8 на минус, настройки работают как на картинках. Термометры показывают температуру, а часы только нули. Почему так? В протеусе всё работает как по схеме.
Здравствуйте Владимир!
R7 и R8 соединять на минус не надо - не будет общения часов с МК.
Поменяйте 5 и 6 выводы часов между собой (SDL и SCA) - ошибка в схеме.
Программу я переделывал под схему, только вот видимо не поменял или на сайте,, или на ЯндексДиске (Не помню).
Не подскажите где Вы ее скачивали?
С уважением, Admin.
Скачивал с сайта и с Яндекс диска. Схема одинаковая.
Прошивать только Hex файл, eepom нет?
Да Михаил, схему я не изменял, изменил программу (это легче).
Прошивать EEPROM не надо.
Здравствуйте! Фьюзы не подскажете, как выставлять?
Здравствуйте Тарас!
Fuse-биты выставлять не надо (по умолчанию)
С уважением, Admin.
Здравствуйте!
Есть прошивка на русском языке? Для индикатора поддерживающего русский язык.
Здравствуйте Михаил!
Прошивка подойдет для любого индикатора.
С уважением Admin.
собрал часы, включил . горит только надпись мир мк, шоп микроконтроллер.подскажите, что не так?
Здравствуйте Павел!
По алгоритму работы программы, при включении устройства, сначала выводится "рекламная заставка" (3 сек), затем идет подпрограмма проверки DS1307. Проверяется 7-й бит нулевого регистра, если 7-й бит равен единице, осуществляется переход к подпрограмме полной установки времени, иначе - переход к выводу второй заставки (разделители времени, букв Д и У) и основному циклу (измерение температуры, считывание времени, вывод на экран показаний). Получается, что у Вас программа "виснет" в процессе проверки DS1307, в чем причина - сказать трудно, в подпрограмме проверки DS1307 нет кода, из-за которого возможно "зависание". Проверьте правильность подключения DS1307 к микроконтроллеру, наличие питания на выводах микросхемы, надежность контактов подтягивающих резисторов на выводах DS1307, установку FUSE битов (тактовая частота по умолчанию - 1 мГц), замените DS1307.
С уважением, Admin.
Тоже самое что и у Павла, все микросхемы исправны, где то в вашей прошивке косяк.
Здравствуйте Андрей!
Все фотографии к статье сделаны с работающего устройства, с прошивкой, которую выложил на сайте.
На всякий случай соберу устройство еще раз на макетке и проверю, потом отпишусь.
С уважением, Admin.
Здравствуйте Андрей и Павел!
В выложенной прошивке выводы DS1307 SCL и SDA были подключены к выводам МК РС5 и РС4 соответственно, что не соответствовало приведенной схеме.
Прошивку изменил под приведенную схему.
С уважением, Admin.
Здравствуйте! Не скачивается прошивка и печатка.
Здравствуйте Тарас!
Попробуйте скачать с ЯндексДиска (ссылка ниже прошивки и схемы)
С уважением, Admin.
Здравствуйте! Всё скачалось. Большое СПАСИБО. В папке несколько hex файлов. Я так понимаю файл нужный, тот который имеет размер 11КБ
Здравствуйте Тарас!
Да, файл размером 11 кб.
С уважением, Admin.
не скачивается файл печатки
Здравствуйте Василий!
У меня скачивается без проблем.
Завтра выложу программы и печатку на ЯндекДиске.
С уважением, Admin.
Файл печатной платы не открывается. Пробовал и 5 и 6 SPRINT LAYOUT-пишут ошибку. Что не так?
Файл печатной платы не открывается ((( Перезалейте пожалуйста файл.