Innholdsfortegnelse:

Spenningsmåling ved bruk av Arduino: 5 trinn
Spenningsmåling ved bruk av Arduino: 5 trinn

Video: Spenningsmåling ved bruk av Arduino: 5 trinn

Video: Spenningsmåling ved bruk av Arduino: 5 trinn
Video: Измерение 5A-30A переменного и постоянного тока с использованием ACS712 с библиотекой Robojax 2024, Juli
Anonim
Image
Image
Spenningsmåling ved hjelp av Arduino
Spenningsmåling ved hjelp av Arduino

Å måle spenning er ganske enkelt ved hjelp av en hvilken som helst mikrokontroller sammenlignet med måling av strøm. Måling av spenninger blir nødvendig hvis du arbeider med batterier eller hvis du vil lage din egen justerbare strømforsyning. Selv om denne metoden gjelder for alle uC, men i denne opplæringen vil vi lære å måle spenning ved hjelp av Arduino.

Det er spenningssensorer tilgjengelig på markedet. Men trenger du dem virkelig? La oss finne det ut!

Trinn 1: Grunnleggende

Grunnleggende
Grunnleggende
Grunnleggende
Grunnleggende
Grunnleggende
Grunnleggende

En mikrokontroller kan ikke forstå analog spenning direkte. Derfor må vi bruke en analog til digital omformer eller ADC kort sagt. Atmega328, som er hjernen til Arduino Uno, har 6 kanaler (merket som A0 til A5), 10-biters ADC. Dette betyr at det vil kartlegge inngangsspenninger fra 0 til 5V til heltallverdier fra 0 til (2^10-1), dvs. lik 1023 som gir en oppløsning på 4,9mV per enhet. 0 vil tilsvare 0V, 1 til 4,9mv, 2 til 9,8mV og så videre til 1023.

Trinn 2: Måling 0-5V

Måler 0-5V
Måler 0-5V
Måler 0-5V
Måler 0-5V
Måler 0-5V
Måler 0-5V
Måler 0-5V
Måler 0-5V

Først skal vi se hvordan vi måler spenning med en maksimal spenning på 5V. Dette er veldig enkelt, siden det ikke er behov for spesielle modifikasjoner. For å simulere den varierende spenningen, vil vi bruke et potensiometer hvis midtstift er koblet til en av de 6 kanalene. Vi vil nå skrive koden for å lese verdiene fra ADC og konvertere dem tilbake til nyttige spenningsavlesninger.

Leser den analoge pinnen A0

verdi = analogRead (A0);

Nå inneholder variabelen 'verdi' en verdi mellom 0 til 1023 avhengig av spenningen.

spenning = verdi * 5,0/1023;

Den oppnådde verdien multipliseres nå med oppløsningen (5/1023 = 4,9mV per enhet) for å få den faktiske spenningen.

Og til slutt viser du den målte spenningen på den serielle skjermen.

Serial.print ("Spenning =");

Serial.println (spenning);

Trinn 3: Måle spenning over 5V

Målespenning over 5V
Målespenning over 5V

Men problemet oppstår når spenningen som skal måles overstiger 5 volt. Dette kan løses ved hjelp av en spenningsdelerkrets som består av 2 motstander koblet i serie som vist. Den ene enden av denne serieforbindelsen er koblet til spenningen som skal måles (Vm) og den andre enden til bakken. En spenning (V1) proporsjonal med den målte spenningen vil vises i krysset mellom to motstander. Dette krysset kan deretter kobles til den analoge pinnen på Arduino. Spenningen kan bli funnet ut ved hjelp av denne formelen.

V1 = Vm * (R2/(R1+R2))

Spenningen V1 måles deretter av Arduino.

Trinn 4: Bygg spenningsdeleren

Bygg spenningsdeleren
Bygg spenningsdeleren
Bygg spenningsdeleren
Bygg spenningsdeleren
Bygg spenningsdeleren
Bygg spenningsdeleren

For å bygge denne spenningsdeleren må vi først finne ut verdiene til motstander. Følg disse trinnene for å beregne verdien av motstander.

  1. Bestem maksimal spenning som skal måles.
  2. Bestem en passende og standardverdi for R1 i kilo-ohm-området.
  3. Beregn R2 ved hjelp av formel.
  4. Hvis verdien av R2 ikke er (eller nær) en standardverdi, endrer du R1 og gjentar trinnene ovenfor.
  5. Siden Arduino kan håndtere maksimalt 5V, er V1 = 5V.

La for eksempel maksimal spenning (Vm) som måles være 12V og R1 = 47 kilo-ohm. Da blir formelen R2 lik 33k.

Bygg nå en spenningsdelerkrets med disse motstandene.

Med dette oppsettet har vi nå en øvre og nedre grense. For Vm = 12V får vi V1 = 5V og for Vm = 0V får vi V1 = 0V. Det vil si at for 0 til 12V ved Vm vil det være en proporsjonal spenning fra 0 til 5V ved V1 som deretter kan mates inn i Arduino som før.

Trinn 5: Les av spenningen

Leser spenningen
Leser spenningen
Leser spenningen
Leser spenningen

Med en liten endring i koden kan vi nå måle 0 til 12V.

Analog verdi leses som før. Deretter måles spenningen mellom 0 og 12V ved å bruke den samme formelen nevnt tidligere.

verdi = analogRead (A0);

spenning = verdi * (5,0/1023) * ((R1 + R2)/R2);

De vanlig tilgjengelige spenningssensormodulene er ingenting annet enn bare en spenningsdelerkrets. Disse er vurdert for 0 til 25V med 30 kiloohm og 7,5 kilo-ohm motstander.

Så hvorfor kjøpe, når du kan gjøre det selv!

Takk for at du holdt ut til slutten. Jeg håper at denne opplæringen ville ha hjulpet deg.

Abonner på YouTube -kanalen min for flere kommende prosjekter og opplæringsprogrammer. Takk nok en gang!

Anbefalt: