Mündəricat:

Mütəxəssislər bunu bilir !: 24 addım
Mütəxəssislər bunu bilir !: 24 addım

Video: Mütəxəssislər bunu bilir !: 24 addım

Video: Mütəxəssislər bunu bilir !: 24 addım
Video: Tehmin Velizade - Unutma 2024, Noyabr
Anonim
Image
Image

Bu gün "ESP32 avtomatlaşdırılmış ADC kalibrləmə" haqqında danışacağıq. Çox texniki bir mövzu kimi görünə bilər, amma düşünürəm ki, bu barədə bir az məlumat əldə etməyiniz çox vacibdir.

Bunun səbəbi, yalnız ESP32 və ya hətta ADC kalibrlənməsi ilə əlaqədar deyil, oxumaq istəyə biləcəyiniz analog sensorlar ilə əlaqəli hər şeydir.

Sensorların çoxu xətti deyildir, buna görə analog rəqəmsal çeviricilər üçün avtomatik prototipli kalibrator təqdim edəcəyik. Ayrıca, bir ESP32 AD -də bir düzəliş edəcəyik.

Addım 1: Giriş

İstifadə olunan mənbələr
İstifadə olunan mənbələr

Bu mövzuda bir az danışdığım bir video var: Bilmirdinmi? ESP32 ADC tənzimlənməsi. İndi bütün polinomlu reqressiya prosesini etməyə mane olan avtomatik bir şəkildə danışaq. Onu yoxlamaq!

Addım 2: İstifadə olunan mənbələr

· Tullananlar

· 1x Protoboard

· 1x ESP WROOM 32 DevKit

· 1x USB kabeli

· 2x 10k rezistorlar

· Gərginlik bölücüsünü tənzimləmək üçün 1x 6k8 rezistor və ya 1x 10k mexaniki potensiometr

· 1x X9C103 - 10k rəqəmsal potensiometr

· 1x LM358 - Əməliyyat gücləndiricisi

Addım 3: istifadə olunan dövrə

İstifadə olunan dövrə
İstifadə olunan dövrə

Bu dövrədə LM358, "gərginlik tamponu" konfiqurasiyasında işləyən bir gücləndiricidir və iki gərginlik bölücüsünü biri digərinə təsir etməməsi üçün təcrid edir. Bu, daha sadə bir ifadə əldə etməyə imkan verir, çünki R1 və R2 yaxşı bir yaxınlaşma ilə artıq RB ilə paralel olaraq nəzərdən keçirilə bilməz.

Addım 4: Çıxış Gərginliyi Rəqəmsal Potansiometr X9C103 -ün Variasiyasından asılıdır

Çıxış Gərginliyi Rəqəmsal Potansiometr X9C103 -ün Variasiyasından asılıdır
Çıxış Gərginliyi Rəqəmsal Potansiometr X9C103 -ün Variasiyasından asılıdır

Dövrə üçün əldə etdiyimiz ifadəyə əsaslanaraq, rəqəmsal potensiometrini 0 ilə 10 k arasında dəyişdiyimiz zaman bu çıxışdakı gərginlik əyrisidir.

Addım 5: X9C103 -ə nəzarət

X9C103 -ə nəzarət
X9C103 -ə nəzarət

· X9C103 rəqəmsal potansiyometrimizi idarə etmək üçün onu VCC -ə qoşan ESP32 -ni gücləndirən USB -dən gələn 5V ilə təmin edəcəyik.

· YUKARI / AŞAĞI pinini GPIO12 -yə bağlayırıq.

· INCREMENT pinini GPIO13 -ə bağlayırıq.

· DEVICE SELECT (CS) və VSS -ni GND -ə bağlayırıq.

· VH / RH -ni 5V -ə bağlayırıq.

· VL / RL -ni GND -ə bağlayırıq.

· RW / VW -ni gərginlik tampon girişinə bağlayırıq.

Addım 6: Bağlantılar

Əlaqələr
Əlaqələr

Addım 7: Yuxarı və Aşağı Rampaların Osiloskopunda çəkin

Yuxarı və Aşağı Rampaların Osiloskopunda çəkin
Yuxarı və Aşağı Rampaların Osiloskopunda çəkin

ESP32 kodunun yaratdığı iki rampanı müşahidə edə bilərik.

Yüksəlmə rampasının dəyərləri tutulur və düzəliş əyrisinin qiymətləndirilməsi və təyin edilməsi üçün C# proqramına göndərilir.

Addım 8: Gözlənilən oxunuşa qarşı

Oxumağa qarşı gözlənilən
Oxumağa qarşı gözlənilən

Addım 9: Düzəliş

Düzəliş
Düzəliş

ADC -ni düzəltmək üçün səhv əyrisindən istifadə edəcəyik. Bunun üçün ADC dəyərləri ilə C#-də hazırlanmış bir proqramı qidalandıracağıq. Oxunan dəyərlə gözlənilən arasındakı fərqi hesablayacaq, beləliklə ADC dəyərinin bir funksiyası olaraq ERROR əyrisi yaradacaq.

Bu əyrinin davranışını bilə -bilə səhvini biləcəyik və onu düzəldə biləcəyik.

Bu əyrini bilmək üçün C# proqramı bir polinom reqressiyası aparacaq bir kitabxanadan istifadə edəcək (əvvəlki videolarda olduğu kimi).

Addım 10: Düzəldildikdən sonra oxunması gözlənilir

Düzəlişdən sonra oxunması gözlənilən versiya
Düzəlişdən sonra oxunması gözlənilən versiya

Addım 11: C# proqramının icrası

C# proqramının icrası
C# proqramının icrası

Addım 12: Rampanın START Mesajını gözləyin

Rampanın START Mesajını gözləyin
Rampanın START Mesajını gözləyin
Rampanın START Mesajını gözləyin
Rampanın START Mesajını gözləyin

Addım 13: ESP32 Mənbə Kodu - Düzəliş Fonksiyonuna və İstifadəsinə Nümunə

ESP32 Mənbə Kodu - Düzəliş Fonksiyonuna və İstifadəsinə Nümunə
ESP32 Mənbə Kodu - Düzəliş Fonksiyonuna və İstifadəsinə Nümunə

Addım 14: Əvvəlki Texnikalarla Müqayisə

Əvvəlki Texnikalarla Müqayisə
Əvvəlki Texnikalarla Müqayisə

Addım 15: ESP32 QAYNAQ KODU - Bəyannamələr və Quraşdırma ()

ESP32 QAYNAQ KODU - Bəyannamələr və Quraşdırma ()
ESP32 QAYNAQ KODU - Bəyannamələr və Quraşdırma ()

Addım 16: ESP32 QAYNAQ KODU - Loop ()

ESP32 QAYNA KODU - Döngü ()
ESP32 QAYNA KODU - Döngü ()

Addım 17: ESP32 QAYNAQ KODU - Loop ()

ESP32 QAYNA KODU - Döngü ()
ESP32 QAYNA KODU - Döngü ()

Addım 18: ESP32 QAYNAQ KODU - Pulse ()

ESP32 QAYNA KODU - Pulse ()
ESP32 QAYNA KODU - Pulse ()

Addım 19: C # -DƏ PROQRAMIN KAYNAK KODU - C # -də Proqramın İcra Edilməsi

C # -DƏ PROQRAMIN QAYNAQ KODU - C # -də Proqramın İcra Edilməsi
C # -DƏ PROQRAMIN QAYNAQ KODU - C # -də Proqramın İcra Edilməsi

Addım 20: C# PROQRAMININ KAYNAK KODU - Kitabxanalar

C# -DƏ PROQRAMIN QAYNAQ KODU - Kitabxanalar
C# -DƏ PROQRAMIN QAYNAQ KODU - Kitabxanalar

Addım 21: C # -DƏ PROQRAMIN QAYNAQ KODU - Ad Məkanı, Sınıf və Qlobal

C # PROQRAMININ KAYNAK KODU - Ad Məkanı, Sınıf və Qlobal
C # PROQRAMININ KAYNAK KODU - Ad Məkanı, Sınıf və Qlobal

Addım 22: C# -DƏ PROQRAMIN QAYNAQ KODU - RegPol ()

C# PROQRAMININ KAYNAK KODU - RegPol ()
C# PROQRAMININ KAYNAK KODU - RegPol ()

Addım 23:

Şəkil
Şəkil

Addım 24: Dosyaları Yükləyin

PDF

RAR

Tövsiyə: