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
- Board Arduino (de exemplu, Uno, Mega, Nano)
- Divizor de tensiune (Dacă măsurarea tensiunii mai mare de 5V)
- Tablă de pâine și jumper
- Sursa de tensiune de măsurat (de exemplu, baterie, senzor sau sursă de alimentare reglabilă)
- 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ă
- Conectați o tensiune de referință stabilă (de exemplu, 3.3V) la știftul AREF.
- În cod, setați tensiunea de referință:
analogReference(EXTERNAL);
- Reglați calculele în cod pentru noua tensiune de referință.
Pasul 5: Cele mai bune practici pentru măsurători precise
- Evitați zgomotul: Folosiți fire scurte și împământare corespunzătoare pentru a reduce zgomotul electric.
- Calibrează -ți configurarea: Verificați citirile cu un multimetru pentru a asigura precizia.
- Protejați Arduino: Utilizați rezistențe sau diode pentru a proteja pinul de intrare analog de supratensiune.
- 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
- Monitorizarea nivelului bateriei
- Sensând semnale analogice de la senzori
- Măsurarea tensiunilor de alimentare cu energie electrică
- Proiecte multimetrice DIY
Depanare
-
Citiri incorecte:
- Verificați cablarea și asigurați valorile corecte ale rezistenței pentru divizorul de tensiune.
- Verificați tensiunea de referință în calcule.
-
Valori fluctuante:
- Adăugați un condensator (10µF sau 100µF) pe intrare.
-
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.!