Mätspänning med Arduino

Measuring Voltage with the Arduino

Arduino är en mångsidig mikrokontroller som kan mäta spänning med hjälp av sin inbyggda analog-till-digitala omvandlare (ADC). Denna kapacitet är avgörande för applikationer som att övervaka batterinivåer, avkänna insignaler och mäta sensorutgångar. Denna handledning kommer att vägleda dig genom processen att mäta spänningen med en arduino.


Vad du behöver

  1. Arduinstyrelse (t.ex. Uno, Mega, Nano)
  2. Spänningsdelare (om mätningspänningen är högre än 5V)
  3. Breadboard och jumpertrådar
  4. Spänskälla för att mäta (t.ex. batteri, sensor eller justerbar strömförsörjning)
  5. En dator med Arduino Ide installerad

Steg 1: Förstå spänningsmätning på Arduino

Arduinos ADC konverterar analoga spänningar (0V till 5V på de flesta brädor) till ett 10-bitars digitalt värde. Detta innebär att ADC ger ett värde mellan 0 och 1023, där 0 motsvarar 0V och 1023 motsvarar 5V (eller referensspänningen).

Nyckelformel

För att beräkna ingångsspänningen:

Voltage = (ADC_Value / 1023.0) * Reference_Voltage

Notera: För de flesta Arduino -kort är standardreferensspänningen 5V. Om du använder 3.3V -varianten, justera formeln i enlighet därmed.


Steg 2: Direktspänningsmätning

För spänningar upp till 5V kan du ansluta spänningskällan direkt till en analog stift.

Ledning

Komponent Arduinosnål
Spänningskälla (+) A0
Spänningskälla (-) Gard

Exempelkod

#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
}

Steg 3: Mätning av högre spänningar med en spänningsdelare

För att mäta spänningar högre än 5V, använd en spänningsdelare För att skala ner ingångsspänningen.

Spänningsdelarformel

Spänningsdelaren skalar ingångsspänningen med två motstånd:

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

Till exempel för att mäta upp till 12V:

  • R1 = 10K ohms
  • R2 = 10K ohms
  • Skalningsfaktor = 0,5 (Vout = Vin / 2)

Ledning

Komponent Förbindelse
Spänningskälla (+) Spänningsdelare R1 -ingång
Spänningsdelare R1/R2 -korsning Arduino a0
Spänningskälla (-) Gard

Exempelkod

#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
}

Steg 4: Använd en extern referensspänning

För mer exakta mätningar kan du använda en extern referensspänning genom att ansluta den till AREF -stiftet.

Steg för att ställa in extern referens

  1. Anslut en stabil referensspänning (t.ex. 3.3V) till AREF -stiftet.
  2. Ställ referensspänningen i koden:
analogReference(EXTERNAL);
  1. Justera beräkningar i koden för den nya referensspänningen.

Steg 5: Bästa metoder för exakta mätningar

  1. Undvik brus: Använd korta ledningar och korrekt jordning för att minska elektriskt brus.
  2. Kalibrera din installation: Verifiera avläsningar med en multimeter för att säkerställa noggrannhet.
  3. Skydda Arduino: Använd motstånd eller dioder för att skydda den analoga ingångsstiftet från överspänning.
  4. Filtrera bullriga signaler: Tillsätt en kondensator över ingången för att jämna ut spänningsfluktuationer.

Applikationer av spänningsmätning

  1. Övervakning av batterinivåer
  2. Avkänna analoga signaler från sensorer
  3. Mätning av strömförsörjningsspänningar
  4. DIY multimeterprojekt

Felsökning

  1. Felaktiga avläsningar:

    • Kontrollera ledningar och se till att korrekta motståndsvärden för spänningsdelaren.
    • Kontrollera referensspänningen i beräkningar.
  2. Fluktuerande värden:

    • Tillsätt en kondensator (10μF eller 100 uF) över ingången.
  3. Överspänningsskydd:

    • Se till att ingångsspänningen inte överskrider spänningsdelarens beräknade gränser.

Slutsats

Att mäta spänning med en arduino är enkel och mycket användbar för många elektronikprojekt. Oavsett om du övervakar batterinivåer eller gränssnitt med sensorer öppnar förståelse för spänningsmätning upp ett brett spektrum av möjligheter. Experimentera med olika inställningar och integrera spänningsmätning i dina projekt!

Lämna en kommentar

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.