Innholdsfortegnelse:
- Trinn 1: Introduksjon
- Trinn 2: Ressurser brukt
- Trinn 3: Krets brukt
- Trinn 4: Utgangsspenning avhenger av variasjonen til det digitale potensiometeret X9C103
- Trinn 5: Kontrollere X9C103
- Trinn 6: Tilkoblinger
- Trinn 7: Ta bilder på oscilloskopet til opp- og ned -rampene
- Trinn 8: Forventet Versus Read
- Trinn 9: Korrigering
- Trinn 10: Forventet vers lest etter korreksjon
- Trinn 11: Programkjøring i C#
- Trinn 12: Vent på Ramp START -meldingen
- Trinn 13: ESP32 kildekode - eksempel på en korreksjonsfunksjon og dens bruk
- Trinn 14: Sammenligning med tidligere teknikker
- Trinn 15: ESP32 KILDEKODE - Deklarasjoner og oppsett ()
- Trinn 16: ESP32 KILDEKODE - Loop ()
- Trinn 17: ESP32 KILDEKODE - Loop ()
- Trinn 18: ESP32 KILDEKODE - Puls ()
- Trinn 19: KILDEKODE FOR PROGRAMMET I C # - Utførelse av program i C #
- Trinn 20: KILDEKODE FOR PROGRAMMET I C# - Biblioteker
- Trinn 21: KILDEKODEN FOR PROGRAMMET I C # - Navneplass, klasse og globalt
- Trinn 22: KILDEKODE FOR PROGRAMMET I C# - RegPol ()
- Trinn 23:
- Trinn 24: Last ned filene
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
I dag skal vi snakke om "ESP32 automatisert ADC -kalibrering". Det kan virke som et veldig teknisk emne, men jeg tror det er veldig viktig for deg å vite litt om det.
Dette er fordi det ikke bare handler om ESP32, eller til og med ADC -kalibreringen, men heller om alt som involverer analoge sensorer som du kanskje vil lese.
De fleste sensorer er ikke lineære, så vi skal introdusere en automatisert prototypekalibrator for analoge digitale omformere. Vi kommer også til å gjøre en korreksjon av en ESP32 AD.
Trinn 1: Introduksjon
Det er en video der jeg snakker litt om dette emnet: Visste du ikke? ESP32 ADC -justering. La oss nå snakke på en automatisk måte som forhindrer deg i å gjøre hele polynomregresjonsprosessen. Sjekk det ut!
Trinn 2: Ressurser brukt
· Hoppere
· 1x Protoboard
· 1x ESP WROOM 32 DevKit
· 1x USB -kabel
· 2x 10k motstander
· 1x 6k8 motstand eller 1x 10k mekanisk potensiometer for justering av spenningsdeleren
· 1x X9C103 - 10k digitalt potensiometer
· 1x LM358 - Driftsforsterker
Trinn 3: Krets brukt
I denne kretsen er LM358 en operasjonsforsterker i "spenningsbuffer" -konfigurasjonen, som isolerer de to spenningsdelerne slik at den ene ikke påvirker den andre. Dette gjør det mulig å oppnå et enklere uttrykk siden R1 og R2, med en god tilnærming, ikke lenger kan betraktes parallelt med RB.
Trinn 4: Utgangsspenning avhenger av variasjonen til det digitale potensiometeret X9C103
Basert på uttrykket vi fikk for kretsen, er dette spenningskurven ved utgangen når vi varierer det digitale potensiometeret fra 0 til 10k.
Trinn 5: Kontrollere X9C103
· For å kontrollere vårt X9C103 digitale potensiometer vil vi mate det med 5V, som kommer fra samme USB som driver ESP32, og kobles til VCC.
· Vi kobler OPP / NED -pinnen til GPIO12.
· Vi kobler pinnen INCREMENT til GPIO13.
· Vi kobler DEVICE SELECT (CS) og VSS til GND.
· Vi kobler VH / RH til 5V -forsyningen.
· Vi kobler VL / RL til GND.
· Vi kobler RW / VW til spenningsbufferinngangen.
Trinn 6: Tilkoblinger
Trinn 7: Ta bilder på oscilloskopet til opp- og ned -rampene
Vi kan observere de to ramper som genereres av ESP32 -koden.
Verdiene for stigningsrampen fanges opp og sendes til C# -programvaren for evaluering og bestemmelse av korreksjonskurven.
Trinn 8: Forventet Versus Read
Trinn 9: Korrigering
Vi bruker feilkurven til å korrigere ADC. For dette vil vi mate et program laget i C#, med verdiene til ADC. Den vil beregne forskjellen mellom verdien som er lest og den forventede, og dermed opprette en FEIL -kurve som en funksjon av ADC -verdien.
Når vi kjenner oppførselen til denne kurven, kjenner vi feilen, og vi kan korrigere den.
For å kjenne denne kurven, vil C# -programmet bruke et bibliotek som vil utføre en polynom regresjon (som de som ble utført i tidligere videoer).
Trinn 10: Forventet vers lest etter korreksjon
Trinn 11: Programkjøring i C#
Trinn 12: Vent på Ramp START -meldingen
Trinn 13: ESP32 kildekode - eksempel på en korreksjonsfunksjon og dens bruk
Trinn 14: Sammenligning med tidligere teknikker
Trinn 15: ESP32 KILDEKODE - Deklarasjoner og oppsett ()
Trinn 16: ESP32 KILDEKODE - Loop ()
Trinn 17: ESP32 KILDEKODE - Loop ()
Trinn 18: ESP32 KILDEKODE - Puls ()
Trinn 19: KILDEKODE FOR PROGRAMMET I C # - Utførelse av program i C #
Trinn 20: KILDEKODE FOR PROGRAMMET I C# - Biblioteker
Trinn 21: KILDEKODEN FOR PROGRAMMET I C # - Navneplass, klasse og globalt
Trinn 22: KILDEKODE FOR PROGRAMMET I C# - RegPol ()
Trinn 23:
Trinn 24: Last ned filene
RAR