NEWS
ZTX IP CONTROLLER.
-
ZTX IP CONTROLLER

LOAD CONTROL BOARD

Orange Pi Zero
Мини-компьютер Orange Pi Zero 512Mb - это миниатюрный одноплатный компьютер на процессорах Allwinner H2+, в который входят четыре вычислительных ядра Cortex A7 с тактовой частотой до 1,2 ГГц. с открытым исходным кодом. Он может работать под управлением Android 4.4, Ubuntu, Debian. Он имеет 512 МБ DDR3 оперативной памяти SDRAM. Также этот миникомпьютер оснащен графическим ускорителем Mali-400MP2, который позволяет декодировать 4К-видео формата H.265/HEVC с частотой воспроизведения до 30 кадров в секунду и поддерживает microSD карты памяти ёмкостью до 64 гигабайт.
Мини-компьютер Orange Pi Zero 512Mb отлично подходит для построения встраиваемых систем управления и систем контроля. Поддерживает следующие операционные системы: Ubuntu MATE, Debian, Armbian и другие. Питается компьютер от блока питания 5В 2А через microUSB разъем.
Список интерфейсов, которые поддерживает Orange Pi Zero:- ETHERNET
- GPIO
- SPI
- I2C
- UART
- USB
С помощью этих интерфейсов миникомпьютер может поддерживать связь а так же управлять огромным количеством различных устройств, датчиков.
Плата Load Control была создана специально по Orange Pi Zero. В нее очень легко и просто устанавливается mini PC. Список интерфейсов, которые поддерживает плата Load Control:- ETHERNET
- GPIO
- 1-WIRE
- USB
- I2C
- CAN
- RS-232

Топология платы "Load Control"

На плате «Load Control» размещен расширитель портов MCP23016. Он подключен к шине «I2C» «Orange Pi Zero». С помощью утылиты «i2c-tools» по «I2C» шине можно осуществлять управление этим расширителем портов. Все входы/выходы MCP23016 выведены на разьем «H3» платы.
Микросхема MCP23016 имеет 16 независимых входов/выходов, которые можно сконфигурировать как угодно, например: 16 входов, 16 выходов, 8 входов, 8 выходов и т.д.MCP23016

Для того, что бы управлять расширителем портов, для начала нам нужно задать режим работы (Вход / Выход). Что бы сделать это, нам нужно в регистры «IODIR(0/1)» записать логическую «1» или логический «0».
● "1" - режим Input;
● "0" - режим Output.Для управления самими портами MCP23016, нужно в регистры «GP(0/1)» записать соответствующую конфигурацию пинов в шестнадцатеричном виде зависимости от потребности.
Пример записи в регистры:i2cset -y 1 0x20 0x06 0x00, где
- i2cset -y 1 - команда для записи в “i2c1”.
- 0x20 – адрес устройства “i2c”.
- 0x06 - адрес регистра IODIR0.
- 0x00 - адреса пинов.
Пример чтения с регистров GP(0/1):
i2cget -y 1 0x20 0x00, где
- i2cget -y 1 - команда для чтения с “i2c1”.
- 0x20 - адрес устройства “i2c”.
- 0x06 - адрес регистра GP0.
**Пример подключения кнопок, датчиков, устройств к плате Load Control **

Пример подключения датчиков температуры и влажности

Входы/выходы расширителя портов MCP23016
Первоначально в MC23016 порт GPIO_1 настроен как «INPUT», а порт GPIO_0 настроен как «OUTPUT» (8 входов, 8 выходов).

Orange Pi Zero. Программное обеспечение.
В образе установлена система "Armbian_5.90_Orangepizero_Debian_buster_next_4.19.57". Параметры входа в систему:
Логин: root
Пароль: root1234Была сделана предварительная настройка интерфейсов: GPIO, USB, I2C, 1-WIRE, CAN.
В папке "home/example/" расположены примеры скриптов:
- "oled_display.py" - пример управление дисплеем (OLED DISPLAY MODULE 128x64 0.96 INCH 4PIN), вывод статуса загрузки системы Orange Pi Zero.
- "dht_example.с" - пример чтения датчиков температуры и влажности "DHT".
- "dht_example" - скомпилированый исполняемый файл.
- "ds18b20_example.py" - пример чтения даных one_wire датчиков температуры "D18B20".
- "serial_read.py" - пример чтения serial порта (RS-232).
- "serial_write.py" - пример записи в serial порт (RS-232).
В папке "home/" расположены примеры скриптов:
- "ds18b20_mqtt.py" - пример чтения и отправки даных по MQTT на IOBroker "one-wire" датчиков температуры "D18B20".
- "dht_example" - пример чтения датчиков температуры и влажности "DHT".
- "dht_mqtt.py" - пример чтения данных датчиков температуры и влажности "DHT" через скрипт "dht_example" и и отправка даных по MQTT на IOBroker.
- "mcp23016_mqtt.py" - пример управления портами микросхемы I2C "MCP23016" через MQTT в IOBroker vis. Настроено: GPIO_1 - INPUT, GPIO_0 - OUTPUT.
- "can_mqtt.py" - пример чтения/записи шины CAN. Скрипт написан под модуль ZTX_RELAY_BOARD.
В систему был установлен IOBroker, с преднастройкой для чтения по MQTT датчиков DHT11, D18B20 и выводом данных с датчиков на главный экран IOBrokervis. В IOBroker vis выведено текущее состояние портов микросхемы mcp23016, которое отображается в виде "лампочек", а также выведены 8
переключателей, которые управляют портами GPIO_0. Под устройство ZTX_RELAY_BOARD в IOBroker vis выведено (8 кнопок) управления, текущее состояние портов отображается в виде "лампочек".
Ссылка на образ для Orange Pi Zero:
https://drive.google.com/open?id=1VsjcYONh33YHjJgRBBUj8eQGVNDqsJXB
Ссылка на плату LODCONTROL (Altium Designer):
https://drive.google.com/open?id=1eswctbBn8OdKM3PahSVlwfSGJnC4jD-w
Ссылка на Gerber:
https://drive.google.com/open?id=1-Glb6r7VXzynMiEbGvqNBCZyAI__i-gK
Ссылка на рисунки и схемы:
Схема платы LODCONTROL:
https://drive.google.com/open?id=19PAF_mo25jl-PgNo_hnNF6GmbJyG9jaO
https://github.com/ztxdevelopers/ZTX-IP-CONTROLLER/blob/master/CIRCUIT_BOARD_LOADCONTROL.pdf
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden