Разделы

В сети

Пользователей: 63
Из них просматривают:
Аналоги: 21. Даташиты: 12. Новости: 14. Остальное: 1. Ошибки: 2. Производители: 3. Профиль пользователя: 1. Расчёты: 1. Торрент: 1. Форум: 7.
Участников: 2
Гостей: 61

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Контроллеры

USB HID термометр на датчиках TMP275 (подключение до 8 датчиков)

Написал kostua в 15.10.2012 22:00:00 (11048 прочтений)

USB HID термометр   Типичная схема подключения датчиков (из даташита) показана на рисунке 1. Протокол обмена I2C, работает как SLAVE устройство на шине. Базовый адрес SLAVE устройства tmp275 на шине 0x90. На одной шине можно подключить до 8 датчиков TMP275. Ножками A1-A3 задаются остальные SLAVE адреса относительно базового адреса 0x90 соответственно подтяжкой их к земле или шине питания  устройства.



 

 Из внешних компонентов для датчика TMP275 нужен только конденсатор между VCC и GND, и два подтягивающих резистора на линиях SDA и SCL. Номинальная декларируемая точность датчика tmp275 0,5 градуса C.

 

схема  подключения датчиков

Рис.1  Собственно как выглядит датчик и типичная схема  подключения датчиков (из даташита)

 

  Таблица адресов датчиков, реализованная таким образом, выглядит так: 0x90, 0x92, 0x94, 0x96, 0x98, 0x9A, 0x9C, 0x9E. Чтобы не ограничивать себя адресами конкретных slave адресов, было принято решение при включении устройства анализировать подключенные в данный момент датчики и формировать список доступных. Поэтому можно подключить от 1 до 8 датчиков любого из данных slave адресов.

 

 

A2A1A0Slave Address
0001001000
0011001001
0101001010
0111001011
1001001100
1011001101
1101001110
1111001111

Таб.2 Таблица slave адресов датчиков на шине i2c

 

В качестве основы устройства был выбран микроконтроллер  atmel AVR mega8. Опрос датчиков по I2C протоколу реализовывался на основе имеющегося в данном контроллере интерфейса аппаратного TWI (i2c). Частота обмена шины TWI выбрана 100кгц.  Время, выделяемое на опрос каждого датчика, было выбрано в нашей реализации примерно 1с.  Думаю, нет смысла напоминать, что не следует рядом с контроллером монтировать тепловыделяющие элементы – резисторы, транзисторы, дисплеи, корпуса контроллеров. Дорожки или проводники подключающие датчики к контроллеру не должны быть широкими, также следует избегать обширных полигонов медной фольги (дорожек) рядом. Иначе будут значительные неточности измерений из-за теплопередачи или охлаждения за счет отвода тепла на обширных поверхностях медной фольги.

 

Для передачи данных ПК было решено использовать USB HID протокол. Почему именно HID? Класс USB HID описывает устройства, которые используются практически в каждом современном компьютере. В нём существует множество предопределённых функций. Они позволяют производителям аппаратного обеспечения разрабатывать продукты, соответствующие спецификации USB HID, и ожидать, что они будут работать с любым программным обеспечением, которое так же поддерживает эти спецификации. Это значит, что в большинстве случаев отсутствует необходимость для разработчиков разрабатывать свой драйвер для конкретного устройства, а пользователь тратит считанные секунды для начала работы с устройством (вместо обычного поиска и установки драйвера под каждый новый тип устройства).

 

Схема устройства, таким образом, выглядит следующим образом. Дополнительно  LC фильтр рекомендуется ставить в особо тяжелых в плане помех питания случаях. Тактируется контроллер от кварца 12мгц, блокировочные конденсаторы 22 пф. Стабилитроны на линиях d+ и d- на 3,3 -3,6В. Резистор подтяжки на линии d- 1,5 -2,2 Ком  он служит для правильного опознавания устройства как низкоскоростное hid устройство. Slave адрес в данном случае при неподключенных пинах a0-a3 будет 0x90

 

Схема устройства

Рис 2. Схема устройства (увеличить схему)

 

Программа для ПК написана под С++ Builder c использованием библиотек JEDI для работы с hid устройствами. Программа позволяет просматривать данные температуры от 1 до 8 датчиков согласно описанных ранее базовых slave адресов.

 

Программа HID термометра

Рис3. Программа HID термометра (в данном случае подключено 3 датчика)

 

Для правильной работы устройства необходимо прошить следующие биты конфигурации (фьюзы) для контроллера mega8.

 

фьюзы

 

В архиве прилагаются программа для ПК, программа для контроллера, схема устройства.

Скачать архив

6
 
Теги: Датчик   Термометр   USB   HID  
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити
kostua
Отправлено: 17.10.2012 14:46  Обновлено: 17.10.2012 14:46
Старший сотрудник
Дата регистрации: 01.03.2011
Откуда:
Сообщений: 112
 USB HID термометр на датчиках TMP275 (подключение до 8 датчиков)
в принципе ничего не мешает сделать универсальный интерфейс usb->i2c для подключения других датчиков этого интерфейса....пока есть еще вариация данного интерфейса tmp275 + ds18b20 датчики..

Разное

Канифоль можно изготовить самому, собрав в лесу сосновую (не еловую!) смолу и перетопив ее в консервной банке.

Интересно

При замене электролитических конденсаторов, кроме соблюдения полярности, не следует значительно превышать допустимое рабочее напряжение.

Похожие новости