Съдържание:

Професионалистите знаят това!: 24 стъпки
Професионалистите знаят това!: 24 стъпки

Видео: Професионалистите знаят това!: 24 стъпки

Видео: Професионалистите знаят това!: 24 стъпки
Видео: Тесто для пиццы как в Италий. Выдержанное тесто 24часа. Лучший рецепт года. 2024, Ноември
Anonim
Image
Image

Днес ще говорим за „ESP32 автоматизирано калибриране на ADC“. Може да изглежда като много техническа тема, но мисля, че е много важно да знаете малко за нея.

Това е така, защото не става въпрос само за ESP32 или дори само за калибриране на ADC, а по -скоро за всичко, което включва аналогови сензори, които може да искате да прочетете.

Повечето сензори не са линейни, затова ще въведем автоматизиран прототип на калибратор за аналогови цифрови преобразуватели. Също така ще направим корекция на ESP32 AD.

Стъпка 1: Въведение

Използвани ресурси
Използвани ресурси

Има видео, в което говоря малко по тази тема: Не знаехте ли? ESP32 ADC настройка. Сега нека поговорим по автоматизиран начин, който ви пречи да извършите целия процес на полиномиална регресия. Виж това!

Стъпка 2: Използвани ресурси

· Джъмпери

· 1x Protoboard

· 1x ESP WROOM 32 DevKit

· 1x USB кабел

· 2x 10k резистори

· 1x 6k8 резистор или 1x 10k механичен потенциометър за регулиране на делителя на напрежението

· 1x X9C103 - 10k цифров потенциометър

· 1x LM358 - Операционен усилвател

Стъпка 3: Използвана верига

Използвана верига
Използвана верига

В тази схема LM358 е операционен усилвател в конфигурацията на "буфер на напрежението", изолиращ двата разделителя на напрежение, така че единият да не влияе на другия. Това позволява да се получи по -опростен израз, тъй като R1 и R2 могат, с добра апроксимация, вече да не се разглеждат паралелно с RB.

Стъпка 4: Изходното напрежение зависи от вариацията на цифровия потенциометър X9C103

Изходното напрежение зависи от вариацията на цифровия потенциометър X9C103
Изходното напрежение зависи от вариацията на цифровия потенциометър X9C103

Въз основа на израза, който получихме за веригата, това е кривата на напрежението на нейния изход, когато променяме цифровия потенциометър от 0 до 10k.

Стъпка 5: Управление на X9C103

Управление на X9C103
Управление на X9C103

· За да управляваме нашия цифров потенциометър X9C103, ще го захранваме с 5V, идващ от същия USB, който захранва ESP32, свързващ се във VCC.

· Свързваме щифта НАГОРЕ / НАДОЛУ към GPIO12.

· Свързваме щифта INCREMENT към GPIO13.

· Свързваме DEVICE SELECT (CS) и VSS към GND.

· Свързваме VH / RH към 5V захранването.

· Свързваме VL / RL към GND.

· Свързваме RW / VW към входа на буфера за напрежение.

Стъпка 6: Връзки

Връзки
Връзки

Стъпка 7: Заснемете с осцилоскопа на рампите нагоре и надолу

Заснемане с осцилоскопа на рампите нагоре и надолу
Заснемане с осцилоскопа на рампите нагоре и надолу

Можем да наблюдаваме двете рампи, генерирани от кода ESP32.

Стойностите на нарастващата рампа се улавят и изпращат до софтуера на C# за оценка и определяне на корекционната крива.

Стъпка 8: Очаквано срещу четене

Очаквано срещу четене
Очаквано срещу четене

Стъпка 9: Корекция

Корекция
Корекция

Ще използваме кривата на грешката, за да коригираме ADC. За това ще захранваме програма, направена на C#, със стойностите на ADC. Той ще изчисли разликата между прочетената стойност и очакваната, като по този начин създаде крива на ГРЕШКА като функция от стойността на ADC.

Познавайки поведението на тази крива, ще знаем грешката и ще можем да я коригираме.

За да знае тази крива, програмата C# ще използва библиотека, която ще извърши полиномиална регресия (като тези, извършени в предишните видеоклипове).

Стъпка 10: Очаквано спрямо четене след корекция

Очаквано спрямо четене след корекция
Очаквано спрямо четене след корекция

Стъпка 11: Изпълнение на програмата в C#

Изпълнение на програмата в C#
Изпълнение на програмата в C#

Стъпка 12: Изчакайте съобщението START START

Изчакайте съобщението за стартиране на рампата
Изчакайте съобщението за стартиране на рампата
Изчакайте съобщението за стартиране на рампата
Изчакайте съобщението за стартиране на рампата

Стъпка 13: Изходният код на ESP32 - Пример за коригираща функция и нейното използване

Изходен код на ESP32 - Пример за коригираща функция и нейното използване
Изходен код на ESP32 - Пример за коригираща функция и нейното използване

Стъпка 14: Сравнение с предишни техники

Сравнение с предишни техники
Сравнение с предишни техники

Стъпка 15: ESP32 ИЗТОЧНИК - Декларации и настройка ()

ESP32 ИЗТОЧНИК - Декларации и настройка ()
ESP32 ИЗТОЧНИК - Декларации и настройка ()

Стъпка 16: ESP32 ИЗТОЧНИК - Loop ()

ESP32 ИЗТОЧНИК - Цикъл ()
ESP32 ИЗТОЧНИК - Цикъл ()

Стъпка 17: ESP32 ИЗТОЧНИК - Loop ()

ESP32 ИЗТОЧНИК - Цикъл ()
ESP32 ИЗТОЧНИК - Цикъл ()

Стъпка 18: ESP32 ИЗТОЧНИК - Импулс ()

ESP32 ИЗТОЧНИК - Импулсен ()
ESP32 ИЗТОЧНИК - Импулсен ()

Стъпка 19: ИЗТОЧНИК НА ПРОГРАМАТА В C # - Изпълнение на програмата в C #

ИЗТОЧНИК НА ПРОГРАМАТА В C # - Изпълнение на програмата в C #
ИЗТОЧНИК НА ПРОГРАМАТА В C # - Изпълнение на програмата в C #

Стъпка 20: ИЗТОЧНИК НА ПРОГРАМАТА В С# - Библиотеки

ИЗТОЧНИК КОД НА ПРОГРАМАТА В С# - Библиотеки
ИЗТОЧНИК КОД НА ПРОГРАМАТА В С# - Библиотеки

Стъпка 21: КОД НА ИЗТОЧНИКА НА ПРОГРАМАТА В С # - Имено пространство, клас и глобално

ИЗТОЧНИК КОД НА ПРОГРАМАТА В С # - Имено пространство, клас и глобално
ИЗТОЧНИК КОД НА ПРОГРАМАТА В С # - Имено пространство, клас и глобално

Стъпка 22: ИЗТОЧНИК НА ПРОГРАМАТА В C# - RegPol ()

ИЗТОЧНИК НА ПРОГРАМАТА В С# - RegPol ()
ИЗТОЧНИК НА ПРОГРАМАТА В С# - RegPol ()

Стъпка 23:

Образ
Образ

Стъпка 24: Изтеглете файловете

PDF

RAR

Препоръчано: