ADC:Измерение сопротивлений - технические детали/ru

Материал из Wiren Board
Версия от 10:55, 24 мая 2019; FuzzyBot (обсуждение | вклад) (Обновление для соответствия новой версии исходной страницы.)

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

Канал LRADC процессора, который в Wiren Board используется для работы АЦП имеет встроенный источник тока. Это делает возможным измерение сопротивлений нагрузки, подключенной к выходам АЦП, т.е. снятие показаний с резистивных датчиков.

См. также описание в документации на процессор, стр. 1334.

Измерение сопротивлений реализовано в драйвере wb-homa-adc, см. ADC.


Порядок измерений в ручном режиме

Убедитесь, что демон wb-homa-adc выгружен

Отключение выхода

(только для Wiren Board rev. 2.8)


Выбора канала

С помощью wb-adc-set-mux выберите канал (ADC)


Установка выходного тока

Установка выходного тока не поддерживается драйвером, поэтому реализуется с помощью userspace-приложения с прямым доступом в память.

Команда lradc-set-current (https://github.com/contactless/wirenboard/tree/master/utils/adc/resistance).

root@wirenboard:~# lradc-set-current
Set output current for LRADC1 channel
USAGE: ./lradc_current <uA>|off
Available currents: 0uA, 20uA, ..., 280uA, 300uA
Use "off" to switch off current source. 0uA setting could result in some current

Максимальный ток - 300 мкА. Ток устанавливается с шагом в 20 мкА.

Установка тока в 100 мкА:

root@wirenboard:~# lradc-set-current 100

Отключение источника тока:

root@wirenboard:~# lradc-set-current off

Необходимо установить такое как можно большее значение выходного тока, при котором напряжение на LRADC не зашкаливает за 1.85V, т.е. сырой результат не равен 4095.

В примере 40 мкА - оптимальный ток:

root@wirenboard:~# lradc-set-current 100
root@wirenboard:~# wb-adc-get-value
4095
root@wirenboard:~# lradc-set-current 20 
root@wirenboard:~# wb-adc-get-value
1663
root@wirenboard:~# lradc-set-current 60
root@wirenboard:~# wb-adc-get-value
4095
root@wirenboard:~# lradc-set-current 40
root@wirenboard:~# wb-adc-get-value
3154


Вычисление результата

Сопротивление вычисляется по формуле:

r = 1.0/(I/V  - 1/R1) - R2

r - измеряемое сопротивление, R2 - последовательное сопротивление канала

R1 - параллельное сопротивление (плечо делителя/токи утечки).

V - напряжение на входе LRADC, измеряемое процессором:

V =  N / 4095 * 1.85V

где N - сырые показания LRADC, I - выходной ток.

Для разных версий:

  • Wiren Board 5 (клеммники R1-R2): R2 = 3150 Ohm, R1 = 1000kOhm.
  • Wiren Board 4 (клеммники R1-R2): R2 = 3570 Ohm, R1 = 120kOhm.
  • Wiren Board Smart Home rev. 3.5 (клеммники R1-R4): R2 = 600 Ohm, R1 = 93kOhm.
  • Wiren Board rev. 2.8. R2 = 12kOhm, R1 = 33.0 kOhm.