Kaip padaryti skaitmeninį nuolatinės įtampos matuoklį naudojant „Arduino“?

Voltmetras yra įtampos matavimo įtaisas, naudojamas matuoti įtampą tam tikruose elektros grandinės taškuose. Įtampa yra potencialų skirtumas, kuris susidaro tarp dviejų elektros grandinės taškų. Yra dviejų tipų voltmetrai. Kai kurie voltmetrai yra skirti nuolatinės srovės grandinių įtampai matuoti, o kiti voltmetrai - įtampai kintamosios srovės grandinėse matuoti. Šie voltmetrai toliau apibūdinami į dvi kategorijas. Vienas iš jų yra skaitmeninis voltmetras, rodantis matavimus skaitmeniniame ekrane, o kitas yra analoginis voltmetras, kuris naudoja adatą, kad nukreiptų į skalę ir parodytų mums tikslų rodmenį.



Skaitmeninis voltmetras

Šiame projekte mes gaminsime voltmetrą naudodami „Arduino Uno“. Šiame straipsnyje paaiškinsime dvi skaitmeninio voltmetro konfigūracijas. Pirmoje konfigūracijoje mikrovaldiklis galės išmatuoti įtampą 0–5 V diapazone. Antroje konfigūracijoje mikrovaldiklis galės išmatuoti įtampą 0–50 V diapazone.



Kaip pagaminti skaitmeninį voltmetrą?

Kaip žinome, kad yra dviejų tipų voltmetrai, analoginis voltmetras ir skaitmeninis voltmetras. Yra keletas kitų analoginių voltmetrų tipų, kurie yra pagrįsti prietaiso konstrukcija. Kai kurie iš šių tipų yra nuolatinio magneto judančio ritės voltmetras, lygintuvo tipo voltmetras, judančio geležies tipo voltmetras ir kt. Pagrindinis tikslas pristatyti skaitmeninį voltmetrą rinkoje atsirado dėl didesnės analoginių voltmetrų klaidų tikimybės. Skirtingai nuo analoginio voltmetro, kuriame naudojama adata ir svarstyklės, skaitmeninis voltmetras rodo rodmenis tiesiai skaitmenimis ekrane. Tai pašalina galimybę Nulio klaida . Klaidos procentas sumažėja nuo 5% iki 1%, kai pereiname nuo analoginio voltmetro prie skaitmeninio voltmetro.



Dabar, kai žinome šio projekto santrauką, rinkime daugiau informacijos ir pradėkime gaminti skaitmeninį voltmetrą naudodami „Arduino Uno“.



1 veiksmas: rinkite komponentus

Geriausias būdas pradėti bet kokį projektą yra sudaryti komponentų sąrašą ir atlikti trumpą šių komponentų tyrimą, nes niekas nenorės laikytis projekto vidurio vien dėl trūkstamo komponento. Toliau pateikiamas komponentų, kuriuos ketiname naudoti šiame projekte, sąrašas:

  • „Arduino uno“
  • 10 k omų potenciometras
  • Šuolių laidai
  • 100k omų rezistorius
  • 10k omų rezistorius
  • 12 V kintamosios srovės adapteris (jei „Arduino“ maitina ne kompiuteris)

2 žingsnis: komponentų studijavimas

„Arduino UNO“ yra mikrovaldiklio plokštė, kurią sudaro mikroschema ATMega 328P ir kurią sukūrė Arduino.cc. Ši plokštė turi skaitmeninių ir analoginių duomenų kaiščių rinkinį, kurį galima susieti su kitomis išplėtimo plokštėmis ar grandinėmis. Ši plokštė turi 14 skaitmeninių kaiščių, 6 analoginius kaiščius ir programuojama naudojant „Arduino IDE“ (integruotą kūrimo aplinką) per B tipo USB laidą. Tam reikia 5 V maitinimo ĮJUNGTA ir a C kodas valdyti.

„Arduino uno“



Skystųjų kristalų ekranai matomi kiekviename elektroniniame įrenginyje, kuris vartotojams turi rodyti tekstą, skaitmenį ar bet kokį paveikslėlį. LCD yra rodymo modulis, kuriame skystieji kristalai naudojami matomam vaizdui ar tekstui gaminti. A 16 × 2 LCD ekranas yra labai paprastas elektroninis modulis, kuris ekrane vienu metu rodo 16 simbolių ir iš viso dvi eilutes. 5 × 7 taškų matrica naudojama simboliui rodyti šiuose LCD.

16 × 2 LCD ekranas

Į Bandomoji Lenta yra be litavimo įtaisas. Jis naudojamas laikinų elektroninių grandinių ir konstrukcijų prototipų gamybai ir bandymams atlikti. Dauguma elektroninių komponentų yra tiesiog prijungti prie duonos, tik įkišus jų kaiščius į duoną. Duonos lentos skylėse nustatoma metalinė juosta ir skylės sujungiamos tam tikru būdu. Skylių jungtys parodytos toliau pateiktoje diagramoje:

Bandomoji Lenta

3 žingsnis: grandinės schema

Pirmoji grandinė, kurios matavimo diapazonas yra nuo 0 iki 5 V, parodyta žemiau:

0–5 V įtampos matuoklis

Antroji grandinė, kurios matavimo diapazonas yra nuo 0 iki 50 V, parodyta žemiau:

Voltmetras 0-50V

4 žingsnis: darbo principas

Čia paaiškintas šio „Arduino“ pagrindu veikiančio skaitmeninio nuolatinės įtampos matuoklio projekto veikimas. Skaitmeniniame voltmetre įtampa, kuri matuojama analogine forma, bus konvertuota į atitinkamą skaitmeninę vertę naudojant analoginį į skaitmeninį keitiklį.

Pirmoje grandinėje, kurios matavimo diapazonas yra nuo 0 iki 5 V, įvestis bus imama ant analoginio kaiščio 0. Analoginis kaištis nuskaitys bet kokią vertę nuo 0 iki 1024. Tada ši analoginė vertė bus konvertuota į skaitmeninę, padauginus ją iš bendrosios įtampos, kuri yra 5 V, ir padalijant iš bendros skiriamosios gebos, kuri yra 1024.

Antroje grandinėje, kadangi diapazonas turi būti padidintas nuo 5 V iki 50 V, reikia nustatyti įtampos daliklio konfigūraciją. Įtampos skirstytuvo grandinė pagaminta naudojant 10k omų ir 100k omų rezistorius. Ši įtampos daliklio konfigūracija padeda mums įvesties įtampą pasiekti „Arduino Uno“ analoginės įvesties diapazone.

Visi matematiniai skaičiavimai atliekami programuojant „Arduino Uno“.

5 žingsnis: komponentų surinkimas

Skystųjų kristalų modulio prijungimas prie „Arduino Uno“ plokštės yra vienodas abiejose grandinėse. Vienintelis skirtumas yra tas, kad pirmojoje grandinėje įėjimo diapazonas yra mažas, todėl jis tiesiogiai siunčiamas į analoginį „Arduino“ kaištį. Antroje grandinėje įtampos daliklio konfigūracija naudojama mikrovaldiklio plokštės įvesties pusėje.

  1. Prijunkite LCD modulio Vss ir Vdd kaiščius atitinkamai prie „Arduino“ plokštės žemės ir 5 V. „Vee“ kaištis yra kaištis, naudojamas ekrano apribojimams koreguoti. Jis prijungtas prie potenciometro, kurio vienas kaištis yra prijungtas prie 5 V, o kitas - prie žemės.
  2. Prijunkite LCD modulio RS ir E kaiščius atitinkamai prie „Arduino“ plokštės 2 ir 3 kontaktų. Skystųjų kristalų ekrano RW kaištis yra prijungtas prie žemės.
  3. Kadangi LCD modulį naudosime 4 bitų duomenų režimu, bus naudojami keturi jo kaiščiai nuo D4 iki D7. Skystųjų kristalų modulio D4-D7 kaiščiai yra prijungti prie mikrovaldiklio plokštės pin4-pin7.
  4. Pirmojoje grandinėje įėjimo pusėje nėra papildomų grandinių, nes didžiausia matuojama įtampa yra 5 V. Antroje grandinėje, kadangi matavimo diapazonas yra nuo 0-50 V, įtampos daliklio konfigūracija atliekama naudojant 10k omų ir 100k omų rezistorius. Reikia pažymėti, kad visi pagrindai yra bendri.

6 žingsnis: darbo pradžia naudojant „Arduino“

Jei anksčiau nesate susipažinę su „Arduino IDE“, nesijaudinkite, nes žemiau galite pamatyti aiškius kodo įrašymo mikrovaldiklio valdyboje veiksmus, naudodami „Arduino IDE“. Naujausią „Arduino IDE“ versiją galite atsisiųsti iš čia ir atlikite toliau nurodytus veiksmus:

  1. Kai „Arduino“ plokštė prijungta prie jūsų kompiuterio, atidarykite „Control panel“ ir spustelėkite „Hardware and Sound“. Tada spustelėkite „Įrenginiai ir spausdintuvai“. Raskite prievado, prie kurio prijungta jūsų „Arduino“ plokštė, pavadinimą. Mano atveju tai yra „COM14“, bet jūsų kompiuteryje jis gali skirtis.

    Rasti uostą

  2. Norėdami naudoti LCD modulį, turėsime įtraukti biblioteką. Biblioteka pridėta žemiau atsisiuntimo nuorodoje kartu su kodu. Eiti į Eskizas> Įtraukti biblioteką> Pridėti .ZIP biblioteką.

    Įtraukti biblioteką

  3. Dabar atidarykite „Arduino IDE“. Iš įrankių nustatykite „Arduino“ lentą į „Arduino“ / „Genuino UNO“.

    Nustatymo lenta

  4. Tame pačiame meniu Įrankis nustatykite prievado numerį, kurį matėte valdymo skydelyje.

    Uosto nustatymas

  5. Atsisiųskite žemiau pridėtą kodą ir nukopijuokite jį į savo IDE. Norėdami įkelti kodą, spustelėkite mygtuką įkelti.

    Įkelti

Galite atsisiųsti kodą iki paspaudę čia.

7 žingsnis: kodas

Kodas yra gana paprastas ir gerai komentuojamas. Bet vis dėlto kai kurie paaiškinti toliau.

1. Pradžioje biblioteka naudojama taip, kad galėtume susieti LCD modulį su „Arduino Uno“ plokšte ir atitinkamai jį užprogramuoti. Inicijuojami nei „Arduino“ plokštės kaiščiai, kurie bus naudojami prisijungiant prie LCD modulio. Tada inicijuojami skirtingi kintamieji, kad būtų išsaugotos vertės vykdymo metu, kurios vėliau bus naudojamos skaičiuojant.

#include 'LiquidCrystal.h' // įtraukite biblioteką į sąsajos LCD modulį su „Arduino“ plokšte „LiquidCrystal lcd“ (2, 3, 4, 5, 6, 7); // LCD modulio kaiščiai, naudojami plūdės įtampa = 0,0; plūdinė temperatūra = 0,0; // kintamasis, skirtas saugoti skaitmeninę įvesties vertę int analog_value; // kintamasis išsaugoti analoginę vertę įvestyje

2. negaliojanti sąranka () yra funkcija, kuri veikia tik vieną kartą paleidus įrenginį arba paspaudus įjungimo mygtuką. Čia mes pradėjome LCD, kad galėtume pradėti. Kai LCD ekranas pradės veikti, pasirodys tekstas „Arduino Based Digital Voltmeter“. Šioje funkcijoje taip pat nustatytas perdavimo greitis. „Baud Rate“ yra greitis bitais per sekundę, kuriuo „Arduino“ bendrauja su išoriniais įrenginiais.

negaliojanti sąranka () {lcd.begin (16, 2); // pradėti ryšį su LCD lcd.setCursor (0,0); // pradėti žymeklį nuo pradžios lcd.print ('Arduino based'); // Spausdinti tekstą pirmoje eilutėje lcd.setCursor (0,1); // Perkelkite kreivę į kitą eilutę lcd.print ('Digital Voltmeter'); // spausdinti tekstą antros eilutės vėlavimu (2000); // palaukite dvi sekundes}

3. tuščia kilpa () yra funkcija, kuri nuolat veikia cikle. Čia analoginė vertė skaitoma įvesties pusėje. Tada ši analogiška vertė paverčiama skaitmenine forma. Taikoma sąlyga, o galutiniai matavimai rodomi LCD ekrane

void loop () {analog_value = analogRead (A0); // Analoginės vertės temp = (analog_value * 5.0) / 1024.0 nuskaitymas; // analoginės vertės perskaičiavimas skaitmenine įtampa = temp / (0,0909); jei (įtampa< 0.1) { voltage=0.0; } lcd.clear(); // Clear any text on the LCD lcd.setCursor(0, 0); // Mve the cursor to the initial position lcd.print('Voltage= '); // Print Voltgae= lcd.print(voltage); // Print the final digital value of voltage lcd.setCursor(13,1); // move the cursor lcd.print('V'); // print the unit of voltage delay(30); // wait for 0.3 seconds }

Programos

Kai kurios jo skaitmeninio voltmetro programos apima:

  1. Aukščiau pagaminta grandinė gali būti naudojama labai tiksliai matuojant skirtingus įtampos diapazonus bet kurioje elektros grandinėje.
  2. Jei atliksime nedidelius grandinės pakeitimus, mikrovaldiklis galės išmatuoti įtampą ir kintamosios srovės grandinėse.