Inhoudsopgave:

Professionals weten dit!: 24 stappen
Professionals weten dit!: 24 stappen

Video: Professionals weten dit!: 24 stappen

Video: Professionals weten dit!: 24 stappen
Video: 75.000 STAPPEN IN 1 DAG CHALLENGE! #3411 2024, December
Anonim
Image
Image

Vandaag gaan we het hebben over " ESP32 geautomatiseerde ADC-kalibratie ". Het lijkt misschien een heel technisch onderwerp, maar ik denk dat het heel belangrijk voor je is om er een beetje over te weten.

Dit komt omdat het niet alleen om de ESP32 gaat, of zelfs alleen om de ADC-kalibratie, maar om alles wat analoge sensoren betreft die u misschien wilt lezen.

De meeste sensoren zijn niet lineair, dus we gaan een geautomatiseerde prototypekalibrator introduceren voor analoge digitale converters. Ook gaan we een correctie aanbrengen op een ESP32 AD.

Stap 1: Inleiding

Gebruikte bronnen
Gebruikte bronnen

Er is een video waarin ik iets over dit onderwerp vertel: Wist je dat niet? ESP32 ADC-aanpassing. Laten we nu op een geautomatiseerde manier praten die voorkomt dat u het hele polynomiale regressieproces uitvoert. Bekijken!

Stap 2: Gebruikte bronnen

· Truien

· 1x Protoboard

· 1x ESP WROOM 32 DevKit

· 1x USB-kabel

· 2x 10k weerstanden

· 1x 6k8 weerstand of 1x 10k mechanische potentiometer voor het instellen van de spanningsdeler

· 1x X9C103 - 10k digitale potentiometer

· 1x LM358 - Operationele versterker

Stap 3: Circuit gebruikt

Circuit gebruikt
Circuit gebruikt

In dit circuit is de LM358 een operationele versterker in de "spanningsbuffer" -configuratie, die de twee spanningsdelers isoleert zodat de ene de andere niet beïnvloedt. Dit maakt het mogelijk om een eenvoudigere uitdrukking te verkrijgen, aangezien R1 en R2 bij een goede benadering niet langer parallel aan RB kunnen worden beschouwd.

Stap 4: Uitgangsspanning is afhankelijk van de variatie van de digitale potentiometer X9C103

Uitgangsspanning is afhankelijk van de variatie van de digitale potentiometer X9C103
Uitgangsspanning is afhankelijk van de variatie van de digitale potentiometer X9C103

Op basis van de uitdrukking die we voor het circuit hebben verkregen, is dit de spanningscurve aan de uitgang wanneer we de digitale potentiometer variëren van 0 tot 10k.

Stap 5: De X9C103 bedienen

De X9C103 bedienen
De X9C103 bedienen

· Om onze X9C103 digitale potentiometer te bedienen, zullen we hem voeden met 5V, afkomstig van dezelfde USB die de ESP32 van stroom voorziet, aansluitend in VCC.

· We verbinden de UP / DOWN-pin met GPIO12.

· We verbinden de pin INCREMENT met GPIO13.

· We verbinden DEVICE SELECT (CS) en VSS met GND.

· Wij sluiten VH/RH aan op de 5V voeding.

· We verbinden VL / RL met GND.

· We sluiten RW / VW aan op de spanningsbufferingang.

Stap 6: Aansluitingen

Verbindingen
Verbindingen

Stap 7: Capture op de oscilloscoop van de op- en neerwaartse hellingen

Vastleggen op de oscilloscoop van de op- en neerwaartse hellingen
Vastleggen op de oscilloscoop van de op- en neerwaartse hellingen

We kunnen de twee hellingen waarnemen die worden gegenereerd door de ESP32-code.

De waarden van de stijgingscurve worden vastgelegd en naar de C#-software gestuurd voor evaluatie en bepaling van de correctiecurve.

Stap 8: verwacht versus gelezen

Verwacht versus gelezen
Verwacht versus gelezen

Stap 9: Correctie

Correctie
Correctie

We zullen de foutcurve gebruiken om de ADC te corrigeren. Hiervoor zullen we een programma, gemaakt in C#, voeden met de waarden van de ADC. Het berekent het verschil tussen de afgelezen waarde en de verwachte waarde, en creëert zo een ERROR-curve als functie van de ADC-waarde.

Als we het gedrag van deze curve kennen, zullen we de fout kennen en kunnen we deze corrigeren.

Om deze curve te kennen, gebruikt het C#-programma een bibliotheek die een polynomiale regressie uitvoert (zoals die in eerdere video's).

Stap 10: Verwacht versus gelezen na correctie

Verwacht versus gelezen na correctie
Verwacht versus gelezen na correctie

Stap 11: Programma-uitvoering in C#

Programma-uitvoering in C#
Programma-uitvoering in C#

Stap 12: Wacht op het Ramp START-bericht

Wacht op het Ramp START-bericht
Wacht op het Ramp START-bericht
Wacht op het Ramp START-bericht
Wacht op het Ramp START-bericht

Stap 13: ESP32-broncode - voorbeeld van een correctiefunctie en het gebruik ervan

ESP32-broncode - Voorbeeld van een correctiefunctie en het gebruik ervan
ESP32-broncode - Voorbeeld van een correctiefunctie en het gebruik ervan

Stap 14: Vergelijking met eerdere technieken

Vergelijking met eerdere technieken
Vergelijking met eerdere technieken

Stap 15: ESP32 BRONCODE - Verklaringen en instellingen ()

ESP32 BRONCODE - Verklaringen en instellingen ()
ESP32 BRONCODE - Verklaringen en instellingen ()

Stap 16: ESP32 BRONCODE - Loop ()

ESP32 BRONCODE - Lus ()
ESP32 BRONCODE - Lus ()

Stap 17: ESP32 BRONCODE - Loop ()

ESP32 BRONCODE - Lus ()
ESP32 BRONCODE - Lus ()

Stap 18: ESP32 BRONCODE - Puls ()

ESP32 BRONCODE - Puls ()
ESP32 BRONCODE - Puls ()

Stap 19: BRONCODE VAN HET PROGRAMMA IN C# - Programma-uitvoering in C #

BRONCODE VAN HET PROGRAMMA IN C# - Programma-uitvoering in C #
BRONCODE VAN HET PROGRAMMA IN C# - Programma-uitvoering in C #

Stap 20: BRONCODE VAN HET PROGRAMMA IN C# - Bibliotheken

BRONCODE VAN HET PROGRAMMA IN C# - Bibliotheken
BRONCODE VAN HET PROGRAMMA IN C# - Bibliotheken

Stap 21: BRONCODE VAN HET PROGRAMMA IN C # - Naamruimte, Klasse en Globaal

BRONCODE VAN HET PROGRAMMA IN C # - Naamruimte, Klasse en Globaal
BRONCODE VAN HET PROGRAMMA IN C # - Naamruimte, Klasse en Globaal

Stap 22: BRONCODE VAN HET PROGRAMMA IN C# - RegPol ()

BRONCODE VAN HET PROGRAMMA IN C# - RegPol ()
BRONCODE VAN HET PROGRAMMA IN C# - RegPol ()

Stap 23:

Afbeelding
Afbeelding

Stap 24: Download de bestanden

PDF

RAR

Aanbevolen: