Skip to content
 

Двоканальний термометр на ATTINY2313 та DS18B20

Цей проект робився мимохідь. Один вечір написання програми, наступний вечір виправлення декількох помилок, тестування “у залізі”. “Залізо” взагалі робив не я а мій шкільний товариш для свого батька. Батько також радіоаматор, але на пенсії та далекий від програмування. Товариш гарний програміст, набагато кращий за мене, але дуже “занятий” та ледачий, а я дуже поважаю його батька, тож… Як казав Леонід Макарович – “маємо те що маємо”. Авжеж, в інтернеті ДУЖЕ багато термометрів на DS18B20, але ж чим мій має бути гірший?

dual_term

Стосовно схеми – не бачу що тут коментувати, все дуже просто та зрозуміло. Краще зупинюся на описі роботи. При включенні живлення термометр переходить в автоматичний режим. Температура з обох датчиків відображається по черзі на протязі 4 секунд. Опитування датчиків також виконується один раз у чотири секунди. Тож маєте бути спокійними – все по документації, ніякого завищення температури не буде. Якщо натиснути на кнопку – автоматичний режим скасовується, відображення буде виконатися з одного датчика. Ще нажаття – наступний датчик і т.д. Якщо нажати на кнопку більше ніж на 1.5с – ви побачите на індикаторі таке “- – -.-” та термометр перейде знову в автоматичний режим. Авжеж було б непогано розуміти який датчик відображаєтся у даний час – для того є двокольоровий світлодіод.

dual_term_pcb

Змонтовано все на дуже маленькій платі. Фактично розмір термометра дорівнює розміру індикатора. Індикатор – будь який, червоний або зелений, с загальним анодом, або катодом (є дві прошивки в архіві нижче), висотою 0.56”. Наприклад цей. Живлення може бути у межах 7….13v, або стабілізоване джерело живлення 5v (USB, зарядний пристрій мобільного телефону), тож від VR1, C1, C2 можна у такому разі відмовитися. Тож… і все. А ні, не все. Ще ж фузи.

dual_term_fuses

Файли до проекту:
1. Прошивки ЗК та ЗА
2. Схема, плата

21 Comments

  1. Олександр сказав:

    Чудово як раз те що недавно шукав. Велике спасибі.

  2. Виктор сказав:

    Добрый день . посмотрел на вашу разработку ” Универсальный термостат -таймер. очень интересно . Возможно вас попросить проработать схему под мои пожелания сколько это будет стоить?

    • electra сказав:

      Здравствуйте, Виктор! Разработка новых устройств на заказ не самое дешевое удовольствие. Как правило разговор “начинается” от 100$ и выше. Разумеется с передачей в последствии всех исходников и документации. Тот проект о котором Вы говорите – очень древний, мне будет проще сделать с нуля, чем ворошить его. Если интересно – пишите сюда: electra@aliot.com.ua

  3. Goracio сказав:

    Посади термометры на одну шину – сэкономишь порт. 100 баксов!

    • radiomanoff сказав:

      Скорей всего программа написана на Ассемблере. Слишком мал размер памяти Tiny – 2 kB.
      Отсюда могу предположить, что в варианте от автора для экономии места, проще было инициализировать два датчика на разных пинах, чем городить “полноправную” шину.

    • electra сказав:

      Сэкономишь ПИН может быть? За это нынче платят 100$? Вау.

  4. Вячеслав сказав:

    Добрый день electra.Можно ли в этом проекте использовать AT90S2313 ?Понятно что необходимо поставить кварц и выставить под него фьюзы а в остальном?

    • electra сказав:

      Здравствуйте Вячеслав. Сложно наверняка сказать. У Атмела вечно все не слава богу. Хотя все же скорее да, чем нет. Пробуйте. Если что – пишите – поковыряюсь, перекомпилирую.

  5. Вячеслав сказав:

    Здравствуйте Electra.Спасибо что ответили и дали мне надежду.Просмотрел внимательно схему и обратил внимание что все пины задействоваы.У AT90S2313 на 4 и 5 пине подключен кварц.Вот если бы вместо светодиода поставить кварц на 4мгц то думаю (надеюсь)что получиться.Реально ли сделать это?Если да и вас не затруднит перекомпилировать прошивку буду пробывать и о результатах отпишусь.Спасибо.

    • electra сказав:

      Здравствуйте, Вячеслав. Я же сказал – ПРОБУЙТЕ, будут проблемы – будем разбираться с ПО. Скорее всего и так все заработает. Без светодиода разумеется.

  6. Вячеслав сказав:

    И в дополнение – в качестве светодиода использовать крайнюю правую точку(вкл и выкл).

  7. Вячеслав сказав:

    Спаял устройство.Индикатор с общим анодом.Датчик пока только один.При включении быстро засвечиваються все точки потом все сегменты g и все сегменты во всех разрядах.Интенсивность свечения сегментов разное.Потом с интервалом примерно в 8 секунд в первом разряде хаотично гаснут и загораються сегменты.Не заработало.

  8. Вячеслав сказав:

    Попробовал- существенных изменений нет.

    • electra сказав:

      Хм… Ну второй вариант – это уже скомпилированная прошивка конкретно под AT90S2313 c “выпиленной” обработкой светодиода и порта А вообще, подправленным регистром таймера. Компилятор ошибок не выдавал. ДОЛЖНО работать. К слову кварц должен быть на 8МГц. Проверяйте внимательно монтаж, а я вечерком еще пробегусь по регистрам, может быть есть еще где-то какой-то нюанс…

  9. Вячеслав сказав:

    Проверил монтаж кз нет.Камень стираеться и заливаеться нормально.Фьюзы не устанавливаються видимо заточен под внешний кварц.Поставил кварц на 8мгц все тоже только переключение происходит в 2 раза быстрее примерно 4 секунды.

  10. Вячеслав сказав:

    Уважаемый Electra дико извиняюсь.Был уверен что индикатор с общим анодом а на поверку оказался с общим катодом.если можно прошивку конкретно под AT90S2313 с общим катодом.Дякую.

  11. Вячеслав сказав:

    Заработал.Огромное спасибо!!!!

Leave a Reply