Բովանդակություն:

DIY հզորության չափման մոդուլ Arduino- ի համար. 9 քայլ (նկարներով)
DIY հզորության չափման մոդուլ Arduino- ի համար. 9 քայլ (նկարներով)

Video: DIY հզորության չափման մոդուլ Arduino- ի համար. 9 քայլ (նկարներով)

Video: DIY հզորության չափման մոդուլ Arduino- ի համար. 9 քայլ (նկարներով)
Video: How measure DC Voltage and Current and build Energy meter with LCD Display | Lesson 104 2024, Նոյեմբեր
Anonim
DIY հզորության չափման մոդուլ Arduino- ի համար
DIY հզորության չափման մոդուլ Arduino- ի համար
DIY հզորության չափման մոդուլ Arduino- ի համար
DIY հզորության չափման մոդուլ Arduino- ի համար
DIY հզորության չափման մոդուլ Arduino- ի համար
DIY հզորության չափման մոդուլ Arduino- ի համար

Ողջույն բոլորին, հուսով եմ, որ դուք հիանալի եք անում: Այս խրատելիքում ես ձեզ ցույց կտամ, թե ինչպես եմ պատրաստել այս հզորության հաշվիչ/ Wattmeter մոդուլը Arduino տախտակով օգտագործելու համար: Այս հզորության հաշվիչը կարող է հաշվարկել սպառված էներգիան և DC բեռը: Իշխանության հետ մեկտեղ, այս մոդուլը կարող է նաև մեզ տալ լարման և հոսանքի ճշգրիտ ընթերցումներ: Այն կարող է հեշտությամբ չափել ցածր լարումները (մոտ 2 Վ) և ցածր հոսանքները ՝ մինչև 50 մԱ ՝ 20 մԱ -ից ոչ ավելի սխալմամբ: Accuracyշգրտությունը կախված է ձեր պահանջներից ելնելով բաղադրիչների ընտրությունից:

Պարագաներ

  • IC LM358 երկակի OP-AMP
  • 8 փին IC հիմք
  • Շանթային դիմադրություն (իմ դեպքում ՝ 8.6 միլիոօհմ)
  • Ռեզիստորներ ՝ 100K, 10K, 2.2K, 1K (1/2watt)
  • Կոնդենսատորներ ՝ 3 * 0.1uF կերամիկական կոնդենսատորներ
  • Veroboard կամ զրոյական տախտակ
  • Պտուտակային տերմինալներ
  • Oldոդման երկաթ և զոդ
  • Arduino Uno կամ ցանկացած այլ համատեղելի տախտակ
  • OLED էկրան
  • Հացահատիկի լարերը միացնելը

Քայլ 1: Պահանջվող բաղադրիչների հավաքում

Պահանջվող բաղադրիչների հավաքում
Պահանջվող բաղադրիչների հավաքում

Այս նախագիծը օգտագործում է շատ պարզ և հեշտ բաղադրիչներ ՝ դրանք ներառում են դիմադրիչներ, կերամիկական կոնդենսատորներ, գործառնական ուժեղացուցիչ և նախատիպերի պատրաստման տախտակ:

Բաղադրիչների ընտրությունը և արժեքը կախված են կիրառման տեսակից և հզորության տիրույթից, որը ցանկանում եք չափել:

Քայլ 2. Աշխատանքի սկզբունքը:

Աշխատանքի սկզբունքը
Աշխատանքի սկզբունքը
Աշխատանքի սկզբունքը
Աշխատանքի սկզբունքը
Աշխատանքի սկզբունքը
Աշխատանքի սկզբունքը
Աշխատանքի սկզբունքը
Աշխատանքի սկզբունքը

Էլեկտրաէներգիայի մոդուլի աշխատանքը հիմնված է սխեմայի տեսության և հիմնական էլեկտրաէներգիայի երկու հասկացությունների վրա. Մուտքային լարման չափման լարման բաժանարարի հայեցակարգը և Օհմի օրենքը `հոսանքի հոսանքը հաշվարկելու համար: Մենք օգտագործում ենք շունտի դիմադրություն `դրա վրա լարման շատ փոքր անկում ստեղծելու համար: Լարման այս անկումը համաչափ է շանթով հոսող հոսանքի քանակին: Այս փոքր լարումը, երբ ուժեղացվում է գործառնական ուժեղացուցիչով, կարող է օգտագործվել որպես մուտք միկրոկառավարիչի համար, որը կարող է ծրագրավորվել `մեզ ներկայիս արժեքը տալու համար: Գործառնական ուժեղացուցիչն օգտագործվում է որպես ոչ շրջադարձային ուժեղացուցիչ, որտեղ շահույթը որոշվում է հետադարձ կապի արժեքներով: ռեզիստոր R2 և R1: Ոչ շրջվող կազմաձևի օգտագործումը թույլ է տալիս մեզ ունենալ ընդհանուր հիմք ՝ որպես չափման հղում: Դրա համար հոսանքը չափվում է շղթայի ցածր կողմում: Իմ դիմումի համար ես ընտրել եմ 46 շահույթ ՝ օգտագործելով 100K և 2.2K ռեզիստորներ որպես հետադարձ ցանց: Լարման չափումը կատարվում է լարման բաժանարար սխեմայի միջոցով, որը մուտքային լարումը բաժանում է օգտագործվող դիմադրողական ցանցին համամասնորեն:

Ե՛վ OP-Amp- ի ընթացիկ արժեքը, և՛ բաժանարար ցանցի լարման արժեքը կարող են մուտքագրվել arduino- ի երկու անալոգային մուտքերի մեջ, որպեսզի կարողանանք հաշվարկել բեռի սպառած էներգիան:

Քայլ 3: Մասերի միավորում

Մասերի միավորում
Մասերի միավորում
Մասերի միավորում
Մասերի միավորում
Մասերի միավորում
Մասերի միավորում

Եկեք սկսենք մեր էներգաբլոկի կառուցումը `որոշելով մուտքային և ելքային միացման պտուտակավոր տերմինալների դիրքը: Համապատասխան դիրքերը նշելուց հետո մենք կպցնում ենք պտուտակավոր տերմինալները և շունտի դիմադրությունը տեղում:

Քայլ 4: Լարման զգայարանների մասերի ավելացում

Լարման զգայարանների մասերի ավելացում
Լարման զգայարանների մասերի ավելացում
Լարման զգայարանների մասերի ավելացում
Լարման զգայարանների մասերի ավելացում
Լարման զգայարանների մասերի ավելացում
Լարման զգայարանների մասերի ավելացում

Լարման մուտքի լարման համար ես օգտագործում եմ 10K և 1K լարման բաժանարար ցանց: Ես նաև ավելացրեցի 0.1 uF կոնդենսատոր 1K ռեզիստորի վրա ՝ լարումները հարթելու համար: Լարման զգայուն ցանցը եռակցված է մուտքային տերմինալի մոտ

Քայլ 5. Ներկայիս զգայարանների մասերի ավելացում

Ընթացիկ զգայարանների մասերի ավելացում
Ընթացիկ զգայարանների մասերի ավելացում
Ընթացիկ զգայարանների մասերի ավելացում
Ընթացիկ զգայարանների մասերի ավելացում
Ընթացիկ զգայարանների մասերի ավելացում
Ընթացիկ զգայարանների մասերի ավելացում
Ընթացիկ զգայարանների մասերի ավելացում
Ընթացիկ զգայարանների մասերի ավելացում

Ընթացիկը չափվում է `հաշվարկելով և ուժեղացնելով լարման անկումը շունտի դիմադրության վրա` ռեզիստորների ցանցի կողմից սահմանված կանխորոշված շահումով: Օգտագործվում է ոչ հակադարձ ուժեղացման ռեժիմ: Voltageանկալի է, որ զոդման հետքերը փոքր լինեն, որպեսզի խուսափեն լարման անցանկալի անկումից:

Քայլ 6: Մնացած կապերի ավարտում և կառուցման ավարտում:

Ավարտելով մնացած կապերը և ավարտելով շինարարությունը
Ավարտելով մնացած կապերը և ավարտելով շինարարությունը
Ավարտելով մնացած կապերը և ավարտելով շինարարությունը
Ավարտելով մնացած կապերը և ավարտելով շինարարությունը
Ավարտելով մնացած կապերը և ավարտելով շինարարությունը
Ավարտելով մնացած կապերը և ավարտելով շինարարությունը

Լարման և ընթացիկ զգայարանների ցանցերը միացված և եռակցված են, ժամանակն է զոդել արական գլխիկի կապանքները և կատարել էներգիայի և ազդանշանի ելքերի անհրաժեշտ միացումներ: Մոդուլը սնուցվելու է 5 վոլտ ստանդարտ աշխատանքային լարման միջոցով, որը մենք հեշտությամբ կարող ենք ստանալ arduino տախտակից: Լարման զգայուն երկու ելքերը միացված կլինեն arduino- ի անալոգային մուտքերին:

Քայլ 7: Մոդուլը միացնելով Arduino- ին

Մոդուլը միացնելով Arduino- ին
Մոդուլը միացնելով Arduino- ին
Մոդուլը միացնելով Arduino- ին
Մոդուլը միացնելով Arduino- ին
Մոդուլը միացնելով Arduino- ին
Մոդուլը միացնելով Arduino- ին
Մոդուլը միացնելով Arduino- ին
Մոդուլը միացնելով Arduino- ին

Մոդուլն ավարտված է, և վերջապես ժամանակն է այն միացնել Arduino- ի հետ և այն գործարկել: Արժեքները տեսնելու համար ես օգտագործել եմ OLED էկրան, որն օգտագործել է I2C արձանագրությունը arduino- ի հետ հաղորդակցվելու համար: Էկրանի վրա ցուցադրվող պարամետրերն են ՝ Լարման, հոսանքի և հզորության:

Քայլ 8. Նախագծի ծածկագիրը և սխեմայի դիագրամ

Նախագծի ծածկագիրը և սխեմայի դիագրամ
Նախագծի ծածկագիրը և սխեմայի դիագրամ

Այս փուլում ես կցել եմ էներգիայի մոդուլի սխեմա և ծածկագիր (նախկինում կցել էի.ino և.txt ֆայլը, որը պարունակում էր ծածկագիրը, սակայն որոշ սերվերի սխալը պատճառ էր դարձել, որ ծածկագիրն անհասանելի կամ անընթեռնելի լինի օգտվողների համար, այնպես որ ես գրել եմ ամբողջը) այս քայլի կոդը: Ես գիտեմ, որ դա ծածկագիրը կիսելու լավ միջոց չէ:(): Ազատորեն փոփոխեք այս կոդը ըստ ձեր պահանջների: Հուսով եմ, որ այս նախագիծը օգտակար էր ձեզ համար: Խնդրում ենք կիսել ձեր կարծիքը մեկնաբանություններում: Ողջույն:

#ներառում

#ներառում

#ներառում

#ներառում

#սահմանեք OLED_RESET 4 Adafruit_SSD1306 էկրան (OLED_RESET);

բոց val = 0;

լողացող հոսանք = 0;

բոց լարման = 0;

լողացող հզորություն = 0;

void setup () {

pinMode (A0, INPUT);

pinMode (A1, INPUT);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // նախաստորագրել I2C addr 0x3C (128x32) ցուցադրման համար: ցուցադրել ();

ուշացում (2000);

// Մաքրել բուֆերը:

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (ՍՊԻՏԱԿ);

Serial.begin (9600); // Սերիական մոնիտորի արժեքները տեսնելու համար

}

դատարկ շրջան () {

// կայուն ընթերցումների միջին արժեքը վերցնելը

համար (int i = 0; i <20; i ++) {

ընթացիկ = ընթացիկ + analogRead (A0);

լարման = լարման + analogRead (A1); }

ընթացիկ = (ընթացիկ/20); ընթացիկ = ընթացիկ * 0.0123 * 5.0; // ստուգաչափման արժեքը, որը պետք է փոխվի ըստ օգտագործվող բաղադրիչների

լարման = (լարման/20); լարման = լարման * 0.0508 * 5.0; // ստուգաչափման արժեքը, որը պետք է փոխվի ըստ օգտագործվող բաղադրիչների

հզորություն = լարման*ընթացիկ;

// արժեքների տպում սերիական մոնիտորի վրա

Serial.print (լարման);

Serial.print ("");

Serial.print (ընթացիկ);

Serial.print ("");

Serial.println (իշխանություն);

// արժեքները տպելը OLED էկրանին

display.setCursor (0, 0);

display.print ("Լարման.");

ցուցադրում: տպագիր (լարման);

display.println ("V");

display.setCursor (0, 10);

display.print ("Ընթացիկ:");

display.print (ընթացիկ);

display.println ("A");

display.setCursor (0, 20);

display.print ("Հզորություն.");

ցուցադրում: տպում (ուժ);

display.println ("W");

display.display ();

ուշացում (500); // թարմացման տոկոսադրույքը, որը սահմանված է ուշացումով

display.clearDisplay ();

}

Խորհուրդ ենք տալիս: