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

Навигация

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

Нет описания правки
Метка: visualeditor
Строка 8: Строка 8:
Специальный драйвер wb-homa-adc транслирует значение в систему [[MQTT]], и его можно получать оттуда.
Специальный драйвер wb-homa-adc транслирует значение в систему [[MQTT]], и его можно получать оттуда.


Также значение можно получать в ручном режиме (убедитесь, что демон wb-homa-adc не запущен):  
Также значение можно получать в ручном режиме: [[Низкоуровневая работа с ADC]].
 
*Выбор канала  :
 
<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>
 
 
=== Пример ===
* Устанавливаем 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>
 


== Измерение сопротивлений ==
== Измерение сопротивлений ==
Строка 71: Строка 22:




В ручном режиме (для WB 2.8 и WB 3.5):
В ручном режиме: см. [[Низкоуровневая работа с 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/ форуме].


== Технические детали реализации АЦП ==
== Технические детали реализации АЦП ==
Wiren Board версий 2,3 и 4 имеет 8 каналов АЦП, которые мультиплексированы в один канал процессора (LRADC1). Каналы мультиплексирования указаны в таблице [[Wiren Board 4:Список GPIO]]
 
===Опорное напряжение===
Wiren Board версий 2,3 и 4 имеет 8 каналов АЦП, которые мультиплексированы в один канал процессора (LRADC1). Каналы мультиплексирования указаны в таблице [[Wiren Board 4:Список GPIO]].
Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала
 
Wiren Board 5 использует 8 различных каналов АЦП, которые подключены к отдельным каналам процессора. Рейка 4В подключена к каналу BAT (LRADC7), кроме этого измеряется
напряжение на 2-х резистивных входах, 4 универсальных входах A1-A4 и входное напряжение (см. таблицу ниже).
 
Каналы ADC, обслуживающие входы R1 и R2 имеют встроенный независимый источник тока, который используется для измерения сопротивления, подключенного к каналу.
Точность источника тока: 5%. См. [[Калибровка аналоговых входов]].
 
 
 
 
=== Основные каналы===
=== Основные каналы===
Часть каналов АЦП выведена на клеммы параллельно с транзисторами управления низковольтной нагрузки. '''Убедитесь''', что вы явно закрыли соответствующий FET помощью GPIO перед использованием АЦП. Подробнее смотрите [[Мультиплексирование портов]]
Часть каналов АЦП выведена на клеммы параллельно с транзисторами управления низковольтной нагрузки. '''Убедитесь''', что вы явно закрыли соответствующий FET помощью GPIO перед использованием АЦП. Подробнее смотрите [[Мультиплексирование портов]]
=== Перевод значений ===
 
На канале должен стоять делитель на два (пока нет).
Формула для перевода:
<pre>
V_measured = N / 4095 * 1.85V * (R1+R2)/R2
</pre>
=== Списки АЦП для разных устройств ===
=== Списки АЦП для разных устройств ===
==== WB5 ====
==== WB5 ====
{| border="1"
{| border="1"