DIY միկրոշրջան attiny2313 միացում: ATtiny2313 օդ քաշող սարք։ Մատակարարման լարման միջակայք

Տախոմետրչափում է մեքենայի մասերի, մեխանիզմների և այլ բաղադրիչների պտտման արագությունը: Տախոմետրբաղկացած է 2 հիմնական մասից՝ սենսոր, որը չափում է պտտման արագությունը և էկրան, որը ցույց կտա արժեքները։ Հիմնականում տախոմետրը հաշվարկվում է րոպեում պտույտներով:

Իհարկե, դուք ինքներդ կարող եք նման սարք պատրաստել, ես առաջարկում եմ միացում AVR Attiny2313 միկրոկառավարիչով: Նման միկրոկոնտրոլերով դուք կարող եք ստանալ 100 - 9990 rpm: , չափման ճշգրտությունը րոպեում +/-3 պտույտ է։

ATtiny2313 միկրոկառավարիչի բնութագրերը

EEPROM 1 ԿԲ
Անալոգային մուտքեր (ADC) 0
Մուտքային լարում (սահմանաչափ) 5,5 վոլտ
Մուտքային լարում (խորհուրդ է տրվում) 4,5-5 վոլտ
RAM 128 բայթ
Ժամացույցի հաճախականությունը 20 ՄՀց
Ֆլեշ հիշողության 2 կԲ

4,7 կՕմ անվանական արժեքով դիմադրություն է տեղադրվում 11-րդ քորոցում, այլապես սենսորը կսկսի գործել անկայուն, երբ միացված է մեկ մետաղալարով:

Ի տարբերություն այլ սխեմաների, այստեղ օգտագործվել են 4 տրանզիստորներ և 4 ռեզիստորներ, դրանով իսկ պարզեցնելով շղթան:

Շղթան յուրաքանչյուր խորհրդանիշում ունի 8 հատված, յուրաքանչյուրը 5 մԱ, ընդհանուր գումարը կկազմի 40 մԱ, հետևաբար նավահանգիստների վրա մեծ բեռ չկա: Դիտարկենք սարքի աշխատանքային գրաֆիկները:

Գրաֆիկայից դուք կարող եք տեսնել, որ հոսանքը կարող է հասնել 60 մԱ-ից մինչև 80 մԱ փին ելքի վրա: Ճշգրիտ թյունինգի համար անհրաժեշտ է ընտրել 470 ohms անվանական արժեքով սահմանափակող ռեզիստորներ:

Ցուցադրման ընտրությունը կարևոր չէ. ընտրել որևէ քառանիշ LED ցուցիչ կամ հավաքել այն առանձին LED-ներից: Օգտագործեք կարմիր ցուցիչ, որպեսզի ամեն ինչ հստակ տեսանելի լինի արևի տակ: Տախոմետրը սնուցվում է 12 վոլտով:

Ճշգրիտ և կայուն չափման համար քվարցային ռեզիստորն ընտրվում է 8 ՄՀց հաճախականությամբ: Մուտքային ֆիլտրը օգտագործվում է բռնկման կծիկի տերմինալին միանալու համար:

17-րդ տողում գտնվող որոնվածում գտեք հետևյալը.

17. #define byBladeCnt 2 //1 - երկու կծիկ, 2 - մեկ կծիկ, 4 - մոտոցիկլ...

Այս պարամետրը պետք է փոխվի, եթե ունեք սովետական ​​մեքենա, ապա դրեք այն 2-ի, եթե ունեք մոտոցիկլետ, ապա դրեք այն 4-ի, իսկ եթե մեքենան ունի երկու կծիկ բոցավառման համակարգ, ապա դրեք այն 1-ի:



Ինչպե՞ս ծրագրավորել ATtiny2313 միկրոկոնտրոլերները: Այսպիսով, մենք ունենք ATtiny2313 միկրոկոնտրոլեր, LPT միացք (պարտադիր երկաթյա. USB-2-LPT չի աշխատում), մի քանի լար (10 սմ-ից ոչ ավելի երկարություն) և իհարկե զոդման երկաթ։ Ցանկալի է ունենալ DB-25M (արական) միակցիչ, ավելի հարմար կլինի դրա հետ միացնել միկրոկառավարիչը, բայց առանց դրա կարող եք: Լարերը զոդում ենք միկրոկոնտրոլերի 1, 10, 17, 18, 19, 20 կապանքներին։ Մենք ստանում ենք այնպիսի մի բան, ինչպիսին է լուսանկարում.


Ես դա արեցի առանց միակցիչի (միայն մայրիկները հասանելի էին...), և ահա թե ինչ եղավ.


Ճիշտ է, իմ LPT պորտը դրված է սեղանի վրա՝ օգտագործելով 1,5 մետր երկարությամբ մալուխ: Բայց մալուխը պետք է պաշտպանված լինի, հակառակ դեպքում կլինի միջամտություն, միջամտություն, և ոչինչ չի աշխատի: Այս միկրոկոնտրոլերի ծրագրավորման սարքի դիագրամն այսպիսին է.


Լրիվ անկեղծ լինելու համար խորհուրդ է տրվում հավաքել «ճիշտ» ծրագրավորողը։ Եվ հետո ավելի հեշտ կլինի, և նավահանգիստը անձեռնմխելի կլինի: Ես օգտագործում եմ STK200/300: Հաջորդը մենք օգտագործում ենք PonyProg2000 ծրագիրը: Ծրագիրը սկսելուց հետո այն իսկական պոնիի պես «կհզվի...»։ Դա նորից չլսելու համար, հայտնվող պատուհանում նշեք «Անջատել ձայնը» վանդակը: Սեղմեք «OK»: Պատուհան է բացվում, որտեղ ասվում է, որ դուք պետք է չափաբերեք ծրագիրը: Կան տարբեր տեսակի համակարգիչներ՝ և՛ դանդաղ, և՛ արագ: Սեղմեք «OK»: Մեկ այլ պատուհան է բացվում. սա մեզ ասում է, որ մենք պետք է կարգավորենք ինտերֆեյսը (որ ծրագրավորողը և որտեղ է այն միացված): Այսպիսով, անցեք մենյու. Setup -> Calibration: Պատուհանում, որը հայտնվում է.


Սեղմեք «ԱՅՈ»: Անցնում է մի քանի վայրկյան, և ծրագիրը ասում է «Կալիբրացիա OK»: Հաջորդը, գնացեք ընտրացանկ. Setup -> Interface Setup: Պատուհանում, որը երևում է, կազմաձևեք այն, ինչպես ցույց է տրված նկարում:


Այժմ անցեք մենյու՝ Command -> Program Options: Պատուհանում, որը երևում է, կազմաձևեք այն, ինչպես ցույց է տրված նկարում:


Ամեն ինչ պատրաստ է ծրագրավորման... Այսպիսով, գործողությունների հաջորդականությունը.


1. Ցանկից ընտրեք «AVR micro»:
2. Մեկ այլ ցանկից ընտրեք «ATtiny2313»
3. Ներբեռնեք որոնվածի ֆայլը (File -> Open Device File), ընտրեք ցանկալի ֆայլը, օրինակ «rm-1_full.hex»:
4. Սեղմեք «Գործարկել ծրագրի ցիկլը» կոճակը: Երբ ծրագրավորումն ավարտվի, ծրագիրը կասի «Ծրագիրը հաջողված է»
5. Եվ վերջապես պետք է ծրագրավորել այսպես կոչված Ապահովիչներ։ Դա անելու համար սեղմեք «Անվտանգության և կազմաձևման բիթերը» կոճակը: Պատուհանում, որը երևում է, կտտացրեք «Կարդալ», ապա նշեք վանդակները և կտտացրեք «Գրել»:

ՈՒՇԱԴՐՈՒԹՅՈՒՆ. Եթե ​​չգիտեք, թե ինչ է նշանակում որոշակի կոնֆիգուրացիայի բիթ, մի դիպչեք դրան: Այժմ մենք ունենք ATtiny2313 կարգավորիչը պատրաստ օգտագործման համար: Ֆորումում կարող եք ներբեռնել PonyProg2000 ծրագիրը և բնօրինակ հոդվածը լրացուցիչ նկարներով։ Radio Circuit կայքի համար նյութը տրամադրել է Ansel73-ը:

AVR RISC ճարտարապետություն.

RISC (Reduced Instruction Set Computer): Այս ճարտարապետությունն ունի հրահանգների մեծ փաթեթ, որոնց մեծ մասն իրականացվում է 1 մեքենայական ցիկլով: Հետևում է, որ համեմատած CISC ճարտարապետության վրա հիմնված նախորդ միկրոկոնտրոլերների հետ (օրինակ՝ MCS51), RISC միկրոկոնտրոլերները 12 անգամ ավելի արագ են։

Կամ եթե մենք հիմք վերցնենք կատարողականի որոշակի մակարդակ, ապա այս պայմանը կատարելու համար RISC (Attiny2313) վրա հիմնված միկրոկոնտրոլերները պահանջում են 12 անգամ ավելի քիչ գեներատորի ժամացույցի հաճախականություն, ինչը հանգեցնում է էներգիայի սպառման զգալի կրճատմանը: Այս առումով հնարավոր է դառնում Attiny2313-ի վրա տարբեր սարքեր նախագծել՝ օգտագործելով մարտկոցի հզորությունը:

Գործառնական պահեստավորման սարք (RAM) և տվյալների և ծրագրերի ոչ անկայուն հիշողություն.

  • 2 ԿԲ ինքնուրույն ծրագրավորվող Flash ծրագրի հիշողություն, որը կարող է ապահովել 10000 գրելու/ջնջելու կրկնություն:
  • 128 բայթ EEPROM գրավոր տվյալների հիշողության, որը կարող է ապահովել 100,000 գրելու/ջնջման կրկնություն:
  • 128 բայթ SRAM հիշողություն (միայն կարդալու RAM):
  • Հնարավոր է օգտագործել գործառույթը ծրագրի կոդը և EEPROM տվյալները պաշտպանելու համար:

Ծայրամասային հատկություններ.

  1. Միկրոկառավարիչ Attiny2313հագեցած է ութ բիթանոց ժմչփ հաշվիչով՝ առանձին տեղադրված 256 առավելագույն գործակցով նախասկալերատորով։
  2. Կա նաև տասնվեց բիթանոց ժմչփ-հաշվիչ՝ առանձին նախնական սանդղակավորիչով, գրավման և համեմատման սխեմայով: Ժամաչափ-հաշվիչը կարող է ժամացույց լինել ինչպես արտաքին ազդանշանի աղբյուրից, այնպես էլ ներքին աղբյուրից:
  3. Երկու ալիք. Գոյություն ունի արագ PWM մոդուլյացիայի և PWM-ի ֆազային ուղղման գործառնական ռեժիմ:
  4. Ներքին անալոգային համեմատիչ:
  5. Watchdog timer (ծրագրավորվող) ներքին oscillator-ով:
  6. Սերիական ունիվերսալ ինտերֆեյս (USI):

Attiny2313-ի հատուկ տեխնիկական ցուցանիշներ.


  • Պարապ- Պարապ ռեժիմ: Այս դեպքում դադարում է աշխատել միայն կենտրոնական պրոցեսորը: Անգործությունը ոչ մի ազդեցություն չի թողնում SPI-ի, անալոգային համեմատիչի, A/D փոխարկիչի, հաշվիչի ժմչփի, հսկիչի կամ ընդհատման համակարգի վրա: Փաստորեն, դա միայն դադարեցնում է պրոցեսորի միջուկի և ֆլեշ հիշողության համաժամացումը: Attiny2313 միկրոկառավարիչը անգործուն ռեժիմից վերադառնում է նորմալ աշխատանքի արտաքին կամ ներքին ընդհատման միջոցով:
  • Power-down— Ամենախնայող ռեժիմը, որի դեպքում Attiny2313 միկրոկառավարիչը փաստացի անջատված է էներգիայի սպառումից: Այս վիճակում ժամացույցի գեներատորը կանգ է առնում և բոլոր ծայրամասային սարքերն անջատված են: Ակտիվ է մնում միայն արտաքին աղբյուրից ընդհատումների մշակման մոդուլը: Երբ հայտնաբերվում է ընդհատում, Attiny2313 միկրոկառավարիչը դուրս է գալիս Power-down-ից և վերադառնում նորմալ աշխատանքի:
  • Սպասման– միկրոկառավարիչը անցնում է այս էներգիայի սպառման սպասման ռեժիմին՝ օգտագործելով SLEE հրամանը: Սա նման է անջատմանը, միակ տարբերությունն այն է, որ ժամացույցը շարունակում է աշխատել:

Attiny2313 միկրոկառավարիչի մուտքային-ելքային պորտեր.

Միկրոկառավարիչը հագեցած է 18 I/O փինով, որոնք կարող են ծրագրավորվել՝ ելնելով կոնկրետ սարքի նախագծման ժամանակ առաջացող կարիքներից: Այս նավահանգիստների ելքային բուֆերները կարող են դիմակայել համեմատաբար բարձր բեռների:

  • Port A (PA2 - PA0) – 3 բիթ: Երկկողմանի I/O միացք՝ ծրագրավորվող ձգվող ռեզիստորներով:
  • Նավահանգիստ B (PB7 - PB0) – 8 բիթ: Երկկողմանի I/O միացք՝ ծրագրավորվող ձգվող ռեզիստորներով:
  • Port D (PD6 - PD0) – 7 բիթ: Երկկողմանի I/O միացք՝ ծրագրավորվող ձգվող ռեզիստորներով:

