Ammeter brukes til å måle strømmen gjennom en hvilken som helst last eller enhet. Her i dette Arduino Ammeteret vil vi forklare om måling av strøm ved å bruke ohms lov. Det vil være ganske interessant, samt en god anvendelse av grunnleggende vitenskap som vi studerte i skoledagen.
Alle av oss er godt kjent med ohms lov. Den sier at " potensialforskjellen mellom to poler eller terminaler på en leder er direkte proporsjonal med mengden strøm som går gjennom den samme lederen " for konstant proporsjonalitet vi bruker motstand, så her er det kommer ligningen av ohms lov.
V = IR
- V = spenning over lederen i Volt (v).
- I = strøm passerer gjennom lederen i Ampere (A).
- R = motstandskonstant av proporsjonalitet i Ohm (Ω).
For å finne gjeldende passering gjennom enheten, omorganiserer vi bare ligningen som nedenfor, eller vi kan beregne med ohms lovkalkulator.
Jeg = V / R
Så for å finne ut strømmen trenger vi noen data:
- Spenning
- Motstand
Vi skal bygge en seriemotstand sammen med enheten. Da vi trenger å finne spenningsfall over enheten, for det trenger vi spenningsavlesninger før og etter spenningsfallet, det er mulig i motstanden på grunn av ingen polaritet.
Som i diagrammet ovenfor, må vi finne de to spenningene som strømmer over motstanden. Forskjellen mellom spenningene (V1-V2) i de to endene av motstandene gir oss spenningsfall over motstanden (R), og vi deler spenningsfallet med motstandsverdien vi får strømmen (I) gjennom enheten. Det er slik vi kan beregne den nåværende verdien som går gjennom den, la oss komme inn i den praktiske implementeringen.
Nødvendige komponenter:
- Arduino Uno.
- Motstand 22Ω.
- LCD 16x2.
- LED.
- 10K pott.
- Brettbrett.
- Multimeter.
- Jumper kabler.
Kretsdiagram og tilkoblinger:
Skjematisk diagram av Arduino Ammeter-prosjektet følger
Skjematisk diagram viser forbindelsen til Arduino Uno med LCD, motstand og LED. Arduino Uno er strømkilden til alle andre komponenter.
Arduino har analoge og digitale pinner. Sensorkretsen er koblet til de analoge inngangene som vi får verdien av spenningen fra. LCD-skjermen er koblet til de digitale pinnene (7,8,9,10,11,12).
LCD-skjermen har 16 pinner, de to første pinnene (VSS, VDD) og de to siste pinnene (Anode, katode) er koblet til GND og 5V. Tilbakestillingen (RS) og aktiveringspinnene (E) er koblet til Arduino digitale pinner 7 og 8. Datapinnene D4-D7 er koblet til de digitale pinnene til Arduino (9,10,11,12). V0-pinnen er koblet til den midterste pinnen i potten. De røde og svarte ledningene er 5v og GND.
Strømfølerkrets:
Denne amperemeterkretsen består av motstand og LED som belastning. Motstand er koblet i serie til LED-en som strømmer gjennom belastningen og spenningsfall bestemmes fra motstanden. Terminalen V1, V2 skal koble til den analoge inngangen til Arduino.
I ADC av Arduino som dekker spenningen til 10-biters oppløsningstall fra 0-1023. Så vi må skjule det i spenningsverdi ved hjelp av programmeringen. Før det må vi vite den minimale spenningen som ADC av Arduino kan oppdage, den verdien er 4,88mV. Vi multipliserer verdien fra ADC med 4.88mV, og vi får den faktiske spenningen inn i ADC. Lær mer om ADC av Arduino her.
Beregninger:
Spenningsverdien fra ADC i Arduino er i området 0-1023 og referansespenningen ligger i området 0-5v.
For eksempel:
Verdien på V1 = 710, V2 = 474 og R = 22Ω, forskjellen mellom spenningene er 236. Vi konverterer den til spenning ved å multiplisere med 0.00488, så får vi 1.15v. Så spenningsforskjellen er 1,15v, ved å dele den med 22 her får vi den nåværende verdien 0,005A. Her har vi brukt den lave verdien 22ohm motstand som strømføler. Slik kan vi måle strømmen ved hjelp av Arduino.
Arduino-kode:
Komplett kode for arduino-basert amperemeter for å måle strøm, er gitt på slutten av denne artikkelen.
Arduino-programmering er nesten det samme som med c-programmering, først erklærer vi topptekstfilene. Overskriftsfilene kaller filen i lagringen, som for beregningen får jeg spenningsverdiene ved å bruke analoglesefunksjon .
int voltage_value0 = analogRead (A0); int voltage_value1 = analogRead (A1);
En midlertidig flytevariabel er deklarert for å holde spenningsverdi som float temp_val. Verdien multipliseres med 0,00488 for å få den faktiske spenningsforskjellen, så blir den delt med motstandsverdi for å finne strømmen. 0.00488v er den minimale spenningen som ADC av Arduino kan oppdage.
int subraction_value = (voltage_value0 - voltage_value1); float temp_val = (subraction_value * 0.00488); float current_value = (temp_val / 22);
Sjekk hele demonstrasjonsvideoen nedenfor og sjekk også Arduino Digital Voltmeter.