Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4/en: различия между версиями
FuzzyBot (обсуждение | вклад) м (FuzzyBot переименовал страницу Низкоуровневая работа с ADC/en в Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4/en без оставления перенаправления: Часть переводимой страницы Низкоуровневая работа с ADC.) |
(Новая страница: «*Reading values:») |
||
(не показано 15 промежуточных версий 1 участника) | |||
Строка 28: | Строка 28: | ||
3838 | 3838 | ||
</pre> | </pre> | ||
или | |||
<pre> | <pre> | ||
Строка 35: | Строка 35: | ||
</pre> | </pre> | ||
* | *Чтение показаний c предварительной установкой канала: | ||
<pre> | <pre> | ||
wb-adc-read-channel <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home, | wb-adc-read-channel <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home, опции аналогичны wb-adc-set-mux) | ||
</pre> | </pre> | ||
=== | === Пример === | ||
* | * Устанавливаем ADC на измерение напряжения на клеммнике A3: | ||
<pre> | <pre> | ||
root@wirenboard:~# wb-adc-set-mux A3 | root@wirenboard:~# wb-adc-set-mux A3 | ||
</pre> | </pre> | ||
* | * Считываем сырое значение ADC: | ||
<pre> | <pre> | ||
root@wirenboard:~# wb-adc-get-value | root@wirenboard:~# wb-adc-get-value | ||
Строка 55: | Строка 55: | ||
</pre> | </pre> | ||
* | * Конвертируем значение | ||
<pre> | <pre> | ||
V = 2523 * 4.97 mV = 12539 mV = 12.54 V | V = 2523 * 4.97 mV = 12539 mV = 12.54 V | ||
Строка 63: | Строка 63: | ||
=== | === Перевод значений === | ||
На канале должен стоять делитель на два (пока нет). | |||
Формула для перевода: | |||
<pre> | <pre> | ||
V_measured = N / 4095 * 1.85V * (R1+R2)/R2 | V_measured = N / 4095 * 1.85V * (R1+R2)/R2 | ||
Строка 74: | Строка 74: | ||
== | == Напряжение акуумулятора == | ||
Для 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 | ||
</pre> | </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 5 аналогичным образом получается напряжение на рейке 4В. |
Версия 20:24, 23 мая 2019
Reference voltage
The reference voltage of LRADC is 1.85 V. Software installation of 2:1 divider inside the channel is possible.
Work
(make sure the wb-homa-adc daemon is not running):
- Channel selection:
wb-adc-set-mux <channel number> или wb-adc-set-mux <A1|A2|A3|A4|R1|R2|R3|R4> (for WB Smart Home) или wb-adc-set-mux tb<terminal block number> (for WB2.8) или wb-adc-set-mux vin (for WB2.8)
- Reading values:
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В.