Sisukord:

Šveitsi AVR nuga: 14 sammu (piltidega)
Šveitsi AVR nuga: 14 sammu (piltidega)

Video: Šveitsi AVR nuga: 14 sammu (piltidega)

Video: Šveitsi AVR nuga: 14 sammu (piltidega)
Video: Слияние рек Рон и Авр Швейцария #shorts 2024, November
Anonim
Šveitsi AVR nuga
Šveitsi AVR nuga
Šveitsi AVR nuga
Šveitsi AVR nuga
Šveitsi AVR nuga
Šveitsi AVR nuga
Šveitsi AVR nuga
Šveitsi AVR nuga

Šveitsi AVR nuga koondab mitu AVR programmeerimisprojekti ühte mugavasse Altoids Gum Tin'i. Mikrokontrollerite programmeerimise paindlikkuse tõttu pakub see ka lähtepunkti paljudele projektidele, mis põhinevad LED -idel ja heliväljundil. SAK võib sisaldada nii palju programme kui 8K mälu lubab ja säilitab iga programmi jaoks kaheksa olekut. Sinine nupp paneb SAK -i programmide ja olekute vahel ringi liikuma - kiire vajutus viib selle programmis püsima, kuid muutub järgmisesse olekusse (olenemata sellest, mis see on määratletud) ja pikk vajutus viib selle järgmise programmi juurde. Praegune programm ja kõigi programmide olekud säilitatakse EEPROMis kasutuste vahel.

SAKis praegu ellu viidavad projektid hõlmavad järgmist. Need koos kõigi muude koodide ja konstantidega (seal on täielik fonditabel) võtavad umbes 4K saadaolevast ruumist. Palju rohkem ruumi! MiniMenorah - Evil Mad Scientists Brain Machine - Mitch AltmanMiniPOV - Adafruit IndustriesMüramänguasi - valju esemed LED -jooksutuled LED -küünla LED -taskulamp See projekt ei eksisteeriks ilma kõigi suure panuseta, kes ühel või teisel viisil kaasa aitasid. Lisaks ülaltoodule tahaksin tänada kasutatud tarkvarariistade arendajaid (vt teistes sammudes) ja kõiki, kes panid üles kasuliku veebisaidi, mis aitas mul nendest teemadest paremini aru saada. Ma võin võtta otse krediiti väga vähe selles projektis kasutatud koodi eest. Kui tunnete, et kood on teie, võib see olla nii. Andke mulle sellest teada ja ma annan teile rõõmuga au. Igal juhul tänan teid panuse eest:-)

Samm: osad

Osasid on võimalik hankida mitmelt elektroonikatarnijalt. Ruumipiirangu tõttu on enamik komponente nõutud, nagu näidatud. Kõik lihtsalt vaevu sobib; veenduge, et asendusosad ei võtaks lisaruumi. Ärge asendage ATtiny84, kui te pole täiesti kindel, et tihvtid vastavad. Osadele järgnevad lingid on DigiKey ja kogu elektroonika juurde. Elektroonilised komponendid 1 x U1-ATtiny84-ATTINY84-20PU-ND1 x Ux-IC-pesa 14-kontaktiline DIP-A32879-ND9 x LED-teie valitud värv 9 x takistid-sobivad teie LED-idega 2 x R1, R2-100 oomi 1/4W 1% metallkile-100XBK-ND2 x C7, C8-47uF-P5151-ND) 2461K-NDP Telefonipistik stereo 3,5 mm (1) MJW-22 Lüliti SPDT 1/4 sisse lülitatud (1) MTS-4 Lülitusnupp (1) 450-1654-NDMinty Boost SAK-i toiteallikaks on üks AA patarei kiip Maxim MAX756 (MintyBoosti oluline komponent!). Allpool olevad komponendid on vajalikud selle vooluahela jaoks. 1 x U1-MAX756CPA DC/DC 3,3/5 V DIP-MAX756CPA+-ND1 x Ux-IC-pesa 8-kontaktiline DIP-A32878-ND2 x C7, C8 -0,1uF-399-4151-ND2 x C3, C5-100uF-P5152-ND1 x L1-22uH radiaalne-M9985-ND1 x D1-1N5818 Schottky 1A 30V-1N5818-E3/1GI- ND

2. samm: ATtiny84 mikrokontroller

ATtiny84 mikrokontroller
ATtiny84 mikrokontroller

Paljud projektid kasutavad kas 20-pin ATtiny2313 või 8-pin ATtiny85 mikrokontrollerit. Leidsin, et ATtiny2313 on liiga suur (korpuse jaoks) ja ATtiny85 liiga väike (pole piisavalt mälu, ei ole piisavalt väljundnööpe). ATtiny84 on täpselt õige:-) ATtiny84-l on 8K programmeeritavat välkmälu (piisab paljude väikeste programmide mahutamiseks), 512K EEPROM-i (oleku salvestamiseks kasutuste vahel), kuni 12 väljundnõela (9 LED-i, 2 kanali jaoks) heliväljundist ja nuppude lülitist) ja palju muud maiuspala, mida selles projektis ei kasutata. Kui kavatsete programme lisada, hankige koopia ATtiny84 andmelehest. Selle mikrokontrollerite perekonna programmeerimise õppimiseks on Internetis palju juhendeid. Mikrokontrollerite kasuliku kokkuvõtte leiate jaotisest Mikrokontrolleri valimine. Märkus. Siin kirjeldatud projektil ei ole MiniMenorah tegelikult täielikult lubatud. MM nõuab üheksa väljundnõela, aju masin kahte ja nuppu ühe oleku muutmiseks, kokku kaksteist. Kuigi ATtiny84 saab konfigureerida nii, et sellel oleks kaksteist väljundnõela, on see nullimise tihvti kulul. Nulli RESET keelamine ja selle I/O muutmine ei võimalda ATtiny84 programmeerida USBtinyISP programmeerijaga (kes pole seda teinud:-) ja nõuab kõrgepinge programmeerimist. MM -i lubamiseks on kõik paigas, kuid vaja on erinevat programmeerijat ja mul pole seda.

3. samm: AVR -i programmeerimisriistad

AVR -i programmeerimisriistad
AVR -i programmeerimisriistad
AVR -i programmeerimisriistad
AVR -i programmeerimisriistad

AVR -i mikrokontrollerite programmeerimiseks on vaja üsna palju komponente, nii riistvara kui ka tarkvara. Allpool on tööriistad, mida ma kasutan. Paljud, paljud teised on samas hinnaklassis - tasuta kuni odavad. Leidke endale sobiv komplekt ja järgige neid. Veelgi parem, leidke sõber, kes on süsteemi välja töötanud, ja kasutage oma tööriistu. Miski pole eriti raske, kui kõik läheb reklaamitud viisil, kuid kõigi tööriistade koos töötamine võib olla tõeline väljakutse. Hälli programmeerimine põhineb minu geto programmeerimiskeskkonnal. Traatpakkide kiibihoidiku pikad tihvtid ulatuvad leivaplaadini ja muudavad mugavaks eksperimentaalseks seadistamiseks. Ainus probleem, millega olen kokku puutunud, on see, et programmeerimisnõelte komponente ei saa programmeerimise ajal maandada. Selle probleemi lahendamiseks olen kasutanud kahte lähenemisviisi. Esimene on kahe kiibihoidja olemasolu, üks programmeerimiseks ja teine jooksmiseks (vt 8-kontaktiline häll). See pole ideaalne, sest muudab paljud leivaplaadid kasutuskõlbmatuks ja kiibi liigutamine on üsna tüütu. Teine on paigaldada väike lüliti, et programmeerimise ajal maandusnõel leivaplaadi maapinnast lahti ühendada. See töötab paremini ja jätab komponentide leivalauale rohkem ruumi. ProgrammeerijaUSBtinyISP komplekt firmalt Adafruit Industries. Väikese muudatusega (eemaldage 10-kontaktiline kaabel ja painutage valgusdioodid) sobib programmeerija Altoids igemetopsi. 6-kontaktilise kaabli saab ladustamiseks isegi tina sisse kerida. Tarkvara WinAVR on avatud lähtekoodiga tarkvaraarendustööriistade kogum AVR-i mikrokontrollerite programmeerimiseks Windowsi masinates. See töötab hästi koos USBtinyISP programmeerijaga (vt AVR -i õpetust). Hiljuti vahetasin WinAVRiga kaasasoleva programmeerija Notepadi rakenduse kasutamise asemel Eclipse'i koos AVR Eclipse'i pistikprogrammiga. Eclipse saab kasutada avrdude'i, nii et peate igal juhul installima WinAVR -i. Eclipse'il on parem projektijuhtimine, kasulikud õpetused ja see on tasuta. Selle installimiseks, õpetuse läbiviimiseks ja kiibi programmeerimiseks kulus vaid mõni minut. Helistage sõbrale Internetis on palju ressursse. Otsige neid, küsige abi. Inimesed võivad olla teadlikud ja abivalmid. See on tore:-) Need võivad olla ka vallandavad. See ei ole kena:-(

Samm: mikrokontrolleri programmeerimine

Mikrokontrolleri programmeerimine
Mikrokontrolleri programmeerimine

C -kood Ärge kritiseerige seda, millest ma aru ei saa. Ma ei ole programmeerija, C pole mu emakeel ning C-ga töötades hoian kinni Java õhukesest lõimest ja paljudest veebiotsingutest. Kuigi suur osa koodist pärineb teistest projektidest (vt krediiti), Pidin tegema mõned täiendused ja muudatused. Šveitsi AVR -noa lähtekood on lisatud allpool nii c -lähtefaili kui ka kuueteistkümnendfailina. Oleksin tänulik, kui saaksin koodi täiustada. Koodis on oodata mõningaid muudatusi. Uuendused on tulemas. Vahepeal töötab kood nagu reklaamitud. Kaitsmed Mikrokontrolleri kaitsmed on segadusttekitavad. Olen keelanud mõned mikrokontrollerid nii kogemata välise ostsillaatori otsimist seadistades kui ka RESET -nööpnõela välja lülitades. Neid saab taastada, kuid seni on nad lihtsalt surnud vead. Olge kaitsmete vahetamisel ettevaatlik. Kaitsmete õigete väärtuste arvutamiseks kasutage võrgus olevat kaitsmekalkulaatorit. Valige sihtosa (ATtiny84) ja sobivad sätted - sisemine RC -ostsillaator, mis töötab sagedusel 8MHz (vaikeväärtus), ÄRGE jagage kella 8 -ga sisemiselt, lubage jadaprogrammi allalaadimine ja keelake väljalülituse tuvastamine. Tulemus peaks olema järgmine. -U lfuse: w: 0xe2: m -U hfuse: w: 0xdf: m -U efuse: w: 0xff: m (madal 0xE2 kõrge 0xDF ext 0xFF). Kaitsmeid tuleb põletada ainult üks kord (kui te ei plaani neid vahetada). Eclipse teeb selle lihtsaks, nagu ka teised IDE -d. Küsimused, millele sooviksin vastust Kõik ideed koodi optimeerimiseks Miks põhjustavad heli- ja valgusmasina vilguvad tuled tooni võnkumist, kui see on tinas lubatud leivalaual? Miks ei meeldi Eclipse'ile funktsioonid lightOn ja lightOff, kuigi need tunduvad töötavat?

5. samm: projekti leivalaud

Projekti leivalaud
Projekti leivalaud
Projekti leivalaud
Projekti leivalaud

Kuna selle projekti tööst teeb suure osa mikrokontroller, on väliseid osi väga vähe. Pärast kontrollimist, kas teie programmeerija ja tööriistakett on korras, oleks hea mõte vooluringile panna ja veenduda, et kõik töötab nii, nagu reklaamitud. Allolevad pildid on segatud versioonid tegelikust leivaplaadist, mille olin seadistanud. Kasutasin mudeli tina LED -e ning tõstsin välja hälli ja kiibi, et neid mitmel fotol kasutada. Üldine juhtmestik ühendab põhimõtteliselt aktiivsed tihvtid mõne osaga ja seejärel maapinnaga. Märkus. Tihvtide ja valgusdioodide järjestus pole leivaplaadil ja trükkplaadil sama (kuigi ma arvan, et saate need samad teha). Koodis näete kooditükke, mis tuleb kas lubada või kommenteerida sõltuvalt sellest, kas sihtmärk on leivaplaat või trükkplaat.

6. samm: Altoidide kummiplaadi valmistamine

Pildid teel Tasandage põhi. Tina põhi kõverdub üles ja sisse. See tuleb tasandada, et aku ja trükkplaat sobiksid ja istuksid ühtlaselt. Olge ettevaatlik, et mitte tina moonutada, lükake põhi välja, kuni see on sisuliselt tasane. Tina vajab kolme auku. Kasutan aukude asukohtade tähistamiseks metallist stantsi ja aukude puurimiseks brad -punkti (puidu jaoks). Brad -punkti bitidel on keskpunkt ja kaks lõiketera. Nad ei uisuta ja servad lõikuvad aeglaselt läbi metalli. Brad point bitid on saadaval Lee Valley'st (muu hulgas). Esimene on LED -i jaoks mõeldud pleki ülaosas üheksa 5 mm auku. Saadaval on meetermõõdustikud, mis teevad valgusdioodide jaoks puhtad ja tihedad augud. Looge paberimall, millel on märgitud augud, ja kandke märgid vormi ülaossa. Selleks, et vältida vormi ülaosa sisse surumist, toestage kaane siseosa väikese puupakuga, kui pealispinda augustada ja puurida. Kui paber ja puit on paigas, tuhmistan vormi kasutades stantsi. Puurimisel minge alguses aeglaselt. Brad -punktide lõikeservad peaksid moodustama ühtlase ringi. Kui puurida otsikuga kõike muud kui pinnaga risti, võib otsik metalli haarata ja rebeneda. 5 mm läbimõõduga punkt teeb kena puhta augu, kuid leidsin, et pidin seda kunagi nii veidi laiendama. Ma tegin seda, puurides seest välja tavalise 13/64 "bitiga. Teine komplekt koosneb kahest 1/4" august, mis asuvad lüliti ja helipistiku jaoks paremal pool. Tina lõpus oleva tiheda kumeruse tõttu peavad need augud olema üsna lähedal. Paigutage need kindlasti nii, et komponendid mahuksid vormi. Keskendage need vertikaalselt kaane sulgemisel nähtavale küljele. Märgige stantsiga ja puurige väga hoolikalt. Ettevaatust tina haaramisel kasutatavate bittide suhtes kehtib suuremate bittide puhul tugevamalt. Viimane auk on surunuppude lüliti jaoks. Asetage auk paremale alumisele poole nii, et nupp ei segaks teisi vormi osi.

Samm: trükkplaadi projekteerimine ja valmistamine

PCB projekteerimine ja valmistamine
PCB projekteerimine ja valmistamine
PCB projekteerimine ja valmistamine
PCB projekteerimine ja valmistamine
PCB projekteerimine ja valmistamine
PCB projekteerimine ja valmistamine

Internetis on palju ressursse, mis kirjeldavad PCBde loomise protsessi. Ükski meetoditest ei ole lollikindel ega lihtne, kuid oluline on vähemalt ühega rahul olla. Kasutan CadSofti EAGLE Layout Editori vabavara versiooni, et luua skemaatiline ja trükkplaadi paigutus. Minu lähenemisviisi PCB tootmisele kirjeldatakse juhendis Altoids Tin Speaker PCB valmistamine ja ettevalmistamine. Pärast plaadi ülekandmist, söövitamist ja puurimist olete valmis kõike kokku jootma. Märkus Minu viimane kogemus piltide edastamiseks trükkplaadid on järgmised. Peske tahvlit nõudepesuvahendiga hästi ja hõõruge seda rohelise nühkijaga. Lihvige plaadi servadelt õrnalt maha kõik purse, nii et ülekandepaber ja triikraud puutuvad plaadiga hästi kokku. Kuumutage rauda. Aseta tahvlile paberitükk ja kuumuta tahvlit triikrauaga. Kui plaat on üsna kuum, asetage ettevalmistatud ülekandepaber ettevaatlikult tahvlile. See jääb kohe kinni (kuna plaat on kuum), nii et veenduge, et see on õigesti paigutatud. Seejärel triikige otse ülekandepaberi läikivale tagaküljele. See ei tekitanud mulle kunagi probleeme, kuid te kasutate oma triikrauda. Esmalt testi. Laske plaadil jahtuda ja laske see seejärel külma vee all joosta. Ülekandepaber peaks lahti tulema ja kogu kujutise maha jätma. Kasutage ülekande ülevaatamiseks ja puuduvate osade täitmiseks 8 -kordse slaidi/negatiivse vaataja kasutamist. Edu.

8. samm: osade jootmine trükkplaadile

Jootmisosad trükkplaadile
Jootmisosad trükkplaadile
Jootmisosad trükkplaadile
Jootmisosad trükkplaadile
Jootmisosad trükkplaadile
Jootmisosad trükkplaadile

Internetis on palju ressursse, mis kirjeldavad elektrooniliste komponentide jootmist PCB -dele. Vaadake näiteks jootmisõpetust saidil ladyada.net. Komponentide installimise järjekorral pole tegelikult tähtsust, kuigi olen leidnud, et töötamine väikseimast kõige suuremani on kõige lihtsam. LED-/vilkurivalgustusjuhtmed on piisavalt pikad, nii et saate need vormida menorasarnaseks mustriks. Paigaldage LED -id ettevaatlikult ja painutage juhtmeid nii, et iga LED -i ülaosa asetseks nii, et see torgaks läbi oma ava. See võib olla väljakutsuv, kuid tundub tõeliselt kena, kui see lõpuks õnnestub. Kui juhtmed jäetakse liiga pikkadeks, võivad tina kaanega valgusdioodid alla suruda ja asendist väljas olla. Märkus. Parempoolne LED ei ole samas suunas kui ülejäänud kaheksa. Veenduge, et kontrollite nende paigaldamisel LED -de polaarsust plaadi paigutuse suhtes. See valgusdiood on kinnitatud RESET -tihvti külge, nii et võite selle mitte installida. Märkus. Helipistiku ja takistite juhtmed jagavad auku. Mugavuse huvides asetage takistid püstiasendisse nii, et takisti korpus ei oleks helijuhtmega augu kohal. Valmistage ja paigaldage helipistik selles kohas või oodake, kuni see on takistites jootmiseks valmis. Hiljem pole lõbus takistite jootmine.

9. samm: vilguvad tuled

Vilkuvad tuled
Vilkuvad tuled

LEDid peavad olema takistega kaitstud. Määrake oma LED -ide pingelangus ja voolunõuded ning arvutage sobivad takistid, eeldades, et kiibilt saadakse 5 V allikas. Selleks on hõlpsasti kättesaadavad veebikalkulaatorid. Tehke endale hunnik vilkureid. Selle projekti jaoks nende valmistamisel lõigake katood (LED -i negatiivne/lühike juhe lamestatud külje poolt) ja jootke takisti LED -i läätse lähedale. LED -id moodustavad tina menora kuju. Isegi kui takisti peaaegu objektiivi puudutab, purustab tina kaas kergelt keskel asuvat lühimat valgusdioodi. Selleks, et vältida lühiste tekkimist tina kitsastes piirides, katke iga takisti kuumaõhutoruga.

Samm 10: Akuhoidiku ettevalmistamine

Akuhoidiku ettevalmistamine
Akuhoidiku ettevalmistamine

Libistage väikesed termokahaneva toru tükid mööda akuhoidiku mõlemat juhet. Lükake need ettevaatlikult hoidiku avadesse ja kahanda oma kohale. Need pakuvad juhtmetele teatud kaitset. (See juhis on korduvalt lehel Lüliti ettevalmistamine.) Lõigake must traat pikkuseks ja jootke trükkplaadil sobivasse auku. Punane traat on joodetud otse lülituslüliti külge; vaadake sellel lehel olevaid juhiseid, kuidas edasi minna. Varasemates projektides olen akuhoidiku kinnitusdetailid ära lõiganud. Olles seda prototüübil teinud, kahetsen seda nüüd. Aku ei taha tihedalt paigal püsida. Jätke vahelehed käivitamiseks ja eemaldage need ainult siis, kui teil on probleeme aku väljavõtmisega. Vaatamata sellele on pildil näha patareipesa, mille sakid on ära lõigatud. Selle põhjuseks on asjaolu, et võtsin selle teisest projektist.

Samm: lülituslüliti ettevalmistamine

Lülituslüliti ettevalmistamine
Lülituslüliti ettevalmistamine

Sõltuvalt teie lülitist peate võib -olla ühe tihvti ära lõikama. Ma teen seda kasutatavate lülititega, kuigi see ei pruugi olla täiesti vajalik. Libistage väike tükk termokahanevat toru mööda akuhoidiku punast juhet. Lükake see ettevaatlikult hoidiku auku ja suruge oma kohale. See pakub traadile teatud kaitset. (See juhis kordab akupesa ettevalmistamise juhiseid.) Libistage punasele juhtmele veel üks väike soojuskaitsetoru. Lõigake ja eemaldage traat pikkuseks ning kandke jootet nii lüliti tihvtile kui ka traadi otsa. Jootke punane juhe patareipesast otse lüliti välimise tihvti juurde. Lükake kuumutuskaablitoru vuugi kohale, et seda kaitsta ja tugevdada. Teine juhe läheb lüliti keskmisest tihvtist trükkplaadile. Jootke traat lülitile ülalkirjeldatud viisil. Kaitske liigendit termokahanevate torudega. Jootke teine ots PCB sobivasse auku.

12. samm: helipistiku ettevalmistamine

Helipistiku ettevalmistamine
Helipistiku ettevalmistamine
Helipistiku ettevalmistamine
Helipistiku ettevalmistamine
Helipistiku ettevalmistamine
Helipistiku ettevalmistamine

Helipistiku juhtmed on kõik üsna lühikesed. Kandke tungraua ja juhtme tihvtidele natuke jootet ja jootke need oma kohale. Lükake kuumtöötlustorude tükid liigeste kohale, et neid kaitsta ja tugevdada. Maandusjuhtme saab joota otse selle auku. Signaalijuhtmete otsad jagavad auku ühe takisti otsaga. Valmistage traat ja takisti ette, keerates otsad kokku ja kandes veidi jootet. Auk, millesse need lähevad, tuleks puurida 3/64 kahe juhtme mahutamiseks. Jootke oma kohale.

Samm 13: vajutusnupu lüliti ettevalmistamine

Nupplüliti ettevalmistamine
Nupplüliti ettevalmistamine
Nupplüliti ettevalmistamine
Nupplüliti ettevalmistamine
Nupplüliti ettevalmistamine
Nupplüliti ettevalmistamine

Valmistage ette lühike tahke traat, vormides sellest U-kujulise kuju, mis sobib tihedalt üle lüliti põhja. Kandke jootepulk augu mõlemale küljele - jätke lülitile ruumi - ja asetage lüliti oma kohale. Sulatage joodis ja lükake traat kohale. Lase joodisel taheneda ja korda teisel pool. See peaks lüliti asendisse kinnitama ja kinnitama. Valmistage kaks keerutatud traati ette, lõigates pikkuseks ja eemaldades mõlemad otsad. Veenduge, et juhtmed oleksid piisavalt pikad, nii et vormi kaas saaks täielikult avaneda. Jootke lülitil kahe sobiva tihvti külge ja libistage seejärel kuumaõhutoru osad liigeste kohale, et neid kaitsta ja tugevdada. Jootke teiste külgede külge nende vastavatesse aukudesse plaadil. Keerake juhtmed ettevaatlikult valgusdioodide vahele ja veenduge, et need ei asuks patareide peal. Laotasin kaks tihvti lülitile nii, et parempoolne LED libises nende vahele. Lüliti tihvtid on VÄGA habras (ülejäänud kaks katkesid). Pange tähele, et tihvt PA7 PCINT7 6 on seadistatud oleku muutmiseks. Nupplüliti vajutamine tõmbab tihvti kõrgele ja SIGNAL (PCINT0_vect) käivitatakse. Nuppude vajutamise pikkuse põhjal kas ei juhtu midagi (töötlemata tühistamine), olek on arenenud (lühike vajutus) või programm on edasi arenenud (pikk vajutus).

14. samm: kaane sulgemine

Kaane sulgemine
Kaane sulgemine

Kui praegusel hetkel on kõik hästi, soovite tina sulgeda. Seda tehes peate olema LED -ide asukoha suhtes väga ettevaatlik. Leian, et pean neid õhukese kruvikeerajaga oma kohale suruma, et need oleks oma aukudesse õigesti paigutatud. Rakendage LED -i kohale manööverdamisel kaanele veidi allapoole survet ja need libisevad lõpuks paika. Võimalik, et peate juhtmed paigutama nii, et need jäävad komponentide vahele ja mitte nende külge. Samuti peavad nuppude lüliti tihvtid olema teelt välja painutatud.

Soovitan: