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

Թվային վոլտմետր CloudX- ով ՝ 6 քայլ
Թվային վոլտմետր CloudX- ով ՝ 6 քայլ

Video: Թվային վոլտմետր CloudX- ով ՝ 6 քայլ

Video: Թվային վոլտմետր CloudX- ով ՝ 6 քայլ
Video: Թվային մեքենայի վոլտմետր aliexpress- ից: Պե՞տք է գնել չինական մեքենայի վոլտմետր: 2024, Նոյեմբեր
Anonim
Թվային վոլտմետր CloudX- ով
Թվային վոլտմետր CloudX- ով

Մարտկոցները ապահովում են DC (ուղիղ հոսանքի) հզորության ավելի մաքուր ձև, երբ աշխատում են սխեմաներում: Նրանց ցածր աղմուկի մակարդակը նրանց միշտ հիանալի տեղավորում է շատ զգայուն սխեմաների համար: Այնուամենայնիվ, այն ժամանակ, երբ նրանց լարման մակարդակը իջնում է որոշակի շեմային կետից ցածր, սխեմաները (որոնք նրանք նախատեսված են իշխանության համար), կարող են անկանոն վարքագծի մեջ մտնել. հատկապես, երբ դրանք լավ մշակված չեն դա լուծելու համար:

Հետևաբար, անհրաժեշտություն է առաջանում պարբերաբար վերահսկել մարտկոցի էներգիայի մակարդակը ՝ մեզ ճիշտ կողմնորոշելու համար, թե երբ է այն լիցքավորվում մարտկոցի ամբողջական փոխարինման կամ լիցքավորման դեպքում: Հետևաբար, այս DIY- ում (Do It Yourself) մենք պետք է նախագծենք մարտկոցի լարման հաշվիչ ՝ օգտագործելով CloudX- ը ՝ օգտագործելով 7Segment- ը որպես մեր էկրան:

Քայլ 1: Սարքավորման պահանջ

CloudX միկրոկառավարիչի մոդուլ

CloudX USB

SoftCard

7 հատվածի ցուցադրում

Ռեզիստորներ

Էներգամատակարարման միավոր

Breadboard

Թռիչք (միացում) լարեր

Քայլ 2. CloudX M633 միկրոկառավարիչ

CloudX M633 միկրոկառավարիչ
CloudX M633 միկրոկառավարիչ

CloudX միկրոկառավարիչի մոդուլ

CloudX մոդուլը էլեկտրոնիկայի նախագծման ապարատային գործիք է, որը թույլ է տալիս միկրոկոնտրոլերի պարզ տախտակի միջոցով ֆիզիկական աշխարհի հետ շփվելու շատ հարմար և հեշտ միջոց: Ամբողջ հարթակը հիմնված է բաց կոդով ֆիզիկական հաշվարկի վրա: IDE- ի (Ինտեգրված զարգացման միջավայր) պարզությունն այն իսկապես կատարյալ է դարձնում սկսնակների համար, սակայն պահպանելով բավականաչափ ֆունկցիոնալություն ՝ թույլ տալու առաջադեմ վերջնական օգտագործողներին կողմնորոշվել իրենց ճանապարհով: Ընկույզի պատյանում CloudX- ը ապահովում է միկրոկառավարիչի գործածման շատ ավելի պարզեցված գործընթաց ՝ հեռացնելով դրա հետ կապված նորմալ բարդ մանրամասները. միևնույն ժամանակ առաջարկելով օգտագործողի փորձի շատ հարուստ հարթակ: Այն գտնում է լայն կիրառական ծրագրեր ՝ դպրոցներ ՝ որպես կրթական հիանալի գործիք, արդյունաբերական և առևտրային ապրանքներ և որպես հիանալի օգտակար գործիք ՝ հոբբիստի ձեռքում:

Քայլ 3: Ամրացնել կապերը

Ամրացնել կապերը
Ամրացնել կապերը

7-հատվածի կապում ՝ A, B, C, D, E, F, G, 1, 2 և 3, միացված են CloudX-MCU- ի pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 և pin11 համապատասխանաբար:

Քայլ 4: Շղթայի դիագրամ

Շղթայի դիագրամ
Շղթայի դիագրամ

Միկրոկառավարիչի մոդուլը, գտնվելով այստեղ կենտրոնական փուլում, կարող է միացված լինել.

կամ Vin- ի և Gnd կետերի միջոցով (այսինքն. դրանք միացնելով համապատասխանաբար ձեր արտաքին էներգիայի աղբյուրի +ve և –ve տերմինալներին համապատասխանաբար) տախտակի վրա.

կամ ձեր CloudX USB փափուկ քարտի մոդուլի միջոցով

. Ավելին, ինչպես կարելի էր հեշտությամբ տեսնել վերևի սխեմայից, մարտկոցի մուտքային լարումը միացված է MCU (միկրոկառավարիչ) մոդուլին այնպես, որ լարման բաժանարար ցանցի կետը (ձևավորված և) միացված է MCU կապի A0- ին:.

և ընտրված են այնպես, որ.

սահմանափակել ցանցի միջոցով հոսող հոսանքի քանակը.

MCU- ի համար (0 - 5) V անվտանգ տիրույթի սահմանաչափ:

Օգտագործելով բանաձևը ՝ VOUT = (R2/(R1+R2)) * VIN; և հեշտությամբ կարելի է գնահատել:

Voutmax = 5V

և այս նախագծի համար մենք ընտրում ենք. Vinmax = 50V;

5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Օրինակ վերցնելով R2 = 10kΩ; R1 = 45/5 * 10 = 90kΩ

Քայլ 5. Գործողության սկզբունքը

Երբ մուտքային չափված լարումը կարդացվում է լարման բաժանարար ցանցի VOUT կետի միջոցով, տվյալները հետագայում մշակվում են MCU- ում `գնահատելու հատվածային միավորի վրա ցուցադրվող վերջնական փաստացի արժեքը: Այն (համակարգի դիզայնը) տասնորդական կետերի ավտոմատ տեղադրող է, որովհետև այն (տասնորդական միավորը) իրականում տեղաշարժում է դիրքը ցուցադրման միավորի վրա `ըստ այն բանի, ինչ թելադրում է բոցի արժեքը ժամանակի ցանկացած պահի: Հետո, ամբողջ ապարատային 7 հատվածի ցուցադրման միավորը միացված է մուլտիպլեքս ռեժիմում: Դա հատուկ պայմանավորվածություն է, որի համաձայն MCU- ի նույն տվյալների ավտոբուսը (տվյալների 8 կապում) կերակրում է ցուցադրման միավորի երեք ակտիվ 7 հատվածները: Տվյալների օրինակ ուղարկելը բաղադրիչ մասերից յուրաքանչյուրին հասնում է սկանավորման գործընթացին: Սկանավորումը տեխնիկա է, որը ներառում է տվյալների փոխանցում բաղադրիչ 7-ական հատվածներից յուրաքանչյուրին. և նրանց միացնելը (այսինքն. միացնելը) արագ հաջորդականությամբ `համապատասխան տվյալների ստացման դեպքում: Նրանցից յուրաքանչյուրին դիմելու արագությունը կատարվում է այնպես, որ նրան հաջողվի խաբել մարդկային տեսլականը `կարծելով, որ դրանք բոլորը (բաղադրամասերը) միաժամանակ միացված են (հասցեագրված): Այն (սկանավորումը) պարզապես, ըստ էության, օգտագործում է մի երևույթ, որը հայտնի է որպես Տեսողության համառություն:

Քայլ 6: Softwareրագրային ապահովման ծրագիր

#ներառում

#ներառում

#ներառում

#սահմանել հատված 1 փին 9

#սահմանել հատված 2 փին 10

#սահմանել հատված 3 pin11

float batt_voltage;

int տասնորդական միավոր, բատ;

/*զանգվածներ, որոնք պահում են հատվածի օրինակը յուրաքանչյուր տրված թվանշանի համար*/

char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};

char CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};

int disp0, disp1, disp2;

ցուցադրել () {

անստորագիր char i;

եթե (տասնորդական կետ <10) {

disp0 = (int) batt_voltage /100; // բերում է MSD (առավել նշանակալի թվանշան)

// լինելով ամենաբարձր կշիռը

/* բերում է հաջորդ կշռված թվանշանը. և այլն */

disp1 = ((int) batt_voltage % 100)/10;

disp2 = ((int) batt_voltage % 10);

}

ուրիշ {

disp0 = (int) batt_voltage /1000;

disp1 = ((int) batt_voltage % 1000)/100;

disp2 = ((int) batt_voltage % 100)/10;

}

/*Նախշերը թափվում են ցուցադրման համար. և 0x80 նիշ ՝ ավելացնելով տասնորդական կետ

եթե համապատասխան պայմանը ճիշտ է*/

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

pin9 = pin10 = pin11 = HIGH;

եթե (տասնորդական կետ <10)

portWrite (1, CCathodeDisp [disp0] | 0x80);

else portWrite (1, CCathodeDisp [disp0]);

հատված 1 = OWԱOWՐ;

հատված 2 = Բարձր;

հատված 3 = Բարձր;

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

pin9 = pin10 = pin11 = HIGH;

եթե ((տասնորդական կետ> = 10) && (տասնորդական կետ <100))

portWrite (1, CCathodeDisp [disp1] | 0x80);

else portWrite (1, CCathodeDisp [disp1]);

հատված 1 = Բարձր;

հատված 2 = OWԱOWՐ;

հատված 3 = Բարձր;

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

pin9 = pin10 = pin11 = HIGH;

եթե (տասնորդական կետ> = 100)

portWrite (1, CCathodeDisp [disp2] | 0x80);

else portWrite (1, CCathodeDisp [disp2]);

հատված 1 = Բարձր;

հատված 2 = Բարձր;

հատված 3 = OWԱOWՐ;

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

}

}

setup () {// setup այստեղ

analogSetting (); // անալոգային պորտը նախաստորագրված է

portMode (1, OUTPUT); // 1 -ից 8 կապում կազմաձևված է որպես ելքային կապում

/ * սկաների կապերը կազմաձևված են որպես ելքային կապեր */

pin9Mode = Ելք;

pin10Mode = Ելք;

pin11Mode = Ելք;

portWrite (1, LOW);

pin9 = pin10 = pin11 = HIGH; // սկան քորոցներ (որոնք ակտիվ-ցածր են)

// սկզբում անջատված են

loop () {// Programրագիրը ՝ այստեղ

batt_voltage = analogRead (A0); // վերցնում է չափված արժեքը

batt_voltage = ((batt_voltage * 5000) / 1024); // փոխակերպման գործակից 5Vin- ի համար

batt_voltage = (batt_voltage * 50)/5000; // փոխակերպման գործակիցը 50Vin- ի համար

տասնորդական միավոր = batt_voltage; // նշում է, որտեղ տասնորդական կետը հայտնվում է այնտեղ

// սկզբնական արժեքը տվյալների շահարկումից առաջ

ցուցադրում ();

}

}

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