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

Материал из Wiren Board
(Отметить эту версию для перевода)
(не показано 126 промежуточных версий 6 участников)
Строка 1: Строка 1:
<languages/><translate>
Wiren Board has 8-channel ADC which are multiplexed using analog multiplexer into i.mx233 LRADC1 channel.
{{DISPLAYTITLE: Аналоговые входы (АЦП)}}
== Определения == <!--T:55-->
'''Аналого-цифровые преобразователи (АЦП)''' — устройства предназначенные для преобразования входных аналоговых сигналов в цифровой код.  


<!--T:56-->
'''Аналоговые входы''' — представляют собой входы АЦП и служат для измерения поданного на них напряжения. Аналоговые входы в устройствах автоматики предназначены для подключения к ним датчиков с [[AnalogSensors_connecting | выходным аналоговым сигналом]].


== Аналоговые входы в контроллере Wiren Board == <!--T:57-->
=== Main channels ===
=== Wiren Board 6 === 
7 channels are exposed to terminal blocks. See [[Hardware_Overview_rev._2.8#Terminal_blocks]] for details.
В 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-->
The main channel have 12K/33K dividers. Thus the input voltage for each channel is 1.364 * <measured voltage>
Смотрите также:
 
* [[Wiren Board 6.2: Peripherals#Каналы АЦП| Каналы АЦП в Wiren Board 6.2]]
Some of the ADC channels share terminal blocks with FET. Please make sure you have explicitly closed the corresponding FET using GPIO before using ADC.
* [[Wiren_Board_7.2:_Peripherals#Аналоговые_входы| Каналы АЦП в Wiren Board 7]]
 
* [[ADC.OLD | Списки АЦП для старых версий контроллера]]
=== Input voltage measuring ===
</translate>
Channel 5 of the multiplexer is dedicated to measuring input voltage.
The channel has 200K/33K divider. Thus the input voltage is 7.061 * <measured voltage>.
 
 
== Software ==
АЦП мультиплексор подключен к порту LRADC1.
 
*Выбор канала:
 
<pre>
./adc_set_channel.sh tb<номер клеммника>
или
./adc_set_channel.sh vin
или
./adc_set_channel.sh <номер канала>
 
</pre>
 
*Чтение показаний:
 
<pre>
root@wirenboard:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
3838
</pre>
=== Перевод значений ===
 
На канале должен стоять делитель на два (пока нет).
Формула для перевода:
<pre>
V_measured = N / 4096 * 1.85V  - без делителя
V_measured = N / 4096 * 1.85V * 2  - с делителем (пока нет)
</pre>
 
=== Проблема со звуковым драйвером ===
Процессор может мультиплексировать источник MIC BIAS на вывод LRADC1. Такое поведение по-умолчанию включено в драйверах звука.
Отключается патчем:
https://github.com/contactless/linux/commit/2b13b2ee1dd936902ce5c71f192001c9513a7dbb

Версия 01:35, 7 октября 2013

Wiren Board has 8-channel ADC which are multiplexed using analog multiplexer into i.mx233 LRADC1 channel.


Main channels

7 channels are exposed to terminal blocks. See Hardware_Overview_rev._2.8#Terminal_blocks for details.

The main channel have 12K/33K dividers. Thus the input voltage for each channel is 1.364 * <measured voltage>

Some of the ADC channels share terminal blocks with FET. Please make sure you have explicitly closed the corresponding FET using GPIO before using ADC.

Input voltage measuring

Channel 5 of the multiplexer is dedicated to measuring input voltage. The channel has 200K/33K divider. Thus the input voltage is 7.061 * <measured voltage>.


Software

АЦП мультиплексор подключен к порту LRADC1.

  • Выбор канала:
 ./adc_set_channel.sh tb<номер клеммника>
или
 ./adc_set_channel.sh vin
или
 ./adc_set_channel.sh <номер канала>

  • Чтение показаний:
root@wirenboard:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw 
3838

Перевод значений

На канале должен стоять делитель на два (пока нет). Формула для перевода:

V_measured = N / 4096 * 1.85V  - без делителя
V_measured = N / 4096 * 1.85V * 2  - с делителем (пока нет)

Проблема со звуковым драйвером

Процессор может мультиплексировать источник MIC BIAS на вывод LRADC1. Такое поведение по-умолчанию включено в драйверах звука. Отключается патчем: https://github.com/contactless/linux/commit/2b13b2ee1dd936902ce5c71f192001c9513a7dbb