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

Материал из Wiren Board
(Новая страница: «Low-level work with ADC»)
 
м (FuzzyBot переименовал страницу Низкоуровневая работа с ADC/en в Устарело: низкоуровневая работа с ADC в Wiren Board 2, 3 и 4/en без оставления перенаправления: Часть переводимой страницы Низкоуровневая работа с ADC.)
 
(не показаны 22 промежуточные версии 1 участника)
Строка 1: Строка 1:
<languages/>
<languages/>


===Опорное напряжение===
===Reference voltage===


Опорное напряжение LRADC составляет 1.85V. Возможна программная установка делителя 2:1 внутри канала
The reference voltage of LRADC is 1.85 V. Software installation of 2:1 divider inside the channel is possible.




=== Работа ===
=== Work ===


(убедитесь, что демон wb-homa-adc не запущен):  
(make sure the wb-homa-adc daemon is not running):  


*Выбор канала  :  
*Channel selection:  


<pre>
<pre>
  wb-adc-set-mux <номер канала>
  wb-adc-set-mux <channel number>
или
или
  wb-adc-set-mux <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home)
  wb-adc-set-mux <A1|A2|A3|A4|R1|R2|R3|R4> (for WB Smart Home)
или
или
  wb-adc-set-mux tb<номер клеммника> (для WB2.8)
  wb-adc-set-mux tb<terminal block number> (for WB2.8)
или
или
  wb-adc-set-mux vin  (для WB2.8)
  wb-adc-set-mux vin  (for WB2.8)
</pre>
</pre>


*Чтение показаний:
*Reading values:


<pre>
<pre>
Строка 28: Строка 28:
3838
3838
</pre>
</pre>
или
or


<pre>
<pre>
Строка 35: Строка 35:
</pre>
</pre>


*Чтение показаний c предварительной установкой канала:
*Reading the values of the pre-installed channel:
<pre>
<pre>
  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, options are similar to the wb-adc-set-mux)
</pre>
</pre>






=== Пример ===
=== Example ===


* Устанавливаем ADC на измерение напряжения на клеммнике A3:
*Set the ADC to measure the voltage at the terminal A3::
<pre>
<pre>
root@wirenboard:~# wb-adc-set-mux A3
root@wirenboard:~# wb-adc-set-mux A3
</pre>
</pre>


* Считываем сырое значение ADC:
* Read raw ADC value:
<pre>
<pre>
root@wirenboard:~# wb-adc-get-value
root@wirenboard:~# wb-adc-get-value
Строка 55: Строка 55:
</pre>
</pre>


* Конвертируем значение
* Converting the value
<pre>
<pre>
V = 2523 * 4.97 mV = 12539 mV = 12.54 V
V = 2523 * 4.97 mV = 12539 mV = 12.54 V
Строка 63: Строка 63:




=== Перевод значений ===
=== The convertation of values ===


На канале должен стоять делитель на два (пока нет).
There should be installed a divider by two (not yet installed) on the channel.
Формула для перевода:
Formula for translation:
<pre>
<pre>
V_measured = N / 4095 * 1.85V * (R1+R2)/R2
V_measured = N / 4095 * 1.85V * (R1+R2)/R2
Строка 74: Строка 74:




== Напряжение акуумулятора ==
== Acuumulator voltage ==


Для WB 2.8 и WB 3.5:
For WB 2.8 and 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 .
To convert to volts: value/ 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/ форуме].
See the topic on the [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/ forum].




Для Wiren Board 5 аналогичным образом получается напряжение на рейке 4В.
For Wiren Board 5, the voltage on the 4V rail is obtained in the same way.

Текущая версия на 01:35, 29 июля 2022

Другие языки:

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

or

root@wirenboard:~# wb-adc-get-value
3838
  • Reading the values of the pre-installed channel:
 wb-adc-read-channel <A1|A2|A3|A4|R1|R2|R3|R4> (для WB Smart Home, options are similar to the wb-adc-set-mux)


Example

  • Set the ADC to measure the voltage at the terminal A3::
root@wirenboard:~# wb-adc-set-mux A3
  • Read raw ADC value:
root@wirenboard:~# wb-adc-get-value
2523
  • Converting the value
V = 2523 * 4.97 mV = 12539 mV = 12.54 V



The convertation of values

There should be installed a divider by two (not yet installed) on the channel. Formula for translation:

V_measured = N / 4095 * 1.85V * (R1+R2)/R2



Acuumulator voltage

For WB 2.8 and WB 3.5:

 cat /sys/bus/iio/devices/iio:device0/in_voltage7_raw

To convert to volts: value/ 4095.0 * 1.85 * 4 .

See the topic on the forum.


For Wiren Board 5, the voltage on the 4V rail is obtained in the same way.