USB термометр

  • Час 30-04-2015, 17:40
  • Автор admin
  • Коментарів 0 Комент.
  • Силка url

В якості мікроконтролера, був обраний 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. Ну і печатка або макетке, на якій це все буде зібрано.

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

USB термометр

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

USB термометр

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

USB термометр

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

USB термометр

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

USB термометр

Цей термометр я перевіряв на декількох стаціонарних ПК, ноутбуках і нетбуках під операційними системами Windows Home Edition, Windows Professional і Windows Vista. Все працювало відмінно! Тільки от на вісті, при температурі на термодатчика нижче -9 і вище 99 град. не було видно літери «С» (там де температура в Цельсіях), тому що я вибрав шрифт для відображення температури «Comic Sans MS", але я не думаю що для когось це проблема.

Програма, прошивка, вихідні коди, драйвер, друкована плата додаються

P.S. Якщо у Вас немає програматора і Вам потрібен вже прошитий мікроконтролер або Ви хочете купити вже готовий термометр, то звертайтеся до мене на e-mail:  devices2000 {сцобака} ya.ru
Так само я приймаю замовлення на розробку та виготовлення пристроїв на мікроконтролерах, за цим звертатися на той же імейл.

Список радіоелементів

Позначення Тип Номінал Кількість VD1, VD2 С1, С2 С3 R1 R2 R3, R4 R5 R6 LED1 Z1
МК AVR 8-бітATmega81
Датчик температуриDS18B201
Стабілітрон1N4729A2 3.6В
Конденсатор22 пФ2
Електролітичний конденсатор100 мкФ1
Резистор10 кому1
Резистор2.2-4.7 кОм1
Резистор68 Ом2
Резистор1.5 кОм1
Резистор200 Ом1
Світлодіод1
Кварц12 МГц1
Роз'єм4 конт.1 ISP Prog
Роз'єм5 конт.1 ISP Prog
Tags

Коментарі до новини