Каталог
|
Модули расширения портов или АЦП обычно управляются по интерфейсу I2C, который является внутрисхемным и не гарантирует работу на расстояниях больше единиц метров, интерфейс данного модуля рассчитан на расстояния до 100 метров. Модуль имеет 5 портов ввода/вывода общего назначения, из которых 4 имеют дополнительную функцию АЦП, 1 - дополнительную функцию ШИМ, 3 - дополнительную функцию SPI (конвертер 1-wire в SPI-master). Модуль можно использовать одновременно для чтения датчиков, управления нагрузкой, как охранную/пожарную сигнализацию, для взаимодействия с другим микроконтроллером, и даже для его перепрошивки. Характеристики:
У модуля есть встроенная функция сравнения результата АЦП с верхним и нижним порогами, индивидуальными для каждого из 4 каналов АЦП, и установки флагов тревоги при выходе АЦП за диапазон, что позволяет снизить нагрузку на центральный контроллер, читая и обрабатывая результаты АЦП только с модулей с активированной тревогой. Аналогично модуль может непрерывно мониторить все свои порты и устанавливать флаги тревоги при (даже кратковременном) появлении заданного логического уровня, что позволяет не пропустить сигнал с охранного датчика или сигнал прерывания. В примерах к библиотеке есть готовые скетчи охранной сигнализации и мониторинга аналогового сигнала в пределах диапазона, которые можно использовать, в том числе, и со множеством модулей на одной шине, не теряя производительности. К модулю можно подключать:
Результат res = pex.analogRead(); при чтении аналогового значения с модуля находится в диапазоне 0..65535 (16бит) независимо от запрошенной точности, для приведения его к общепринятому диапазону 0..1023 (10бит) необходимо выполнить res >>= (16-10);. Функция конвертера 1-wire в SPI-master переводит порты P2, P3, P4 в режим SCK, MOSI, MISO соответственно, а оставшиеся два порта P0, P1 сохраняют свои основные и дополнительные функции, один из них понадобится для сигнала SS (Slave Select), а другой можно использовать для GPIO, АЦП, ШИМ, чтения прерывания или как SS для еще одного SPI устройства. Функция создает туннель для протокола SPI поверх протокола 1-wire, что увеличивает дальность подключения и сокращает число проводов, но ценой снижения скорости обмена. Функция позволяет подключать датчики или исполнительные устройства с интерфейсом SPI, в том числе разработанные самостоятельно на микроконтроллере. При использовании AVR (установлен на большинстве плат Arduino) в качестве такого микроконтроллера, его можно даже перепрошивать по 1-wire (скорость прошивки ~140 байт/с). Для реализации такой возможности порты P0..P4 модуля подключаются к портам Arduino: RST, SS, SCK, MOSI, MISO соответственно (P0 будет для перевода микроконтроллера в режим внутрисхемного программирования (ISP), а P1 - для взаимодействия с программой на микроконтроллере). В примерах есть скетч ArduinoOWISP, который превращает одну Arduino в полноценный программатор другой Arduino по 1-wire. Обратите внимание, что при паразитном питании ток ограничен всего несколькими мА на всю шину 1-wire, при большом потреблении подключаемых датчиков и/или исполнительных устройств потребуется подключение линии VCC. Суммарный ток подключаемых к одному модулю устройств не должен превышать 150мА. Настройка Raspberry Pi В файле /boot/config.txt добавить строку: dtoverlay=w1-gpio,gpiopin=4 В командной строке выполнить: sudo apt-get update -y sudo apt-get install -y owfs ow-shell В файле /etc/owfs.conf добавить строку: server: w1 Перезагрузить: sudo reboot Команда для просмотра идентификаторов всех найденных 1-wire устройств: owdir /uncached (идентификаторы модулей расширения портов начинаются на "20.") Команда для запуска АЦП и чтения результатов с устройства 20.xxxxxxxxxxxx: owget /uncached/20.xxxxxxxxxxxx/volt.ALL ;echo Для управления устройством через веб-интерфейс открыть в браузере: http://honey.com.ua/io/adc/control.htm В поле "owhttpd address:port" ввести "127.0.0.1:2121" (127.0.0.1 заменить на IP-адрес Raspberry Pi) и нажать "Ok", в появившемся списке выбрать необходимый идентификатор модуля расширения портов. Пример скетча для Arduino #include < DS2450.h > Ссылки: Отзывы покупателей про Модуль расширения портов с интерфейсом 1-wire (сделано в Украине) Андрій (02.04.2024) Скільки таких модулів можна підключити до одного контролера? ОтветитьHoney (30.04.2024) Правильна відповідь - багато. На одній 1-wire шині може бути скільки завгодно 1-wire-slave пристроїв і лише один 1-wire-master пристрій. Обмеження накладаються лише шиною - її довжиною, відгалуженнями, якістю провідників. Даний модуль - це 1-wire-slave пристрій. Якщо 1-wire-master реалізований на мікроконтролері програмно, то для однієї шини використовується один пін, а шин можна зробити стільки, скільки є пінів. ОтветитьHoney (05.07.2022) Так, VCC це лише живлення, підключати його можна або з боку 1-wire (до гвинтових клем), або з боку портів (між VCC з боку 1-wire і VCC з боку портів стоїть діод, щоб не було витоку струму назовні). Бажано щоб напруга DQ і напруга живлення не відрізнялися більше ніж на +/-1В. Роман (02.07.2022) На скільки я розумію, лінія VCC використовується лише для передачі живлення. Чи можна живити модуль і все, що до нього підключено, від локального джерела живлення 5В, а для даних використати лише двохжильний кабель? Якщо так, то можна використати сигнальний кабель (не виту пару), наприклад 2x0.22 ? На яку максимальну відстань можна розраховувати? ОтветитьНаписать отзыв: Есть вопросы по "Модуль расширения портов с интерфейсом 1-wire (сделано в Украине)" ? Также рекомендуем ознакомиться:
Дорогие друзья! Мы стараемся держать на сайте информацию про наличие товаров и цены на них в АКТУАЛЬНОМ состоянии. Корректировки происходят постоянно. Если вы находите цену на товар завышенной, напишите нам про это с указанием ссылки на товар. Мы рассмотрим письмо и или обоснуем цену, или подкорректируем ее. Ассортимент магазина очень большой и иногда бывают ошибки в ценообразовании, особенно при скачках курса доллара. Благодарим за понимание.
|