Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 28 мар 2024, 14:52

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Устройства iButton.
СообщениеДобавлено: 29 июл 2017, 10:14 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Надеюсь, что в этом топике будут размещаться различные датчики для однопроводной шины.

Вот первый рабочий вариант дискретного датчика для однопроводной (1-Wire) шины. Код написан для МК ATtiny13A. Тактируется на частоте 9,6 МГц от внутреннего генератора. Уникальный номер датчика 0xE5000003372FC040.
1.png
1.png [ 52.67 КБ | Просмотров: 5719 ]

Так как мой код поиска датчиков на шине по уникальным номерам не совершенен, то опытным путём был найден код семейства (0х40) который совместно с датчиками DS18B20 определяется без ошибок. Что касается данного кода семейства, то такой номер не определён для устройств iButton. Таким образом данный номер гарантированно не встретится у других устройств.

Схема:
2.png
2.png [ 11.73 КБ | Просмотров: 5719 ]

К порту РВ0 подключается сухой контакт. К порту РВ1 шина (1-Wire) с подтягивающим резистором (4к7) к положительному потенциалу напряжения питания. К порту РВ4 можно подключить светодиод для индикации состояния контактов.

Данный датчик опрашивается так же как и DS18B20… датчик понимает команды РОМ : SEARCH ROM (0xF0) – поиск кода ром; READ ROM (0x33) – чтение ром; MATCH ROM (0x55) – соответствия ром; SKIP ROM (0xCC) – пропуск ром. Из функциональных команд поддерживаются: CONVERT (0x44) – конвертирования значений, и READ MEMORY (0xBE) – чтение памяти датчика.
При поступлении команды 0х44, датчик прижимает шину к «земле» и производит опрос входа сухого контакта. В зависимости от состояния контакта производится занесение соответствующего значения в память датчика с вычислением CRC. После выполнении соответствующих процедур шина отпускается.
При поступлении команды 0хВЕ, датчик выдаёт 9 байт. Два младших байта, это информация о состоянии контакта датчика (по аналогии значения температуры у DS18B20), девятый байт контрольная сумма CRC вычисленная из первых восьми байт. По аналогии с термометром DS18B20, значение 0,0 «градусов» будет соответствовать разомкнутому контакту. Значение 10,0 «градусов» - соответствует при замкнутом контакте.


Концевой выключатель.zip [15.57 КБ]
Скачиваний: 663


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB