Измеритель температуры цифровой через компьютер. Цифровой USB-термометр MP707

  • 19.04.2024

USB термометр своими руками

Давно у меня родилась идея сделать USB термометр, однако нужды не было, и идея покоилась. Както у друга в гостях заметил пару USB флешек. Одна была дохлая и досталась мне нахаляву. С недавнего времени постоянно за ними охочусь, т.к. в большинстве случаев сгорает контроллер, а NAND flash живая + SMD кварц. А такое на дороге не валяется.
Так вот, с этой флешки я поимел: SMD кварц на 12 МГц, USB штекер на плату и маленький корпус, а также развитие идеи USB термометра.

В течении недели были разработаны:
1. Схема устройства;
2. Разводка печатной платы под имеющийся корпус;
3. Программа для МК ATtiny45;
4. Программа-хост (даллее просто хост) для приема данных от МК.

Программа для МК разработана в среде AVR Studio с использованием GCC на основе библиотеки avrusb и исходников некоего Martin’a Thomas’a для DS18B20 (времени не было самому писать). Спопсоб взаимодействия хоста с устройством реализован в виде отправки устройству условного кода (в соответствии с которым устройство будет выполнять требуемые операции), а также запроса пакета данных со значением текущей температуры. Так как размер отправляемых и принимаемых данных мал, то был выбран future репорт (тип пакета данных) ввиду простоты работы с ним.
Если вы захотите исправить программу для МК, пожалуйста, перед этим внимательно прочтите документ USBID-License.txt, находящийся в папке usbdrv.
Там содержится ряд правил и ограничений по использованию библиотеки avrusb.
Программа-хост написана в Borland Delphi 7 с использованием библиотеки компонентов JEDI-VCL, в состав которой входит компонент TJvHidDeviceController, реализующий просой доступ к HID совместимым USB устройствам. Чтобы сделать использование устройства максимально удобным было решено реализовать хост в виде значка со значением температуры в ситемном трее (возле часов) без какого-либо графического интерфейса, за исключением контекстрого меню по нажатию правой кнопки мыши по значку в трее.
У меня WinXP SP3, на других ОС программу не пробывал.

В общем, хост работет по следующему алгоритму:
1. По таймеру (раз в 2 секунды) запускаем поиск нашего девайса. Критерии поиска — текстовые имена производителя (vendor) и устройства (product);
2. Принимаем информацию от устройства с многочисленными проверками на ошибки. Если таковые возникают — ставим значек «NA» — no access;
3. Отдаем команду чтения температуры из датчика. Ждем;
4. Отдаем команду начала измерения температуры;
5. Возврат к пункту 1 через 2 сек.

Многоканальный цифровой термометр подключается к персональному компьютеру через USB-порт. Он имеет исполнительное устройство (реле) и позволяет включать-выключать нагрузки при изменении температуры (осуществлять термостатирование). Устройство будет полезно для применения в быту, дома, на даче, в бане. С его помощью можно производить измерения температуры окружающей среды, контролировать рабочую температуру морозильников и холодильных установок, управлять различными нагрузками в автономном режиме, протоколировать измеренную температуру, формировать файл с текущими показаниями в HTML-формате (то есть контролировать текущую температуру и состояние нагрузок через Интернет), управлять нагрузкой с помощью командного файла.

Технические характеристики :
Напряжение питания, В 3,6…5
Ток потребления не более*, мА 50
Диапазон измеряемых температур, 0С -55…+125
Штатный температурный датчик DS18B20
Допустимое количество датчиков**
(при желании докупаются отдельно)
До 32 датчиков типа DS18B20, DS18S20, DS1820 или DS1822
Количество каналов управления нагрузкой 2
Ток коммутации канала***, Ампер 5
Точность, 0С ±0,5
Размеры печатной платы, мм 55x55

Комплект поставки
Блок цифрового термометра в сборе c установленным датчиком температуры DS18B20 – 1 шт. 1
Корпус 1
Инструкция пользователя 1

Описание работы устройства и его подключение
Центральная часть устройства – микроконтроллер ATtiny45, работающий на частоте 16.5 МГц. Дополнительные датчики при необходимости подключаются параллельно DA1. Напряжение питания подаётся через USB-порт J1.
Устройство может работать как в автономном режиме (контроль текущей температуры и управление приборами), так и под управление специализированной программы для персонального компьютера.
Температурный сенсор DA1 размещен на плате устройства. Электронные компоненты вблизи датчика могут слегка нагреваться при работе, также на точность измерения влияет защитная термоусадочная оболочка, поэтому возможны небольшие погрешности измерения температуры. Более точное измерение могут обеспечить внешние датчики температуры, при желании приобретаемые и подключаемые дополнительно. Рекомендуемая длина соединительной линии – не более 20 метров. При близкой к предельной длине линии следует использовать качественный провод: витую пару 5 категории. При наличии электромагнитных помех желательно использовать экранированный провод.
В автономном режиме работы устройство не требует подключения к компьютеру и может получать питание от любого сетевого адаптера 5 В с разъёмом USB.

Программное обеспечение
Скачать программное обеспечение.
Внимание! Некоторые антивирусные программы ошибочно принимают ПО за вредоносное (подозрение на вирусы). В действительности же данное ПО вредоносного кода не содержит.

Конкурс начинающих радиолюбителей
“Моя радиолюбительская конструкция”

Схема и программное обеспечение простого USB термометра на микроконтроллере ATmega8, который может собрать своими руками и начинающий радиолюбитель

Конкурсная конструкция начинающего радиолюбителя:
“USB термометр на микроконтроллере ATmega8″

Здравствуйте уважаемые друзья и гости сайта!
Представляю на ваш суд вторую конкурсную работу.
Автор конструкции – Григорьев Илья Сергеевич .

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

Всем добрый день! Захотелось мне собрать термометр для того, чтобы знать температуру или дома или за окном. Сторона у меня солнечная и обычный термометр очень врет, нагреваясь.
Стал рыть интернет. Как всегда много ненужного, слишком сложного, затратного.
Наконец, я нашел схему по душе, по которой и стал делать ЮСБ термометр.

Итак, вот схема:

Для сборки нам понадобятся:
♦ МС Атмега 8 и кроватка для нее на 28 ног
♦ Датчик температуры DS18B20
♦ Резисторы(у меня 0.5Вт):
- 10к
- 4,7к
- 68ом *2шт
- 1,5к
- 200ом
♦ Кондеры
- 22пФ *2шт
- 100мкФ на 16В электролит
♦ 2 стабилитрона на 3.6В
♦ Кварцевый резонатор 12MHz
♦ Светодиод
♦ Кусок одностороннего текстолита 5*5см

Начинаем все с разметки на текстолите, потом вырезаем
Кстати, раньше я долго мучился вырезанием нужных кусков канцелярским ножиком, было это долго, муторно… недавно я заказал на ebay отрезные алмазные круги для дремеля. За секунду…вввжик и отрезано!


10штук вот таких кругов 100 рублей (для поиска- 10X 20mm Emery Diamond Coated Double Side Cutting Discs with 2 Joint Lever).

Затем, печатаем на журнале схему, потом утюгом нагреваем, далее отмачиваем:


Потом травим, оттираем тонер, сверлим:


И потом начинаем собирать:


Atmega 8-16PU в кроватке:


Отмываем плату от флюса, т.к. я использовал активный да и очень вид портит:


Далее я взялся за датчик. Я решил сделать 2 датчика. Первый будет короткий и находиться в комнате. Второй я сделаю длинным и выставлю его на улицу.


Вставляем датчик в разъем, согласно распиновке.

Теперь нам надо прошить Атмегу. Берем ранее изготовленный мной и заливаем прошивку.
В SinaProg нам надо выставить фьюзы:


ОБЯЗАТЕЛЬНО! Перед подключением проверяем плату на наличие КЗ!!!

Вставляем плату в юсб и у нас сразу же появляется неизвестное устройство:



Заходим в диспетчер устройств, находим неизвестное устройство и обновляем дрова.
Во время установки появится окно, где выбираем – “Все равно установить этот драйвер”
После этого в диспетчере устройств появится новое устройство:


А светодиод начнет хаотично моргать. Это значит, что работа устройства корректна!
Далее запускаем программу для отслеживания температуры.

Если начнет появляться многократно ошибка unable to write to C:/temp/USBThermometer_config.ini то заходим на диск С, включаем видимыми все папки и если есть папка temp, то создаем там блокнот, называем его USBThermometer_config и меняем ему расширение на.ini . Если нет папки, то создаем сначала ее. После этого у меня ошибка исчезала. Если папку создавали, то чтобы она не мешала можно скрыть ее.

Программа простая, понятная.
Основное окно:


Мини-окно, можно использовать как гаджет:


Вот и все. У меня на все было потрачено совсем немного денег и времени! Датчик в районе 90р и почти вся мелочь у меня уже была. Теперь у меня есть домашний, электронный термометр с возможностью измерения температуры дома и на улице.

65 нанометров - следующая цель зеленоградского завода «Ангстрем-Т», которая будет стоить 300-350 миллионов евро. Заявку на получение льготного кредита под модернизацию технологий производства предприятие уже подало во Внешэкономбанк (ВЭБ), сообщили на этой неделе «Ведомости» со ссылкой на председателя совета директоров завода Леонида Реймана. Сейчас «Ангстрем-Т» готовится запустить линию производства микросхем с топологией 90нм. Выплаты по прошлому кредиту ВЭБа, на который она приобреталась, начнутся в середине 2017 года.

Пекин обвалил Уолл-стрит

Ключевые американские индексы отметили первые дни Нового года рекордным падением, миллиардер Джордж Сорос уже предупредил о том, что мир ждет повторение кризиса 2008 года.

Первый российский потребительский процесор Baikal-T1 ценой $60 запускают в массовое производство

Компания «Байкал Электроникс» в начале 2016 года обещает запустить в промышленное производство российский процессор Baikal-T1 стоимостью около $60. Устройства будут пользоваться спросом, если этот спрос создаст государство, говорят участники рынка.

МТС и Ericsson будут вместе разрабатывать и внедрять 5G в России

ПАО "Мобильные ТелеСистемы" и компания Ericsson заключили соглашения о сотрудничестве в области разработки и внедрения технологии 5G в России. В пилотных проектах, в том числе во время ЧМ-2018, МТС намерен протестировать разработки шведского вендора. В начале следующего года оператор начнет диалог с Минкомсвязи по вопросам сформирования технических требований к пятому поколению мобильной связи.

Сергей Чемезов: Ростех уже входит в десятку крупнейших машиностроительных корпораций мира

Глава Ростеха Сергей Чемезов в интервью РБК ответил на острые вопросы: о системе «Платон», проблемах и перспективах АВТОВАЗа, интересах Госкорпорации в фармбизнесе, рассказал о международном сотрудничестве в условиях санкционного давления, импортозамещении, реорганизации, стратегии развития и новых возможностях в сложное время.

Ростех "огражданивается" и покушается на лавры Samsung и General Electric

Набсовет Ростеха утвердил "Стратегию развития до 2025 года". Основные задачи – увеличить долю высокотехнологичной гражданской продукции и догнать General Electric и Samsung по ключевым финансовым показателям.