Ключевое ?лово

vk

WI-FI модуль ESP8266 имеет один внутренний АЦП (Аналого-цифровой преобразователь), а так же поддерживает внешние микросхемы АЦП: PCF8591 и MCP3201(тест).

АЦП может использоватся для подключения аналоговых датчиков температуры, газов, измерения напряжения и многих других. Для подключения нелинейных датчиков можно воспользоваться опцией в конструкторе прошивки Remap ADC.

Внутренний АЦП

Внутренний АЦП в ESP8266 имеет программную реализацию 10 бит(1023 значения) (битность можно повысить до 16). 

К сожалению данный АЦП имеет массу недостатков: он использует внутреннее опорное напряжение, которое может "плавать" от температуры и зависеть от экземпляра чипа ESP8266. АЦП так же имеет некоторую нелинейность. Погрешность измерения может составлять 5%. Хотя улучшить результат можно откалибровав свой датчик под данный АЦП через опцию Remap ADC.

Внешний АЦП PCF8591

Одна из дешевых I2C микросхем PCF8591 имеет 4 канала и разрядность всего 8 бит (256 значений). Возможно подключение внешнего опорного напряжения.

Внешний АЦП MCP3201

Одноканальный АЦП чип PCF8591 12 бит (4096 значения). Подключение по упрощенному SPI ( без MOSI). Возможно подключение внешнего опорного напряжения.

Основные подключения и настройки

Напряжение на вход АЦП должно быть не выше, чем опорное напряжение. Если оно выше, то необходим резисторный делитель. Сопротивления резисторов подбирается по формуле, которую можно найти в интернете, существуют так же готовые калькуляторы.

Если требуется измерить внешний источник, например ток или напряжение, то обязательно использование отдельного опорного напряжения, иначе показания будут менее точные.

Если требуется измерять внутренний источник схемы, например напряжение на терморезисторе или датчика газов, которые питаются от этого же напряжения, что и АЦП, то вход опорного напряжения подключается к линии питания.

 

Используем функцию Remap ADC

Remap ADC позволяет переназначать "попугаи" АЦП в нужную величину, в том числе и нелинейную.

Для каждого АЦП и/или канала АЦП отдельные настройки

Enable calibrate table - тут необходимо поставить галку, если вы хотите использовать Remap ADC на данном выходе АЦП.

Enable float - разрешить поддержку float , чисел с десятой частью. Например вывод напряжения в виде 5.4 вольт.

Calibrate table - таблица калибровок, где необходимо ввести соотвествие чисел в нужную величину.

Подключение лениейных датчиков:

clbtablВ простейшем случае необходимо ввести в первой строке в поле VAL и в поле ADC число 0.

Во второй строке мы назначаем, чему будет равно например показание АЦП 1023 при 5000мВ. Вводим VAL 5000, ADC - 1023. Тут необходимо подобрать резисторный делитель или установить другое числа, которые будут соотвествовать данному значению. Для float режима в поле VAL необходимо вводить целое число 5.

Подключение нелинейных датчиков:

Действия аналогичны линейным датчикам, с разницей, что вводятся соотвествие промежуточных значений по возрастающей. Например с шагом 5 градусов(для терморезистора), или с шагом 1 вольт для напряжения.

Промежуточные значения интерполируются автоматически.

Данная опция может исправить нелинейность у встроенного АЦП

 


Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.