Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

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Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

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

Теги:

Бражников Михаил Опубликована: 2010 г. 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (12) | Я собрал (0) | Подписаться

0
andrej #
А на STM8 можно это реализовать?
Ответить
0
oleg #
Собрал. Работает отлично! Вот только драйвера на windows 7 x64 не стали, а на ХР нормально.
Ответить
-1
Жазира #
Схему собрала, прошила микроконтроллер, не работает. Комп не видит вообще... не могу понять почему. Я новичок, может что-то не так сделала?
Ответить
0
Андрей #
А есть драйвер под Windows 7? А то на XP термометр заработал, но на семёрке драйвер не может установить.
Ответить
0
Александр #
А зачем драйвер? Оно не на HID классе реализовано?
Ответить
0
Nazar #
Как поставить правильно фьюзы на Uniprof?
Ответить
-1
slava #
И у меня светодиод мигает и на диспетчере устройств неопознано устройство
Ответить
0
РСМ2702 #
Как поставить правильно фьюзы в Pony prog?
Ответить
0
MARKIZ #
Здравствуйте !
Собрал USB-термометр. Работает прекрасно. Но только одно НО.
В настройках меню, где должны выставляться MIN и MAX значения температуры, всё время почему то сохранение идёт значений градусов не в ЦЕЛЬСИЯХ, а в ФАРЕНГЕЙТАХ . Хотя в тоже время ЦВЕТОВЫЕ НАСТРОЙКИ меняются.
Прикрепленный файл: mc39_USB_Thermometer.rar
Ответить
0
MARKIZ #
Разве это правильно ?
В чём ошибка программы ?
Ответить
0
Андрей #
А если нужно измерять температуру более 500 градусов Цельсия?
Ответить
0
Александр #
Устройство собрал, светодиод моргает с периодичностью 1 раз в 0.5с. На 64-битной системе, так понимаю, не работает, пишет "Неизвестное устройство (сбой в определении дескриптора)". Так и должно быть?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Программатор Pickit3
Программатор Pickit3
Raspberry Pi 2 Конструктор УНЧ 60 Вт на LM3886
вверх