ADC: различия между версиями

Материал из Wiren Board
Метка: visualeditor
(Отметить эту версию для перевода)
 
(не показано 46 промежуточных версий 5 участников)
Строка 1: Строка 1:
== Как получить напряжение с АЦП ==
<languages/><translate>
#Выберите клемму, к которой можно подключить ваш источник, исходя из максимального допустимого напряжения (смотрите таблицу ниже).
{{DISPLAYTITLE: Аналоговые входы (АЦП)}}
#Большинство клеммников с функциями АЦП могут выполнять две функции: АЦП и управление низковольтной нагрузкой. Перед тем, как измерить напряжение на АЦП, поставьте соответствующий выход управления низковольтной нагрузкой в положение "выключено". Например, если вы подключаетесь к клемме A1, выключите в веб-интерфейсе A1_OUT (раздел Relays & FETs).
== Определения == <!--T:55-->
#:Подробнее смотрите [[Мультиплексирование портов]]
'''Аналого-цифровые преобразователи (АЦП)''' — устройства предназначенные для преобразования входных аналоговых сигналов в цифровой код.  
#Подключите ваш источник к клемме. Значение напряжения сразу появится в [[Wiren Board 4:Веб-интерфейс | веб-интерфейсе]] в устройстве ADCs. Также значение транслируется в систему сообщений [[MQTT]].


== Использование значения из внешних программ ==
<!--T:56-->
Специальный драйвер wb-homa-adc транслирует значение в систему [[MQTT]], и его можно получать оттуда.
'''Аналоговые входы''' — представляют собой входы АЦП и служат для измерения поданного на них напряжения. Аналоговые входы в устройствах автоматики предназначены для подключения к ним датчиков с [[AnalogSensors_connecting | выходным аналоговым сигналом]].


Также значение можно получать в ручном режиме (убедитесь, что демон wb-homa-adc не запущен):
== Аналоговые входы в контроллере Wiren Board == <!--T:57-->
 
=== Wiren Board 6 === 
*Выбор канала  :  
В Wiren Board 6 каналы АЦП процессора подключены к клеммникам A1-A4. Также на АЦП заведено входное напряжение (после входных диодов) и напряжение на клемме 5Vout.
 
=== Wiren Board 7 === 
<pre>
Wiren Board 7 каналы АЦП процессора подключены к клеммникам A1-A3. Напряжения на клемме D1 и на клемме 5Vout не измеряются.
wb-adc-set-mux <номер канала>
<gallery mode="packed" heights="100px" caption="Универсальные входы-выходы">
или
Image: WB6_AI_DI.PNG| Wiren Board 6
wb-adc-set-mux <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home)
Image: WB7_AI_DI.PNG| Wiren Board 7
или
Image: WB6.Ax.png| Схема Ax
wb-adc-set-mux tb<номер клеммника> (для WB2.8)
Image: WB7.D1.png| Схема D1 в Wiren Board 7
или
</gallery>
wb-adc-set-mux vin  (для WB2.8)
== Измерение напряжения ==
</pre>
=== Подключение и настройка ===
 
#Напряжение должно быть в диапазоне допустимых значений.
*Чтение показаний:
#Клеммники Ax выполняют две функции: АЦП и управление низковольтной нагрузкой. Перед измерением напряжение, поставьте соответствующий выход управления низковольтной нагрузкой в положение «выключено». Например, если вы подключаетесь к клемме A1, выключите в [[Веб-интерфейс Wiren Board | веб-интерфейсе]] A1_OUT (раздел Relays & FETs).
 
#Подключите ваш источник к клемме Ax. Значение напряжения сразу появится в [[Веб-интерфейс Wiren Board | веб-интерфейсе]], в устройстве ADCs. Также значение транслируется в систему сообщений [[Special:MyLanguage/MQTT|MQTT]].
<pre>
=== Отображение измеренного напряжения ==
root@wirenboard:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
Демон wb-homa-adc транслирует значение в очередь сообщений MQTT в топик  /devices/wb-adc/controls/Vin .
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>
 
 
=== Пример ===
* Устанавливаем 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>
 
 
== Измерение сопротивлений ==
См. [[ADC:Измерение сопротивлений - технические детали]]
 
== Входное напряжение ==
Демон wb-homa-adc транслирует значение в очередь сообщений MQQT в топик  /devices/wb-adc/controls/Vin .
Таким образом, значение отображается в веб-интерфейсе как канал Vin устройства ADCs
Таким образом, значение отображается в веб-интерфейсе как канал Vin устройства ADCs


== Напряжение аккумулятора ==
<!--T:58-->
Демон wb-homa-adc транслирует значение в очередь сообщений MQTT в топик /devices/wb-adc/controls/BAT .
Смотрите также:
Таким образом, значение отображается в веб-интерфейсе как канал BAT устройства ADCs
* [[Wiren Board 6.2: Peripherals#Каналы АЦП| Каналы АЦП в Wiren Board 6.2]]
 
* [[Wiren_Board_7.2:_Peripherals#Аналоговые_входы| Каналы АЦП в Wiren Board 7]]
 
* [[ADC.OLD | Списки АЦП для старых версий контроллера]]
В ручном режиме (для WB 2.8 и WB 3.5):
</translate>
<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/ форуме].
 
== Технические детали реализации АЦП ==
Wiren Board версий 2,3 и 4 имеет 8 каналов АЦП, которые мультиплексированы в один канал процессора (LRADC1). Каналы мультиплексирования указаны в таблице [[Wiren Board 4:Список GPIO]]
===Опорное напряжение===
Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала
=== Основные каналы===
Часть каналов АЦП выведена на клеммы параллельно с транзисторами управления низковольтной нагрузки. '''Убедитесь''', что вы явно закрыли соответствующий FET помощью GPIO перед использованием АЦП. Подробнее смотрите [[Мультиплексирование портов]]
=== Перевод значений ===
На канале должен стоять делитель на два (пока нет).
Формула для перевода:
<pre>
V_measured = N / 4095 * 1.85V * (R1+R2)/R2
</pre>
=== Списки АЦП для разных устройств ===
==== WB5 ====
{| border="1"
| клеммник || Делитель
|Канал АЦП|| Формула для пересчета  || Итоговая формула (без делителя) || V макс. измеряемое (с делителем)  || комментарии
|-
 
| A1-A4 || 88k7/12k
|1,2,3,4|| N / 4095 * 1.85V * 8.39 || V = N * 3.80 mV || 31V ||
|-
| R1-R2 || 6k/33k
|6,0|| N / 4095 * 1.85V * 1.18 || V = N * 0.535 mV || 3.7V ||
|-
| 4В/li_pol || -
|7|| N / 4095 * 1.85V * 4  || V = N * 1.807 mV || - || на линии 4 В
|-
| Vin || 88k7/12k
|5|| N / 4095 * 1.85V * 8.39 || V = N * 3.80 mV || 31V || входное напряжение, iio channel 5
|-
|}
 
==== WB4 ====
{| border="1"
| клеммник || Делитель || Формула для пересчета  || Итоговая формула (без делителя) || V макс. измеряемое (с делителем)  || комментарии
|-
 
| A1-A3 || 100k/90.9k || N / 4095 * 1.85V * 2.100 || V = N * 0.949 mV || 7.4V  ||
|-
| A4-A5 || 100k/11.86k ||  N / 4095 * 1.85V * 9.43  || V = N * 4.26 mV || 34.4V ||
|-
| R1-R2 || 3k15/1M || N / 4095 * 1.85V * 1.003 || V = N * 0.426 mV || 3.7V ||
|-
| li_pol || 100k/90.9k || N / 4095 * 1.85V * 2.100  || V = N * 0.949 mV || - || на аккумуляторе
|-
 
| Vin || 33k/4k51 ||N / 4095 * 1.85V * 8.32 || V = N * 3.76 mV || 30.6V || входное напряжение, iio channel 0
|-
 
|}
 
==== WB3.5 ====
{| border="1"
| клеммник || Делитель|| Формула для пересчета || Итоговая формула || V max || комментарии
|-
 
| A1-A4 || 220k/22k||  V = N / 4095 * 1.85V * 11 || V = N * 4.97 mV || ||
|-
 
| R1-R4 || - ||  V = N / 4095 * 1.85V ||V = N * 0.452 mV || ||
|-
 
| Vin || 33k/4k53 ||N / 4095 * 1.85V * 8.28 || V = N * 3.74 mV || 30V || входное напряжение, iio channel: 0
|-
 
|}
 
 
 
==== WB NETMON-1 ====
{| border="1"
| клеммник || Делитель || Формула для пересчета  || Итоговая формула (без делителя) || V макс. измеряемое (с делителем)  || комментарии
|-
| A1-A8 || 31k/4.68k || N / 4095 * 1.85V * 7.627 || V = N * 3.446 mV || 20V ||
|-
| Vin || 12k/1k ||N / 4095 * 1.85V * 13 || V = N * 5.873 mV ||  || входное напряжение
|-
|}
 
 
==== WB2.8 ====
{| border="1"
| клеммник || Делитель|| Формула для пересчета  || Итоговая формула || комментарии
|-
 
| A1-A7 || 12K/33K||  V = N / 4095 * 1.85V * 1.364 || V = N * 0.616 mV ||
|-
 
|}

Текущая версия на 14:13, 20 сентября 2022

Другие языки:

Определения

Аналого-цифровые преобразователи (АЦП) — устройства предназначенные для преобразования входных аналоговых сигналов в цифровой код.

Аналоговые входы — представляют собой входы АЦП и служат для измерения поданного на них напряжения. Аналоговые входы в устройствах автоматики предназначены для подключения к ним датчиков с выходным аналоговым сигналом.

Аналоговые входы в контроллере Wiren Board

Wiren Board 6

В Wiren Board 6 каналы АЦП процессора подключены к клеммникам A1-A4. Также на АЦП заведено входное напряжение (после входных диодов) и напряжение на клемме 5Vout.

Wiren Board 7

Wiren Board 7 каналы АЦП процессора подключены к клеммникам A1-A3. Напряжения на клемме D1 и на клемме 5Vout не измеряются.

Измерение напряжения

Подключение и настройка

  1. Напряжение должно быть в диапазоне допустимых значений.
  2. Клеммники Ax выполняют две функции: АЦП и управление низковольтной нагрузкой. Перед измерением напряжение, поставьте соответствующий выход управления низковольтной нагрузкой в положение «выключено». Например, если вы подключаетесь к клемме A1, выключите в веб-интерфейсе A1_OUT (раздел Relays & FETs).
  3. Подключите ваш источник к клемме Ax. Значение напряжения сразу появится в веб-интерфейсе, в устройстве ADCs. Также значение транслируется в систему сообщений MQTT.

Отображение измеренного напряжения

Демон wb-homa-adc транслирует значение в очередь сообщений MQTT в топик /devices/wb-adc/controls/Vin . Таким образом, значение отображается в веб-интерфейсе как канал Vin устройства ADCs

Смотрите также: