Բովանդակություն:
Video: Arduino ճշգրիտ և ճշգրիտ վոլտաչափ (0-90V DC) ՝ 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս հրահանգի մեջ ես կառուցել եմ վոլտմետր ՝ չափելու բարձր լարման DC (0-90v) հարաբերական ճշգրտությամբ և ճշգրտությամբ ՝ օգտագործելով Arduino Nano- ն:
Իմ կողմից կատարված փորձարկման չափումները բավական ճշգրիտ էին, հիմնականում ստանդարտ վոլտմետրով չափված իրական լարման 0.3 վ -ի սահմաններում (ես օգտագործել եմ Astro AI DM6000AR): Սա բավական մոտ է սարքի իմ նպատակային օգտագործման համար:
Սա արխիվացնելու համար ես օգտագործել եմ լարման տեղեկանք (4.096v) և լարման բաժանարար:
Կոդի կողմից ես, իհարկե, օգտագործեցի «արտաքին հղում» տարբերակը Arduino Nano- ի համար և «Հարթեցում» օրինակը Arduino- ի ձեռնարկներում:
Պարագաներ
1 x Arduino Nano - Հղում
1 x Oled Display (SSD 1306) - Հղում
1 x 1/4W 1% դիմադրողներ - 1k ohm - Հղում
1 x 1/4W 1% դիմադրողներ - 220k ohm - Հղում
1 x 1/4W 1% դիմադրողներ - 10k ohm - Հղում
1 x 4.096v LM4040DIZ -4.1 Լարման տեղեկանք - հղում
Հացաթուղթ և լարեր - Հղում
Astro AI DM6000AR - Հղում
USB Power Bank - Հղում
9 Վ մարտկոցներ - Հղում
CanadianWinters- ը Amazon Services LLC Associates ծրագրի մասնակից է, փոխկապակցված գովազդային ծրագիր, որը նախատեսված է միջոցներ տրամադրելու կայքերին ՝ վճարելով Amazon.com և փոխկապակցված կայքեր: Օգտագործելով այս հղումները, որպես Amazon Associate ես վաստակում եմ որակյալ գնումներից, նույնիսկ եթե ուրիշ բան եք գնում, և դա ձեզ ոչինչ չի կարժենա:
Քայլ 1: Սխեմաներ
Ես միացրեցի բոլոր մասերը ՝ ըստ վերը նշված սխեմաների: Մասնավորապես, ես ընտրեցի 4.096 լարման տեղեկանքը, որպեսզի հնարավորինս մոտ մնամ 5 վ նշագծին ՝ լուծաչափը չկորցնելու համար:
Հետևելով տվյալների թերթիկին, ես ընտրեցի 1K ohm ռեզիստոր լարման համար, չնայած որ կարող էր օգտագործվել այլ արժեք: Հղման համար լարումը մատակարարվում է Nano 5v պինից:
Շրջանի գաղափարն այն է, որ DC լարումը, որը պետք է չափվի, անցնում է լարման դիմադրության միջոցով: Լարված լարումը և այնուհետև մտնում է Arduino- ի անալոգային քորոց, որը պետք է նմուշառվի, հարթվի, նորից չափվի և ցուցադրվի OLed էկրանին:
Փորձեցի ամեն ինչ պարզ պահել:)
Քայլ 2: Կոդի և դիմադրության հաշվարկներ
Ռեզիստորների արժեքներն ընտրվել են այնպես, ինչպես նպատակահարմար է (եթե չեմ սխալվում, սա Arduino/Atmega տվյալների թերթիկում է) ՝ դիմադրողականությունը 10k ohm- ից ցածր պահելու համար:
Ամեն ինչ պարզեցնելու համար ես պատրաստեցի աղյուսակ, որն ավտոմատացնում է հաշվարկները, եթե ցանկանում եք օգտագործել տարբեր դիմադրության արժեքներ. Հղում դեպի Google Աղյուսակ
Ահա այն կոդը, որն օգտագործել եմ այս նախագծի համար.
#ներառում
#ներառել U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (պտույտ, [վերականգնում]) բոց լարման = 0; // օգտագործվում է լարման արժեքը float Radjust = 0.043459459 պահելու համար; // Լարման բաժանարար գործակից (R2 /R1+R2) բոց vbat = 0; // վերջնական լարումը հաշվարկից հետո- մարտկոցի լողացող լարումը Vref = 4.113; // Լարման մասին տեղեկանք - չափված իրական արժեքը: Անվանական արժեքը 4.096v const int numReadings = 50; // ընթերցման նմուշների քանակ - ավելացրեք ավելի հարթեցման համար: Նվազեցրեք ավելի արագ ընթերցելու համար: int ընթերցումներ [numReadings]; // անալոգային մուտքից ընթերցումներ int readIndex = 0; // ընթացիկ ընթերցման ինդեքս անստորագիր երկար ընդհանուր = 0; // վազող ընդհանուր int միջին = 0; // փոփոխականներ էկրանը թարմացնելու համար, առանց հետաձգման չստորագրելու երկար նախորդ Millis = 0; // կպահի վերջին անգամ, երբ էկրանը թարմացվել է // հաստատունները չեն փոխվի. const երկար միջակայք = 50; // էկրանի թարմացման ընդմիջում (միլիվայրկյաններ) void setup (void) {analogReference (EXTERNAL); // օգտագործեք AREF հղման լարման համար 4.096: Իմ տեղեկատու իրական լարումը 4.113v u8g2.begin () է; for (int thisReading = 0; thisReading = numReadings) {//… փաթեթավորեք մինչև սկիզբ ՝ readIndex = 0; } // հաշվարկել միջինը. միջին = (ընդհանուր / թվային ընթերցումներ); լարման = միջին * (Vref / 1023.0); //4.113 է Vref vbat = լարման/Radjust; // Էկրանի թարմացման հետաձգման կարգավորում `օգտագործելով Millis if (currentMillis - previousMillis> = ընդմիջում) {// պահպանել վերջին անգամ, երբ էկրանը թարմացվել է previousMillis = currentMillis; u8g2.clearBuffer (); // մաքրել ներքին հիշողությունը // Pack Լարման ցուցադրում u8g2.setFont (u8g2_font_fub20_tr); // 20px տառատեսակ u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px տառատեսակ u8g2.setCursor (76, 20); u8g2.print («Վոլտ»); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters"); u8g2.setCursor (1, 60); u8g2.print («Volշգրիտ լարում»); } u8g2.sendBuffer (); // փոխանցել ներքին հիշողությունը ցուցադրման ուշացմանը (1); }
Խնդրում ենք նկատի ունենալ, որ ես մի փոքր ժանգոտ եմ Arduino- ի կոդավորմամբ, այնպես որ, եթե որևէ սխալ կամ ծածկագիրը բարելավելու միջոց գտնեք, ես բաց եմ առաջարկությունների համար:)
Քայլ 3: Եկեք փորձարկենք այն:
Այս վոլտմետրը փորձարկելու համար ես օգտագործեցի 8x 9v մարտկոցներ, որոնք ձեռք էի բերել տեղական խանութում: Ես մտադիր եմ օգտագործել այս վոլտմետրը ՝ էլեկտրական հեծանիվների մարտկոցների լարման չափման համար (դրանք ունեն 24-60 վ լարման տատանումներ, երբեմն ՝ 72 վ):
Երբ էլեկտրոնիկան փաթեթավորվում է pcb- ի և մի փոքրիկ տուփի մեջ, դա կդարձնի գեղեցիկ և շարժական մարտկոցի փաթեթաչափ: OLED- ի գրաֆիկան և տառատեսակները կարող են հարմարեցվել ձեր կարիքներին համապատասխան (օրինակ ՝ ավելի մեծ տառատեսակ ՝ հեշտ ընթերցման համար):
Իմ նպատակն էր ունենալ Oled/Arduino հաշվիչի վրա լարման ցուցիչ `իմ թվային բազմաչափ հաշվիչից ոչ շատ հեռու: Ես նպատակ ունեի +/- 0, 3v max delta: Ինչպես տեսնում եք տեսանյութից, ես կարողացա դա արխիվացնել, բացառությամբ չափումների վերևի մասի:
Հուսով եմ, որ ձեզ դուր եկավ այս Instructable- ը և տեղեկացրեք ինձ ձեր մտքերի մասին:
Խորհուրդ ենք տալիս:
Waveshare E- թանաքի ցուցադրման ճշգրիտ վոլտմետր (0-90v DC) Arduino Nano- ով `3 քայլ
Waveshare E- թանաքի ցուցադրման ճշգրիտ վոլտմետր (0-90v DC) Arduino Nano- ի հետ. Այս հրահանգում ես օգտագործում եմ 2.9 "Waveshare E-Paper էկրան` Arduino Nano- ով, լարման բաժանարարով և ADS1115- ով `մինչև 90 լարման ճշգրիտ ցուցադրման համար: վոլտ DC էլեկտրոնային թղթի էկրանին: Սա ուսանելի է համատեղում այս երկու նախորդ նախագծերը.- Ardui
Arduino վոլտաչափ (0-100V DC) - տարբերակ 2 (ավելի լավ) ՝ 3 քայլ
Arduino Volt Meter (0-100V DC)-Տարբերակ 2 (ավելի լավ). Այս ուսանելի ծրագրում ես կառուցել եմ վոլտմետր ՝ չափելու բարձր լարման DC (0-100v) հարաբերական ճշգրտությամբ և ճշգրտությամբ ՝ օգտագործելով Arduino Nano և ADS 1115 ADC . Սա վոլտմետրի երկրորդ տարբերակն է, որն օգտագործվել է իմ նախորդ հրահանգով այստեղ ՝ https: // ww
Վահան Arduino- ի համար հին ռուսական VFD խողովակներից. Ockամացույց, ջերմաչափ, վոլտաչափ : 21 քայլ (նկարներով)
Վահան Arduino- ի համար հին ռուսական VFD խողովակներից. Clամացույց, ջերմաչափ, վոլտ մետր …. Չեմ կարող նկարագրել, թե որքան աշխատանք է կատարվել այս նախագծի համար: Այս նախագիծը միայնակ անելը ինձ հավիտյան կտևեր, այնպես որ ես որոշ օգնություն ունեի իմ ընկերներից: Այստեղ դուք կարող եք տեսնել մեր աշխատանքը ՝ կազմված մեկ շատ երկար հրահանգով
Ինչպես կատարել Arduino- ի միջոցով օդի հոսքի արագության ճշգրիտ սենսոր ՝ 20 Under ից ցածր COVID-19 օդափոխիչի համար. 7 քայլ
Ինչպես կատարել օդի հոսքի արագության ճշգրիտ սենսոր Arduino- ի միջոցով մինչև 20 £ COVID-19 օդափոխիչի համար. Խնդրում ենք դիտել այս զեկույցը այս անցքի հոսքի տվիչի վերջին նախագծի համար ՝ https://drive.google.com/file/d/1TB7rhnxQ6q6C1cNb: ..Այս հրահանգները ցույց են տալիս, թե ինչպես կարելի է կառուցել օդի հոսքի արագության տվիչ ՝ օգտագործելով ցածր գնով դիֆերենցիալ ճնշման սենսոր և հեշտությամբ
Գրպանի վոլտաչափ ՝ 6 քայլ (նկարներով)
Գրպանի վոլտաչափ. Ես բավականին երկար ժամանակ օգտագործում էի այս վոլտմետրի ավելի մեծ տարբերակը, և դա միշտ էլ շատ օգտակար էր դիզայնի կատարելագործում