Մատակարարման լարման միջակայք.

Միկրոկառավարիչը հաջողությամբ աշխատում է 1,8-ից 5,5 վոլտ մատակարարման լարման դեպքում: Ընթացիկ սպառումը կախված է վերահսկիչի աշխատանքային ռեժիմից.

Ակտիվ ռեժիմ.

  • 20 µA 32 կՀց ժամացույցի հաճախականությամբ և 1,8 վոլտ մատակարարման լարման դեպքում:
  • 300 µA 1 ՄՀց ժամացույցի հաճախականությամբ և 1,8 վոլտ մատակարարման լարման դեպքում:

Էներգիա խնայող ռեժիմ:

  • 0,5 մԱ 1,8 վոլտ մատակարարման լարման դեպքում:

(3.6 Մբ, ներբեռնված՝ 5934)

Ինչպես հավաքել պարզ միացում, ինչպես միացնել ծրագրավորողին ATtiny2313 միկրոկառավարիչին, ինչպես գրել պարզ ծրագիր C-ով և ինչպես վառել ATtiny2313 միկրոկառավարիչը մեր ծրագրով, այս ամենը կգտնեք այս հոդվածում:

Նախ մեզ ծրագրավորող է պետք, ծրագրավորողների շատ տեսակներ կան, ո՞ր ծրագրավորողն ընտրենք։
Կան սովորական ծրագրավորողներ, որոնցում դուք պետք է տեղադրեք միկրոկոնտրոլեր, բռնկեք այն, հանեք միկրոկոնտրոլերը և այնուհետև տեղադրեք այն մեր տախտակի մեջ, որպեսզի տեսնեք արդյունքը, և այս հաջորդականությունը սկզբում հարյուրավոր անգամներ պետք է արվի, այս տարբերակը իմ մեջ կարծիք, հարմար չէ։
Մեր միկրոկոնտրոլերը ATtiny2313Աջակցում է ISP (In-System Programming) ֆունկցիան SPI պորտի միջոցով, այս ներկառուցված ծրագրավորման օգտագործման դեպքը ISPիմ կարծիքով ամենահարմարն ու ամենաարագը, քանի որ... Յուրաքանչյուր որոնվածի թարմացումից հետո միկրոկոնտրոլերը հեռացնելու կարիք չկա, դուք կարող եք ծրագրավորել հարյուրավոր անգամներ և անմիջապես, առանց ծրագրավորողին անջատելու համակարգչից և տախտակից, տեսեք արդյունքը կարգավորիչի վրիպազերծման գործընթացից հետո Սիրողական ռադիոսարքի ծրագրակազմը նկատելիորեն պարզեցված է, և դրա վրա ծախսվող ժամանակը կրճատվում է:
Ինքներդ կարող եք ստեղծել միացման ISP ծրագրավորող, կան բազմաթիվ պարզ սխեմաներ ինտերնետում, թե ինչպես դա անել LPT կամ COM պորտի միջոցով, օրինակ՝ ծրագրավորող; PonyProgԻնտերնետում կարող եք գտնել դիագրամներ, թե ինչպես դա անել:

Այս հոդվածում կքննարկվի միկրոկոնտրոլերների համար ներկառուցված ISP ծրագրավորողի հետ աշխատանքը AVR (PX-400)այն աշխատում է COM պորտի միջոցով:
Եթե ​​ձեր համակարգչում COM պորտ չունեք, ձեզ նույնպես պետք է ադապտեր USB պորտից դեպի COM պորտ, կան նաև նման ադապտերների բազմաթիվ տեսակներ, ես խորհուրդ եմ տալիս այն ադապտերը, որի հետ ես աշխատել եմ. UCON-232S USB-ից սերիական պորտ փոխարկիչ տախտակ
Ծրագրավորողի լուսանկարը PX-400, ադապտեր UCON-232S USB , Տվյալների աղյուսակ ATTiny2313

Եկեք մանրամասն նայենք այս սխեմայի բոլոր մանրամասներին.
(Պարզապես բոլոր մասերը, ծրագրավորող, ադապտեր (USB-ից COM պորտ) գնել եմ chipdip.ru-ից)

1 - PBD-20 տախտակի վարդակից 2.54 մմ 2x10 ուղիղ- Ես դա արեցի հարմարության համար, որպեսզի հեշտացնեմ ազդանշանների ստուգումը միկրոկառավարիչի կապանքներից:
2 - SCS-20 DIP վահանակ 20 կապում- մենք վահանակը զոդում ենք տախտակին, որպեսզի հնարավորության դեպքում հնարավոր լինի փոխարինել տախտակի մեջ միկրոկառավարիչը,
ATtiny2313-20PU, DIP20, MCU, 5V, 1K-Flash, 12MHz- Մենք միկրոկառավարիչը տեղադրում ենք DIP վահանակի մեջ:
3 - Քվարց բյուրեղյա 4000 ՄՀց (կտրված) HC-49S- Քվարց բյուրեղյա 4 ՄՀց
4 - Կերամիկական կոնդենսատոր K10-17B imp. 22pF NPO,5%,0805- Երկու 22pF կերամիկական կոնդենսատորներ
5 - 78M05 (+5V, 0.5A) TO220- 5V լարման կայունացուցիչը միկրոկոնտրոլերին ապահովում է +5V-ից ոչ ավելի կայունացված հզորությամբ, այս դեպքում ես ստացել եմ 4.4V, ինչը բավական է:
6 - NP-116 հոսանքի վարդակից 1.3x3.4x9.5 մմ MP-331 (7-0026c)- Էլեկտրաէներգիայի վարդակից զոդված է հին բջջային հեռախոսի լիցքավորիչին DC 5.7V/800mA
7 - DS-213 սնուցման վարդակից ինքնաթիռում- որտեղ է NP-116 վարդակից հոսանքի աղբյուրը, հեշտ միացման համար
8 - IDC-10MS (BH-10), ուղիղ խրոցակ- Միացում՝ ներկառուցված ISP ծրագրավորողին միացնելու համար
9 - Մշտական ​​ռեզիստոր 0.25W 150 Ohm- Երեք 150 Օմ դիմադրություն MISO, SCK, MOSI քորոցների վրա
10 - Մշտական ​​ռեզիստոր 0.25W 47 Ohm- Մեկ 47 Օմ ռեզիստոր մեկ RESET փին
11 - Տակտ կոճակ h=5 մմ, TC-0103 (TS-A2PS-130)- RESET կոճակ, կոճակը սեղմելուց հետո միկրոկոնտրոլերում ծրագիրը մեկնարկում է սկզբից, կոճակը կարող էր բաց թողնել:
12 - Կանաչ LED d=3mm, 2.5V, 2mA - Կատարում է ցուցիչի ֆունկցիա, այս տարրը չի կարող կատարվել:
13 - Մշտական ​​ռեզիստոր 0.25W 110 Ohm- LED-ի համար ռեզիստոր, որպեսզի LED-ի վրա լինի 2V, այս քայլը հնարավոր չէր անել
14 - LED-ին միացված երկու լարեր, միկրոկառավարիչի կապանքներից ազդանշանները ստուգելու համար, այս քայլը հնարավոր չէ անել
15 - Dip-RM տպագրված breadboard 100x100 մմ

3-րդ և 4-րդ կետերը աշխատում են որպես մեկ միավոր, ինչպես արտաքին ժամացույցի գեներատորը, այս կետերը կարող են բաց թողնել, եթե դուք մեծ պահանջներ չդնեք ներքին RC օսցիլատորի ճշգրտության և կայունության վրա, ներքին RC օսցիլյատորն ունի մոտ 10% սխալ: իսկ ճշգրտության վրա կարող է ազդել ջերմաստիճանի փոփոխությունը:

Այսպիսով, դուք ներբեռնել և տեղադրել եք Atmel Studio:
Եկեք գործարկենք Atmel Studioև գրեք C լեզվով ամենապարզ ծրագիրը՝ թարթելով LED-ը.
Սեղմեք՝ Նոր նախագիծ... \ AVR GCC \ C \ C Գործարկվող նախագիծ
Նշեք թղթապանակը, որտեղ պետք է պահպանվի նախագիծը և նախագծի անվանումը, օրինակ Test1, և սեղմեք OK:
Ցանկից ընտրեք մեր ATtiny2313 միկրոկառավարիչը և սեղմեք OK:
Մենք ջնջում ենք այն ամենը, ինչ հայտնվում է պատուհանում և տեղադրում մեր ծրագրի կոդը ստորև.

#define F_CPU 4000000L //Նշեք մեր արտաքին քվարցի հաճախականությունը 4 ՄՀց
#ներառում
#ներառում
int main (անվավեր)
{
//Սահմանել բոլոր PORTB կապերը որպես ելքեր
DDRB=0xFF;//Տեղեկատվության փոխանցման ուղղության գրանցում (1-ելք, 0-մուտք)
մինչդեռ (1)
{
//Տվյալների ռեգիստր PORTB (օգտագործվում է տեղեկատվության ելքի համար)
PORTB=0b00000001;// Մենք մատակարարում ենք 1-ը MK PB0-ի 12-րդ պորտին - միացրեք LED-ը
PORTB=0b00000000;//Կիրառել 0-ը MK PB0-ի 12-րդ պորտին - անջատել լուսադիոդը
_delay_ms (1000);//Հապաղում 1 վրկ.
}
}

Գնացեք մենյու Build\Configuration Manager\Active solution configuration\
Ընտրեք Ազատ արձակել, սեղմել փակել
Մենք դա արեցինք, որպեսզի կարողանանք թղթապանակ ունենալ նախագծում Ազատ արձակել, որի մասին կխոսեմ ստորև։

Սեղմել F7, պատրաստ է, մեր հավելվածը կազմվել է։
ATtiny2313 միկրոկոնտրոլերի որոնվածը թարթելու համար մեզ անհրաժեշտ է ընդամենը մեկ ֆայլ՝ ընդլայնումով HEX
Այն գտնվում է մեր նախագծի թղթապանակում՝ ...
Խնդրում ենք նկատի ունենալ ֆայլը Test1.hexպարզապես վերցրեք այն թղթապանակից Ազատ արձակել !
Մի շփոթվեք, քանի որ... թղթապանակ Վրիպազերծելկա նաև ֆայլ Test1.hex, բայց այս ֆայլը դեռ պարունակում է վրիպազերծման տեղեկատվություն, և դրա պատճառով դուք չեք կարողանա թարթել այս ֆայլով, քանի որ. այն սովորաբար մեծ է և չի տեղավորվի MK-ի հիշողության մեջ:

Գտել ենք .hex ֆայլը, հիմա մեզ պետք է ծրագիր ATtiny2313 միկրոկոնտրոլերը թարթելու համար, նման ծրագրեր շատ կան, բայց մենք կօգտագործենք ծրագիրը. Ավր–Ոսպ II
Ներբեռնել:

Մենք ծրագրավորողը միացնում ենք մեր միացումին և վստահ եղեք, որ էլեկտրաէներգիա ենք մատակարարում սխեմային:

Գործարկել ծրագիրը Ավր–Ոսպ II, նշեք դեպի ֆայլի ուղին FLASH բաժնում... \Test1\Test1\Release\Test1.hex, նշեք ծրագրի վանդակները և սեղմեք կոճակը Ծրագիրվերջ, միկրոկոնտրոլեր ATtiny2313-ը բռնկվել է:

Ո՞րն է ներկառուցված ISP ծրագրավորողների առավելությունը Այժմ, առանց լարերը մեր միացումից անջատելու, կարող եք փոփոխություններ կատարել ծրագրում և, ինչպես նկարագրված է վերևում, թարթել միկրոկառավարիչը և անմիջապես տեսնել արդյունքը:

Խնդրում ենք թողնել հարցեր և մեկնաբանություններ մեր ֆորումում

Համեմատաբար վերջին արտադրության շատ կենցաղային տեխնիկայի և արդյունաբերական ավտոմատացման սարքերում տեղադրված են մեխանիկական հաշվիչներ: Դրանք կոնվեյերային ժապավենի արտադրանք են, մետաղալարերի պտույտներ ոլորուն մեքենաներում և այլն: Խափանման դեպքում նմանատիպ հաշվիչ գտնելը հեշտ չէ, և անհնար է վերանորոգել պահեստամասերի բացակայության պատճառով: Հեղինակն առաջարկում է մեխանիկական հաշվիչը փոխարինել էլեկտրոնայինով։ Էլեկտրոնային հաշվիչը, որը մշակվել է մեխանիկականին փոխարինելու համար, պարզվում է, որ չափազանց բարդ է, եթե այն կառուցված է ինտեգրման ցածր և միջին աստիճանով միկրոսխեմաների վրա (օրինակ, K176, K561 շարքը): հատկապես, եթե անհրաժեշտ է հակադարձ հաշիվ: Իսկ հոսանքն անջատելու դեպքում արդյունքը պահպանելու համար անհրաժեշտ է ապահովել պահեստային մարտկոց։

Բայց դուք կարող եք հաշվիչ կառուցել միայն մեկ չիպի վրա՝ ունիվերսալ ծրագրավորվող միկրոկառավարիչ, որը ներառում է մի շարք ծայրամասային սարքեր և ի վիճակի է լուծել խնդիրների շատ լայն շրջանակ: Շատ միկրոկոնտրոլերներ ունեն հատուկ հիշողության տարածք՝ EEPROM: Դրանում գրված տվյալները (ներառյալ ծրագրի կատարման ժամանակ), օրինակ՝ ընթացիկ հաշվման արդյունքը, պահպանվում են նույնիսկ հոսանքն անջատելուց հետո։

Առաջարկվող հաշվիչը օգտագործում է Attiny2313 միկրոկառավարիչը AVR ընտանիքի Almel-ից: Սարքն իրականացնում է հակադարձ հաշվարկ՝ ցույց տալով արդյունքը՝ չեղյալ համարելով աննշան

փեթակ քառանիշ LED ցուցիչի վրա՝ արդյունքը պահելով EEPROM-ում, երբ հոսանքն անջատված է: Միկրոկտրոլերի մեջ ներկառուցված անալոգային համեմատիչը օգտագործվում է մատակարարման լարման նվազումը ժամանակին հայտնաբերելու համար: Հաշվիչը հիշում է հաշվման արդյունքը, երբ հոսանքն անջատված է, վերականգնում է այն, երբ միացված է, և, ինչպես մեխանիկական հաշվիչը, հագեցած է վերակայման կոճակով:

Հաշվիչի միացումը ներկայացված է նկարում: B պորտի վեց տող (РВ2-РВ7) և D պորտի հինգ տող (PDO, PD1, PD4-PD6) օգտագործվում են HL1 լուսադիոդային ցուցիչի վրա հաշվարկի արդյունքի դինամիկ նշումը կազմակերպելու համար: VT1 և VT2 ֆոտոտրանզիստորների կոլեկտորային բեռները ռեզիստորներ են, որոնք ներկառուցված են միկրոկոնտրոլերի մեջ և միացված են ծրագրային ապահովման միջոցով, որոնք միացնում են միկրոկոնտրոլերի համապատասխան քորոցները նրա սնուցման սխեմայի հետ:

Հաշվիչ արդյունքի N-ի աճը մեկով տեղի է ունենում այն ​​պահին, երբ ընդհատվում է արտանետվող VD1 դիոդի և VT1 ֆոտոտրանզիստորի միջև օպտիկական կապը, ինչը միկրոկառավարիչի INT0 մուտքում ստեղծում է մակարդակի աճող տարբերություն: Այս դեպքում INT1 մուտքի մակարդակը պետք է ցածր լինի, այսինքն, VT2 ֆոտոտրանզիստորը պետք է լուսավորվի արտանետվող VD2 դիոդով: INT1 մուտքի դիֆերենցիալի բարձրացման և INT0 մուտքի ցածր մակարդակի պահին արդյունքը կնվազի մեկով: Մակարդակների այլ համակցությունները և դրանց տարբերությունները INT0 և INT1 մուտքերում չեն փոխում հաշվման արդյունքը:

9999-ի առավելագույն արժեքին հասնելուց հետո հաշվումը շարունակվում է զրոյից: Զրոյական արժեքից մեկը հանելը տալիս է 9999 արդյունք: Եթե հետհաշվարկի կարիք չկա, կարող եք հաշվիչից բացառել արտանետվող VD2 դիոդը և VT2 ֆոտոտրանզիստորը և միկրոկոնտրոլերի INT1 մուտքը միացնել ընդհանուր լարին: Հաշվարկը միայն կշարունակի աճել։

