В качестве микроконтроллера, был выбран 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», но я не
думаю что для кого то это проблема. |