Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4: различия между версиями
(Подготовка страницы к переводу) |
|||
Строка 1: | Строка 1: | ||
<languages/> | |||
<translate> | |||
===Опорное напряжение=== | ===Опорное напряжение=== | ||
Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала | Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала | ||
=== Работа === | === Работа === | ||
(убедитесь, что демон wb-homa-adc не запущен): | (убедитесь, что демон wb-homa-adc не запущен): | ||
Строка 37: | Строка 40: | ||
wb-adc-read-channel <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home, опции аналогичны wb-adc-set-mux) | wb-adc-read-channel <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home, опции аналогичны wb-adc-set-mux) | ||
</pre> | </pre> | ||
=== Пример === | === Пример === | ||
* Устанавливаем ADC на измерение напряжения на клеммнике A3: | * Устанавливаем ADC на измерение напряжения на клеммнике A3: | ||
<pre> | <pre> | ||
Строка 55: | Строка 60: | ||
V = 2523 * 4.97 mV = 12539 mV = 12.54 V | V = 2523 * 4.97 mV = 12539 mV = 12.54 V | ||
</pre> | </pre> | ||
Строка 65: | Строка 71: | ||
V_measured = N / 4095 * 1.85V * (R1+R2)/R2 | V_measured = N / 4095 * 1.85V * (R1+R2)/R2 | ||
</pre> | </pre> | ||
Строка 81: | Строка 88: | ||
Для Wiren Board 5 аналогичным образом получается напряжение на рейке 4В. | Для Wiren Board 5 аналогичным образом получается напряжение на рейке 4В. | ||
</translate> |
Версия 20:21, 23 мая 2019
Опорное напряжение
Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала
Работа
(убедитесь, что демон wb-homa-adc не запущен):
- Выбор канала :
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)
- Чтение показаний:
root@wirenboard:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw 3838
или
root@wirenboard:~# wb-adc-get-value 3838
- Чтение показаний c предварительной установкой канала:
wb-adc-read-channel <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home, опции аналогичны wb-adc-set-mux)
Пример
- Устанавливаем ADC на измерение напряжения на клеммнике A3:
root@wirenboard:~# wb-adc-set-mux A3
- Считываем сырое значение ADC:
root@wirenboard:~# wb-adc-get-value 2523
- Конвертируем значение
V = 2523 * 4.97 mV = 12539 mV = 12.54 V
Перевод значений
На канале должен стоять делитель на два (пока нет). Формула для перевода:
V_measured = N / 4095 * 1.85V * (R1+R2)/R2
Напряжение акуумулятора
Для WB 2.8 и WB 3.5:
cat /sys/bus/iio/devices/iio:device0/in_voltage7_raw
Для преобразования в вольты: значение/ 4095.0 * 1.85 * 4 .
Смотрите тему на форуме.
Для Wiren Board 5 аналогичным образом получается напряжение на рейке 4В.