Mikrokontrollerek ATTiny13A. A karácsonyfa helyreállítása. Áramkörök az ATtiny-n Mit lehet összeállítani az attiny13-on

A kialakítás egy IR lokátor eszköz, amely egy AVR mikrokontrolleren, az ATtiny13 chipen van megvalósítva. A rövid impulzussorozatokat egy adó (IR LED) bocsátja ki az infravörös hullámhossz-tartományban, és a fényérzékelője a felületről visszaverődik. A fogadott visszavert jelek feldolgozásra kerülnek, és ha hasznos jelnek tekintik, LED jelzéssel jelennek meg.

Néha csak be kell állítani egy időintervallumot, különösebb mikroszkopikus pontosság nélkül. Például a főzésnél, ahol a hiba félóránként néhány másodperc, az óra nem játszik fontos szerepet. Ezen megfontolások alapján egy belső RC oszcillátort választottunk órajelgenerátornak. Ennek stabilitása függ a hőmérséklettől és a tápfeszültség változásától, hiszen a mikrokontroller 1,8-5,5 V feszültség mellett is működőképes marad. Áramforrásként 3 voltos elemet (vagy 2 db 1,5 V-os cellát) használtam.

Ez az egyszerű mini biztonsági riasztó az ATtiny 13 mikrokontrolleren lakások, irodák, vidéki házak védelmére készült... A reed kapcsoló nyitásakor a riasztó hangjelzést ad, vagy kis módosítással SMS-t küldhet mobiltelefon. A riasztó IR távirányítókkal vezérelhető. Főbb jellemzők: a fotodetektor dinamikus tápellátása, felébredés a "SLEEP" módból a watchdog időzítő megszakítására "KIÁLLÍTÁS" módban, és ennek eredményeként alacsony energiafogyasztás - körülbelül 30 μA.

Ennek az eszköznek az elve és működési algoritmusa nagyon hasonló a helyiségek védelmére szolgáló ipari szabványos biztonsági rendszerek működéséhez. A javasolt egyszerű biztonsági riasztást az érzékelő érintkezőinek normál zárt érintkezőkkel történő biztonsági módban történő kinyitása váltja ki. Minőségben, ami lehet:

Vezetékkábel, amelyet úgy terveztek, hogy ellenálljon a vezetékszakadásnak, ha a kerületet megsértik;

Reed kapcsoló érzékelő, amely reagál például egy mágnes mozgására az érintkezői felett, amikor kinyitják az ajtót, vagy egy gyárilag gyártott passzív infravörös érzékelő, amely infravörös sugárzással reagál egy tárgy helyzetének változására (ami egy személy teste - egy behatoló, egy védett objektum területén).

Ez egy kis független eszköz, amely megakadályozza az autó, motorkerékpár, csónak, jacht... motorjának illetéktelen beindítását, amely más biztonsági rendszerektől függetlenül működik. A motorzár eltávolításához meg kell nyomnia egy gombot egy bizonyos helyen (az autó tulajdonosának belátása szerint választva) az autó belsejében. Ez lehet egy külön telepített rejtett gomb vagy egy szabványos autógomb használata.

ATtiny13 mikrokontrolleren, programon és nyomtatott áramköri lapon készült házi készítésű digitális ampermérő vázlata és leírása.

Egyszer e sorok írója egy nagyon érdekes, a Szovjetunióban született eszközre bukkant még 1976-ban - egyszerűen feleslegesnek adták. Ezt az eszközt ADZ-101U2-nek hívták, és a szovjet konstruktivizmus tipikus példája volt: nehéz húsz kilogrammos „bőrönd”, tetején hordfogantyúval, belül pedig erős egyfázisú transzformátorral.

De a legérdekesebb dolog az, hogy ebből a „bőröndből” teljesen hiányzott a hátsó panel - és egyáltalán nem azért, mert az eszköznek sikerült „elvetnie”, nem. És itt az volt a lényeg, hogy mindkét panelje... elöl volt! A „bőrönd” egyik oldalán egy hegesztőgép volt, a másikon pedig egy autóakkumulátortöltő.

És ha „hegesztőként” nem váltott ki különösebb érzelmeket, az nem baj, hiszen csak 50 A váltóáram van; akkor a „töltő” mindenképpen szükséges dolog a háztartásban. A készülék tesztjei megerősítették teljes harci képességét (még a hegesztés is működött!), de természetesen nem volt mentes a hátrányaitól.

