Satura rādītājs:
Video: Arduino precīzs un precīzs voltu mērītājs (0-90V DC): 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Šajā pamācībā esmu izveidojis voltmetru, lai relatīvi precīzi un precīzi izmērītu augstspriegumu līdzstrāvu (0-90v), izmantojot Arduino Nano.
Manis veiktie testa mērījumi bija pietiekami precīzi, galvenokārt 0,3 V robežās no faktiskā sprieguma, kas izmērīts ar standarta voltmetru (es izmantoju Astro AI DM6000AR). Tas ir pietiekami tuvu manam paredzētajam ierīces lietojumam.
Lai to arhivētu, es izmantoju sprieguma atskaiti (4.096v) un sprieguma dalītāju.
Koda pusē es, protams, izmantoju opciju "ārējā atsauce" Arduino Nano un piemēru "Izlīdzināšana" Arduino apmācībās.
Piegādes
1 x Arduino Nano - saite
1 x Oled displejs (SSD 1306) - saite
1 x 1/4W 1% Rezistori - 1k omi - Saite
1 x 1/4W 1% Rezistori - 220k omi - Saite
1 x 1/4W 1% Rezistori - 10k omi - Saite
1 x 4.096v LM4040DIZ -4.1 Sprieguma atsauce - saite
Maizes dēlis un vadi - saite
Astro AI DM6000AR - saite
USB barošanas banka - saite
9V baterijas - saite
CanadianWinters ir dalībnieks Amazon Services LLC Associates programmā - saistītajā reklāmas programmā, kuras mērķis ir nodrošināt vietnēm iespēju nopelnīt maksu, izveidojot saiti uz vietni Amazon.com un saistītajām vietnēm. Izmantojot šīs saites, es kā Amazon asociētais partneris nopelnu no kvalificētiem pirkumiem, pat ja jūs pērkat kaut ko citu-un tas jums neko nemaksās.
1. darbība: shēmas
Es savienoju visas detaļas saskaņā ar iepriekš minēto shēmu. Jo īpaši es izvēlējos 4.096 sprieguma atskaiti, lai paliktu pēc iespējas tuvāk 5v atzīmei, lai izvairītos no izšķirtspējas zaudēšanas.
Pēc datu lapas es izvēlējos sprieguma atsaucei 1K omu rezistoru, lai gan varētu izmantot citu vērtību. Spriegums atsaucei tiek piegādāts no Nano 5v tapas.
Ķēdes ideja ir tāda, ka mērāmais līdzstrāvas spriegums iet caur sprieguma rezistoru. Mērogotais spriegums un pēc tam nokļūst Arduino analogajā tapā, lai ņemtu paraugus, izlīdzinātu, mainītu mērogu un parādītu OLed displejā.
Es centos visu padarīt vienkāršu:)
2. solis: koda un rezistoru aprēķini
Rezistoru vērtības tika izvēlētas, kā ieteicams (ja nemaldos, tas ir norādīts Arduino/Atmega datu lapā), lai pretestība būtu zemāka par 10 k omi.
Lai vienkāršotu lietas, es izveidoju izklājlapu, kas automatizē aprēķinus, ja vēlaties izmantot dažādas rezistoru vērtības: Saite uz Google lapu
Šeit ir kods, ko izmantoju šim projektam:
#iekļaut
#include U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (rotācija, [atiestatīšana]) pludiņa spriegums = 0; // izmanto sprieguma vērtības pludiņa saglabāšanai Radjust = 0,043459459; // Sprieguma dalītāja koeficients (R2 /R1+R2) pludiņš vbat = 0; // gala spriegums pēc kalciem- akumulatora pludiņa spriegums Vref = 4.113; // Sprieguma atsauce - izmērītā reālā vērtība. Nominālā vērtība 4,096v const int numReadings = 50; // lasāmo paraugu skaits - palieliniet, lai panāktu lielāku izlīdzināšanu. Samazināt ātrākai lasīšanai. int rādījumi [numReadings]; // nolasījumi no analogās ieejas int readIndex = 0; // pašreizējā nolasījuma indekss neparakstīts garais kopējais = 0; // skriešanas kopējais int vidējais = 0; // mainīgie ekrāna atsvaidzināšanai, neizmantojot kavēšanos unsigned long previousMillis = 0; // saglabās pēdējo reizi, kad ekrāns tika atjaunināts // konstantes nemainīsies: const long interval = 50; // intervāls, kurā atsvaidzināt ekrānu (milisekundes) void setup (void) {analogReference (EXTERNAL); // atsauces spriegumam 4.096 izmantojiet AREF. Mans atsauces reālais spriegums ir 4.113v u8g2.begin (); for (int thisReading = 0; thisReading = numReadings) {//… ietiniet līdz sākumam: readIndex = 0; } // aprēķināt vidējo: vidējais = (kopā / numReadings); spriegums = vidējs * (Vref / 1023.0); //4.113 ir Vref vbat = spriegums/Radjust; // Ekrāna atsvaidzināšanas aizkaves iestatīšana, izmantojot Millis if (currentMillis - previousMillis> = intervāls) {// saglabāt pēdējo reizi, kad ekrāns tika atjaunināts iepriekšMillis = currentMillis; u8g2.clearBuffer (); // notīrīt iekšējo izvēlni // Pack Voltage display u8g2.setFont (u8g2_font_fub20_tr); // 20 pikseļu fonts u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px fonts u8g2.setCursor (76, 20); u8g2.print ("Volti"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters '"); u8g2.setCursor (1, 60); u8g2.print ("Precīzs spriegums"); } u8g2.sendBuffer (); // pārsūtīt iekšējo atmiņu uz displeja aizkavi (1); }
Lūdzu, ņemiet vērā, ka esmu nedaudz sarūsējis ar Arduino kodēšanu, tādēļ, ja atrodat kādu kļūdu vai veidu, kā uzlabot kodu, esmu atvērts ieteikumiem:)
3. darbība: pārbaudīsim
Lai pārbaudītu šo voltmetru, es izmantoju 8x 9v baterijas, kuras es saņēmu vietējā veikalā. Es plānoju izmantot šo voltmetru, lai izmērītu spriegumu manos elektrisko velosipēdu akumulatoros (tiem ir spriegums no 24 līdz 60 V ar neregulāriem 72 V spriegumiem).
Kad elektronika ir iesaiņota PCB un nelielā kastē, tas padarīs jauku un pārnēsājamu akumulatora mērītāju. OLED grafiku un fontus var pielāgot jūsu vajadzībām (piemēram, lielāks fonts ērtai lasīšanai).
Mans mērķis bija panākt sprieguma nolasīšanu Oled/Arduino skaitītājā, kas nav pārāk tālu no mana digitālā multimetra. Man bija mērķis +/- 0, 3v max delta. Kā redzat no videoklipa, es varēju to arhivēt, izņemot mērījumu augšējo galu.
Es ceru, ka jums patika šī pamācība un dariet man zināmu savas domas!
Ieteicams:
Arduino voltu mērītājs (0-100V DC) - 2. versija (labāka): 3 soļi
Arduino voltu mērītājs (0–100 V līdzstrāva)-2. versija (labāka): šajā pamācībā esmu izveidojis voltmetru, lai relatīvi precīzi un precīzi mērītu augstspriegumu (0–100 V), izmantojot Arduino Nano un ADS 1115 ADC . Šī ir otrā voltmetra versija, ko izmantoju iepriekšējā instrukcijā šeit: https: // ww
Netīrumu lēts netīrumu mērītājs-9 USD uz Arduino balstīts skaņas augstuma mērītājs: 4 soļi (ar attēliem)
Netīrumi Lēts netīrumu mērītājs-9 ASV dolāri uz Arduino balstīts skaņas augstuma mērītājs: Dytters (A.K.A dzirdamie augstuma mērītāji) tik daudzus gadus izglāba izpletņlēcēju dzīvības. Tagad arī Audible Abby ietaupīs viņiem naudu. Basic Dytters ir četri trauksmes signāli, viens ceļā uz augšu un trīs lejup. Lidmašīnā paceļoties, izpletņlēcējiem jāzina, kad
Arduino vairogs no vecām krievu VFD caurulēm: pulkstenis, termometrs, voltu mērītājs : 21 soļi (ar attēliem)
Arduino vairogs no vecām krievu VFD caurulēm: pulkstenis, termometrs, voltu mērītājs …: šī projekta pabeigšana prasīja gandrīz pusgadu. Es nevaru aprakstīt, cik daudz darba tika ieguldīts šajā projektā. Šī projekta īstenošana vienatnē prasītu mani mūžīgi, tāpēc man bija palīdzība no draugiem. Šeit jūs varat redzēt mūsu darbu, kas apkopots vienā ļoti garā instrukcijā
Kabatas voltu mērītājs: 6 soļi (ar attēliem)
Kabatas voltu mērītājs: Es jau kādu laiku izmantoju lielāku šī voltmetra versiju, un tas vienmēr bija ļoti noderīgs, un, kad es redzēju kabatas izmēra konkursu, es sev teicu, kāpēc neizmantoju šo iespēju un dalījos ar jums. dizaina uzlabojumi
Universāls voltu, ampēru un jaudas mērītājs: 6 soļi (ar attēliem)
Universāls voltu, ampēru un jaudas mērītājs: Multimetri ir piemēroti daudziem mērķiem. Bet parasti tie vienlaikus mēra tikai vienu vērtību. Ja mēs nodarbojamies ar jaudas mērījumiem, mums ir nepieciešami divi multimetri - viens spriegumam un otrs - ampēriem. Un, ja mēs vēlamies izmērīt efektivitāti, mums vajag četrus