Sadržaj:

Švicarski AVR nož: 14 koraka (sa slikama)
Švicarski AVR nož: 14 koraka (sa slikama)

Video: Švicarski AVR nož: 14 koraka (sa slikama)

Video: Švicarski AVR nož: 14 koraka (sa slikama)
Video: Chapter 24 - Babbitt by Sinclair Lewis 2024, Juli
Anonim
Švajcarski AVR nož
Švajcarski AVR nož
Švajcarski AVR nož
Švajcarski AVR nož
Švajcarski AVR nož
Švajcarski AVR nož
Švajcarski AVR nož
Švajcarski AVR nož

Švicarski AVR nož spaja brojne AVR programe za programiranje u jedan prikladan kalaj za gume Altoids. Zbog fleksibilnosti koju pruža programiranje mikrokontrolera, on također pruža polazište za bilo koji broj projekata zasnovanih na LED diodama i zvučnom izlazu. SAK može sadržavati onoliko programa koliko dozvoljava 8K memorije i održava osam stanja za svaki program. Plavo dugme uzrokuje da SAK prelazi kroz programe i stanja - brz pritisak uzrokuje da ostane u programu, ali prelazi u sljedeće stanje (kako god da je definirano), a dugi pritisak dovodi do prelaska na sljedeći program. Trenutni program i stanja za sve programe čuvaju se u EEPROM -u između upotreba.

Projekti koji se trenutno sprovode u ASK -u uključuju sljedeće. Oni, zajedno sa svim ostalim kodom i konstantama (postoji puna tablica fontova), zauzimaju oko 4K raspoloživog prostora. MiniMenorah - Mašina za mozak zlih ludih naučnika - Mitch AltmanMiniPOV - Adafruit IndustriesBučka igračka - Glasni predmeti LED svjetla za trčanje LED svjećica LED svjetiljka Ovaj projekt ne bi postojao bez značajne velikodušnosti svih koji su na ovaj ili onaj način dali svoj doprinos. Osim gore navedenog, želio bih se zahvaliti programerima korištenih softverskih alata (vidi u ostalim koracima) i svima koji su postavili korisnu web stranicu koja mi je pomogla u razumijevanju ovih tema. Mogu uzeti direktnu zaslugu za vrlo malo koda koji se koristi u ovom projektu. Ako mislite da je kôd vaš, možda je tako. Javite mi i rado ću vam odati priznanje. U svakom slučaju, hvala vam na doprinosu:-)

Korak 1: Dijelovi

Dijelovi se mogu nabaviti od bilo kojeg od brojnih dobavljača elektronike. Zbog ograničenja prostora, većina komponenti je potrebna kako je navedeno. Sve jedva pristaje; pazite da zamjenski dijelovi ne zauzimaju dodatni prostor. Nemojte zamjenjivati ATtiny84 osim ako ste potpuno sigurni da pinovi odgovaraju. Veze koje slijede dijelove su na DigiKey i svu elektroniku. Elektroničke komponente1 x U1-ATtiny84-ATTINY84-20PU-ND1 x Ux-IC utičnica 14-pinski DIP-A32879-ND9 x LED-vaš izbor boje9 x otpornici-upareni sa vašim LED diodama 2 x R1, R2-100 ohma 1/4W 1% metalna folija-100XBK-ND2 x C7, C8-47uF-P5151-NDMići držač baterije 1-AA 6 "žičani vodiči (1) 2461K-NDP Utičnica za telefon stereo 3,5 mm (1) MJW-22Tog prekidač SPDT 1/4 "on-on (1) MTS-4Pritisnite prekidač (1) 450-1654-NDMinty BoostThe SAK pokreće jedna baterija AA pojačana čip Maxim MAX756 (bitna komponenta MintyBoost -a!). Dolje navedene komponente su potrebne za ovaj dio kruga.1 x U1-MAX756CPA DC/DC 3.3/5V DIP-MAX756CPA+-ND1 x Ux-IC utičnica 8-pinski DIP-A32878-ND2 x C7, C8 -0.1uF-399-4151-ND2 x C3, C5-100uF-P5152-ND1 x L1-22uH radijalno-M9985-ND1 x D1-1N5818 Schottky 1A 30V-1N5818-E3/1GI- ND