A probléma lényege az volt, hogy a „töltő” szabványos ampermérője ismeretlen irányba tűnt el, és a készülék előző tulajdonosa talált rá egy teljesen „egyenértékű” cserét - egy autó ampermérőt, amelyet valamilyen katonai teherautóból csavartak ki, és nagyon „informatív” ±30 A skála!

Nyilvánvaló, hogy az akkumulátor töltöttségének (és a töltőáram csak 3-6 A!) monitorozása egy ilyen eszközzel enyhén szólva is problémás - olyan, mintha nem is létezne...

Ezért úgy döntöttek, hogy a „teherautó-kijelző mérőt” valamilyen többé-kevésbé megfelelő eszközre cserélik, 0-10 A tiszta skálával. Ideális jelöltnek tűnt erre a szerepre egy beépített sönttel ellátott tárcsalap ampermérő. - egyike azoknak, amelyeket korábban szinte minden szovjet gyártmányú „töltőben” és sok más helyen használtak.

A legelső villanyáruházi séta és „meghibásodások” azonban csalódást hoztak: kiderül, hogy már régóta nem árul semmi, ami még távolról is hasonlítana a kívánt készülékre...

Így aztán a szerző akkor még nem ismerte a kínai csodahelyek végtelen kiterjedését, így kezei ismét a forrasztópáka felé nyúltak, aminek eredményeként egy olyan készüléket fejlesztettek ki, amelynek diagramja a 1. ábrán látható. 1, a jellemzőket pedig az 1. táblázat tartalmazza:

1. táblázat Eszköz jellemzői.

Sematikus ábrája

