Новинний та аналітичний портал "Час електроніки". USB термометр, неоднозначний результат Цифровий термометр з USB інтерфейсом

Головна / Додатковий функціонал

Конкурс радіоаматорів-початківців
"Моя радіоаматорська конструкція"

Схема та програмне забезпеченняпростого USB термометра на мікроконтролері ATmega8, який може зібрати своїми руками і радіоаматор-початківець.

Конкурсна конструкція радіоаматора-початківця:
"USB термометр на мікроконтролері ATmega8"

Привіт шановні друзі та гості сайту!
Подаю на ваш суд другу конкурсну роботу.
Автор конструкції – Григор'єв Ілля Сергійович.

USB термометр на мікроконтролері ATmega8

Всім доброго дня! Захотілося мені зібрати термометр для того, щоб знати температуру чи вдома, чи за вікном. Сторона в мене сонячна та звичайний термометр дуже бреше, нагріваючись.
Почав рити інтернет. Як завжди багато непотрібного, надто складного, затратного.
Нарешті, я знайшов схему до душі, за якою і став робити термометр ЮСБ.

Отже, ось схема:

Для складання нам знадобляться:
♦ МС Атмега 8 та ліжечко для неї на 28 ніг
♦ Датчик температури DS18B20
♦ Резистори(у мене 0.5Вт):
- 10к
- 4,7 до
- 68ом * 2шт
- 1,5к
- 200ом
♦ Кондери
- 22пФ *2шт
- 100мкФ на 16В електроліт
♦ 2 стабілітрони на 3.6В
♦ Кварцовий резонатор 12MHz
♦ Світлодіод
♦ Шматок одностороннього текстоліту 5*5см

Починаємо все з розмітки на текстоліті, потім вирізаємо
До речі, раніше я довго мучився вирізанням потрібних шматків канцелярським ножиком, було це довго, нудно… нещодавно я замовив на ebay відрізні алмазні круги для дрімання. За секунду ... довж і відрізано!


10штук ось таких кіл 100 рублів (для пошуку-10X 20mm Emery Diamond Coated Double Side Cutting Discs with 2 Joint Lever).

Потім, друкуємо на журналі схему, потім праскою нагріваємо, далі відмочуємо:


Потім труїмо, відтираємо тонер, свердлимо:


І потім починаємо збирати:


Atmega 8-16PU в ліжечку:


Відмиваємо плату від флюсу, т.к. я використовував активний та й дуже вигляд псує:


Далі я взявся за датчик. Я вирішив зробити 2 датчики. Перший буде короткий і у кімнаті. Другий я зроблю довгим і виставлю його надвір.


Вставляємо датчик у роз'єм, згідно з розпинуванням.

Тепер нам треба прошити Атмегу. Беремо раніше виготовлений мною та заливаємо прошивку.
У SinaProg нам треба виставити фьюзи:


ОБОВ'ЯЗКОВО! Перед підключенням перевіряємо плату на наявність КЗ!

Вставляємо плату в юсб і в нас з'являється невідомий пристрій:



Заходимо в диспетчер пристроїв, знаходимо невідомий пристрій та оновлюємо дрова.
Під час встановлення з'явиться вікно, де вибираємо – “Все одно встановити цей драйвер”
Після цього в диспетчері пристроїв з'явиться новий пристрій:


А світлодіод почне хаотично моргати. Це означає, що робота пристрою коректна!
Далі запускаємо програму для відстеження температури.

Якщо почне з'являтися багаторазово помилка unable to write to C:/temp/USBThermometer_config.ini то заходимо на диск, включаємо видимими всі папки і якщо є папка temp, то створюємо там блокнот, називаємо його USBThermometer_config і змінюємо йому розширення на.ini . Якщо немає папки, то спочатку створюємо її. Після цього помилка зникала. Якщо папку створювали, то щоб вона не заважала, можна приховати її.

Програма проста, зрозуміла.
Основне вікно:


Міні-вікно можна використовувати як гаджет:


От і все. У мене на все було витрачено зовсім небагато грошей та часу! Датчик у районі 90р і майже вся дрібниця в мене вже була. Тепер у мене є домашній, електронний термометр із можливістю вимірювання температури будинку та на вулиці.

Як мікроконтролер, був обраний ATmega8 . Цифровий термодатчик: DS18B20, який має межі вимірювання температури від -55 до +125 градусів Цельсія. Втім ось список всього, що потрібно для термометра:

  1. Мікроконтролер ATmega8 (дуже бажано без індексу L наприкінці).
  2. Температурні датчики DS18B20, потрібний без індексу PAR в кінці, інакше макс. температура буде 85 град.
  3. Кварц 12 МГц.
  4. 2 конденсатора 22 пФ і один конденсатор живлення (10V і не менше 100 мкФ, тому що у USB на лінії живлення просто жахливі перепади напруги).
  5. 2 резистора 68 Ом, 1 резистор 200 Ом, 1 резистор близько 2,2 4,7 кОм, 1 резистор 10кОм та 1 резистор 1,5кОм.
  6. 2 стабілітрони 3.6V.
  7. Штекер або роз'єм USB.
  8. Світлодіод.
  9. Ну і друк або макет, на якому це все буде зібрано.

Схема пристрою:

Схема дуже проста. Зліва розташовані всі 4 контакти USB. Конденсатор С3 це той самий кондер живлення. Стабілітрони VD1 та VD2 знижують напругу на лінії передачі даних до 3,3В. Датчик DS18B20 Можна не ставити на плату, а вивести на потрібне місце, взагалі довжина дроту може бути до 100 метрів, але я не раджу більше ніж 50м. Світлодіод змінює свій стан (запалюється/гасне) при кожному запуску вимірювання температури. Якщо він з хаотичною швидкістю блимає, тоді з термодатчиком працює нормально, якщо постійно світитися або не світитися з датчиком проблеми (неправильно підключений, неробочий, або дуже довгий провід, біля якого сильні електромагнітні перешкоди). Справа розташований роз'єм для внутрішньосхемного програмування мікроконтролера. Прошивка для нього - USBThermometerMCUUSB_thermometerdefaultmain.hex. Після заливання прошивки Вам потрібно правильно виставити фьюзи, інакше пристрій не буде працювати, в STK500 з AVR Studio це виглядає так:

Якщо ви правильно зібрали пристрій і правильно прошили МК, то при підключенні до комп'ютера через USB Windowsзнайде новий пристрій і запитає, де драйвер. Він розташований у папці USBThermometerwindows-driverкуди Вам і треба вказати шлях Після встановлення драйвера перезавантажте ПК. Потім запустіть програму USBThermometer.exe. Якщо пристрій не підключено, замість температури буде написано [Не подкл.k і при перетягуванні вікно буде трошки [підвисатиk кожну секунду тому що програма кожну секунду оновлюватиме дані про підключені пристрої поки не знайде цей термометр. Якщо Ви підключите пристрій, то в треї вискочить повідомлення [Термометр підключено”, вікно підвисати вже не буде, і Ви побачите таке:

Ще, що дуже зручно, є функція [Міні-вікноk та [Поверх всіх віконk. Я зазвичай встановлюю всі 2 галочки і виходити ось що:

Вся сіра область це і є вікно програми в міні-відеk (біло-синій фон з бульбашками то робочий стіл). Подобатися:)?. Це зручно тому, що вікно маленьке (96х198) постійно поверх всіх вікон і не заважається при використанні інших додатків. До того ж, програма не відображається на панелі завдань, а тільки в треї і, навівши курсор на іконку програми, можна побачити температуру в Цельсіях:

Цей термометр я перевіряв на кількох стаціонарних ПК, ноутбуках та нетбуках під операційними системами Windows Home Edition, Windows Professional та Windows Vista. Все працювало чудово! Тільки ось на вісті, при температурі на термодатчику нижче -9 і вище 99 град.

© 2022 androidas.ru - Все про Android