INHOUDSOPGAWE:

Spanningsmeting met behulp van Arduino: 5 stappe
Spanningsmeting met behulp van Arduino: 5 stappe

Video: Spanningsmeting met behulp van Arduino: 5 stappe

Video: Spanningsmeting met behulp van Arduino: 5 stappe
Video: Spanning_Meten_Arduino 2024, Julie
Anonim
Image
Image
Spanningsmeting met behulp van Arduino
Spanningsmeting met behulp van Arduino

Die meting van spanning is redelik maklik met behulp van enige mikrobeheerder in vergelyking met die meting van stroom. Dit is nodig om spanning te meet as u met batterye werk of u eie verstelbare kragtoevoer wil maak. Alhoewel hierdie metode van toepassing is op enige uC, maar in hierdie tutoriaal leer ons hoe u spanning met Arduino kan meet.

Daar is spanningsensors in die mark beskikbaar. Maar het u dit regtig nodig? Kom ons vind uit!

Stap 1: basiese beginsels

Basiese beginsels
Basiese beginsels
Basiese beginsels
Basiese beginsels
Basiese beginsels
Basiese beginsels

'N Mikrobeheerder kan nie analoog spanning direk verstaan nie. Daarom moet ons kortliks 'n analoog na digitale omskakelaar of ADC gebruik. Atmega328, wat die brein van die Arduino Uno is, het 'n 6-kanaal (gemerk as A0 tot A5), 10-bis ADC. Dit beteken dat dit die ingangsspannings van 0 tot 5V in die heelgetalwaardes van 0 tot (2^10-1) maal, dit wil sê gelyk aan 1023, wat 'n resolusie van 4,9mV per eenheid gee. 0 sal ooreenstem met 0V, 1 tot 4.9mv, 2 tot 9.8mV en so aan tot 1023.

Stap 2: Meet 0-5V

Meet 0-5V
Meet 0-5V
Meet 0-5V
Meet 0-5V
Meet 0-5V
Meet 0-5V
Meet 0-5V
Meet 0-5V

Eerstens sal ons kyk hoe om spanning met 'n maksimum spanning van 5V te meet. Dit is baie maklik, aangesien geen spesiale wysigings nodig is nie. Om die wisselende spanning te simuleer, gebruik ons 'n potensiometer waarvan die middelste pen aan een van die 6 kanale gekoppel is. Ons sal nou die kode skryf om die waardes van ADC te lees en dit om te skakel in nuttige spanningslesings.

Lees die analoog pen A0

waarde = analogRead (A0);

Die variabele 'waarde' bevat 'n waarde tussen 0 en 1023, afhangende van die spanning.

spanning = waarde * 5.0/1023;

Die verkregen waarde word nou vermenigvuldig met die resolusie (5/1023 = 4,9mV per eenheid) om die werklike spanning te kry.

Wys ten slotte die gemete spanning op die seriële monitor.

Serial.print ("Spanning =");

Serial.println (spanning);

Stap 3: Meet spanning bo 5V

Meet spanning bo 5V
Meet spanning bo 5V

Maar die probleem ontstaan wanneer die te meet spanning meer as 5 volt oorskry. Dit kan opgelos word met behulp van 'n spanningsverdelerkring wat bestaan uit 2 weerstande wat in serie gekoppel is, soos getoon. Die een kant van hierdie reeksverbinding is gekoppel aan die spanning wat gemeet moet word (Vm) en die ander kant aan die grond. 'N Spanning (V1) wat eweredig is aan die gemete spanning, sal by die aansluiting van twee weerstande verskyn. Hierdie aansluiting kan dan aan die analoog pen van die Arduino gekoppel word. Die spanning kan uitgevind word met behulp van hierdie formule.

V1 = Vm * (R2/(R1+R2))

Die spanning V1 word dan gemeet deur die Arduino.

Stap 4: Bou die spanningsverdeler

Bou die spanningsverdeler
Bou die spanningsverdeler
Bou die spanningsverdeler
Bou die spanningsverdeler
Bou die spanningsverdeler
Bou die spanningsverdeler

Om hierdie spanningsverdeler te bou, moet ons eers die waardes van weerstande uitvind. Volg hierdie stappe om die waarde van weerstande te bereken.

  1. Bepaal die maksimum spanning wat gemeet moet word.
  2. Besluit 'n geskikte en standaardwaarde vir R1 in kilo-ohm-reeks.
  3. Bereken R2 met behulp van formule.
  4. As die waarde van R2 nie (of naby) 'n standaardwaarde is nie, verander R1 en herhaal die bogenoemde stappe.
  5. Aangesien Arduino 'n maksimum van 5V kan hanteer, is V1 = 5V.

Laat die maksimum spanning (Vm) wat gemeet moet word byvoorbeeld 12V en R1 = 47 kilo-ohm. Dan word die formule R2 gelyk aan 33k.

Bou nou 'n spanningsverdelerkring met behulp van hierdie weerstande.

Met hierdie opset het ons nou 'n boonste en onderste grens. Vir Vm = 12V kry ons V1 = 5V en vir Vm = 0V kry ons V1 = 0V. Dit wil sê, vir 0 tot 12V by Vm, sal daar 'n proporsionele spanning van 0 tot 5V by V1 wees, wat dan soos voorheen in die Arduino ingevoer kan word.

Stap 5: Lees die spanning

Lees die spanning
Lees die spanning
Lees die spanning
Lees die spanning

Met 'n effense verandering in die kode, kan ons nou 0 tot 12V meet.

Analoogwaarde word soos voorheen gelees. Deur dieselfde formule te gebruik, word die spanning tussen 0 en 12V gemeet.

waarde = analogRead (A0);

spanning = waarde * (5.0/1023) * ((R1 + R2)/R2);

Die algemeen beskikbare spanningsensormodules is niks anders as net 'n spanningsverdelerkring nie. Dit is gegradeer vir 0 tot 25V met 30 kiloohm en 7,5 kilo-ohm weerstande.

Dus, hoekom om te koop, as u self kan doen!

Dankie dat u tot die einde vasgehou het. Ek hoop dat hierdie tutoriaal u sou gehelp het.

Teken in op my YouTube -kanaal vir meer komende projekte en tutoriale. Weereens dankie!

Aanbeveel: