Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4: различия между версиями
м (EvgenyBoger переименовал страницу Низкоуровневая работа с ADC в Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4 без оставления перенаправления: Часть переводимой страницы Низкоуровневая работа с ADC.) |
м (EvgenyBoger переименовал страницу Низкоуровневая работа с ADC в Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4 без оставления перенаправления: Часть переводимой страницы Низкоуровневая работа с ADC.) |
(нет различий)
|
Текущая версия на 01:35, 29 июля 2022
Опорное напряжение
Опорное напряжение 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В.