USB термометр

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

mc39-3.jpg

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

mc39-4.jpg

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

Трей

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

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

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

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

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

Прикріплені файли:

Top