7841
правка
Fizikdaos (обсуждение | вклад) |
Fizikdaos (обсуждение | вклад) |
||
(не показано 20 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
<languages/> | |||
<translate> | |||
<!--T:1--> | |||
Канал LRADC процессора, который в Wiren Board используется для работы АЦП имеет встроенный источник тока. | Канал LRADC процессора, который в Wiren Board используется для работы АЦП имеет встроенный источник тока. | ||
Это делает возможным измерение сопротивлений нагрузки, подключенной к выходам АЦП, т.е. снятие показаний с резистивных датчиков. | Это делает возможным измерение сопротивлений нагрузки, подключенной к выходам АЦП, т.е. снятие показаний с резистивных датчиков. | ||
См. также описание в | <!--T:2--> | ||
См. также описание в документации на процессор, стр. 1334 -[http://www.freescale.com/files/dsp/doc/ref_manual/IMX23RM.pdf Reference Manual] | |||
<!--T:3--> | |||
Измерение сопротивлений реализовано в драйвере wb-homa-adc, см. [[ADC|ADC]]. | |||
== Порядок измерений в ручном режиме == <!--T:4--> | |||
<!--T:5--> | |||
Убедитесь, что демон wb-homa-adc выгружен | |||
=== Отключение выхода === <!--T:6--> | |||
<!--T:7--> | |||
* | (только для Wiren Board rev. 2.8) | ||
* Для клеммников 2-7: закрыть транзистор. См [[Список GPIO|Список GPIO]], [[Управление низковольтной нагрузкой|Управление низковольтной нагрузкой]]. | |||
* Для клеммника 9: установить GPIO 2 в режим ввода ([[Работа с GPIO|Работа с GPIO]]) | |||
=== Выбора канала === <!--T:8--> | |||
<!--T:9--> | |||
С помощью wb-adc-set-mux выберите канал ([[ADC|ADC]]) | |||
< | === Установка выходного тока === <!--T:10--> | ||
<!--T:11--> | |||
Установка выходного тока не поддерживается драйвером, поэтому реализуется с помощью userspace-приложения с прямым доступом в память. | Установка выходного тока не поддерживается драйвером, поэтому реализуется с помощью userspace-приложения с прямым доступом в память. | ||
<!--T:12--> | |||
Команда <b>lradc-set-current</b> (https://github.com/contactless/wirenboard/tree/master/utils/adc/resistance). | Команда <b>lradc-set-current</b> (https://github.com/contactless/wirenboard/tree/master/utils/adc/resistance). | ||
<!--T:13--> | |||
<pre> | <pre> | ||
root@wirenboard:~# lradc-set-current | root@wirenboard:~# lradc-set-current | ||
Строка 40: | Строка 49: | ||
</pre> | </pre> | ||
<!--T:14--> | |||
Максимальный ток - 300 мкА. Ток устанавливается с шагом в 20 мкА. | Максимальный ток - 300 мкА. Ток устанавливается с шагом в 20 мкА. | ||
<!--T:15--> | |||
Установка тока в 100 мкА: | Установка тока в 100 мкА: | ||
<!--T:16--> | |||
<pre> | <pre> | ||
root@wirenboard:~# lradc-set-current 100 | root@wirenboard:~# lradc-set-current 100 | ||
</pre> | </pre> | ||
<!--T:17--> | |||
Отключение источника тока: | Отключение источника тока: | ||
<pre> | <pre> | ||
Строка 53: | Строка 66: | ||
</pre> | </pre> | ||
<!--T:18--> | |||
Необходимо установить такое как можно большее значение выходного тока, при котором напряжение на LRADC не зашкаливает за 1.85V, т.е. сырой результат не равен 4095. | Необходимо установить такое как можно большее значение выходного тока, при котором напряжение на LRADC не зашкаливает за 1.85V, т.е. сырой результат не равен 4095. | ||
<!--T:19--> | |||
В примере 40 мкА - оптимальный ток: | В примере 40 мкА - оптимальный ток: | ||
<!--T:20--> | |||
<pre> | <pre> | ||
root@wirenboard:~# lradc-set-current 100 | root@wirenboard:~# lradc-set-current 100 | ||
Строка 81: | Строка 88: | ||
</pre> | </pre> | ||
=== Вычисление результата === <!--T:21--> | |||
<!--T:22--> | |||
Сопротивление вычисляется по формуле: | |||
<!--T:23--> | |||
<pre> | |||
r = 1.0/(I/V - 1/R1) - R2 | |||
</pre> | |||
<!--T:24--> | |||
<b>r</b> - измеряемое сопротивление, <b> R2 </b> - последовательное сопротивление канала | |||
<!--T:25--> | |||
<b>R1</b> - параллельное сопротивление (плечо делителя/токи утечки). | |||
<!--T:26--> | |||
<b> V </b> - напряжение на входе LRADC, измеряемое процессором: | |||
<!--T:27--> | |||
<pre> | <pre> | ||
V = N / 4095 * 1.85V | V = N / 4095 * 1.85V | ||
</pre> | </pre> | ||
N - сырые показания LRADC, I - ток | <!--T:28--> | ||
где N - сырые показания LRADC, I - выходной ток. | |||
<!--T:29--> | |||
Для разных версий: | |||
== | <!--T:30--> | ||
* Wiren Board 5 (клеммники R1-R2): <b>R2 = 3150 Ohm, R1 = 1000kOhm</b>. | |||
* Wiren Board 4 (клеммники R1-R2): <b>R2 = 3570 Ohm, R1 = 120kOhm</b>. | |||
* Wiren Board Smart Home rev. 3.5 (клеммники R1-R4): <b>R2 = 600 Ohm, R1 = 93kOhm</b>. | |||
* Wiren Board rev. 2.8. <b>R2 = 12kOhm, R1 = 33.0 kOhm</b>. | |||
</translate> |