Измеритель температуры цифровой через компьютер. USB термометр, неоднозначный результат. Подготовка к эксплуатации

В статье представлена схема USB термометра c выводом показания температуры на монитор компьютера. В качестве датчика использован NPN транзистор , изменение напряжения на нем составляет примерно 2,3 мВ на каждые 10°C.

Микроконтроллер PIC18F2550 имеет 10-битный аналоговый-цифровой преобразователь. Схема питается от . Интерфейс для персонального компьютера — HID класса.

Калибровка USB термометра

Калибровка датчиков схемы производится в приложение VB. При запуске приложения VB в первый раз он создает «cal.txt» текстовый файл в той же папке. Файл имеет 2 номера, которые сохраняют показаний датчиков на 0 до 100 по Цельсию. Это необходимо из-за того, что у каждого датчика свое значение выходного напряжения. Запись калибровочных данных производится следующим образом:

  1. Необходимо поместить датчик температуры в воду со льдом, нажать кнопку 0°C.
  2. После чего приложение обновит cal.txt файл с новым значением сигнала датчика.
  3. Затем поместить датчик в кипящую воду (100°C), нажмите кнопку 100 ° C для обновления данных в файле cal.txt.

Также в качестве температурного датчика подойдет любой NPN транзистор в пластмассовом корпусе с коэффициентом усиления не менее 100.

У которого пределы измерения температуры от -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м. Светодиод меняет свой состояние(зажигается/тухнет) при каждом запуске измерения температуры. Если он с хаотической скоростью мигает, тогда с термодатчик работает нормально, если постоянно светиться или не светиться – с датчиком проблемы (неправильно подключен, нерабочий, или очень длинный провод, возле которого сильные электромагнитные помехи). Справа расположен разъем для внутрисхемного программирования микроконтроллера. Прошивка для него - USBThermometer\MCU\USB_thermometer\default\main.hex . После заливки прошивки Вам нужно правильно выставить фьюзы, иначе устройство не будет работать, в STK500 из AVR Studio это выглядит так:

Если вы правильно собрали устройство и правильно прошили МК, то при подключению к компу через USB Windows найдет новое устройство и спросит где драйвер. Он расположен в папке USBThermometer\windows-driver\ , куда Вам и надо указать путь. Когда установиться драйвер перезагрузите ПК. Потом запустите программу USBThermometer.exe . Если устройство не подключено то вместо температуры будет написано «Не подкл.» и при перетаскивании окно будет немножко «подвисать» каждую секунду потому что программа будет каждую секунду обновлять данные об подключенных устройствах пока не найдет этот термометр. Если Вы подключите устройство, то в трее выскочит сообщение «Термометр подключен», окно подвисать уже не будет, и Вы увидите такое:

Ещё, что очень удобно, есть функция «Мини-окно» и «Поверх всех окон». Я обычно устанавливаю все 2 галочки и получаться вот что:

Вся серая область это и есть окно программы в «мини-виде» (бело-синий фон с бульбашками – то рабочий стол). Нравиться:) ?. Это удобно потому, что окно маленькое (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

В качестве микроконтроллера, был выбран 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м. Светодиод меняет свой состояние(зажигается/тухнет) при каждом запуске измерения температуры. Если он с хаотической скоростью мигает, тогда с термодатчик работает нормально, если постоянно светиться или не светиться с датчиком проблемы (неправильно подключен, нерабочий,Pили очень длинный провод, возле которого сильные электромагнитные помехи). Справа расположен разъем для внутрисхемного программирования микроконтроллера. Прошивка для него - USBThermometerMCUUSB_thermometerdefaultmain.hex . После заливки прошивки Вам нужно правильно выставить фьюзы, иначе устройство не будет работать, в STK500 из AVR Studio это выглядит так:

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

Ещё, что очень удобно, есть функция [Мини-окноk и [Поверх всех оконk. ЯPобычно устанавливаю все 2 галочки и получаться вот что:

Вся серая область это и есть окно программы в [мини-видеk (бело-синий фон с бульбашками то рабочий стол). Нравиться:) ?. Это удобно потому, что окно маленькое (96х198), постоянно поверх всех окон и не мешается при использовании других приложений. К тому же программа не отображается на панели задач, а только в трее и, наведя курсор на иконку программы, можно увидеть температуру в Цельсиях:

Этот термометр я проверял на нескольких стационарных ПК, ноутбуках и нетбуках под операционными системами Windows Home Edition, Windows Professional и Windows Vista. Всё работало отлично! Только вот на висте, при температуре на термодатчика ниже -9 и выше 99 град.Pне было видно буквы [Сk (там где температура в Цельсиях), потому что я выбрал шрифт для отображения температуры }