A mérési eredmények ezen ampermérőben történő megjelenítéséhez egy pár 7 szegmenses LED-jelző használata mellett döntöttek. Az ilyen indikátorok annak ellenére, hogy kissé archaikusak az újszerű 16xx típusú LCD-modulokhoz képest, számos tagadhatatlan előnnyel is rendelkeznek: sokkal megbízhatóbbak és tartósabbak; ne romoljon és ne legyen zavaros a kőolajtermékekkel való érintkezéstől (és az olajos kéz a garázsban gyakori dolog, a LED-jelzők számai világosabbak és sokkal „olvashatóbbak” - különösen távolról; ráadásul a LED-ek nem fél a hidegtől a garázsban – ellentétben az LCD-vel, amely egyszerűen „megvakul” a hidegben.

Nos, az utolsó érv a LED-mátrix mellett - a fejlesztéssel összefüggésben - az volt, hogy a hosszú 1602-es egyszerűen nem fért be a töltőházon lévő ampermérő (kerek és nagyon kicsi!) szabványos furatába. Az indikátor típusának eldöntése után egy másik kérdés merült fel - melyik mikrokontrollert kell használni ennek az eszköznek az alapjaként.

Nem volt kétséges, hogy ezt az áramkört kifejezetten MK-ra kell építeni – ha ampermérőt készítünk „CMOS-szóródáson”, az károsíthatja az elmét. Első pillantásra a legkézenfekvőbb megoldás az ATtiny2313 „munkaló” - ez az MK meglehetősen fejlett architektúrával és meglehetősen megfelelő számú bemeneti / kimeneti vonallal rendelkezik a LED-mátrix csatlakoztatásához.

Itt azonban minden nem olyan egyszerű - végül is az áramméréshez az MK-nak tartalmaznia kell egy analóg-digitális átalakítót, de az Atmel mérnökei valamilyen oknál fogva nem szerelték fel a „2313-ast” ezzel a funkcióval... A Meda család más kérdés: ezeken a chipeken szükségszerűen van egy ADC modul „a fedélzeten”.

Másrészt azonban még az ATMega8v is - mint a „régebbi” család legegyszerűbb képviselője - sokkal nagyobb funkcionalitással rendelkezik, mint amit egy egyszerű ampermérő felépítése megkövetel. És ez már nem a legjobb megoldás a tervezés klasszikus megközelítése szempontjából!

A „tervezés klasszikus megközelítése” itt az úgynevezett „szükséges minimum elvét” jelenti (amelynek lelkes híve e sorok írója, dacolva az újkeletű „Arduinokkal”), amely szerint minden rendszert a lehető legkisebb erőforrás felhasználásával tervezték meg; és a végeredmény minél kevesebb fel nem használt elemet tartalmazzon. Ezért ennek az elvnek megfelelően - egy egyszerű eszköz - egy egyszerű mikrokontroller, és semmi más!

Igaz, nem minden egyszerű MK alkalmas a feladatra. Vegyük például az ATtinyl3-at - van ADC-je, egyszerű és olcsó; Igen, csak nincs elég bemeneti-kimeneti vonala - két „hétszegmenses eszköz” mátrixának csatlakoztatásához ...

Bár ha egy kicsit álmodozik, akkor ez a probléma teljesen megoldható - egy filléres K176IE4 számláló és egy egyszerű algoritmus segítségével, amely ezt a számlálót vezérli.

Ezen túlmenően ennek a megközelítésnek még pozitív aspektusai is vannak - először is, nem kell áramkorlátozó ellenállást „akasztani” a mutató minden szegmensére (áramgenerátorok már rendelkezésre állnak a mérő kimeneti szakaszaiban); másodszor, ebben az áramkörben használhat egy jelzőt egy közös katóddal és egy közös anóddal - a „közös anódra” váltáshoz meg kell változtatnia a VT1 és VT2 tranzisztorok csatlakozását, pin. A 6 DD2 egy 1 kOhm-os ellenálláson keresztül csatlakozik a +9 V vezetékhez, az R3 bal érintkezője pedig a földhöz van kötve.

Rizs. 1. Egy házi készítésű ampermérő (10A-ig) sematikus diagramja ATtiny13 mikrokontrolleren.

A számláló MK-val történő vezérléséhez csak két sort kell használnia: az egyiket a számláló jelhez (C), a másikat a visszaállító jelhez (R).

Sőt, a készülék tesztelése során kiderült, hogy a K176IE4 CMOS chip közvetlenül az MK vonalakhoz kapcsolódva elég megbízhatóan működik TTL szintjeivel - minden további koordináció nélkül.

És további két MK-vonal vezérli a VT1-VT2 gombokat, dinamikus jelzést hozva létre. A listában látható egy forráskód-részlet, ahol a DD2 számlálóvezérlő eljárást megvalósítják:

Rizs. 2. A K176IE4 vezérlési eljárása.

Az eljárás az alacsony szintű AVR-Assembler nyelven íródott; azonban könnyen lefordítható bármilyen magas szintű nyelvre. A Temp regiszterben az eljárás egy számot kap, amelyet el kell küldeni a K176IE4 számlálónak, hogy megjelenjen a jelzőn; A mikrokontroller B portjának 1. sora a számláló reset bemenetére (R), a 2. vonal pedig a számláló bemenetére (C) csatlakozik.

Annak érdekében, hogy elkerüljük a számok villogását a számláló átkapcsolásának pillanatában, az eljárás meghívása előtt mindkét bitet ki kell oltani a VT1 és VT2 tranzisztorok bezárásával úgy, hogy log.O-t alkalmazunk az MK B portjának 0 és 4 soraira; Nos, miután az eljárás működött, máris világíthat egy vagy másik jelzőszámot. Egyébként a K176IE4 számlálónak köszönhetően bármilyen MK-hoz csatlakoztatható egy 7x4-es indikátormátrix, mindössze 6 I/O vonal használatával (kettő a számláló vezérlésére, és további négy a bitek dinamikus kapcsolására).

És ha hozzáad egy másik számlálót a K176IE4-hez „partnerként” - a tíznapos K176IE8 számlálót -, hogy azt használja a kisülések „szkennelésére”; akkor az MK-hoz akár 10 ismerősből álló indikátormátrix is ​​csatlakoztatható lesz, ehhez mindössze 5 bemeneti-kimeneti vonalat (kettőt a K176IE8 vezérlésére, kettőt a K176IE4 vezérlésére; és még egyet a jelző akkori kioltására) lehet lefoglalni. a K176IE4 megszámlálásához)!

Ebben az esetben a dinamikus jelzés algoritmusa a K176IE8 számláló vezérlésére redukálódik, ami sok tekintetben hasonlít a fenti listában szereplő, a K176IE4 számlálóra számjegy továbbítására szolgáló algoritmushoz.

Az indikátormátrix ilyen csatlakoztatásának hátrányai - az "extra" mikroáramkör használata mellett - az, hogy további +9 V tápegységet kell bevezetni az áramkörbe, mert a CMOS-számlálók +5 V-ról történő táplálására tett kísérletek sajnos sikertelenek voltak...

Szinte minden kettős „hétszegmenses” közös katóddal rendelkező eszköz, amelyet dinamikus jelzésű áramkörökben való működésre terveztek, használható indikátorként ebben az eszközben. Lehetőség van négybites mátrix használatára is, a rendelkezésre álló négy bitből csak kettőt használva.

Igaz, az ampermérő áramkörön végzett munka során egy kis probléma merült fel - a tizedesvessző csatlakoztatásával: végül is a magasabb rendű számjegyben kell világítania, és nem az alacsony rendűben.

És ha mindent „bölcsen” csinálsz, akkor jó lenne kijelölni - éppen ennek a vesszőnek a dinamikus vezérléséhez - az MK másik lábát (mivel a K176IE4 nem biztosít semmilyen eszközt a vesszők vezérléséhez) - a „lógás” érdekében. a vesszőért felelős indikátor kimenet.

De mivel az MK összes I/O sora foglalt volt, korántsem elegáns módon kellett kezelnünk ezt a problémát: úgy döntöttünk, hogy mindkét vesszőt folyamatosan égve hagyjuk, táplálva a „mátrix” indikátor megfelelő kimenetét. a +9 V vonaltól az R3 áramkorlátozó ellenálláson keresztül (az ellenállásának kiválasztásával kiegyenlítheti a vessző fényének fényerejét a többi szegmenshez képest); és egyszerűen fedje le az alsó vesszőt (jobb szélen) egy csepp fekete nitrofestékkel.

Technikai szempontból egy ilyen megoldás aligha nevezhető ideálisnak; de az így „kitalált” vessző egyáltalán nem vonzza a tekintetet...

Áramérzékelőként két párhuzamosan csatlakoztatott R1 és R2 ellenállást használnak, amelyek mindegyike 5 W teljesítményű. Az R1 és R2 pár helyett teljesen lehetséges egy 0,05 Ohm ellenállású ellenállás felszerelése - ebben az esetben teljesítményének legalább 7 W-nak kell lennie.

Ezenkívül a mikrokontroller firmware-e lehetőséget ad a mérősönt ellenállásának kiválasztására - ebben az áramkörben 0,05 ohmos és 0,1 ohmos áramérzékelő is használható.

Ahhoz, hogy a mikrokontroller beállítsa az adott esetben használt sönt ellenállását, be kell írni egy bizonyos értéket a 0x00 címen található EEPROM memóriacellába - 0,1 Ohm ellenállás esetén ez bármilyen 128-nál kisebb szám lehet. ebben az esetben az MK elosztja a mérési eredményeket 2-vel); és 0,05 Ohm ellenállású sönt használatakor ebbe a cellába 128-nál nagyobb számot kell írni ennek megfelelően.

Ha pedig az ábrán látható 0,05 ohmos sönttel tervezi működtetni a készüléket, akkor egyáltalán nem kell aggódnia a megadott cella kiírásától, mert egy új (vagy „nullára törölt”) MK-nak a 255-ös (0xFF) száma lesz az összes memóriacellában.

A készülék táplálható külön forrásból - legalább 12 V feszültséggel, vagy magáról a töltő tápegységéről. Ha a tápfeszültséget a töltőtranszformátor szolgáltatja, akkor célszerű külön tekercset használni, amely semmilyen módon nem kapcsolódik a töltőáramkörhöz; azonban lehetséges az ampermérő táplálása valamelyik töltőtekercsről.

Ebben az esetben a tápfeszültséget a „töltő” egyenirányító hídja előtt kell venni (azaz közvetlenül a tekercsről), és mindkét ampermérő tápvezeték megszakítására 75 Ohm/1 W-os ellenállást kell kötni. Az ellenállások szükségesek a VD1-4 híd „negatív” diódáinak védelméhez a töltőáram egy részének áthaladása ellen.

