|
|
(не показаны 103 промежуточные версии 6 участников) |
Строка 1: |
Строка 1: |
| Wiren Board содержит 8-канальное АЦП, которые мультиплексированны в один LRADC1-канал i.mx233.
| | <languages/><translate> |
| | {{DISPLAYTITLE: Аналоговые входы (АЦП)}} |
| | == Определения == <!--T:55--> |
| | '''Аналого-цифровые преобразователи (АЦП)''' — устройства предназначенные для преобразования входных аналоговых сигналов в цифровой код. |
|
| |
|
| ===Опорное напряжение===
| | <!--T:56--> |
| Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала (не реализовано в драйвере Linux, обратитесь к нам, если вам нужна эта возможность).
| | '''Аналоговые входы''' — представляют собой входы АЦП и служат для измерения поданного на них напряжения. Аналоговые входы в устройствах автоматики предназначены для подключения к ним датчиков с [[AnalogSensors_connecting | выходным аналоговым сигналом]]. |
|
| |
|
| | == Аналоговые входы в контроллере Wiren Board == <!--T:57--> |
| | === Wiren Board 6 === |
| | В Wiren Board 6 каналы АЦП процессора подключены к клеммникам A1-A4. Также на АЦП заведено входное напряжение (после входных диодов) и напряжение на клемме 5Vout. |
| | === Wiren Board 7 === |
| | Wiren Board 7 каналы АЦП процессора подключены к клеммникам A1-A3. Напряжения на клемме D1 и на клемме 5Vout не измеряются. |
| | <gallery mode="packed" heights="100px" caption="Универсальные входы-выходы"> |
| | Image: WB6_AI_DI.PNG| Wiren Board 6 |
| | Image: WB7_AI_DI.PNG| Wiren Board 7 |
| | Image: WB6.Ax.png| Схема Ax |
| | Image: WB7.D1.png| Схема D1 в Wiren Board 7 |
| | </gallery> |
| | == Измерение напряжения == |
| | === Подключение и настройка === |
| | #Напряжение должно быть в диапазоне допустимых значений. |
| | #Клеммники Ax выполняют две функции: АЦП и управление низковольтной нагрузкой. Перед измерением напряжение, поставьте соответствующий выход управления низковольтной нагрузкой в положение «выключено». Например, если вы подключаетесь к клемме A1, выключите в [[Веб-интерфейс Wiren Board | веб-интерфейсе]] A1_OUT (раздел Relays & FETs). |
| | #Подключите ваш источник к клемме Ax. Значение напряжения сразу появится в [[Веб-интерфейс Wiren Board | веб-интерфейсе]], в устройстве ADCs. Также значение транслируется в систему сообщений [[Special:MyLanguage/MQTT|MQTT]]. |
| | === Отображение измеренного напряжения === |
| | Демон wb-homa-adc транслирует значение в очередь сообщений MQTT в топик /devices/wb-adc/controls/Vin . |
| | Таким образом, значение отображается в веб-интерфейсе как канал Vin устройства ADCs |
|
| |
|
| | | <!--T:58--> |
| === Основные каналы===
| | Смотрите также: |
| Часть каналов АЦП выведена на клеммы параллельно с транзисторами управления низковольтной нагрузки.
| | * [[Wiren Board 6.2: Peripherals#Каналы АЦП| Каналы АЦП в Wiren Board 6.2]] |
| | | * [[Wiren_Board_7.2:_Peripherals#Аналоговые_входы| Каналы АЦП в Wiren Board 7]] |
| Убедитесь, что вы явно закрыли соответствующий FET помощью GPIO перед использованием АЦП.
| | * [[ADC.OLD | Списки АЦП для старых версий контроллера]] |
| | | </translate> |
| | |
| ====WB Smart Home rev. 3.5 ====
| |
| 4 канала АЦП выведено на клеммники A1-A4, 4 канала - на клеммники R1-R4.
| |
| | |
| На каналах А1-А4 стоят делители 220k/22k, входное напряжение для каждого канала вычисляется как 11 * <измеренное напряжение>.
| |
| На каналах R1-R4 делители не установлены, входное напряжение для каждого канала равно измеренному напряжению.
| |
| | |
| === WB3.5 ===
| |
| | |
| {| border="1"
| |
| | клеммник || Делитель|| Формула для пересчета || комментарии
| |
| |-
| |
| | |
| | A1-A4 || 220k/22k|| V = N / 4095 * 1.85V * 11 ||
| |
| |-
| |
| | |
| | R1-R4 || - || V = N / 4095 * 1.85V ||
| |
| |-
| |
| | |
| | Vin || 200K/33K || V =N / 4095 * 1.85V * 7.061 ||
| |
| |-
| |
| | |
| |}
| |
| | |
| === WB2.8 ===
| |
| | |
| {| border="1"
| |
| | клеммник || Делитель|| Формула для пересчета || комментарии
| |
| |-
| |
| | |
| | A1-A7 || 12K/33K|| V = N / 4095 * 1.85V * 1.364 ||
| |
| |-
| |
| | |
| |}
| |
| | |
| === Измерение входного напряжения===
| |
| 5-ый канал мультиплексора предназначен для измерения входного напряжения.
| |
| Канал имеет делитель 200K/33K, поэтому входное напряжение определяется как 7.061 * <измеренное напряжение>.
| |
| Максимальное измеряемое напряжение - 26В.
| |
| | |
| == Software ==
| |
| АЦП мультиплексор подключен к порту LRADC1.
| |
| | |
| *Выбор канала:
| |
| | |
| <pre>
| |
| wb-adc-set-mux <номер канала>
| |
| или
| |
| wb-adc-set-mux <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home)
| |
| или
| |
| wb-adc-set-mux tb<номер клеммника> (для WB2.8)
| |
| или
| |
| wb-adc-set-mux vin (для WB2.8)
| |
| </pre>
| |
| | |
| *Чтение показаний:
| |
| | |
| <pre>
| |
| root@wirenboard:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
| |
| 3838
| |
| </pre>
| |
| или
| |
| | |
| <pre>
| |
| root@wirenboard:~# wb-adc-get-value
| |
| 3838
| |
| </pre>
| |
| | |
| *Чтение показаний c предварительной установкой канала: | |
| <pre>
| |
| wb-adc-read-channel <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home, опции аналогичны wb-adc-set-mux)
| |
| </pre>
| |
| | |
| | |
| === Перевод значений ===
| |
| | |
| На канале должен стоять делитель на два (пока нет).
| |
| Формула для перевода:
| |
| <pre>
| |
| V_measured = N / 4095 * 1.85V
| |
| </pre>
| |
| | |
| ==== Wiren Board Smart Home rev. 3.5 ====
| |
| Итого, для напряжения на клеммниках A1-A4 с учётом входного делителя:
| |
| <pre>
| |
| V = N / 4095 * 1.85V * 11 =
| |
| V = N * 4.97 mV = N * 0.00497 V
| |
| </pre>
| |
| | |
| | |
| ==== Wiren Board rev. 2.8 ====
| |
| Итого, для напряжения на клеммниках с учётом входного делителя (WB rev. 2.8):
| |
| <pre>
| |
| V = N / 4095 * 1.85V * 1.364 =
| |
| V = N * 0.61621 mV = N * 0.00061621 V
| |
| </pre>
| |
| | |
| Для входного напряжения (канал <b>vin</b>) (WB rev. 2.8)
| |
| <pre>
| |
| V = N / 4095 * 1.85V * 7.061 =
| |
| V = N * 3.18900 mV = N * 0.0031900 V
| |
| </pre>
| |
| | |
| | |
| | |
| === Пример ===
| |
| * Устанавливаем ADC на измерение напряжения на клеммнике A3:
| |
| <pre>
| |
| root@wirenboard:~# wb-adc-set-mux A3
| |
| </pre>
| |
| | |
| * Считываем сырое значение ADC:
| |
| <pre>
| |
| root@wirenboard:~# wb-adc-get-value
| |
| 2523
| |
| </pre>
| |
| | |
| * Конвертируем значение
| |
| <pre>
| |
| V = 2523 * 4.97 mV = 12539 mV = 12.54 V
| |
| </pre>
| |
| | |
| === Проблема со звуковым драйвером ===
| |
| Процессор может мультиплексировать источник MIC BIAS на вывод LRADC1. Такое поведение по-умолчанию включено в драйверах звука.
| |
| Отключается патчем [https://github.com/contactless/linux/commit/2b13b2ee1dd936902ce5c71f192001c9513a7dbb], который применён к ядру из поставки Wiren Board.
| |
| | |
| == Измерение сопротивлений ==
| |
| См. [[ADC:Измерение сопротивлений]]
| |
| | |
| | |
| == Напряжение аккумулятора ==
| |
| <pre> | |
| cat /sys/bus/iio/devices/iio:device0/in_voltage7_raw
| |
| </pre>
| |
| для преобразования в вольты: значение/ 4095.0 * 1.85 * 4 .
| |
| | |
| см.
| |
| | |
| http://contactless.ru/forums/topic/%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81-%D0%B0%D0%BA%D0%BA%D1%83%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%B0-%D0%B2-linux/
| |