USB Термометр на микроконтроллере

USB термометр на микроконтроллере

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

  • Микроконтроллер ATmega8 (очень желательно без индекса "L" в конце).
  • Температурный датчики DS18B20, нужен без индекса PAR в конце, иначе макс. температура будет +85 град.
  • Кварц 12 МГц.
  • 2 конденсатора 22 пФ и один конденсатор по питанию (10V и не менее 100 Мф, потому что у USB на линии питания просто ужасные перепады напряжения).
  • 2 резистора 68 Ом, 1 резистор 200 Ом, 1 резистор около 2,2 - 4,7 кОм, 1 резистор 10кОм и 1 резистор 1,5кОм.
  • 2 стабилитрона 3.6V.
  • Штекер или разъем 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.

    Если устройство не подключено то вместо температуры будет написано "Не подкл." и при перетаскивании окно будет немножко "подвисать" каждую секунду потому что программа будет каждую секунду обновлять данные об подключенных устройствах пока не найдет этот термометр. Если Вы подключите устройство, то в трее выскочит сообщение "Термометр подключен", окно подвисать уже не будет, и Вы увидите такое:

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

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

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

    Программа, прошивка, исходники и драйвер: Скачать (500 кБайт)

    P.S. Если у Вас нет программатора и Вам нужен уже прошитый микроконтроллер или Вы хотите купить уже готовый термометр, то обращайтесь ко мне на e-mail: devices2000 {сцобака} ya.ru

    Так же я принимаю заказы на разработку и изготовление устройств на микроконтроллерах, за этим обращаться на тот же имейл.

    Автор: Бражников Михаил, devices2000 {сцобака} ya.ru; Публикация:






    Рекомендуемый контент




    Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.