Arduino on monipuolinen mikrokontrolleri, joka pystyy mittaamaan jännitettä käyttämällä sisäänrakennettua analogista-digitaalista muunninta (ADC). Tämä ominaisuus on välttämätön sovelluksille, kuten akun tasojen, tunnistussignaalien ja anturin lähtöjen mittaus. Tämä opetusohjelma opastaa sinua mittausjännitteen mittausprosessin kanssa Arduinon kanssa.
Mitä tarvitset
- Arduino -lautakunta (esim. UNO, Mega, Nano)
- Jännitejakaja (Jos mitataan jännite, jonka jännite on yli 5 V)
- Leipälevy- ja hyppyjohdot
- Jännitteen lähde mitataan (esim. Akku, anturi tai säädettävä virtalähde)
- Tietokone, jossa Arduino IDE on asennettu
Vaihe 1: Arduinon jännitteen mittauksen ymmärtäminen
Arduinon ADC muuntaa analogiset jännitteet (0 V-5 V useimmissa levyissä) 10-bittiseksi digitaaliseksi arvoksi. Tämä tarkoittaa, että ADC tarjoaa arvon välillä 0 - 1023, missä 0 vastaa 0 V: tä ja 1023: ta vastaa 5 V: ta (tai vertailujännitettä).
Keskeinen kaava
Tulojännitteen laskeminen:
Voltage = (ADC_Value / 1023.0) * Reference_Voltage
Huomaa: Useimmille Arduino -levyille oletusjännite on 5 V. Jos käytät 3,3 V: n varianttia, säädä kaava vastaavasti.
Vaihe 2: Suora jännitteen mittaus
Jopa 5 V jännitteille voit kytkeä jännitteen lähteen suoraan analogiseen nastaan.
Johdotus
Komponentti | Arduino -nasta |
---|---|
Jännitelähde (+) | A0 |
Jännitteen lähde (-) | Hölynpöly |
Esimerkkikoodi
#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
}
Vaihe 3: Mittaa korkeampi jännitteet jännitteen jakajalla
Mittaa yli 5 V jännitteet a jännitejakaja Tulojännitteen pienentäminen.
Jännitteen jakajan kaava
Jännitteenjakaja skaalaa tulojänniteen kahdella vastuksella:
Vout = Vin * (R2 / (R1 + R2))
Esimerkiksi mitata jopa 12 V:
- R1 = 10k ohmit
- R2 = 10k ohmia
- Skaalauskerroin = 0,5 (vout = VIN / 2)
Johdotus
Komponentti | Yhteys |
---|---|
Jännitelähde (+) | Jännitteen jakaja R1 -tulo |
Jännitteen jakaja R1/R2 -risteys | Arduino A0 |
Jännitteen lähde (-) | Hölynpöly |
Esimerkkikoodi
#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
}
Vaihe 4: Ulkoisen vertailujännitteen käyttäminen
Tarkempien mittausten avulla voit käyttää ulkoista referenssijännitettä kytkemällä se AREF -nastaan.
Vaiheet ulkoisen viitteen asettamiseksi
- Kytke vakaa vertailujännite (esim. 3,3 V) AREF -nastaan.
- Aseta koodissa referenssijännite:
analogReference(EXTERNAL);
- Säädä uuden referenssijännitteen koodin laskelmat.
Vaihe 5: Parhaat käytännöt tarkkoihin mittauksiin
- Vältä melua: Käytä lyhyitä johtoja ja oikeaa maadoitusta sähkömelun vähentämiseksi.
- Kalibroi asetukset: Varmista lukemat monimittarilla tarkkuuden varmistamiseksi.
- Suojaa Arduino: Käytä vastuksia tai diodeja suojaamaan analoginen tulotappi ylijännitteeltä.
- Suodata meluisat signaalit: Lisää kondensaattori sisääntulon poikki tasoittaaksesi jännitteen vaihtelut.
Jännitteen mittauksen sovellukset
- Akkutasojen seuranta
- Antureiden analogisten signaalien tunnistaminen
- Virtalähteen jännitteiden mittaus
- DIY -monimittariprojektit
Vianetsintä
-
Virheelliset lukemat:
- Varmista johdotus ja varmista jännitteenjakajan oikeat vastuksen arvot.
- Tarkista laskelmien vertailujännite.
-
Vaihtelevat arvot:
- Lisää kondensaattori (10µF tai 100 µF) tuloon.
-
Ylijännitesuoja:
- Varmista, että syöttöjännite ei ylitä jännitteen jakajan laskettuja rajoja.
Johtopäätös
Jännitteen mittaus Arduinolla on suoraviivainen ja erittäin hyödyllinen monille elektroniikkaprojekteille. Tarkkailetko akkutasoja tai rajapinta antureihin, jännitteen mittauksen ymmärtäminen avaa laajan valikoiman mahdollisuuksia. Kokeile erilaisia asennuksia ja integroi jännitteen mittaus projekteihisi!