Մենք շարունակում ենք հասկանալ միկրոպրոցեսորի վրա հիմնված վոլտմետր - ամպերմետրի ներդրման տարբերակները:
Մի մոռացեք ֆայլերով արխիվը, դրանք մեզ այսօր պետք կգան:
Եթե ցանկանում եք տեղադրել մեծ ցուցիչներ, ապա պետք է լուծեք ընթացիկ սպառումը սահմանափակելու հարցը MK նավահանգիստների միջոցով։ Այս դեպքում անհրաժեշտ է ցուցիչի յուրաքանչյուր նիշի վրա տեղադրել բուֆերային տրանզիստորներ:
Մեծ չափի ցուցիչներ
Այսպիսով, նախկինում քննարկված սխեման կստանա Նկարում ներկայացված ձևը: 2. Ցուցանիշի յուրաքանչյուր նիշի համար ավելացվել է բուֆերային փուլի երեք տրանզիստոր VT1-VT3: Տեղադրված բուֆերային փուլը հակադարձում է MK-ի ելքային ազդանշանը: Հետևաբար, VT2-ի վրա հիմնված մուտքային լարումը հակադարձ է նշված տրանզիստորի կոլեկտորի նկատմամբ և, հետևաբար, հարմար է ելքին ստորակետ ձևավորող ելք մատակարարելու համար: Սա հնարավորություն է տալիս հեռացնել VT1 տրանզիստորը, որը նախկինում եղել է նկ. 1, փոխարինելով վերջինս անջատող ռեզիստորով R12: Մի մոռացեք, որ VT1-VT3 տրանզիստորների բազային սխեմաներում ռեզիստորի արժեքները նույնպես փոխվել են:
Եթե ցանկանում եք տեղադրել անսովոր մեծ չափսերով ցուցիչներ, դուք պետք է տեղադրեք ցածր դիմադրության (1 - 10 Օմ) դիմադրություններ նշված տրանզիստորների կոլեկտորային շղթայում, որպեսզի սահմանափակեք ընթացիկ ալիքները, երբ դրանք միացված են:
Այս տարբերակի համար MK-ի գործառնական տրամաբանությունը պահանջում է միայն ծրագրի աննշան փոփոխություն՝ բիթերը կառավարելու համար ելքային ազդանշանը շրջելու առումով, մասնավորապես՝ RA0, RA1, RA5 նավահանգիստները:
Դիտարկենք միայն այն, ինչ կփոխվի, մասնավորապես մեզ արդեն հայտնի ենթակարգը «Դինամիկ ցուցումների ստեղծման գործառույթ» ծածկագրով: Ցուցակ թիվ 2(տես «tr_OE_30V» թղթապանակը արխիվում կամ հոդվածի առաջին մասում):
16. void Ցուցանիշ ()( 17. while (ցուցադրել_նիշ< 3) { 18. portc = 0b111111; // 1 ->C 19. եթե (ցուցադրել_նիշ == 2)( delay_ms(1); ) 20. porta = 0b100111; 21. ցույց_թիվ = ցույց_նիշ + 1; 22. անջատիչ (ցույց տալ_նիշը) ( 23. դեպք 1: ( 24. եթե (թվանշան1 == 0) ( ) այլ կերպ ( 25. Cod_to_PORT (DIGIT1); 26. PORTA &= (~(1)<<0)); //0 ->A0 27. ) ընդմիջում;) 28. դեպք 2. ( 29. Cod_to_PORT (DIGIT2); 30. PORTA &= (~(1<<1)); //0 ->A1 31. ընդմիջում;) 32. դեպք 3: ( 33. Cod_to_PORT (DIGIT3); 34. PORTA &= (~(1<<5)); //0 ->A5 35. ընդմիջում;) ) 36. Delay_ms(6); 37. եթե (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Delay_ms(1);) 39. if ((ցուցադրել_թիվը >= 3)!= 0) ընդմիջում; 40. ) show_digit = 0;)
Համեմատեք երկու տարբերակները: ՀՀ պորտում ազդանշանի ինվերսիան (թիվ 2 ցուցակի 20 տող) հեշտ է ընթեռնելի, քանի որ այն գրված է երկուական ձևով։ Բավական է միավորել MK-ի և երկուական թվի ելքերը։ 19-րդ և 37-րդ տողերում ի հայտ եկան մի փոքր տարօրինակ պայմաններ, որոնք սկզբում չկան։ Առաջին դեպքում՝ «հետաձգեք տրամաբանական զրոյական ազդանշանը RA1 նավահանգստում երկրորդ նիշի նշման ժամանակ»։ Երկրորդում. «եթե RA2 նավահանգստում տրամաբանական զրո կա, ինվերսիա»: Երբ դուք կազմում եք ծրագրի վերջնական տարբերակը, կարող եք դրանք հեռացնել, բայց PROTEUS-ում սիմուլյացիայի համար դրանք անհրաժեշտ են։ Առանց դրանց ստորակետը և «G» հատվածը նորմալ չեն ցուցադրվի:
Ինչո՞ւ։ - Դուք հարցնում եք, քանի որ առաջին տարբերակը հիանալի աշխատեց:
Եզրափակելով, հիշեք դարբնի խոսքերը «Սիրո բանաձև» ֆիլմից. «...եթե մի մարդ է այն կառուցել, մյուսը միշտ կարող է այն քանդել»:
Հաջողություն!
Ընթերցողի քվեարկություն
Հոդվածը հավանության է արժանացել 27 ընթերցողի կողմից։
Քվեարկությանը մասնակցելու համար գրանցվեք և մուտք գործեք կայք ձեր օգտանունով և գաղտնաբառով։Այս սարքում հեղինակը օգտագործել է չորս նիշ, յոթ տարրից բաղկացած LED ցուցիչի կառավարման օրիգինալ մեթոդ՝ միկրոկոնտրոլերի միայն չորս պիններից ազդանշաններով: Միկրոկտրոլերի ծրագիրը ապահովում է վոլտմետրի ավտոմատ տրամաչափման ռեժիմ:
Այժմ արդեն ավանդական LED թվային ցուցիչի միացումը միկրոկարգավորիչին սերիականից զուգահեռ կոդերի փոխարկիչի միջոցով 74HC595 պահանջում է միկրոկոնտրոլերի երեք պինների օգտագործում՝ ծածկագրի փոխարկիչը կառավարելու համար և ևս մեկ փին ցուցիչի յուրաքանչյուր թվի համար: Հետեւաբար, քառանիշ ցուցանիշը պահանջում է յոթ կապում: Սա հնարավորություն չի տալիս նման ցուցիչներ օգտագործել փոքր պինով միկրոկառավարիչներով, օրինակ՝ PIC12F675-ով, որն ունի ընդամենը վեց պինդ (չհաշված հոսանքի կապանքները):
Երկրորդ քայլում 74HC595-ի 12-րդ փին բարձրացող եզրը գրում է հերթափոխի ռեգիստրի զրոյական պարունակությունը պահման ռեգիստրում: Սա ամբողջովին անջատում է ցուցիչը:
Երրորդ փուլում տեղեկատվությունը բեռնվում է 74HC595 միկրոսխեմայի հերթափոխի գրանցամատյանում՝ օգտագործելով միկրոսխեմայի 14-րդ կետում միկրոկոնտրոլերի կողմից ստեղծված սերիական կոդը: Նրա փին 11-ը ժամացույցի իմպուլսներ է ստանում:
Չորրորդ փուլում, 74HC595 միկրոսխեմայի 12-րդ կետում աճող մակարդակի տարբերությամբ, դրա հերթափոխի ռեգիստրից տեղեկատվությունը մտնում է պահեստավորման ռեգիստր, և կաթոդների բարձր մակարդակների պատճառով ցուցիչի բիթերը մնում են մարված:
Հինգերորդ փուլում, լիցքաթափման ընդհանուր կաթոդի վրա, որի համար նախատեսված է 74HC595 միկրոսխեմայի ելքերի զուգահեռ ծածկագիրը, ծրագիրը սահմանում է ցածր մակարդակը, միացնելով դրա տարրերը այս կոդի համաձայն: Այս պահին ընդհատումների մշակումն ավարտվում է, և ցուցիչի սահմանված վիճակը մնում է անփոփոխ մինչև հաջորդ ընդհատումը:
Ութ բիթանոց ցուցիչը կառավարելու համար պահանջվում է միկրոկոնտրոլերի ութ ելք: Այս դեպքում լրացուցիչ չորս քորոցների ազդանշանները պարզապես վերահսկում են արտանետումների կաթոդների մակարդակները: Հարկ է նշել, որ այս դեպքում հնարավոր է օգտագործել ցուցիչներ ինչպես սովորական կաթոդներով, այնպես էլ սովորական անոդներով, համապատասխանաբար միացնելով տարրերը կամ արտանետումները կոդի փոխարկիչի ելքերին: Ստորև նշված պատճառներից ելնելով, նախընտրելի է առաջին դեպքում կազմակերպել դինամիկ ցուցադրման տարր առ տարր, իսկ երկրորդում՝ բիթ առ բիթ:
Հիմա եկեք խոսենք վոլտմետրի մասին, որն օգտագործում է նկարագրված սկզբունքը:
Հիմնական տեխնիկական բնութագրերը
Չափված լարումը, V............... 0...80
Չափման թույլտվություն, V......0.1
Ճշգրտություն.............0.5% + միավոր: մլ. բանաձեւը
Մատակարարման լարումը, V............7...15
Ընթացիկ սպառումը, mA, ոչ ավելի.................................30
Վոլտմետրի սխեման ներկայացված է Նկ. 1. Այն օգտագործում է տարր առ տարր դինամիկ ցուցադրում: Ժամանակի յուրաքանչյուր պահի բարձր մակարդակ է սահմանվում HG1 ցուցիչի բոլոր թվանշանների համանուն տարրերի մեկ խմբի անոդների վրա: Արտանետումների ընդհանուր կաթոդային տերմինալներում, որոնցում այդ տարրերը պետք է փայլեն, սահմանվում է ցածր մակարդակ, հակառակ դեպքում՝ բարձր մակարդակ: Խնդրում ենք նկատի ունենալ, որ նույնանուն տարրերը կարող են միաժամանակ միացված լինել բոլոր կատեգորիաներում, սակայն ներկա պահին յուրաքանչյուր կատեգորիայում միացված է միայն մեկ տարր: Այդ իսկ պատճառով մենք ընտրեցինք տարրերի անոդները միացնել DD2 միկրոսխեմայի ելքերին, որոնց ծանրաբեռնվածությունը ավելի բարձր է, քան միկրոկառավարիչի ելքերը։
Բրինձ. 1. Վոլտմետրի միացում
2 ms ընդհատման ժամանակով ցուցիչի վրա պատկերի թարմացման արագությունը 64 Հց է, իսկ թարթումը անտեսանելի է աչքի համար: Դինամիկ ցուցման ընտրված մեթոդը նաև հնարավորություն է տվել կրկնակի կրճատել ցուցիչի LED-ների միջոցով հոսանքը սահմանափակող դիմադրիչների (R4-R7) քանակը:
PIC12F675-I/P (DD1) միկրոկոնտրոլերը մնում է չզբաղված GP0 և GP3 I/O գծերի դինամիկ ցուցիչում: Առաջինն օգտագործվում է որպես ADC մուտքագրում, չափված լարումը նրան մատակարարվում է R1R2 բաժանարարի միջոցով: GP3 գծում, S1 ցատկողի բացակայության դեպքում, R3 ռեզիստորի շնորհիվ, բարձր տրամաբանական մակարդակ է սահմանվում, որը ծառայում է որպես ազդանշան, որը վոլտմետրը միացնում է տրամաչափման ռեժիմի: Եթե jumper-ը տեղադրված է, ապա այս քորոցի մակարդակը ցածր է, և վոլտմետրը նորմալ է աշխատում:
Երբ դուք առաջին անգամ միացնում եք վոլտմետրը բացակայող ցատկող S1-ով, HG1 ցուցիչը կցուցադրի ամենաաջ նշանը, որը թարթում է: Այս վիճակում սարքի մուտքի վրա պետք է կիրառվի հնարավորինս մոտ 80 Վ լարում՝ այն վերահսկելով ստանդարտ վոլտմետրով: Jumper S1-ի համար նախատեսված կոնտակտային բարձիկների կարճաժամկետ միացմամբ սարքը կհաշվարկի և կհիշի տրամաչափման գործակիցը և կօգտագործի այն ապագայում։
Այնուամենայնիվ, 80 Վ-ը բավականին բարձր լարում է, և այն ստանալու դժվարությունները հնարավոր են: Այս դեպքում, հղման լարման արժեքը նշելիս սարքը պետք է անջատվի և նորից միացվի: , կհայտնվի ցուցիչի վրա, իսկ հաջորդ անջատման և միացման ժամանակ - , , նորից ու հետագա շրջանագծի մեջ: Կալիբրացումը պետք է իրականացվի ամենաբարձր հասանելի լարման դեպքում: Որքան բարձր է հղման լարումը, այնքան ավելի ճշգրիտ է տրամաչափումը: Եթե չափաբերման պահին մուտքային լարումը շատ տարբերվում է հղման լարումից, գործակիցը չի հաշվարկվի և չի ցուցադրվի ցուցիչի վրա:
Կալիբրացիայից հետո անջատեք վոլտմետրը և վերջապես տեղադրեք jumper S1, այլապես հաջորդ անգամ այն միացնելուց հետո ստիպված կլինեք ամեն ինչ նորից կրկնել: Վոլտմետրը կարող է աշխատել առանց տրամաչափման, եթե S1-ը արդեն տեղադրված է, երբ այն առաջին անգամ միացված է: Այս դեպքում այն օգտագործում է ծրագրում գրված գործակիցը, սակայն սխալը կարող է գերազանցել 10%-ը։ Ցուցանիշի ծայր աջ նիշի կետը կզգուշացնի ձեզ այս մասին:
Անալոգային-թվային փոխակերպումն իրականացվում է միկրոկոնտրոլերի «քնի» ռեժիմում՝ դրա գործող բաղադրիչներից միջամտությունը նվազեցնելու համար: Այն ավտոմատ կերպով դուրս է գալիս այս վիճակից վերափոխման ավարտից հետո:
Սարքը սնուցվում է 5 Վ լարման միջոցով, որը ստացվում է ինտեգրված լարման կայունացուցիչ DA1-ի միջոցով: Դուք կարող եք օգտագործել 78L05 կայունացուցիչը գծապատկերում նշվածի փոխարեն միայն որպես վերջին միջոց, քանի որ դրա ելքային լարման կայունությունը մեծության կարգով ավելի վատ է: Առանց նսեմացնելու պարամետրերը, կարող եք օգտագործել LP2951 կայունացուցիչը: Zener դիոդ VD1 5,6 Վ լարման համար միկրոկոնտրոլերի ներքին պաշտպանիչ դիոդի հետ միասին վերջինս պաշտպանում է վնասից, երբ չափված լարումը գերազանցում է թույլատրելի արժեքը։ Առանց սահմանափակիչի, այս իրավիճակում միկրոկառավարիչի մատակարարման լարումը կարող է կտրուկ աճել:
Սարքը հավաքվում է 40x36 մմ չափի տպագիր տպատախտակի վրա միակողմանի փայլաթիթեղով պատված ապակեպլաստե լամինատից 1,5 մմ հաստությամբ, որը ներկայացված է Նկ. 2. Ռեզիստորների և կոնդենսատորների մեծ մասը ունեն 0805 չափի մակերեսային լեռ: Բարձրացված լարման դեպքում հուսալի շահագործման համար R1 դիմադրությունը օգտագործվում է 0,5 Վտ ելքային հզորությամբ: C1 կոնդենսատորը կարող է տեղադրվել կամ որպես կերամիկական կոնդենսատոր կամ որպես օքսիդ կոնդենսատոր, որի համար նախատեսված է C1 նստատեղը տախտակի վրա»: FYQ-3641AHR-11 ցուցիչը կարող է փոխարինվել 3641A շարքի մեկ այլով կամ եռանիշով: 3631A սերիա առանց տախտակի վերամշակման: Հավաքված սարքի տախտակի լուսանկարը ներկայացված է Նկար 3-ում:
Արդեն մի քանի տարի է, ինչ աշխատում եմ ռադիոէլեկտրոնիկայի վրա, բայց ամաչում եմ խոստովանել, որ դեռ նորմալ սնուցման աղբյուր չունեմ։ Հավաքված սարքերը սնուցում եմ ձեռքի տակ եղած ամեն ինչով։ Բոլոր տեսակի կիսամեռ մարտկոցներից և դիոդային կամուրջով տրանսֆորմատորներից՝ առանց լարման կայունացման կամ ելքային հոսանքի սահմանափակման: Նման այլասերումները բավականին վտանգավոր են հավաքված կառույցի համար։ Վերջապես որոշեց հավաքել նորմալ սնուցման աղբյուր: Եվ ես սկսեցի հավաքը ամպեր-վոլտմետրով: Իհարկե, պետք էր սկսել ուրիշից, բայց ինչպես արդեն կա։ Քանի որ ես մի փոքր ծրագրավորում էի, որոշեցի ինքս մշակել ցուցադրման չափիչ: Էկրանը Nokia-1202-ի էկրան է: Ես հավանաբար արդեն տանջել եմ բոլորին այս էկրանով, բայց այն 3 անգամ ավելի էժան է, քան 2x16 HD44780-ը (գոնե մեզ համար): Բավականին զոդվող միակցիչ և ընդհանուր առմամբ լավ բնութագրեր: Մի խոսքով, լավ տարբերակ է լարման և հոսանքի հաշվիչի համար:
Թվային ամպեր-վոլտմետրի էլեկտրական միացում էլեկտրամատակարարման համար
Թվային ամպեր-վոլտմետր տախտակի գծագրում
Առաջին և երկրորդ տողերը ցույց են տալիս միջին լարման և հոսանքի արժեքները 300 ADC չափումներից: Սա արվում է չափումների ավելի մեծ ճշգրտության համար: Երրորդ տողը ցույց է տալիս բեռնվածքի դիմադրությունը, որը հաշվարկվում է Օհմի օրենքի հիման վրա: Նախ ուզում էի համոզվել, որ էներգիայի սպառումը ելքային է, բայց դիմադրություն արեցի։ Միգուցե հետո ես այն փոխեմ իշխանության։ Չորրորդ տողում ցուցադրվում է DS18B20 սենսորով չափված ջերմաստիճանը: Այն ծրագրված է 0-ից 99 աստիճան ջերմաստիճան չափելու համար: Այն պետք է տեղադրվի ելքային տրանզիստորի ջերմատաքացուցիչի կամ շղթայի որևէ այլ տարրի վրա, որտեղ ուժեղ ջեռուցում կա:
Տրանզիստորի ռադիատորը սառեցնելու համար կարող եք նաև միացնել հովացուցիչը միկրոկառավարիչին: Այն կփոխի իր արագությունը, երբ փոխվի DS18B20 սենսորով չափվող ջերմաստիճանը։ PB3-ի վրա PWM ազդանշան կա: Հովացուցիչը միացված է այս ելքին հոսանքի անջատիչի միջոցով: Ավելի լավ է օգտագործել MOSFET տրանզիստորը որպես հոսանքի անջատիչ: 90 աստիճան ջերմաստիճանի դեպքում օդափոխիչը կունենա առավելագույն արագություն։ Հնարավոր է, որ ջերմաստիճանի ցուցիչը տեղադրված չէ: Այս դեպքում չորրորդ տողը պարզապես կցուցադրի OFF: Մենք ուղղակիորեն միացնում ենք հովացուցիչը: PB3-ի ելքը կլինի 0:
Արխիվում կա երկու որոնվածային տարբերակ: Մեկը 5 ամպերի առավելագույն չափված հոսանքի համար, իսկ երկրորդը՝ մինչև 10 ամպեր: Առավելագույն չափված լարումը 30 վոլտ է: Ըստ հաշվարկների, op-amp LM358-ի շահույթի գործակիցը ընտրվում է 10: Տարբեր որոնվածի համար անհրաժեշտ է ընտրել շանտ: Ոչ բոլորն են օհմ-ի հարյուրերորդականները և ճշգրիտ ռեզիստորները չափելու հնարավորություն: Հետևաբար, շղթայում կան երկու կտրող ռեզիստորներ: Նրանք կարող են ուղղել չափումների ընթերցումները:
Արխիվում կա նաև տպագիր տպատախտակ։ Լուսանկարում աննշան տարբերություններ կան՝ այն մի փոքր կարգավորվել է այնտեղ։ Մեկ jumper-ը հանվել է, և չափը 5 մմ-ով փոքր է բարձրությամբ: Ամպեր-վոլտմետրերի ցուցումների կայունությունը բարձր է: Երբեմն այն լողում է միայն հարյուրերորդականով: Չնայած ես այն համեմատեցի միայն իմ չինական թեստերի հետ։ Սա ինձ համար բավական է։
Շնորհակալություն բոլորիդ ուշադրության համար։
ԱՐԽԻՎ:
Արդիականացված տարբերակ
Ես ավելացրեցի միայն հզորության տասներորդ մասի ցուցադրումը:Այստեղ ես փոփոխեցի այն՝ չափելու համար մինչև 50A: Շունտ 0,01 օհմ: Op-amp-ի ավելացումը մոտավորապես 6-ից 7 է: Անհրաժեշտ կլինի վերահաշվարկել ռեզիստորները: Ապահովիչները նախկինի նման են։
Ցանկանում եմ ձեր ուշադրությանը ներկայացնել լաբորատոր սնուցման սարքի ցուցադրման հաշվիչի արդիականացված տարբերակը։ Ավելացվել է բեռը անջատելու հնարավորությունը, երբ որոշակի նախադրված հոսանքը գերազանցում է: Բարելավված վոլտամետրի որոնվածը կարելի է ներբեռնել ստորև: Թվային հոսանքի և լարման հաշվիչի սխեման:
Գծապատկերին ավելացվել են նաև մի քանի մանրամասներ։ Վերահսկիչներից կա մեկ կոճակ և փոփոխական ռեզիստոր՝ 10 կիլո-օմից մինչև 47 կիլո-օմ արժեքով: Դրա դիմադրությունը կարևոր չէ շղթայի համար, և ինչպես տեսնում եք, այն կարող է տարբեր լինել բավականին լայն տիրույթում: Մի փոքր փոխվել է նաև էկրանի տեսքը. Ավելացվեց հզորության և ամպերի ժամերի ցուցադրում:
Ուղևորության ընթացիկ փոփոխականը պահվում է EEPROM-ում: Հետևաբար, անջատելուց հետո ամեն ինչ նորից կարգավորելու կարիք չի լինի։ Ընթացիկ կարգավորումների ընտրացանկ մուտք գործելու համար հարկավոր է սեղմել կոճակը: Փոփոխական դիմադրության կոճակը պտտելով, դուք պետք է սահմանեք հոսանքը, որով ռելեն անջատվելու է: Այն միացված է տրանզիստորային անջատիչի միջոցով Atmega8 միկրոկառավարիչի PB5 պինդին:
Անջատման պահին էկրանը ցույց կտա, որ սահմանված առավելագույն հոսանքը գերազանցվել է: Կոճակը սեղմելուց հետո մենք կվերադառնանք առավելագույն ընթացիկ պարամետրերի ընտրացանկին: Չափման ռեժիմին անցնելու համար անհրաժեշտ է կրկին սեղմել կոճակը: Մատյան 1-ը կուղարկվի միկրոկառավարիչի PB5 ելք և ռելեը կմիանա: Այս տեսակի ընթացիկ մոնիտորինգն ունի նաև իր թերությունները. Պաշտպանությունն ակնթարթորեն չի աշխատի: Գործարկումը կարող է տևել մի քանի տասնյակ միլիվայրկյան: Փորձարարական սարքերի մեծ մասի համար այս թերությունը կարևոր չէ: Այս ուշացումը տեսանելի չէ մարդկանց համար: Ամեն ինչ միանգամից է լինում։ Ոչ մի նոր PCB չի մշակվել: Յուրաքանչյուր ոք, ով ցանկանում է կրկնել սարքը, կարող է մի փոքր խմբագրել տպագիր տպատախտակը նախորդ տարբերակից: Փոփոխությունները էական չեն լինի.
Եթե ունեք հարցեր, դիմեք ֆորումին: Շնորհակալություն ուշադրության համար. Boozer-ը լրացրեց ամպեր-վոլտմետրը:
ԱՐԽԻՎ:
Ֆորում