A helyzet az, hogy ha az eszközt a töltőtekercshez csatlakoztatja anélkül, hogy ezeket az ellenállásokat telepítené, akkor a VD1-4 híd és a töltő dióda hídjának közös „földelését” figyelembe véve az akkumulátor töltőáramának körülbelül a fele ne a töltő egyenirányító erős diódáin, hanem a VD1-4 híd „negatív” karján keresztül térjen vissza a tekercsbe, ami a kis teljesítményű 1N4007 erős melegítését okozza.

Ezeknek az ellenállásoknak a telepítése korlátozza az eszköz tápáramát, és megvédi a VD1-4 diódahidat a töltőáram áramlásától, amely most szinte teljesen a „helyes” áramkör mentén folyik - a töltő egyenirányító erős diódáin keresztül.

Sematikus ábrája

Ennek az ampermérőnek a nyomtatott áramköri kártyáját egy adott töltő házában lévő meghatározott ülésekhez fejlesztették ki; rajza a 3. ábrán látható.

Az indikátor mátrixot külön kell felszerelni - egy kis lemezre (30x40 darab „kendertábla”), amely M2,5 csavarokkal van rögzítve az alaplaphoz távtartó perselyeken keresztül, a telepítési oldalon; és 10 eres kábellel csatlakozik hozzá.

A kapott „szendvics” másik része egy plexiből készült dekoratív előlap, amelyet a hátoldalon nitrofestékkel festettek egy dobozból (csak egy kis téglalap - az indikátor „ablakja”), festetlennek kell maradnia.

Az előlap a beépítési oldalról is az alaplapra van rögzítve (M3-as csavarokkal távtartó perselyekkel - a töltőházra is rögzítik a készüléket). Az R1 és R2 ellenállásokra menő erősáramú áramkör nyomtatott nyomait a lehető legszélesebbre kell készíteni, és az ellenállások vezetékeit a teljes hosszon hozzájuk kell forrasztani, egyúttal vastag réteggel megerősítve a beépítést. forrasztásból.

Célszerű két M3-as csavart használni vezetékként a készülék töltőhöz való csatlakoztatásához, a fejüket a táblához forrasztani, a másik oldalon pedig anyákkal rögzíteni.

Rizs. 3. Nyomtatott áramköri kártya digitális ampermérő áramkörhöz mikrokontrolleren.

Program

Amikor „firmware”-t ír az MK-ra, azt úgy kell beállítani, hogy 1,2 MHz-es frekvencián működjön a belső órajel-generátortól. Ehhez az órajel frekvenciáját 9,6 MHz-re kell kiválasztani, és a belső órajelosztót 8-cal kell engedélyezni.

A működési megbízhatóság növelése érdekében tanácsos aktiválni a belső teljesítmény-felügyelőt (BOD modul) is, beállítva az MK visszaállítására, ha a tápfeszültség 2,7 V alá csökken.

Minden beállítás úgy történik, hogy a megfelelő értékeket írjuk a konfigurációba Biztosítékcellák: SUT1=1, SUT0=0, CKDIV8=0, BODLEVEL1 =0, BODLEVELO=1, WDTON=1. A többi "biztosíték" alapértelmezettként hagyható.

Firmware mikrokontrollerhez és nyomtatott áramköri laphoz Sprint Layout formátumban - Letöltés.

Rizs. 3. Az Attiny13 árammérő tábla összeszerelve.

Rizs. 4. Ampermérő tábla az Attiny13-on összeszerelve (hátulnézet).

Ez a kisméretű készülék elsősorban cukorbetegek számára készült, de sokkal szélesebb körű felhasználási köre van. Feladata egy adott időtartam elteltének jelzése, a gomb megnyomásától számítva.

Így eszébe juthat, hogy evés után bizonyos idő elteltével meg kell mérni a vércukorszintet, vagy a kályha begyújtása után valamivel be kell nézni a kazánházba stb.

A készülék a négy lehetséges időtartam egyikének mérésére szolgál: 15 perc, 30 perc, 1 óra vagy 2 óra. A visszaszámlálást a LED-ek gyors villogása, a visszaszámlálás végét pedig villogás és hangjelzés jelzi. Egy CR2032 elemmel működik, így az emlékeztető nagyon könnyű és miniatűr.

Tervezés

A javasolt megoldás sematikus diagramja az alábbi ábrán látható.

Az ATMEL ATtiny13A mikrokontrollerének használata lehetővé tette az eszköz tervezésének jelentős egyszerűsítését. Ez a típusú mikrokontroller ideális ebben az esetben. Kis SO8-csomaggal rendelkezik, 1,8 V-os feszültségek és különféle módok használatára az energiafogyasztás csökkentése érdekében. Ráadásul ez az egyik legnépszerűbb és legolcsóbb mikrokontroller ebben az osztályban, amely szinte minden elektronikai boltban kapható.

A tápellátáshoz CR2032 lítium elemet használnak, amely 3 V feszültséget biztosít, amely elegendő a készülék összetevőinek táplálásához.

Egy beépített generátorral ellátott piezoelektromos emitter segítségével hangjelzést adunk egy meghatározott időtartam lejártáról. Meglehetősen hangos, és akkor is hallható, ha a készüléket például zsebben rejtik. A hangkibocsátó vezérlése a VT2 (BC847) tranzisztorral történik.

A visszaszámlálás elindítása és leállítása az SW1 gomb egyszeri megnyomásával történik, amelynek érintkezője R6 (10 kOhm) előre csatlakoztatva van a tápegység pozitívhoz.

Ugyanez az ellenállás van telepítve a mikrokontroller RESET érintkezőjére, hogy megakadályozza a logikai szintjének véletlenszerű megváltoztatását. Ezt a változást külső elektromágneses tér okozhatja, vagy a mikrokontroller túl sok statikus elektromosságnak van kitéve.

Az időintervallumot az SW2 kapcsoló négy szakaszának egyikének átkapcsolásával lehet kiválasztani, DIP-SWITCH típusú. A zárt szakasz a négy ellenállás egyikét (R7-R10) a mínusz tápegységhez köti, az R11 ellenállással kialakítva.

A mikrokontroller, amely magas logikai szintet alkalmaz az R11 ellenálláson, egy ADC-t (analóg-digitális átalakítót) használ az osztón képződött feszültség mérésére.

Így csak két mikrokontroller érintkezőt használnak az idő beállítására. Ezenkívül ez az áramkör letiltható a PB1 tűszint alacsonyra állításával, ami jelentősen csökkenti az energiafogyasztást.

Összeszerelés és üzembe helyezés

A miniatűr emlékeztető egy 46 mm x 31 mm méretű kétoldalas nyomtatott áramköri lapra van felszerelve. Először is meg kell forrasztani a felületre szerelhető elemeket, amelyek a tábla alsó oldalán találhatók - a mikrokontroller, a tranzisztorok és mások. Ezután két LED van az ellenkező oldalon. Végül az átmenő furat alkatrészeket ugyanazon az oldalon kell forrasztania, mint a LED-eket.

A mikrokontrollerhez firmware szükséges gyári biztosítékokkal. Ha minden megfelelően volt összeszerelve, a készülék az akkumulátor rekeszbe helyezése után használatra kész. Egyszerűen állítsa be a kívánt mérési időt az SW2 kapcsolóval.

Kizsákmányolás

Alvó üzemmódban az áramkör semmilyen működési jelet nem mutat. Az SW1 gomb egyszeri megnyomása után az információ kiolvasásra kerül az elosztóból, és megkezdődik az idő visszaszámlálása, amit a LED-ek egyszeri felvillanása bizonyít. Mostantól 1 másodpercenként villognak a visszaszámlálás végéig. Ha az összes SW2 kapcsoló OFF állásban van, a LED-ek nem villognak, és a készülék alvó üzemmódba lép.

A beállított idő letelte után a LED-ek intenzíven villogni kezdenek, és a hangsugárzó rövid hangokat ad ki. A leállítás az SW1 rövid megnyomásával történik.

Fontos megjegyezni, hogy a visszaszámlálás megkezdése után nem tudja megállítani vagy módosítani az időtartamát. Ezzel elkerülhető az időzítés véletlen kikapcsolása, ami az SW1 gomb véletlen megnyomása esetén fordulhat elő.

Az áramfelvétel nyugalmi állapotban körülbelül 0,5 mA, tehát elméletileg egy 200 mAh névleges kapacitású akkumulátornak 45 évig kellene kibírnia készenléti üzemmódban. A gyakorlatban az akkumulátor élettartamához hasonló idővel számolhat. A visszaszámlálás során az átlagos áramfelvétel körülbelül 8 mA, riasztási állapotban pedig 15 mA-re emelkedik.

(11,5 Kb, letöltések: 304)

A kezdő rádióamatőrök számára, akik a mikrokontrollereket elsajátítják, gyakran össze kell szerelniük és tesztelniük kell a firmware-t vagy az áramkört működés közben egy valódi mikrokontrolleren (például a proteus gyakran egyszerűen nem hajlandó megfelelően szimulálni egy áramkört mikrokontrollerrel). Ezekre a célokra, és nem csak a kezdők, használjon hibakereső táblát és/vagy fejlesztőtáblát. Az Attiny13/15 mikrokontrollerekhez és más, azokkal kompatibilis mikrokontrollerek pinout pinoutjaihoz a minimálisan szükséges funkcionalitással felszerelt hibakereső kártyát gyártottak. Ez a tábla kicsi, kompakt méretű és olcsón összeszerelhető.

A fenti képen egy program betöltődik a mikrokontrollerbe, és maga a hibakereső kártya egy programozón keresztül csatlakozik egy 5 voltos tápegységhez a laptop USB-portjáról.

Fejlesztőkártya mikrokontrollerekhez Az Attiny13/15 a következő séma szerint épül fel:

A mikrokontroller és a hibakereső kártya csatlakoztatásához használjon DIP-8 csomagban lévő mikroáramkörök csatlakozóját, vagy nyolclábú mikroáramkörökhöz egy egyszerű „ágy” csatlakozót. Ez a csatlakozó a szokásos szorítóérintkezős változatban és a befogóérintkezős változatban is használható. Egy ilyen csatlakozó használata lehetővé teszi a mikrovezérlő gyors cseréjét a hibakereső kártyán, ha magával a mikroáramkörrel kapcsolatos esetleges meghibásodások lépnek fel. Például a tapasztalatlanság miatt zárolhat egy mikrokontrollert. Gyors megoldás az lenne, ha kicserélnénk a hibakereső táblában, és a jövőben más módon - RC lánccal vagy Fuse bit Doktorral - gyógyítható a mikrokontroller. Lehetőség lesz a mikrokontroller márkájának gyors megváltoztatására is - pl. Attiny13 és Attiny15 ugyanazon a fórumon.

Alább látható a kész hibakereső tábla a szerelési és a forrasztási oldalról:

Jumperként a szokásos huzalokon kívül szabványos 1206-os méretű, 0 Ohm névleges értékű ellenállásokat használtak.

Szóval, egy kicsit arról, hogy mi van a fejlesztési táblán. Kezdjük a tápegységtől - a mikrokontroller feszültségét a programozótól veszi az USB-portról (5 volt), ez a feszültség közvetlenül vagy három diódán keresztül juttatható a mikrokontrollerhez, amelyek a feszültséget 3,2 - 3,3 voltra csökkentik. A diódák használata minimális költségüknek köszönhető. Ha kívánja, bármikor szerkesztheti a nyomtatott áramköri lapot, és használhat feszültségstabilizátorokat, például AMS1117 3,3 voltot. a tápfeszültség kiválasztása Jmp1 és áthidalókkal történik Jmp2 a fejlesztői táblán. Kényelmes a képen látható „fogantyús” jumperek használata, hogy ne kényszerítsék ki, amikor élelmiszert kell átvinni. Ezenkívül a programozó áramellátása az R2 korlátozó ellenálláson keresztül jut el a mikrokontrollerhez. Besorolása 0 ohmtól körülbelül 10 ohmig vehető, preferenciától függően. Az R1 ellenállású mikrokontroller PB5 rögzítéséhez (reset). a tápfeszültség fel van húzva, ez azért szükséges, hogy megakadályozzuk a vezérlő spontán újraindulását bármilyen interferencia jelenlétében. Ehhez a tűhöz egy óragomb is csatlakozik, amely lehetővé teszi a mikrokontroller manuális újraindítását az áramkör vagy a firmware hibakeresése közben.

Mivel ennek a hibakereső kártyának a prioritása nem a legbonyolultabb projektek gyártása, az alaplapon vannak csatlakozóhüvelyes érintkezők három LED csatlakoztatásához. Az áramkorlátozó ellenállásokat úgy választják ki, hogy egyidejűleg három színű (piros, zöld és kék) LED-et lehessen használni - 180 ohm piros és 100 ohm zöld és kék esetén. Ez a névleges különbség annak a ténynek köszönhető, hogy a piros LED-ek feszültségesése általában kisebb, mint más színeknél. Ez a megoldás lehetővé teszi az RGB LED-ek használatát.

Használhat azonban közönséges LED-eket is, hogy jelezzen valamit.

A nyomtatott áramköri lapon különösen a programozáshoz egy szabványos 10 tűs csatlakozó található az AVR programozók számára, mint például az USBasp vagy az AVRdoper vagy mások.

Számos csatlakozó (tűs csatlakozás) van biztosítva a különböző alkatrészek vagy eszközök csatlakoztatásához a mikrokontroller érintkezőihez. Egyrészt kétféle csatlakozó (PLS-5 és PBS-5) - tartalmaz egy tápfeszültség-érintkezőt és egy nulla potenciálú érintkezőt (Gnd), valamint a mikrokontroller PB0, PB1, PB2 csatlakozóit. Másrészt kétféle csatlakozó is létezik (PLS-4 és PBS-4) - beleértve az érintkezőt is nulla potenciál (Gnd) és mikrokontroller érintkezők PB3, PB4, PB5. Van egy külön PLS-3 csatlakozó, amely három érintkezőt tartalmaz a Vcc tápfeszültségre csatlakoztatva. További részletekért lásd az elektromos kapcsolási rajzot.

Az alaplap több kondenzátorral rendelkezik, amelyek a teljesítmény javítása érdekében szűrik a mikrokontrollernek szolgáltatott áramot.

A fejlesztési kártya gyártás utáni azonnali tesztelése érdekében egy egyszerű firmware-t fejlesztettek ki, amely három LED-et vezérel - ezek felváltva világítanak és kialszanak. Az alábbiakban mindent megtalál, amire szüksége van. Ez az egyszerű hibakereső tábla lendületet adhat a szakmában kezdőknek a mikrokontrollerek tanulmányozására - elvégre nincs benne semmi bonyolult, ha rendelkezik a legalapvetőbb C vagy Assembler programozási nyelv ismeretekkel.

A mikrokontroller programozására Az Attiny13 tesztprogramnak (firmware) ismernie kell a biztosítékbitek konfigurációját:

A cikkhez mellékeljük az Attiny13 mikrokontroller teszt firmware-jét, az ugyanennek a mikrokontrollernek a teszt firmware-t használó projektjét, a programban lévő forráskódot, a behúzott nyomtatott áramköri lapot, valamint videót a hibakereső kártyán futó teszt firmware-ről.

Radioelemek listája

Kijelölés típus Megnevezés Mennyiség jegyzetÜzletA jegyzettömböm
IC1 MK AVR 8 bites

ATtiny13A

1 ATtiny15 Jegyzettömbhöz
VD1-VD3 Egyenirányító dióda

1N4148

3 Jegyzettömbhöz
C1 Elektrolit kondenzátor10 µF1 Jegyzettömbhöz
C2, C3 Kondenzátor100 nF2 Jegyzettömbhöz
R1 Ellenállás

10 kOhm

1 Jegyzettömbhöz
R2 Ellenállás

4,7 Ohm

1 0-10 ohm Jegyzettömbhöz
R3, R5 Ellenállás

100 Ohm

2 Jegyzettömbhöz
R4 Ellenállás

180 Ohm

1 Jegyzettömbhöz
LED1 Fénykibocsátó diódaPiros1 Jegyzettömbhöz
LED2 Fénykibocsátó diódaZöld1 Jegyzettömbhöz
LED3 Fénykibocsátó diódaKék1 Jegyzettömbhöz
S1 Tapintat gombTC-A1091 Jegyzettömbhöz
X1 CsatlakozóPLS-41 4 tű Jegyzettömbhöz
X2 CsatlakozóPBS-41 Jegyzettömbhöz
X3 CsatlakozóPLS-51 5 tű Jegyzettömbhöz
X4 CsatlakozóPBS-51