Măsurarea tensiunii cu Arduino

Measuring Voltage with the Arduino

Arduino este un microcontroller versatil capabil să măsoare tensiunea folosind convertorul său analog-digital încorporat (ADC). Această capacitate este esențială pentru aplicații precum monitorizarea nivelului bateriei, semnalele de intrare de detectare și măsurarea ieșirilor senzorului. Acest tutorial vă va ghida prin procesul de măsurare a tensiunii cu un Arduino.


Ce vei avea nevoie

  1. Board Arduino (de exemplu, Uno, Mega, Nano)
  2. Divizor de tensiune (Dacă măsurarea tensiunii mai mare de 5V)
  3. Tablă de pâine și jumper
  4. Sursa de tensiune de măsurat (de exemplu, baterie, senzor sau sursă de alimentare reglabilă)
  5. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea măsurării tensiunii pe Arduino

ADC ADC de la Arduino convertește tensiuni analogice (0V la 5V pe majoritatea plăcilor) într-o valoare digitală pe 10 biți. Aceasta înseamnă că ADC oferă o valoare între 0 și 1023, unde 0 corespunde la 0V și 1023 corespunde 5V (sau tensiunii de referință).

Formula cheie

Pentru a calcula tensiunea de intrare:

Voltage = (ADC_Value / 1023.0) * Reference_Voltage

Nota: Pentru majoritatea plăcilor Arduino, tensiunea de referință implicită este de 5V. Dacă utilizați varianta 3.3V, reglați formula în consecință.


Pasul 2: Măsurarea directă a tensiunii

Pentru tensiuni de până la 5V, puteți conecta sursa de tensiune direct la un pin analog.

Cablare

Componentă Pinul Arduino
Sursa de tensiune (+) A0
Sursa de tensiune (-) GND

Cod de exemplu

#define analogPin A0

void setup() {
  Serial.begin(9600);
}

void loop() {
  int adcValue = analogRead(analogPin); // Read ADC value
  float voltage = (adcValue / 1023.0) * 5.0; // Convert to voltage

  Serial.print("Voltage: ");
  Serial.print(voltage, 2); // Print voltage with 2 decimal places
  Serial.println(" V");

  delay(1000); // Update every second
}

Pasul 3: Măsurarea tensiunilor mai mari cu un divizor de tensiune

Pentru a măsura tensiuni mai mari de 5V, utilizați un Divizor de tensiune pentru a reduce tensiunea de intrare.

Formula divizorului de tensiune

Divizorul de tensiune scalează tensiunea de intrare folosind două rezistențe:

Vout = Vin * (R2 / (R1 + R2))

De exemplu, pentru a măsura până la 12V:

  • R1 = 10k ohmi
  • R2 = 10k ohmi
  • Factor de scalare = 0,5 (VOUT = VIN / 2)

Cablare

Componentă Conexiune
Sursa de tensiune (+) Divizor de tensiune R1 Intrare
Divizor de tensiune R1/R2 joncțiune Arduino A0
Sursa de tensiune (-) GND

Cod de exemplu

#define analogPin A0
const float R1 = 10000.0; // Resistor R1 value in ohms
const float R2 = 10000.0; // Resistor R2 value in ohms

void setup() {
  Serial.begin(9600);
}

void loop() {
  int adcValue = analogRead(analogPin); // Read ADC value
  float voltage = (adcValue / 1023.0) * 5.0; // Voltage at A0

  // Scale up to actual input voltage
  float inputVoltage = voltage * ((R1 + R2) / R2);

  Serial.print("Input Voltage: ");
  Serial.print(inputVoltage, 2); // Print with 2 decimal places
  Serial.println(" V");

  delay(1000); // Update every second
}

Pasul 4: Utilizarea unei tensiuni de referință externă

Pentru măsurători mai precise, puteți utiliza o tensiune de referință externă conectându -l la pinul AREF.

Pași pentru a seta referință externă

  1. Conectați o tensiune de referință stabilă (de exemplu, 3.3V) la știftul AREF.
  2. În cod, setați tensiunea de referință:
analogReference(EXTERNAL);
  1. Reglați calculele în cod pentru noua tensiune de referință.

Pasul 5: Cele mai bune practici pentru măsurători precise

  1. Evitați zgomotul: Folosiți fire scurte și împământare corespunzătoare pentru a reduce zgomotul electric.
  2. Calibrează -ți configurarea: Verificați citirile cu un multimetru pentru a asigura precizia.
  3. Protejați Arduino: Utilizați rezistențe sau diode pentru a proteja pinul de intrare analog de supratensiune.
  4. Semnalele zgomotoase de filtrare: Adăugați un condensator pe intrare pentru a netezi fluctuațiile de tensiune.

Aplicații de măsurare a tensiunii

  1. Monitorizarea nivelului bateriei
  2. Sensând semnale analogice de la senzori
  3. Măsurarea tensiunilor de alimentare cu energie electrică
  4. Proiecte multimetrice DIY

Depanare

  1. Citiri incorecte:

    • Verificați cablarea și asigurați valorile corecte ale rezistenței pentru divizorul de tensiune.
    • Verificați tensiunea de referință în calcule.
  2. Valori fluctuante:

    • Adăugați un condensator (10µF sau 100µF) pe intrare.
  3. Protecție de supratensiune:

    • Asigurați -vă că tensiunea de intrare nu depășește limitele calculate ale divizorului de tensiune.

Concluzie

Măsurarea tensiunii cu un Arduino este simplă și foarte utilă pentru multe proiecte electronice. Indiferent dacă monitorizați nivelul bateriei sau interfațați cu senzorii, înțelegerea măsurării tensiunii deschide o gamă largă de posibilități. Experimentați cu diferite configurații și integrați măsurarea tensiunii în proiectele dvs.!

Lasă un comentariu

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.