Ինչպես արդեն նշվեց, մատակարարման լարման նվազման դետեկտորը միկրոկոնտրոլերի մեջ ներկառուցված անալոգային համեմատիչն է: Այն համեմատում է ուղղիչի (դիոդային կամուրջ VD3) ելքի անկայուն լարումը ինտեգրված կայունացուցիչ DA1-ի ելքի կայունացված լարման հետ: Ծրագիրը ցիկլային կերպով ստուգում է համեմատիչի վիճակը: Հաշվիչը ցանցից անջատելուց հետո ուղղիչի ֆիլտրի կոնդենսատոր C1-ի լարումը ընկնում է, իսկ կայունացված լարումը որոշ ժամանակ մնում է անփոփոխ: R2-R4 ռեզիստորները ընտրվում են հետևյալ կերպ. որ այս իրավիճակում համեմատողի վիճակը հակադարձված է։ Հայտնաբերվելով դա՝ ծրագրին հաջողվում է հաշվման ընթացիկ արդյունքը գրել միկրոկոնտրոլերի EEPROM-ում նույնիսկ նախքան այն կդադարի գործել հոսանքի անջատման պատճառով: Հաջորդ անգամ, երբ միացնեք այն, ծրագիրը կկարդա EERROM-ով գրված թիվը և կցուցադրի այն ցուցիչի վրա: Հաշվարկը կշարունակվի այս արժեքից:

Միկրոկարգավորիչի սահմանափակ քանակի պատճառով SB1 կոճակը միացնելու համար, որը վերականգնում է հաշվիչը, օգտագործվել է 13 մատիտ, որը ծառայում է որպես համեմատիչի (AIM) հակադարձ անալոգային մուտք և միևնույն ժամանակ որպես «թվային» մուտք: PB1. Լարման բաժանարարը (ռեզիստորներ R4, R5) այստեղ սահմանում է միկրոկոնտրոլերի կողմից ընկալվող մակարդակը որպես բարձր տրամաբանական Երբ սեղմեք SB1 կոճակը, այն կդառնա ցածր: Սա չի ազդի համեմատիչի վիճակի վրա, քանի որ AIN0 մուտքի լարումը դեռ ավելի մեծ է, քան AIN1-ում:

Երբ սեղմվում է SB1 կոճակը, ծրագիրը ցուցադրում է մինուս նշան ցուցիչի բոլոր թվանշաններով, իսկ այն բաց թողնելուց հետո սկսում է հաշվել զրոյից։ Եթե ​​կոճակը սեղմելիս անջատեք հաշվիչի հոսանքը, ընթացիկ արդյունքը չի գրվի EEPROM-ում, և այնտեղ պահվող արժեքը կմնա նույնը:

Ծրագիրը նախագծված է այնպես, որ այն հեշտությամբ հարմարեցվի մետրին այլ ցուցիչներով (օրինակ՝ սովորական կաթոդներով), տպագիր տպատախտակի այլ դասավորությամբ և այլն: Ծրագրի մի փոքր ուղղում կպահանջվի նաև, երբ օգտագործելով քվարցային ռեզոնատոր այնպիսի հաճախականության համար, որը տարբերվում է նշվածից ավելի քան 1 ՄՀց-ով:

Երբ աղբյուրի լարումը 15 Վ է, չափեք լարումը միկրոկառավարիչի վահանակի 12-րդ և 13-րդ պտուտակներում՝ ընդհանուր մետաղալարի համեմատ (կապին 10): Առաջինը պետք է լինի 4...4,5 Վ-ի սահմաններում, իսկ երկրորդը պետք է լինի 3,5 Վ-ից ավելի, բայց առաջինից պակաս: Հաջորդը, աղբյուրի լարումը աստիճանաբար նվազում է: Երբ այն իջնում ​​է մինչև 9 ... 10 Վ, 12 և 13 կապում լարման արժեքների տարբերությունը պետք է դառնա զրո, այնուհետև փոխվի նշանը:

Այժմ դուք կարող եք տեղադրել ծրագրավորված միկրոկառավարիչը վահանակի մեջ, միացնել տրանսֆորմատորը և ցանցի լարումը կիրառել դրա վրա: 1,5...2 վրկ հետո պետք է սեղմել SB1 կոճակը: Հաշվիչի ցուցիչը ցույց կտա 0 թիվը: Եթե ցուցիչի վրա ոչինչ չի ցուցադրվում, նորից ստուգեք լարման արժեքները միկրոկոնտրոլերի AIN0.AIN1 մուտքերում: Առաջինը պետք է ավելի մեծ լինի, քան երկրորդը:

Երբ հաշվիչը հաջողությամբ գործարկվի, մնում է միայն ստուգել հաշվարկի ճիշտությունը՝ ֆոտոտրանզիստորները հերթափոխով ստվերելով IR ճառագայթների համար անթափանց թիթեղով: Ավելի մեծ հակադրության համար խորհուրդ է տրվում ցուցիչները ծածկել կարմիր օրգանական ապակե ֆիլտրով: