Kazalo:

Švicarski AVR nož: 14 korakov (s slikami)
Švicarski AVR nož: 14 korakov (s slikami)

Video: Švicarski AVR nož: 14 korakov (s slikami)

Video: Švicarski AVR nož: 14 korakov (s slikami)
Video: Part 1 - Around the World in 80 Days Audiobook by Jules Verne (Chs 01-14) 2024, Julij
Anonim
Švicarski AVR nož
Švicarski AVR nož
Švicarski AVR nož
Švicarski AVR nož
Švicarski AVR nož
Švicarski AVR nož
Švicarski AVR nož
Švicarski AVR nož

Švicarski AVR nož združuje številne programske projekte AVR v eno samo priročno pločevinko za gumi Altoids. Zaradi prilagodljivosti, ki jo omogoča programiranje mikrokrmilnikov, zagotavlja tudi izhodišče za poljubno število projektov, ki temeljijo na LED diodah in zvočnem izhodu. SAK lahko vsebuje toliko programov, kot dovoljuje 8K pomnilnika, in vzdržuje osem stanj za vsak program. Modri gumb povzroči, da SAK kroži po programih in stanjih - hiter pritisk povzroči, da ostane v programu, vendar se spremeni v naslednje stanje (ne glede na to, kako je to definirano), z dolgim pritiskom pa preide na naslednji program. Trenutni program in stanja za vse programe se med uporabo uporabljajo v EEPROM -u.

Projekti, ki se trenutno izvajajo v SAK, vključujejo naslednje. Ti skupaj z vsemi drugimi kodami in konstantami (obstaja polna tabela pisav) zavzamejo približno 4K razpoložljivega prostora. Veliko več prostora! MiniMenorah - Stroj za možgane zlobnih norih znanstvenikov - Mitch Altman MiniPOV - Adafruit IndustriesHrupna igrača - glasni predmeti LED tekalne luči LED sveče LED svetilke Ta projekt ne bi obstajal brez precejšnje radodarnosti vseh, ki so na tak ali drugačen način prispevali. Poleg zgoraj omenjenega bi se rad zahvalil razvijalcem uporabljenih programskih orodij (glej v drugih korakih) in vsem, ki so postavili uporabno spletno mesto, ki mi je omogočilo boljše razumevanje teh tem. Neposredno si lahko pripisujem zelo malo kode, uporabljene v tem projektu. Če menite, da je koda vaša, je lahko. Sporočite mi in z veseljem vam bom podelil priznanje. V vsakem primeru hvala za vaš prispevek:-)

1. korak: Deli

Deli so na voljo pri katerem koli od številnih dobaviteljev elektronike. Zaradi prostorske stiske je večina sestavnih delov potrebnih, kot je navedeno. Vse se komaj prilega; pazite, da nadomestni deli ne zavzamejo dodatnega prostora. ATtiny84 ne zamenjajte, razen če ste popolnoma prepričani, da nožice ustrezajo. Povezave po delih so do DigiKeyja in vse elektronike. Elektronske komponente 1 x U1-ATtiny84-ATTINY84-20PU-ND1 x Ux-IC vtičnica 14-polni DIP-A32879-ND9 x LED-barva po vaši izbiri 9 x upori-ujemajo se z vašimi LED diodami 2 x R1, R2-100 ohm 1/4W 1% kovinska folija-100XBK-ND2 x C7, C8-47uF-P5151-ND Držalo za baterije 1-AA 6 "žični vodi (1) 2461K-NDP Priključek za telefon stereo 3,5 mm (1) MJW-22 Preklopno stikalo SPDT 1/4 "vklopljeno (1) Stikalo z gumbom MTS-4Pritisnite (1) 450-1654-NDMinty Boost SAK napaja ena baterija AA, ki jo podpira čip Maxim MAX756 (bistvena sestavina MintyBoost!). Spodnje komponente so tiste, ki so potrebne za ta del vezja. 1 x U1-MAX756CPA DC/DC 3.3/5V DIP-MAX756CPA+-ND1 x Ux-IC vtičnica 8-polni DIP-A32878-ND2 x C7, C8 -0,1uF-399-4151-ND2 x C3, C5-100uF-P5152-ND1 x L1-22uH radialno-M9985-ND1 x D1-1N5818 Schottky 1A 30V-1N5818-E3/1GI- ND

2. korak: Mikrokrmilnik ATtiny84

Mikrokrmilnik ATtiny84
Mikrokrmilnik ATtiny84

Mnogi projekti uporabljajo bodisi 20-pinski ATtiny2313 ali 8-pinski mikrokrmilnik ATtiny85. ATtiny2313 se mi je zdel prevelik (za ohišje) in ATtiny85 premajhen (premalo pomnilnika, premalo izhodnih zatičev). ATtiny84 je ravno pravi:-) ATtiny84 ima 8K programabilnega pomnilnika flash (dovolj za shranjevanje veliko majhnih programov), 512K EEPROM-a (za shranjevanje stanja med uporabo), do 12 izhodnih zatičev (za 9 LED, 2 kanala zvočnega izhoda in stikalnega gumba) ter veliko drugih dobrot, ki se ne uporabljajo v tem projektu. Če nameravate dodati programe, pridobite kopijo podatkovnega lista ATtiny84. Na internetu obstaja veliko navodil za učenje programiranja te družine mikrokrmilnikov. Za koristen povzetek mikrokrmilnikov glejte Kako izbrati mikrokrmilnik. Opomba Tu opisani projekt dejansko nima popolnoma omogočenega MiniMenoraha. MM zahteva devet izhodnih zatičev, dva možganska stroja in gumb za spremembo enega stanja, skupaj dvanajst. Čeprav je ATtiny84 mogoče konfigurirati tako, da ima dvanajst izhodnih zatičev, je to na račun zatiča RESET. Če onemogočite zatič RESET in omogočite V/I, ATtiny84 ni mogoče programirati s programerjem USBtinyISP (ki tega še ni storil:-) in zahteva visokonapetostno programiranje. Vse je na mestu za omogočanje MM, vendar je potreben drug programer in ga nimam.

Korak: Orodja za programiranje AVR

Orodja za programiranje AVR
Orodja za programiranje AVR
Orodja za programiranje AVR
Orodja za programiranje AVR

Za programiranje mikrokrmilnikov AVR je potrebnih kar nekaj komponent, tako strojne kot programske. Spodaj so navedena orodja, ki jih uporabljam. Mnogi, mnogi drugi obstajajo v istem cenovnem razredu - brezplačno do poceni. Poiščite komplet, ki vam ustreza, in se ga držite. Še bolje, poiščite prijatelja, ki je razvil sistem, in uporabite njegova orodja. Nič ni posebej težko, če gre vse tako, kot je oglaševano, toda združevanje vseh orodij je lahko pravi izziv. Dolgi zatiči nosilca čipa za žico segajo navzdol do plošče in omogočajo priročno eksperimentalno nastavitev. Edina težava, s katero sem se srečal, je, da komponent iz programskih zatičev med programiranjem ni mogoče ozemljiti. Za rešitev tega problema sem uporabil dva pristopa. Prvi je, da imata dva držala za čipe, enega za programiranje in enega za izvajanje (glej 8-polno zibelko). To ni idealno, ker veliko ploščico naredi neuporabno in je premikanje čipa precej nadležno. Drugi je namestitev majhnega stikala za odklop ozemljitvenega zatiča od tal na plošči med programiranjem. To deluje bolje in pušča več prostora na plošči za komponente. ProgrammerUSBtinyISP komplet Adafruit Industries. Z majhnimi spremembami (odstranite 10-polni kabel in upognite LED) programer prilega v pločevinko za dlesni Altoids. 6-polni kabel lahko celo shranite v pločevinko za shranjevanje. SoftwareWinAVR je zbirka odprtokodnih razvojnih orodij za programiranje mikrokontrolerjev AVR na strojih Windows. Dobro deluje s programerjem USBtinyISP (glejte vadnico AVR). Nedavno sem prešel z uporabe programatorske beležnice, ki je priložena WinAVR, na uporabo Eclipse z vtičnikom AVR Eclipse. Eclipse lahko uporablja avrdude, zato boste morali vseeno namestiti WinAVR. Eclipse ima boljše vodenje projektov, koristne vaje in je brezplačen. Namestitev, delo skozi vadnico in programiranje čipa je trajalo le nekaj minut. Telefonirajte prijatelju Na internetu je veliko virov. Poiščite jih, prosite za pomoč. Ljudje so lahko znani in koristni. To je lepo:-) Lahko so tudi odklonilni. To ni lepo:-(

4. korak: Programiranje mikrokrmilnika

Programiranje mikrokrmilnika
Programiranje mikrokrmilnika

Koda C Ne kritizirajte tistega, česar ne razumem. Nisem programer, C ni moj materni jezik in med delom v C. se držim niti, tanke v Javi, in veliko spletnega iskanja. Čeprav je večina kode prišla iz drugih projektov (glej kredite), Moral sem narediti nekaj dodatkov in sprememb. Izvorna koda za švicarski AVR nož je spodaj priložena kot izvorna datoteka c in šestnajstiška datoteka. Vesel bi bil, če bi kodo lahko izboljšali. Predvidevam, da bo v kodi nekaj sprememb. Prihajajo posodobitve. Koda medtem deluje, kot je oglaševano. Varovalke Varovalke mikrokrmilnika so zmedene. Nekaj mikrokrmilnikov sem onemogočil tako, da sem jih pomotoma nastavil za iskanje zunanjega oscilatorja in onemogočil pin RESET. Lahko jih je obnoviti, do takrat pa so le mrtve žuželke. Pri menjavi varovalk bodite previdni. Za izračun pravilnih vrednosti varovalk uporabite spletni kalkulator varovalk. Izberite ciljni del (ATtiny84) in ustrezne nastavitve - notranji RC oscilator, ki deluje pri 8MHz (privzeta vrednost), NE delite ure notranjega za 8 v notranjosti, omogočite prenos serijskega programa in onemogočite zaznavanje zaprtja. Rezultat bi moral biti naslednji. -U lfuse: w: 0xe2: m -U hfuse: w: 0xdf: m -U efuse: w: 0xff: m (nizek 0xE2 visok 0xDF ext 0xFF). Varovalke morate zažgati le enkrat (razen če jih nameravate zamenjati). Eclipse to olajša, in prepričan sem, da to počnejo tudi drugi IDE -ji. Vprašanja, na katera bi rad odgovoril Kakršne koli ideje o optimizaciji kode Zakaj utripajoče luči v zvočnem in svetlobnem stroju povzročijo nihanje tona, če je omogočeno v pločevinki, ne pa na mizo? Zakaj Eclipse ne mara funkcij lightOn in lightOff, čeprav delujeta?

5. korak: Ustvarjanje projekta

Breadboarding projekta
Breadboarding projekta
Breadboarding projekta
Breadboarding projekta

Ker veliko dela tega projekta opravi mikrokrmilnik, je zunanjih delov zelo malo. Ko preverite, ali sta vaš programer in veriga orodij v redu, bi bilo dobro, da vezje oskrbite in se prepričate, da vse deluje, kot je oglaševano. Spodnje slike so zmešane različice dejanske plošče, ki sem jo nastavil. Uporabil sem LED diode v modelnem pločevinki in odstranil zibelko in čip za uporabo na več fotografijah. Celotno ožičenje v bistvu poveže aktivne zatiče z nekaj deli in nato na ozemljitev. Opomba Vrstni red nožic in LED ni enak na plošči in na tiskanem vezju (čeprav bi lahko bili enaki). V kodi boste videli koščke kode, ki jih je treba omogočiti ali komentirati, odvisno od tega, ali je cilj matična plošča ali tiskano vezje.

6. korak: Priprava pločevinke za dlesni Altoids

Slike na poti Izravnajte dno. Dno pločevine se ukrivlja navzgor in navznoter. Poravnati ga je treba, da se baterija in vezje enakomerno prilegata. Pazite, da kositra ne deformirate, potisnite dno ven, dokler ni v bistvu ravno. Za kositer potrebujete tri sklope lukenj. Za označevanje mest lukenj uporabljam kovinski luknjač, za vrtanje lukenj (za les). Brad točkovni bitovi imajo osrednjo točko in dva rezalna roba. Ne drsajo in robovi počasi prerežejo kovino. Brad točkovni bitovi so na voljo v Lee Valleyju (med drugim). Prvi je niz devetih 5 mm lukenj na vrhu pločevine za LED. Na voljo so metrični brad točkovni bitovi, ki naredijo čiste in tesne luknje za LED. Ustvarite papirnato predlogo z označenimi luknjami in oznake prenesite na vrh pločevinke. Da preprečite potiskanje vrha pločevine, pri udarjanju in vrtanju vrha notranjega dela pokrova podprite na majhnem lesenem bloku. Ko sta papir in les na mestu, z luknjačem zatresem pločevino. Pri vrtanju najprej počasi. Rezalni robovi brad točk morajo tvoriti enakomeren krog. Vrtanje s svedrom, razen pravokotno na površino, lahko povzroči, da se košček zgrabi in raztrga. Kovina 5 mm naredi lepo čisto luknjo, vendar sem ugotovil, da sem jo moral tako rahlo razširiti. To sem naredil tako, da sem iz notranjosti izvrtal navaden 13/64 "bit. Drugi komplet sestavljata dve 1/4" luknji na desni strani pločevine za stikalo in avdio priključek. Zaradi tesne ukrivljenosti na koncu pločevine morajo biti te luknje precej blizu. Poskrbite, da jih postavite tako, da se komponente prilegajo v pločevinko. Centrirajte jih navpično na tisti del strani, ki je viden, ko je pokrov zaprt. Označite z udarcem in zelo previdno vrtajte. Opozorilo, da bitovi prijemajo kositer, velja močneje pri večjih bitih. Zadnja luknja je za stikalno stikalo. Luknjo postavite spodaj desno tako, da gumb ne moti drugih sestavnih delov v pločevinki.

7. korak: Oblikovanje in izdelava tiskanega vezja

Oblikovanje in izdelava tiskanega vezja
Oblikovanje in izdelava tiskanega vezja
Oblikovanje in izdelava tiskanega vezja
Oblikovanje in izdelava tiskanega vezja
Oblikovanje in izdelava tiskanega vezja
Oblikovanje in izdelava tiskanega vezja

Na internetu obstaja veliko virov, ki opisujejo postopek ustvarjanja PCB -jev. Nobena od metod ni varna ali enostavna, vendar je pomembno, da se naučite vsaj ene. Za ustvarjanje sheme in postavitve tiskanega vezja uporabljam brezplačno različico urejevalnika postavitve EAGLE iz CadSoft. Moj pristop k izdelavi tiskanega vezja je opisan v koraku Izdelava in priprava tiskanega vezja v navodilih za pločevinaste zvočnike Altoids. Po prenosu, jedkanju in vrtanju plošče ste pripravljeni, da vse skupaj spajkate. Opomba Moje najnovejše izkušnje za prenos slik na vezja je naslednje. Desko dobro operite z milom za posodo in jo očistite z zelenim pilingom. Nežno obrusite vse zareze z robov plošče, tako da prenosni papir in likalnik dobro stikata z desko. Predgrejte železo. Na ploščo položite kos papirja in desko segrejte z likalnikom. Ko se deska precej segreje, previdno položite pripravljen prenosni papir na desko. Takoj se bo prilepila (ker je plošča vroča), zato se prepričajte, da je pravilno nameščena. Nato likajte neposredno na sijoči hrbtni strani prenosnega papirja. To mi nikoli ni povzročalo težav, vendar uporabljate svoje železo. Najprej preizkusite. Pustite, da se deska ohladi in jo nato sperite pod hladno vodo. Prenosni papir bi moral odskočiti in pustiti celotno sliko. Z 8 -kratnim pregledovalnikom diapozitivov/negativov preglejte prenos in izpolnite vse manjkajoče koščke. Vso srečo.

8. korak: Spajkanje delov na tiskano vezje

Spajkalni deli na tiskano vezje
Spajkalni deli na tiskano vezje
Spajkalni deli na tiskano vezje
Spajkalni deli na tiskano vezje
Spajkalni deli na tiskano vezje
Spajkalni deli na tiskano vezje

Na internetu obstaja veliko virov, ki opisujejo postopek spajkanja elektronskih komponent na tiskana vezja. Glej na primer vadbo spajkanja na ladyada.net. Vrstni red, v katerem nameščate komponente, pravzaprav ni pomemben, čeprav se mi je zdelo delo od najmanjšega do največjega najlažje. Kabli LED/utripajoče luči so dovolj dolgi, da jih lahko v pločevinki oblikujete v vzorec, podoben menorah. Previdno namestite LED diode in upognite vodi, tako da je vrh vsake LED nastavljen tako, da bo štrlel skozi ustrezno luknjo. To je lahko izziv, vendar izgleda res lepo, ko končno uspe. Če ostanejo kabli predolgi, se lahko pokrov pločevinke ugasne in izklopi LED. Ko jih nameščate, preverite polarnost LED glede na postavitev plošče. Ta LED dioda je pritrjena na zatič RESET, zato se lahko odločite, da je ne namestite. Za udobje upor položite pokonci tako, da ohišje upora ne bo čez luknjo z zvočno žico. Na tej točki bodisi pripravite in namestite avdio priključek ali počakajte, da bo pripravljen za spajkanje uporov. Kasneje spajkanje uporov ni zabavno.

9. korak: Utripajoče luči

Utripajoče luči
Utripajoče luči

LED diode morajo biti zaščitene z upori. Določite padec napetosti in trenutne zahteve vaših LED in izračunajte ustrezne upore ob predpostavki 5V vira iz čipa. Za to so na voljo spletni kalkulatorji. Naredite si kup utripajočih luči. Ko jih izdelujete za ta projekt, prerežite katodo (negativni/kratek vod LED pri sploščeni strani) in upor spajajte zelo blizu leče LED. LED diode tvorijo obliko menore v pločevinki. Tudi če se upor skoraj dotakne leče, bo pokrov pločevinke rahlo zmečkal najkrajšo LED na sredini. Da bi preprečili nastanek kratkih hlač v tesnih mejah pločevine, pokrijte vsak upor s kosom toplotne cevi.

10. korak: Priprava nosilca baterije

Priprava držala za baterijo
Priprava držala za baterijo

Potisnite majhne koščke toplotno skrčljive cevi vzdolž obeh vodil nosilca baterije. Previdno jih potisnite v luknje držala in jih skrčite. Ti zagotavljajo določeno stopnjo zaščite žic. (To navodilo je podvojeno na strani Priprava stikala za preklop.) Črno žico odrežite na dolžino in spajkajte v ustrezno luknjo na tiskanem vezju. Rdeča žica je spajkana neposredno na stikalo; glejte navodila na tej strani za nadaljevanje. V preteklih projektih sem odrezal zadrževalne jezičke z držala za baterijo. Ker sem to naredil na prototipu, mi je zdaj žal. Baterija ne želi ostati trdno na svojem mestu. Zavihke pustite, da se zaženejo in jih odstranite le, če imate težave pri izpraznitvi baterije. Kljub temu je na sliki prikazan nosilec baterije z odrezanimi jezički. To je zato, ker sem ga pobral iz drugega projekta.

11. korak: Priprava preklopnega stikala

Priprava preklopnega stikala
Priprava preklopnega stikala

Odvisno od stikala boste morda morali odrezati enega od zatičev. To počnem s stikali, ki jih uporabljam, čeprav to morda ni povsem potrebno. Majhen kos toplotno skrčljive cevi potisnite vzdolž rdečega kabla nosilca baterije. Previdno ga potisnite v luknjo držala in ga skrčite. Zagotavlja določeno stopnjo zaščite žice. (To navodilo podvaja navodila pri pripravi držala za baterijo.) Potisnite še en majhen kos hladilne cevi na rdečo žico. Žico prerežite in razrežite po dolžini ter nanesite nekaj spajkanja na zatič na stikalu in na konec žice. Rdeči kabel z držala baterije spajkajte neposredno na zunanji zatič stikala. Košček hladilne cevi potisnite čez spoj, da ga zaščitite in okrepite. Druga žica gre od srednjega zatiča stikala do tiskanega vezja. Spajajte žico s stikalom, kot je opisano zgoraj. Spoj zaščitite s cevjo za toplotno zaščito. Drugi konec spajkajte na ustrezno luknjo na tiskanem vezju.

12. korak: Priprava avdio priključka

Priprava avdio priključka
Priprava avdio priključka
Priprava avdio priključka
Priprava avdio priključka
Priprava avdio priključka
Priprava avdio priključka

Vse žice do avdio priključka so zelo kratke. Na zatiče na vtičnici in žici nanesite malo spajkanja in jih nato spajkajte. Koščke hladilne cevi potisnite po sklepih, da jih zaščitite in okrepite. Ozemljitveno žico lahko spajkate neposredno v svojo luknjo. Konec signalnih žic ima vsak luknjo z enim koncem upora. Pripravite žico in upor tako, da konce zavijete skupaj in nanesete malo spajkanja. Luknjo, v katero gredo ti, je treba izvrtati na 3/64 , da se prilegata obe žici. Spajkajte na svoje mesto.

Korak: Priprava stikalnega stikala

Priprava stikalnega stikala
Priprava stikalnega stikala
Priprava stikalnega stikala
Priprava stikalnega stikala
Priprava stikalnega stikala
Priprava stikalnega stikala

Pripravite kratek kos trdne žice, tako da ga oblikujete v obliki črke U, ki se tesno prilega spodnjemu delu stikala. Na obe strani luknje nanesite blok spajkanja - pustite prostor za stikalo - in stikalo postavite na svoje mesto. Spajk stopite in žico potisnite na mesto. Pustite, da se spajka strdi in ponovite na drugi strani. To bi moralo stikalo namestiti in pritrditi. Pripravite dva kosa navezane žice tako, da prerežete po dolžini in odstranite oba konca. Prepričajte se, da so žice dovolj dolge, da se lahko pokrov pločevinke popolnoma odpre. Spajkajte na dva ustrezna zatiča na stikalu, nato pa koščke toplotne cevi potegnite čez sklepe, da jih zaščitite in okrepite. Spajajte na druge s koncem v ustrezne luknje na plošči. Previdno napeljite žice med LED diodami in pazite, da ne sedijo na vrhu baterij. Razprostrla sem dva zatiča na stikalu, tako da je skrajna desna LED med njimi zdrsnila. Zatiči na stikalu so ZELO krhki (druga dva sta odtrgana). Upoštevajte, da je zatič PA7 PCINT7 6 nastavljen tako, da prisluhne spremembi stanja. S pritiskom na stikalo gumb povlečete zatič visoko in izvede se SIGNAL (PCINT0_vect). Glede na dolžino pritiska gumba se ne zgodi nič (surovo odstranjevanje), stanje je napredno (kratek pritisk) ali program napreden (dolg pritisk).

14. korak: Zapiranje pokrova

Zapiranje pokrova
Zapiranje pokrova

Če je na tem mestu vse v redu, boste želeli zapreti pločevinko. Pri tem morate biti zelo pozorni na položaj LED. Ugotovil sem, da jih moram s tankim izvijačem potisniti v položaj, da se pravilno namestijo v luknje. Ko premaknete LED -diode na svoje mesto, pritisnite malo navzdol in sčasoma zdrsnejo. Morda boste morali žice postaviti tako, da bodo padle med komponente in ne na njih. Tudi nožice stikalne tipke boste morda morali upogniti.

Priporočena: