Arduino jest wszechstronnym mikrokontrolem zdolnym do pomiaru napięcia przy użyciu wbudowanego konwertera analogowo-cyfrowego (ADC). Ta zdolność jest niezbędna do aplikacji, takich jak monitorowanie poziomów akumulatora, wykrywanie sygnałów wejściowych i pomiar wyjściowych czujników. Ten samouczek poprowadzi Cię przez proces pomiaru napięcia z Arduino.
Czego będziesz potrzebować
- Board Arduino (np. Uno, Mega, Nano)
- Dzielnik napięcia (Jeśli mierząc napięcie wyższe niż 5 V)
- Druty chleba i skoczków
- Źródło napięcia do pomiaru (np. Bateria, czujnik lub regulowane zasilanie)
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie pomiaru napięcia na Arduino
ADC Arduino przekształca napięcia analogowe (od 0 do 5 V na większości płyt) w 10-bitową wartość cyfrową. Oznacza to, że ADC zapewnia wartość od 0 do 1023, gdzie 0 odpowiada 0 V i 1023 odpowiada 5 V (lub napięciu odniesienia).
Kluczowa formuła
Aby obliczyć napięcie wejściowe:
Voltage = (ADC_Value / 1023.0) * Reference_Voltage
Notatka: W przypadku większości płyt Arduino domyślne napięcie odniesienia wynosi 5 V. Jeśli używasz wariantu 3.3V, odpowiednio dostosuj wzór.
Krok 2: Bezpośredni pomiar napięcia
W przypadku napięć do 5 V możesz podłączyć źródło napięcia bezpośrednio do analogowego pinu.
Okablowanie
Część | PIN Arduino |
---|---|
Źródło napięcia (+) | A0 |
Źródło napięcia (-) | GND |
Przykładowy kod
#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
}
Krok 3: Pomiar wyższych napięć za pomocą dzielnika napięcia
Do pomiaru napięć wyższych niż 5 V, użyj dzielnik napięcia Aby zmniejszyć napięcie wejściowe.
Formuła podziału napięcia
Dzielnik napięcia skaluje napięcie wejściowe za pomocą dwóch rezystorów:
Vout = Vin * (R2 / (R1 + R2))
Na przykład, aby zmierzyć do 12 V:
- R1 = 10K omów
- R2 = 10K omów
- Współczynnik skalowania = 0,5 (vout = vin / 2)
Okablowanie
Część | Połączenie |
---|---|
Źródło napięcia (+) | Wejście Divider napięcia R1 |
Podzielnik napięcia R1/R2 Złącze | Arduino A0 |
Źródło napięcia (-) | GND |
Przykładowy kod
#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
}
Krok 4: Za pomocą zewnętrznego napięcia odniesienia
Aby uzyskać dokładniejsze pomiary, możesz użyć zewnętrznego napięcia odniesienia, podłączając go do pinu AREF.
Kroki, aby ustawić zewnętrzne odniesienie
- Podłącz stabilne napięcie odniesienia (np. 3,3 V) do pinu AREF.
- W kodzie ustaw napięcie odniesienia:
analogReference(EXTERNAL);
- Dostosuj obliczenia w kodzie dla nowego napięcia odniesienia.
Krok 5: Najlepsze praktyki dokładnych pomiarów
- Unikaj hałasu: Użyj krótkich przewodów i odpowiedniego uziemienia, aby zmniejszyć szum elektryczny.
- Kalibruj swoją konfigurację: Sprawdź odczyty za pomocą multimetru, aby zapewnić dokładność.
- Chroń Arduino: Użyj rezystorów lub diod, aby chronić analogowy szpilkę wejściową przed przepięciem.
- Filtruj hałaśliwe sygnały: Dodaj kondensator na wejściu, aby wygładzić wahania napięcia.
Zastosowania pomiaru napięcia
- Monitorowanie poziomów baterii
- Wyczuwanie sygnałów analogowych z czujników
- Pomiar napięć zasilania
- DIY Projekty multimetrowe
Rozwiązywanie problemów
-
Nieprawidłowe odczyty:
- Sprawdź okablowanie i upewnij się, że prawidłowe wartości rezystora dla dzielnika napięcia.
- Sprawdź napięcie odniesienia w obliczeniach.
-
Wahania wartości:
- Dodaj kondensator (10µF lub 100 µF) na wejściu.
-
Ochrona nad przepięciem:
- Upewnij się, że napięcie wejściowe nie przekracza obliczonych limitów dzielnika napięcia.
Wniosek
Pomiar napięcia z Arduino jest prosty i bardzo przydatny w wielu projektach elektronicznych. Niezależnie od tego, czy monitorujesz poziomy akumulatora, czy łączysz się z czujnikami, zrozumienie pomiaru napięcia otwiera szeroki zakres możliwości. Eksperymentuj z różnymi konfiguracjami i zintegruj pomiar napięcia z projektami!