Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4: различия между версиями
м (EvgenyBoger переименовал страницу Низкоуровневая работа с ADC в Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4 без оставления перенаправления: Часть переводимой страницы Низкоуровневая работа с ADC.) |
|||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
===Опорное напряжение=== | |||
Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала | |||
=== Работа === | |||
(убедитесь, что демон wb-homa-adc не запущен): | (убедитесь, что демон wb-homa-adc не запущен): | ||
*Выбор канала : | *Выбор канала : | ||
<pre> | <pre> | ||
wb-adc-set-mux <номер канала> | wb-adc-set-mux <номер канала> | ||
Строка 26: | Строка 20: | ||
</pre> | </pre> | ||
*Чтение показаний: | *Чтение показаний: | ||
<pre> | <pre> | ||
root@wirenboard:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw | root@wirenboard:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw | ||
Строка 36: | Строка 28: | ||
или | или | ||
<pre> | <pre> | ||
root@wirenboard:~# wb-adc-get-value | root@wirenboard:~# wb-adc-get-value | ||
Строка 42: | Строка 33: | ||
</pre> | </pre> | ||
*Чтение показаний c предварительной установкой канала: | *Чтение показаний c предварительной установкой канала: | ||
<pre> | <pre> | ||
Строка 48: | Строка 38: | ||
</pre> | </pre> | ||
=== Пример === | |||
* Устанавливаем ADC на измерение напряжения на клеммнике A3: | * Устанавливаем ADC на измерение напряжения на клеммнике A3: | ||
<pre> | <pre> | ||
Строка 56: | Строка 45: | ||
</pre> | </pre> | ||
* Считываем сырое значение ADC: | * Считываем сырое значение ADC: | ||
<pre> | <pre> | ||
Строка 63: | Строка 51: | ||
</pre> | </pre> | ||
* Конвертируем значение | * Конвертируем значение | ||
<pre> | <pre> | ||
Строка 69: | Строка 56: | ||
</pre> | </pre> | ||
=== Перевод значений === | |||
На канале должен стоять делитель на два (пока нет). | На канале должен стоять делитель на два (пока нет). | ||
Формула для перевода: | Формула для перевода: | ||
Строка 78: | Строка 66: | ||
</pre> | </pre> | ||
== Напряжение акуумулятора == | |||
Для WB 2.8 и WB 3.5: | Для WB 2.8 и WB 3.5: | ||
<pre> | <pre> | ||
cat /sys/bus/iio/devices/iio:device0/in_voltage7_raw | cat /sys/bus/iio/devices/iio:device0/in_voltage7_raw | ||
Строка 89: | Строка 77: | ||
Для преобразования в вольты: значение/ 4095.0 * 1.85 * 4 . | Для преобразования в вольты: значение/ 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/ форуме]. | Смотрите тему на [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 5 аналогичным образом получается напряжение на рейке 4В. | Для Wiren Board 5 аналогичным образом получается напряжение на рейке 4В. | ||
Версия 22:02, 7 ноября 2015
Опорное напряжение
Опорное напряжение 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В.