Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Ang Mga Skema
- Hakbang 2: Ang Mga Pagkalkula sa Code at Resistor
- Hakbang 3: Subukan Natin Ito
Video: Tiyak na Arduino at Tumpak na Volt Meter (0-90V DC): 3 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sa itinuturo na ito, nagtayo ako ng isang voltmeter upang masukat ang mga mataas na boltahe DC (0-90v) na may ganap na katumpakan at kawastuhan gamit ang isang Arduino Nano.
Ang mga sukat sa pagsubok na kinuha ko ay sapat na tumpak, karamihan sa loob ng 0.3v ng aktwal na boltahe na sinusukat sa isang karaniwang voltmeter (Gumamit ako ng isang Astro AI DM6000AR). Ito ay sapat na malapit sa aking nilalayon na paggamit ng aparato.
Upang i-archive ito gumamit ako ng isang sanggunian ng boltahe (4.096v) at divider ng boltahe.
Sa panig ng code, ginamit ko, syempre, ang pagpipiliang "panlabas na sanggunian" para sa Arduino Nano at halimbawa ng "Smoothing" sa mga Arduino tutorial.
Mga gamit
1 x Arduino Nano - Link
1 x Oled Display (SSD 1306) - Link
1 x 1 / 4W 1% Resistors - 1k ohm - Link
1 x 1 / 4W 1% Resistors - 220k ohm - Link
1 x 1 / 4W 1% Resistors - 10k ohm - Link
1 x 4.096v LM4040DIZ-4.1 Sanggunian ng Boltahe - Link
Breadboard at wires - Link
Astro AI DM6000AR - Link
USB Power Bank - Link
9V Baterya - Link
Ang CanadianWinters ay isang kalahok sa Amazon Services LLC Associates Program, isang kaakibat na programa sa advertising na idinisenyo upang magbigay ng isang paraan para sa mga site upang kumita ng mga bayarin sa pamamagitan ng pag-link sa Amazon.com at mga kaakibat na site. Sa pamamagitan ng paggamit ng mga link na ito, bilang isang Associate sa Amazon kumikita ako mula sa mga kwalipikadong pagbili, kahit na bumili ka ng iba pa - at hindi ka gastos sa anumang bagay.
Hakbang 1: Ang Mga Skema
Ikinonekta ko ang lahat ng mga bahagi ayon sa mga eskematiko sa itaas. Sa partikular pinili ko ang 4.096 boltahe na sanggunian upang manatili nang malapit hangga't maaari sa markang 5v upang maiwasan ang pag-loose ng resolusyon.
Kasunod sa datasheet, pumili ako ng isang 1K ohm risistor para sa sanggunian ng boltahe kahit na maaaring gumamit ng ibang halaga. Ang boltahe para sa sanggunian ay ibinibigay mula sa Nano 5v pin.
Ang ideya ng circuit ay ang boltahe ng DC na susukat ay dumadaan sa isang boltahe risistor. Ang na-scale na boltahe at pagkatapos ay papunta sa analog pin ng Arduino upang mai-sample, hinusay, muling na-scale at ipinakita sa display na OLed.
Sinubukan kong gawing simple ang mga bagay:)
Hakbang 2: Ang Mga Pagkalkula sa Code at Resistor
Ang mga halaga ng resistors ay pinili dahil ipinapayong (kung hindi ako nagkakamali na ito ay nasa Arduino / Atmega datasheet) upang mapanatili ang impedance sa ibaba 10k ohm.
Upang gawing simple ang mga bagay, gumawa ako ng isang spreadsheet na awtomatiko ang mga kalkulasyon kung sakaling nais mong gumamit ng iba't ibang mga halaga ng risistor: Mag-link sa Google Sheet
Narito ang code na ginamit ko para sa proyektong ito:
# isama
# isama ang U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (pag-ikot, [reset]) float voltage = 0; // ginamit upang mag-imbak ng halaga ng boltahe float Radjust = 0.043459459; // Voltage divider factor (R2 / R1 + R2) float vbat = 0; // final voltage pagkatapos ng calcs- boltahe ng float ng baterya Vref = 4.113; // Boltahe sanggunian - sinusukat ang tunay na halaga. Nominal na halaga 4.096v const int numReadings = 50; // bilang ng mga sample ng pagbabasa - dagdagan para sa higit pang paglinis. Bumaba para sa mas mabilis na pagbabasa. int readings [numReadings]; // ang mga pagbasa mula sa analog input int readIndex = 0; // ang index ng kasalukuyang pagbabasa na hindi naka-sign matagal na kabuuang = 0; // the running total int average = 0; // variable para sa pag-refresh ng screen nang hindi gumagamit ng pagkaantala na hindi naka-sign matagal na nakaraangMillis = 0; // mag-iimbak ng huling oras na na-update ang screen // hindi magbabago ang mga Constant: const long interval = 50; // interval kung saan i-refresh ang screen (milliseconds) walang bisa ang pag-set up (walang bisa) {analogReference (EXternal); // use AREF para sa sanggunian boltahe 4.096. Ang aking sangguniang tunay na boltahe ay 4.113v u8g2.begin (); para sa (int thisReading = 0; thisReading = numReadings) {//… balot sa umpisa: readIndex = 0; } // kalkulahin ang average: average = (total / numReadings); boltahe = average * (Vref / 1023.0); //4.113 ay ang Vref vbat = boltahe / Radjust; // Ang pagtatakda ng pagkaantala para sa pag-refresh ng screen gamit ang Millis kung (kasalukuyangMillis - nakaraangMillis> = agwat) {// i-save ang huling oras na na-update ang screen sa nakaraangMillis = currentMillis; u8g2.clearBuffer (); // clear the internal menory // Pack Voltage display u8g2.setFont (u8g2_font_fub20_tr); // 20px font u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px font u8g2.setCursor (76, 20); u8g2.print ("Volts"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters '"); u8g2.setCursor (1, 60); u8g2.print ("Tiyak na Boltahe"); } u8g2.sendBuffer (); // transfer internal memory sa pagkaantala sa pagpapakita (1); }
Mangyaring tandaan na medyo kalawangin ako sa Arduino coding, kaya kung nakakita ka ng anumang pagkakamali o isang paraan upang mapabuti ang code, bukas ako sa mga mungkahi:)
Hakbang 3: Subukan Natin Ito
Upang subukan ang voltmeter na ito gumamit ako ng 8x 9v na baterya na nakuha ko sa isang lokal na tindahan. Plano kong gamitin ang voltmeter na ito upang masukat ang boltahe sa aking mga de-koryenteng baterya na mga pack ng baterya (mayroon silang mga voltages na mula 24-60v na may mga paminsan-minsang 72v na mga bago).
Kapag ang electronics ay nakabalot sa isang pcb at isang maliit na kahon, gagawa ito ng isang maganda at portable na pack pack ng baterya. Ang mga graphics at font sa OLED ay maaaring ipasadya upang magkasya sa iyong mga pangangailangan (hal. Mas malaking font para sa madaling pagbabasa).
Ang aking layunin ay magkaroon ng isang pagbasa ng boltahe sa Oled / Arduino meter na hindi masyadong malayo mula sa aking Digital Multi Meter. Nilalayon ko ang +/- 0, 3v max delta. Tulad ng nakikita mo mula sa video na na-archive ko ito maliban sa tuktok na dulo ng mga sukat.
Inaasahan kong nasiyahan ka sa Ituturo na ito at ipaalam sa akin ang iyong mga saloobin!
Inirerekumendang:
3d Printed Endgame Arc Reactor (Tumpak na Pelikula at Masusuot): 7 Mga Hakbang (na may Mga Larawan)
3d Printed Endgame Arc Reactor (Tumpak sa Pelikula at Masusuot): Buong tutorial sa Youtube: Wala akong makitang partikular na tumpak na mga file ng 3d na pelikula para sa Mark 50 arc reactor / pabahay para sa mga nanoparticle kaya't niluto namin ng aking kaibigan ang ilang mga matamis. Tumagal ng isang toneladang pag-aayos upang makuha ang bagay na mukhang tumpak at kahanga-hanga
Tumpak na Wiimote Light Gun para sa Raspberry PI: 9 Mga Hakbang (na may Mga Larawan)
Tumpak na Wiimote Light Gun para sa Raspberry PI: Karaniwan, ang Wii Remote na ginamit bilang isang light gun ay hindi sapat na tumpak para sa mga Retro game tulad ng NES Duck Hunt, sapagkat ang Wii Remote ay hindi sa totoo lang pinili ang punto sa TV na tinuro nito. Hindi pwede! Ang Wii Remote ay may isang infrared camera sa harap nito
Tiyak na Pagkontrol sa Temperatura sa Raspberry Pi 4: 3 Mga Hakbang
Tiyak na Pagkontrol sa Temperatura sa Raspberry Pi 4: Ang Pimoroni Fan Shim ay isang mahusay na solusyon para sa pagbawas ng temperatura ng iyong Pi kapag uminit ito. Nagbibigay pa ang mga gumagawa ng software na nagpapalitaw ng fan kapag ang temperatura ng CPU ay tumataas sa itaas ng isang tiyak na threshold (hal. 65 degree). Ang temperatura q
Tiyak na Peristaltic Pump: 13 Mga Hakbang
Tiyak na Peristaltic Pump: Kami ay isang koponan ng mag-aaral mula sa iba't ibang mga disiplina ng RWTH Aachen University at nilikha ang proyektong ito sa konteksto ng kumpetisyon ng 2017 iGEM. Matapos ang lahat ng gawain na pumasok sa aming bomba, nais naming ibahagi ang aming mga resulta sa iyo ! Bumili kami
Paano Mag-Program ng Audacity upang Magtala sa isang Tiyak na Oras: 8 Mga Hakbang
Paano Mag-Program ng Audacity upang Magtala sa isang Tiyak na Oras: Ito ay Isang mabilis na Trick, gamitin ito upang maniktik, upang magrekord ng isang tawag sa telepono o simpleng upang maitala ang iyong pagsasalita sa klase sa kasaysayan habang nasa labas ka Paggamit ng sikat na Open-source app na pagsisimula ng Audacitylet