Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4: различия между версиями

Материал из Wiren Board
м (EvgenyBoger переименовал страницу Низкоуровневая работа с ADC в Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4 без оставления перенаправления: Часть переводимой страницы Низкоуровневая работа с ADC.)
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
===Опорное напряжение===
<languages/>
<translate>


===Опорное напряжение=== <!--T:1-->
<!--T:2-->
Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала
Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала


=== Работа ===
=== Работа === <!--T:3-->
 


<!--T:4-->
(убедитесь, что демон wb-homa-adc не запущен):  
(убедитесь, что демон wb-homa-adc не запущен):  


<!--T:5-->
*Выбор канала  :  
*Выбор канала  :  


<!--T:6-->
<pre>
<pre>
  wb-adc-set-mux <номер канала>
  wb-adc-set-mux <номер канала>
Строка 20: Строка 26:
</pre>
</pre>


<!--T:7-->
*Чтение показаний:
*Чтение показаний:


<!--T:8-->
<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  
Строка 28: Строка 36:
или
или


<!--T:9-->
<pre>
<pre>
root@wirenboard:~# wb-adc-get-value
root@wirenboard:~# wb-adc-get-value
Строка 33: Строка 42:
</pre>
</pre>


<!--T:10-->
*Чтение показаний c предварительной установкой канала:
*Чтение показаний c предварительной установкой канала:
<pre>
<pre>
Строка 38: Строка 48:
</pre>
</pre>


=== Пример === <!--T:11-->


=== Пример ===
<!--T:12-->
* Устанавливаем ADC на измерение напряжения на клеммнике A3:
* Устанавливаем ADC на измерение напряжения на клеммнике A3:
<pre>
<pre>
Строка 45: Строка 56:
</pre>
</pre>


<!--T:13-->
* Считываем сырое значение ADC:
* Считываем сырое значение ADC:
<pre>
<pre>
Строка 51: Строка 63:
</pre>
</pre>


<!--T:14-->
* Конвертируем значение
* Конвертируем значение
<pre>
<pre>
Строка 56: Строка 69:
</pre>
</pre>


=== Перевод значений === <!--T:15-->


 
<!--T:16-->
=== Перевод значений ===
 
На канале должен стоять делитель на два (пока нет).
На канале должен стоять делитель на два (пока нет).
Формула для перевода:
Формула для перевода:
Строка 66: Строка 78:
</pre>
</pre>


== Напряжение акуумулятора == <!--T:17-->


 
<!--T:18-->
== Напряжение акуумулятора ==
 
Для WB 2.8 и WB 3.5:
Для WB 2.8 и WB 3.5:


<!--T:19-->
<pre>
<pre>
  cat /sys/bus/iio/devices/iio:device0/in_voltage7_raw
  cat /sys/bus/iio/devices/iio:device0/in_voltage7_raw
Строка 77: Строка 89:
Для преобразования в вольты: значение/ 4095.0 * 1.85 * 4 .
Для преобразования в вольты: значение/ 4095.0 * 1.85 * 4 .


<!--T:20-->
Смотрите тему на [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/ форуме].


 
<!--T:21-->
Для Wiren Board 5 аналогичным образом получается напряжение на рейке 4В.
Для Wiren Board 5 аналогичным образом получается напряжение на рейке 4В.
</translate>

Текущая версия на 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В.