Цей проєкт робився мимохідь. Один вечір написання програми, наступний вечір виправлення декількох помилок, тестування “у залізі”. “Залізо” взагалі робив не я, а мій шкільний товариш для свого батька. Батько також радіоаматор, але на пенсії та далекий від програмування. Товариш гарний програміст, набагато кращий за мене, але дуже “зайнятий” та ледачий, а я дуже поважаю його батька, тож… Як казав Леонід Макарович – “маємо те що маємо”. Авжеж, в інтернеті ДУЖЕ багато термометрів на DS18B20, але ж чим мій має бути гірший?
Стосовно схеми – не бачу що тут коментувати, все дуже просто та зрозуміло. Краще зупинюся на описі роботи. При включенні живлення термометр переходить в автоматичний режим. Температура з обох датчиків відображається по черзі протягом 4 секунд. Опитування датчиків також виконується один раз у чотири секунди. Тож маєте бути спокійними – все по документації, ніякого завищення температури не буде. Якщо натиснути на кнопку – автоматичний режим скасовується, відображення буде виконатися з одного датчика. Ще натискання – наступний датчик і т.д. Якщо нажати на кнопку більше ніж на 1.5с – ви побачите на індикаторі таке “- – -.-” та термометр перейде знову в автоматичний режим. Авжеж було б непогано розуміти який датчик відображається у цей час – для того є двоколірний світлодіод.
Змонтовано все на дуже маленькій платі. Фактично розмір термометра дорівнює розміру індикатора. Індикатор – будь-який, червоний або зелений, с загальним анодом, або катодом (є дві прошивки в архіві нижче), висотою 0.56”. Наприклад цей. Живлення може бути у межах 7….13v, або стабілізоване джерело живлення 5v (USB, зарядний пристрій мобільного телефону), тож від VR1, C1, C2 можна у такому разі відмовитися. Тож… і все. А ні, не все. Ще ж фузи.
Файли до проєкту:
1. Прошивки ЗК та ЗА
2. Схема, плата
Чудово як раз те що недавно шукав. Велике спасибі.
Завжди будь ласка, Олександре 🙂
Добрый день . посмотрел на вашу разработку ” Универсальный термостат -таймер. очень интересно . Возможно вас попросить проработать схему под мои пожелания сколько это будет стоить?
Здравствуйте, Виктор! Разработка новых устройств на заказ не самое дешевое удовольствие. Как правило разговор “начинается” от 100$ и выше. Разумеется с передачей в последствии всех исходников и документации. Тот проект о котором Вы говорите – очень древний, мне будет проще сделать с нуля, чем ворошить его. Если интересно – пишите сюда: electra@aliot.com.ua
Посади термометры на одну шину – сэкономишь порт. 100 баксов!
Скорей всего программа написана на Ассемблере. Слишком мал размер памяти Tiny – 2 kB.
Отсюда могу предположить, что в варианте от автора для экономии места, проще было инициализировать два датчика на разных пинах, чем городить “полноправную” шину.
Ну и разумеется есть и еще нюансы, но в целом все верно.
Сэкономишь ПИН может быть? За это нынче платят 100$? Вау.
Добрый день electra.Можно ли в этом проекте использовать AT90S2313 ?Понятно что необходимо поставить кварц и выставить под него фьюзы а в остальном?
Здравствуйте Вячеслав. Сложно наверняка сказать. У Атмела вечно все не слава богу. Хотя все же скорее да, чем нет. Пробуйте. Если что – пишите – поковыряюсь, перекомпилирую.
Здравствуйте Electra.Спасибо что ответили и дали мне надежду.Просмотрел внимательно схему и обратил внимание что все пины задействоваы.У AT90S2313 на 4 и 5 пине подключен кварц.Вот если бы вместо светодиода поставить кварц на 4мгц то думаю (надеюсь)что получиться.Реально ли сделать это?Если да и вас не затруднит перекомпилировать прошивку буду пробывать и о результатах отпишусь.Спасибо.
Здравствуйте, Вячеслав. Я же сказал – ПРОБУЙТЕ, будут проблемы – будем разбираться с ПО. Скорее всего и так все заработает. Без светодиода разумеется.
И в дополнение – в качестве светодиода использовать крайнюю правую точку(вкл и выкл).
Спаял устройство.Индикатор с общим анодом.Датчик пока только один.При включении быстро засвечиваються все точки потом все сегменты g и все сегменты во всех разрядах.Интенсивность свечения сегментов разное.Потом с интервалом примерно в 8 секунд в первом разряде хаотично гаснут и загораються сегменты.Не заработало.
Мда… Ох уж этот Атмел… Попробуйте эту прошивку.
Попробовал- существенных изменений нет.
Хм… Ну второй вариант – это уже скомпилированная прошивка конкретно под AT90S2313 c “выпиленной” обработкой светодиода и порта А вообще, подправленным регистром таймера. Компилятор ошибок не выдавал. ДОЛЖНО работать. К слову кварц должен быть на 8МГц. Проверяйте внимательно монтаж, а я вечерком еще пробегусь по регистрам, может быть есть еще где-то какой-то нюанс…
Проверил монтаж кз нет.Камень стираеться и заливаеться нормально.Фьюзы не устанавливаються видимо заточен под внешний кварц.Поставил кварц на 8мгц все тоже только переключение происходит в 2 раза быстрее примерно 4 секунды.
Уважаемый Electra дико извиняюсь.Был уверен что индикатор с общим анодом а на поверку оказался с общим катодом.если можно прошивку конкретно под AT90S2313 с общим катодом.Дякую.
Можно. Пробуйте.
Заработал.Огромное спасибо!!!!
Доброго времени суток! Вопросы к автору: 1. Можно ли использовать 3-х разрядный индикатор, вместо 4-х разрядного? 2. Каков диапазон измеряемых температур? 3. Напряжение питания до 13В критично? Планирую от бортовой сети автомобиля запитывать, а при работающем двигателе до 14,4В может быть.
1. Да. Но тогда лишитесь измерения десятых или знака “-“, смотря с какой стороны откажетесь от цифры. В первом случае отключайте сегмент h (точку) полностью.
2. Это всецело параметры датчика. Теоретически от -40 до +125, практически нормально меряет от -20 до +85.
3. Поставьте вместо 1117S50 – обычную 7805, у нее “дури” поболее… До 30в можно будет не задумываться.
Спасибо за ответ. После сборки и тест-драйва устройства, отпишусь – сообщу результат, поделюсь наблюдениями.
Вот и всё готово. Термометр собран, всё работает. Обратил внимание, что плата разведена с отклонениями от схемы электрической принципиальной, а именно: резисторы 4,7кОм включены между выводами 7 и 11 контроллера и +5В, а в схеме они стоят между выводом DQ датчиков и +5В. Плату перетрассировал под 78М05 с дополнительным фильтром питания и изготовил промышленным способом (вот почему так затянулся “финиш”). На вид выглядит как заводское изделие. Если кому-то интересно – могу предоставить гербер-файлы платы. Заметил, что разница в показаниях датчика на длинном “поводке” и датчика на коротком примерно градус-полтора. На автомобиль пока не устанавливал, а проверил работоспособность в лабораторных условиях. Спасибо автору за участие.
Разводка – такое дело… Грандиозной разницы нет, будет и так и так работать. Хотя правильнее разумеется как на схеме. Насчет разницы: если датчик впаян на плату или припаян ОЧЕНЬ коротким проводом – 1…2см – то он может банально нагреваться от Вашей 78M05. Если же нагрев по Вашему мнению исключен – то проблема разумеется в разных датчиках. Уж очень много на рынке “китайских аналогов”. Хотя DS18B20 я бы и не называл особо точным даже в оригинале. Он просто удобный.
Добрий день electra. Зібрав запропонований термометр, дякую за розробку. Все працює, але є різниця в показниках. Обидві мікросхеми DS18B20 виніс за межі плати, при розміщені рядом, різниця показників від 0,9 до 2,5 градусів, залежно від екземпляру DS18B20 (перепробував 5 шт.). Тому прохання, чи можна в прошивку (загальний анод) додати можливість ручного коригування показників одного з датчиків.
Завчасно вдячний.
Добрый день.
Собрал термометр, но на ножках контроллера, которые идут на индикатор (ОА) около 2 вольт (относительно анода) , и индикатор естественно слабо светит. Индикатор с сегментами на 4 В. Точка индикатора 2 В. Чтобы разгрузить порт МК, поставил 4 эмиттерных повторителя на аноды индикатора. Естественно уменьшил сопротивление токоограничивающих резисторов.Относительно корпуса (-5В) на анодах показывает 3 В. Я совсем запутался. Не могли бы Вы подсказать в чем подвох? Какой режим работы порта? Корректно ли использовать индикатор с сегментами на 4 В?
Спасибо.
Добрый день. Заработало!!!!!!!.Огромное спасибо за хорошее устройство!!!! Только вот не хочет работать с датчиками в режиме паразитного питания. Просто хотел подключить по двум проводам , 12м тянуть на улицу.А может всетаки возможно?
Витухой экранированной можно попробовать)
Делал USB-удлиннитель 15 метров))
Прошивка не хочет открываться AVR Extreme Burner`om….
Добрий день electra .МОЖЕТЕ ПОПРАВИТИ ПРОШИВКУ ЩОБ ПОКАЗИ ТЕРМОМЕТРА БУЛИ НАПРИКЛАД: 20*С, -20*. ДЯКУЮ!
Здравствуйте!
Почему то не всегда выходит на индикатор Err.r, когда датчика нет!Какие то хаотичные показания, типа: ” – 9,1″. А почему так?
Зробив – працює!!! Дякую за розробку!
Собрал устройство, отлично работает.
При проектировании платы не учел расположение ног китайских индикаторов.
Вопрос к electa:
А можно ли попросить прошивку с ОА в которой было бы следующее?:
1. PB7 (19) – g индикатора
2. PB5 (17) – f индикатора
3. PB6 (18) – а индикатора
4. PB0 (12) – b индикатора
Спасибо
Здравствуйте! А не могли бы Вы сделать опрос датчиков температуры 1 раз в минуту? Имею отношение к метрологии. Калибровал кучу 18b20 для себя.Заметил такую особенность.При опросе датчиков температуры “по даташиту” , разогрев датчиков идёт всёравно! А вот когда идёт опрос 1 раз в минуту, то его нет! Вернее, датчики находятся в допустимом диапазоне погрешности по даташиту.Но наиболее близкие показания с образцовым термометром (0,025 кл.т.) , когда опрос датчика 1 раз в минуту.
З окупантами не співпрацюю. Та і навіщо це, якщо ця ваша “мєтрологія” потім мені у хату прилетить, як у сусідньому Маріуполі?
Ув. Electra, большое спасибо за интересную схему. Завелась с пол-пинка. Один канал будет показать температуру дома, другой – за бортом. Подсел на Ваш сайт, доходчиво все описано и разжевано. Термометр – первая ласточка. Буду собирать ампервольметр и паяльную станцию.
Доброго дня! Підкажіть будь-ласка яка точність цього термометра, чи можна його використовувати для вимірювання температури тіла ?
Вітання! з2018 року зібрано 3 таких пристрої,чудово працюють й досі!Дякуєм автору!
Творочої наснаги,хоч і в Канаді!
Бердянськ-Україна!