Korak 2: Mikrokontroler ATtiny84

ATtiny84 Mikrokontroler
ATtiny84 Mikrokontroler

Mnogi projekti koriste ili ATtiny2313 20-pinski ili ATtiny85 8-pinski mikrokontroler. Otkrio sam da je ATtiny2313 prevelik (za kućište), a ATtiny85 premali (nema dovoljno memorije, nema dovoljno izlaznih pinova). ATtiny84 je taman:-) ATtiny84 ima 8K programabilne flash memorije (dovoljno za držanje puno malih programa), 512K EEPROM-a (za pohranu stanja između upotreba), do 12 izlaznih pinova (za 9 LED dioda, 2 kanala audio izlaza i prekidača s tipkama), i puno drugih dobrota koje se ne koriste u ovom projektu. Ako planirate dodavanje programa, nabavite kopiju podatkovne tablice ATtiny84. Na internetu postoji mnogo vodiča za učenje programiranja ove porodice mikrokontrolera. Za koristan pregled mikrokontrolera pogledajte Kako odabrati mikrokontroler. Napomena: Ovdje opisani projekt zapravo nema potpuno omogućen MiniMenorah. MM zahtijeva devet izlaznih pinova, Brain Machine dva i dugme za promjenu stanja jedan, za ukupno dvanaest. Iako se ATtiny84 može konfigurirati tako da ima dvanaest izlaznih pinova, to ide na teret RESET pina. Onemogućavanje RESET pina i pretvaranje u I/O čini ATtiny84 nemogućim za programiranje pomoću USBtinyISP programatora (koji to nije učinio:-) i zahtijeva programiranje visokog napona. Sve je na mjestu za omogućavanje MM -a, ali potreban je drugi programer, a ja ga nemam.

Korak 3: Alati za programiranje AVR -a

Alati za programiranje AVR -a
Alati za programiranje AVR -a
Alati za programiranje AVR -a
Alati za programiranje AVR -a

Za programiranje AVR mikrokontrolera potrebno je dosta komponenti, i hardverskih i softverskih. Ispod su alati koje koristim. Mnogi, mnogi drugi postoje u istom rasponu cijena - besplatno do jeftino. Pronađite set koji vam odgovara i držite ga se. Još bolje, pronađite prijatelja koji je razradio sistem i koristite njegove alate. Ništa nije posebno teško ako sve ide kako je reklamirano, ali zajedničko djelovanje svih alata može biti pravi izazov. Programiranje moje kolijevke zasnovano na programskom okruženju Ghetto. Dugi nožici držača čipsa za omotavanje žice protežu se do matične ploče i omogućuju zgodno eksperimentalno postavljanje. Jedini problem s kojim sam se susreo je da se komponente iz programskih pinova ne mogu uzemljiti tokom programiranja. Za rješavanje ovog problema poduzeo sam dva pristupa. Prvi je da ima dva držača čipova, jedan za programiranje i jedan za trčanje (vidi 8-pinsko postolje). Ovo nije idealno jer čini veliku ploču neupotrebljivom i prilično je neugodno premještati čip. Drugi je instaliranje malog prekidača za odvajanje uzemljenja od uzemljenja matične ploče tijekom programiranja. Ovo radi bolje i ostavlja više prostora na ploči za komponente. ProgramerUSBtinyISP komplet iz Adafruit Industries. Uz male izmjene (uklonite 10-polni kabel i savijte LED diode), programator se uklapa u kalaj za gume Altoids. 6-pinski kabel se čak može umotati u lim za skladištenje. SoftverWinAVR je zbirka alata za razvoj softvera otvorenog koda za programiranje AVR mikrokontrolera na Windows mašinama. Odlično radi s programatorom USBtinyISP (pogledajte AVR vodič). Nedavno sam prešao s programatora Notepad Notepad koja dolazi u paketu s WinAVR -om na korištenje Eclipse s AVR Eclipse dodatkom. Eclipse može koristiti avrdude, pa ćete svejedno morati instalirati WinAVR. Eclipse ima bolje upravljanje projektima, korisne vodiče i besplatan je. Bilo je potrebno samo nekoliko minuta da ga instalirate, radite kroz vodič i programirate čip. Telefonirajte prijatelju Na internetu postoji mnogo resursa. Potražite ih, tražite pomoć. Ljudi mogu biti upućeni i od pomoći. To je lijepo:-) Oni također mogu odbaciti. To nije lepo:-(

Korak 4: Programiranje mikrokontrolera

Programiranje mikrokontrolera
Programiranje mikrokontrolera

C kod Ne kritikujte ono što ne razumem. Ja nisam programer, C nije moj maternji jezik i držim se koncem tankim u Java-i i puno pretraživanja weba dok radim u C. Iako je veliki dio koda došao iz drugih projekata (pogledajte kredite), Morao sam napraviti neke dopune i izmjene. Izvorni kôd za švicarski AVR nož je priložen ispod i kao c izvorna datoteka i kao heksadecimalna datoteka. Bio bih zahvalan da čujem gdje bi se kod mogao poboljšati. Očekujem da ću napraviti nekoliko promjena u kodu. Predstoje ažuriranja. U međuvremenu, kôd radi kako se oglašava. Osigurači Osigurači mikrokontrolera su zbunjujući. Onemogućio sam nekoliko mikrokontrolera i slučajnim namještanjem da traže vanjski oscilator i onemogućavanjem RESET pina. Mogu se oporaviti, ali do tada su samo mrtve bube. Budite oprezni ako odlučite promijeniti osigurače. Za izračun ispravnih vrijednosti osigurača upotrijebite mrežni kalkulator osigurača. Odaberite ciljni dio (ATtiny84) i odgovarajuće postavke - unutrašnji RC oscilator koji radi na 8MHz (zadana vrijednost), NE dijelite sat sa 8 interno, omogućite preuzimanje serijskog programa i onemogućite otkrivanje smeđeg tona. Rezultat bi trebao biti sljedeći. -U l osigurač: w: 0xe2: m -U hfuse: w: 0xdf: m -U efuse: w: 0xff: m (nisko 0xE2 visoko 0xDF ext 0xFF). Osigurače morate zapaliti samo jednom (osim ako ih ne namjeravate promijeniti). Eclipse to čini jednostavnim, kao što, siguran sam, rade i drugi IDE -i. Pitanja na koja bih želio odgovoriti Bilo koje ideje o optimizaciji koda Zašto trepćuća svjetla u mašini za zvuk i svjetlo uzrokuju oscilacije tona kada su omogućene u limu, ali ne na osnovnoj ploči? Zašto Eclipse ne voli funkcije lightOn i lightOff, iako izgleda da rade?

Korak 5: Utvrđivanje projekta

Breadboarding projekta
Breadboarding projekta
Breadboarding projekta
Breadboarding projekta

Budući da veliki dio posla ovog projekta obavlja mikrokontroler, postoji vrlo malo vanjskih dijelova. Nakon što provjerite jesu li vaš programer i lanac alata u redu, bilo bi dobro da zamislite krug i provjerite radi li sve kako se oglašava. Slike u nastavku predstavljaju pogrešne verzije stvarne ploče koju sam postavio. Koristio sam LED diode u modelu i izvadio postolje i čip za korištenje na nekoliko fotografija. Cjelokupno ožičenje u osnovi povezuje aktivne pinove na nekoliko dijelova, a zatim na uzemljenje. Napomena: Redoslijed pinova i LED dioda nije isti na matičnoj ploči i na tiskanoj ploči (iako pretpostavljam da biste ih mogli učiniti istim). U kodu ćete vidjeti komade koda koje je potrebno omogućiti ili komentirati, ovisno o tome je li cilj matična ploča ili PCB.

Korak 6: Priprema kalaja za gume Altoids

Slike na putu Izravnajte dno. Dno lima se savija prema gore i prema unutra. Potrebno ga je spljoštiti tako da baterija i ploča spoje i sjednu ravnomjerno. Pazeći da ne iskrivite lim, gurnite dno prema van dok ne postane ravno. Limu su potrebna tri kompleta rupa. Koristim metalni bušač za označavanje lokacija rupa i brad point bitove (za drvo) za bušenje rupa. Brad bitovi imaju središnju tačku i dve rezne ivice. Neće klizati, a rubovi polako probijaju metal. Brad bitovi dostupni su iz Lee Valley -a (između ostalog). Prvi je set od devet rupa od 5 mm na vrhu kalupa za LED diode. Dostupni su metrički brad point bitovi koji prave čiste i uske rupe za LED diode. Napravite papirni predložak s označenim rupama i prenesite oznake na vrh kalupa. Kako biste spriječili guranje vrha lima, pri probijanju i bušenju vrha naslonite unutrašnji dio poklopca na mali drveni blok. Sa papirom i drvom na mjestu, probušim lim probijačem. Prilikom bušenja u početku idite polako. Rezne ivice brad točaka trebaju činiti ravan krug. Bušenje sa svrdlom bilo šta osim okomito na površinu može rezultirati hvatanjem i kidanjem metala. Bridž od 5 mm čini lijepu čistu rupu, ali otkrio sam da sam je morao tako malo proširiti. To sam učinio bušenjem iznutra običnim nastavkom od 13/64 ". Drugi set se sastoji od dvije rupe od 1/4" na desnoj strani lima za prekidač i audio priključak. Zbog uske zakrivljenosti na kraju lima, ove rupe moraju biti prilično blizu. Pazite da ih postavite tako da komponente stanu u lim. Centrirajte ih okomito na dio strane vidljiv kada je poklopac zatvoren. Označite udarcem i pažljivo bušite. Oprez oko toga da bitovi hvataju lim jače se primjenjuje na veće bitove. Posljednja rupa je za prekidač s tipkom. Postavite rupu prema donjem desnom kutu tako da dugme ne ometa ostale komponente u limu.

Korak 7: Dizajniranje i izrada PCB -a

Dizajniranje i izrada PCB -a
Dizajniranje i izrada PCB -a
Dizajniranje i izrada PCB -a
Dizajniranje i izrada PCB -a
Dizajniranje i izrada PCB -a
Dizajniranje i izrada PCB -a

Na internetu postoje brojni izvori koji opisuju proces stvaranja PCB -a. Nijedna od metoda nije sigurna ili laka, ali važno je upoznati se s barem jednom. Koristim besplatnu verziju EAGLE Layout Editor -a iz CadSoft -a za kreiranje sheme i raspored štampane ploče. Moj pristup proizvodnji PCB -a opisan je u koraku Izrada i priprema PCB -a za Altoids limene zvučnike. Nakon prijenosa, nagrizanja i bušenja ploče spremni ste za lemljenje sve zajedno. Napomena Moje najnovije iskustvo za prijenos slika na ploče su sljedeće. Operite dasku sapunom za suđe i operite je zelenom krpom. Lagano izbrusite sve neravnine s rubova ploče tako da prijenosni papir i glačalo dobro kontaktiraju ploču. Zagrijte peglu. Stavite komad papira na dasku i zagrijte ploču peglom. Nakon što se ploča dosta zagrije, pažljivo stavite pripremljeni papir za prijenos na ploču. Odmah će se zalijepiti (jer je ploča vruća) pa provjerite je li pravilno postavljena. Zatim glačajte izravno na sjajnoj poleđini prijenosnog papira. Ovo mi nikada nije stvaralo probleme, ali koristite svoje glačalo. Prvo testirajte. Ostavite ploču da se ohladi, a zatim je stavite pod hladnu vodu. Transfer papir bi trebao iskočiti i ostaviti cijelu sliku. Upotrijebite 8x slajd/negativni preglednik kako biste pregledali prijenos i popunili sve dijelove koji nedostaju. Sretno.

Korak 8: Lemljenje dijelova na PCB

Lemni dijelovi na PCB
Lemni dijelovi na PCB
Lemni dijelovi na PCB
Lemni dijelovi na PCB
Lemni dijelovi na PCB
Lemni dijelovi na PCB

Na Internetu postoje brojni izvori koji opisuju postupak lemljenja elektroničkih komponenti na tiskane ploče. Pogledajte, na primjer, vodič za lemljenje na ladyada.net. Redoslijed u kojem instalirate komponente nije bitan, iako sam otkrio da je najlakši rad od najmanjeg do najvećeg. LED/blinkajuće žice su dovoljno dugačke da ih možete oblikovati u uzorak poput limuna u limu. Pažljivo postavite LED diode i savijte elektrode tako da vrh svake LED diode bude postavljen tako da proviri kroz odgovarajuću rupu. Ovo može biti izazov, ali izgleda jako lijepo kad konačno uspije. Ako su vodiči ostavljeni predugo, LED diode mogu biti zgnječene i van položaja poklopcem limenke. Napomena: Krajnja desna LED dioda nije u istoj orijentaciji kao ostalih osam. Prilikom instaliranja provjerite polaritet LED dioda u odnosu na izgled ploče. Ova LED dioda je priključena na RESET pin, pa možete izabrati da je ne instalirate. Napomena: Žice na audio priključku i otpornici dijele rupu. Radi praktičnosti, postavite otpornike uspravno tako da tijelo otpornika ne bude iznad rupe sa audio žicom. Ili pripremite i instalirajte audio priključak u ovom trenutku ili pričekajte da bude spreman za lemljenje u otpornike. Kasnije odlemiti otpornike nije zabavno.

Korak 9: Blinkenlights

Blinkenlights
Blinkenlights

LED diode moraju biti zaštićene otpornicima. Odredite pad napona i trenutne zahtjeve vaših LED dioda i izračunajte odgovarajuće otpornike pretpostavljajući izvor 5V iz čipa. Postoje lako dostupni online kalkulatori za to. Napravite sebi gomilu blinkera. Kad ih izrađujete za ovaj projekt, odrežite katodu (negativni/kratki vodič LED sa spljoštene strane) i lemite otpornik vrlo blizu leće LED diode. LED diode u limu oblikuju oblik menore. Čak i kad otpornik skoro dodiruje leću, poklopac lima će najkraće LED diodu u sredini lagano zgnječiti. Da biste spriječili nastanak kratkih spojeva u tijesnim okvirima lima, pokrijte svaki otpornik komadom cijevi za hlađenje.

Korak 10: Priprema držača baterije

Priprema držača baterije
Priprema držača baterije

Gurnite male komade termoskupljajuće cijevi duž oba kraja držača baterije. Pažljivo ih gurnite u otvore držača i skupite na mjesto. Oni pružaju određeni stupanj zaštite žicama. (Ovo uputstvo je duplicirano na stranici Priprema preklopnog prekidača.) Crnu žicu izrežite na dužinu i lemite u odgovarajuću rupu na PCB -u. Crvena žica je lemljena direktno na prekidač; pogledajte upute na toj stranici o tome kako nastaviti. U prošlim projektima sam odrezao pričvrsne jezičke s držača baterije. Nakon što sam to učinio na prototipu, sada žalim. Baterija ne želi čvrsto ostati na svom mjestu. Ostavite jezičke da se pokrenu i uklonite ih samo ako imate problema s vađenjem baterije. Uprkos ovome, slika prikazuje držač baterije sa odsečenim jezičcima. To je zato što sam ga izvukao iz drugog projekta.

Korak 11: Priprema preklopnog prekidača

Priprema preklopnog prekidača
Priprema preklopnog prekidača

Ovisno o prekidaču, možda ćete morati otkinuti jedan od pinova. To činim pomoću prekidača koje koristim, iako to možda nije sasvim potrebno. Gurnite mali komad termoskupljajuće cijevi duž crvenog kabla držača baterije. Pažljivo ga gurnite u otvor držača i skupite na mjesto. Pruža određeni stupanj zaštite za žicu. (Ovo uputstvo duplicira upute u Pripremi držača baterije.) Gurnite još jedan mali komad cijevi hladnjaka na crvenu žicu. Odrežite i ogolite žicu po dužini i nanesite malo lema na iglu na prekidaču i na kraj žice. Lemite crveni provodnik iz držača baterije direktno na spoljni pin prekidača. Gurnite komad cijevi hladnjaka preko spoja kako biste ga zaštitili i ojačali. Druga žica ide od srednjeg pina prekidača do PCB -a. Lemite žicu na prekidač kao što je gore opisano. Spoj zaštitite cijevima za hlađenje. Drugi kraj lemite u odgovarajuću rupu na PCB -u.

Korak 12: Priprema audio priključka

Priprema audio priključka
Priprema audio priključka
Priprema audio priključka
Priprema audio priključka
Priprema audio priključka
Priprema audio priključka

Sve žice do audio priključka su prilično kratke. Nanesite malo lemljenja na igle na utičnici i žici, a zatim ih lemite na mjesto. Klizite komade cijevi za hlađenje preko spojeva kako biste ih zaštitili i ojačali. Žica za uzemljenje može se lemiti direktno u rupu. Svaki od krajeva signalnih žica dijeli rupu s jednim krajem otpornika. Pripremite žicu i otpornik tako što ćete zavrnuti krajeve i nanijeti malo lema. Rupu u koju oni ulaze treba izbušiti na 3/64 kako bi se prilagodile dvije žice. Lemite na mjesto.

Korak 13: Priprema prekidača sa tipkama

Priprema prekidača sa tipkama
Priprema prekidača sa tipkama
Priprema prekidača sa tipkama
Priprema prekidača sa tipkama
Priprema prekidača sa tipkama
Priprema prekidača sa tipkama

Pripremite kratki komad čvrste žice tako da ga oblikujete u obliku slova U koji dobro pristaje preko dna prekidača. Nanesite mrlju lemljenja na obje strane rupe - ostavite prostor za prekidač - i postavite prekidač na mjesto. Rastopite lem i gurnite žicu na mjesto. Pustite da se lem stvrdne i ponovite s druge strane. Ovo bi trebalo postaviti i učvrstiti prekidač na mjestu. Pripremite dva komada namotane žice rezanjem po dužini i skidanjem oba kraja. Uvjerite se da su žice dovoljno dugačke da se poklopac limenke može potpuno otvoriti. Lemite na dvije odgovarajuće igle na prekidaču, a zatim gurnite komade cijevi za hlađenje preko spojeva kako biste ih zaštitili i ojačali. Lemite druge na krajeve u odgovarajuće rupe na ploči. Pažljivo provucite žice između LED dioda i pazite da ne sjednu na baterije. Raširio sam dva pina na prekidaču tako da je krajnji desni LED klizio između njih. Igle na prekidaču su VRLO krhke (ostale dve su se otkinule). Imajte na umu da je pin PA7 PCINT7 6 podešen da osluškuje promenu stanja. Pritiskom na prekidač prekidač povlači pin visoko i SIGNAL (PCINT0_vect) se izvršava. Na osnovu dužine pritiska na dugme, ili se ništa ne dešava (sirovo otkazivanje), stanje je napredno (kratak pritisak), ili je program napredan (dugi pritisak).

Korak 14: Zatvaranje poklopca

Zatvaranje poklopca
Zatvaranje poklopca

Ako je u ovom trenutku sve u redu, poželite zatvoriti lim. Pri tome morate biti vrlo oprezni u pogledu položaja LED dioda. Smatram da ih moram gurnuti u položaj tankim šrafcigerom kako bi bili pravilno postavljeni u rupe. Pritisnite malo prema dolje na poklopcu dok manevrirate LED diodama na mjestu i one će na kraju skliznuti na mjesto. Možda ćete morati postaviti žice tako da padaju između, a ne na komponente. Takođe, iglice prekidača na dugme moraju biti savijene.

Preporučuje se: