Cuprins:

Mediul de dezvoltare a ghetoului: 5 pași
Mediul de dezvoltare a ghetoului: 5 pași

Video: Mediul de dezvoltare a ghetoului: 5 pași

Video: Mediul de dezvoltare a ghetoului: 5 pași
Video: Ghetoizarea lui Dumnezeu 2024, Iulie
Anonim
Ghetto Development Environment
Ghetto Development Environment

Cu ceva timp în urmă, am postat o metodă rapidă și murdară „el cheapo” de a începe să programez chips-urile din seria AVR Atmel: Ghetto Programmer (versiunea 1.0) De atunci, am modificat, am refăcut și altfel am îmbunătățit configurarea. Am crezut că ar fi frumos să o documentăm. Scopul a fost de a obține un mediu flexibil, compact, portabil, de utilizare oriunde, bazat pe prototipuri de microcontroler AVR. Deci, fără alte întrebări, iată Ghetto Development Environment (GDE) (versiunea 1.2).

Pasul 1: trusa

Trusa
Trusa

Kitul de bază conține următoarele elemente: Programator USB. Pentru că doriți să puteți programa microcontrolere de pe laptop oriunde. Și pentru că USB este o sursă foarte utilă de + 5v. Programarea leagănelor. Unul pentru fiecare tip de cip cu care joci. Pentru mine, asta înseamnă unul cu 8 pini (ATtiny13, 15), unul cu 20 pini (ATtiny 2313) și unul cu 28 pini (ATmega8). Blinkenlights. Când ceva nu este în regulă cu codul tău, nimic nu îl clarifică ca și cum ai băga lumini în diagnosticare. În plus, programul intermitent cu LED-uri este „Hello World” al microcontrolerelor. La urma urmei, este un kit de dezvoltare.

Pasul 2: Programatorul USB

Programatorul USB
Programatorul USB
Programatorul USB
Programatorul USB

În Ghetto Programmer (v.1.0) am folosit un programator de porturi paralele. Este minunat pentru că este simplu, ieftin și rapid. Dar laptopul meu nu are un port paralel, m-am jucat să fac programatori de port serial pentru un pic, dar sincer sunt la fel de complicate ca și versiunea USB și chiar și porturile seriale devin rare. Într-adevăr, laptopul meu are doar USB. Deci USB este. Privind în jur, programatorul USBTiny este destul de simplu și funcționează cu instrumentele gratuite GNU / AVR-GCC. Faceți-o singur sau cumpărați un kit? Modul DIY este bun dacă puteți deja să programați un ATTiny2313 (cu programator paralel) și să aveți un cristal de 12 MHz. USBTiny Page prezintă elementele de bază. El termină cablul de programare cu un port paralel, dar l-aș termina într-un antet standard cu 6 pini dacă aș începe din nou. (De ce? Pentru că este standard.) Iată pin-out-urile sale și verificați imaginea de mai jos pentru aspectul cablului. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSII Dacă îți faci propriile tale, te rog să înveți din experiența mea și să-l pui într-o cutie frumoasă de plastic. Dacă nu, va eșua în cele din urmă atunci când cristalul de 12 MHz se rupe. De aceea folosesc acum … Modul rapid și elegant este kitul USBtinyISP al Ladyada. Vă va aduce înapoi 22 USD, dar veți obține un PCB frumos, ATTiny2313 preprogramat și o cutie curată cu cabluri frumoase. Piesele brute sunt de aproximativ 15-16 USD oricum și nu trebuie să apelați Digikey și apoi să vă faceți griji cu privire la programarea propriului 2313. Durează 30 de minute - 1 oră pentru a le lipi toate împreună. A se răsfăța. Aveți încredere în mine. (Fără afiliere, client mulțumit) Și tocmai am văzut acest link: Tutorialul AVR al Ladyada, care mi se pare destul de bun. (Și rețineți că designul Ladyada și originalul USBTiny utilizează diferite coduri de identificare a produsului USB - va trebui să găsiți șirurile de identificare și să recompilați avrGCC dacă comutați între cele două. Cred că există instrucțiuni pe paginile web respective.)

În cazul în care vă aflați pe un sistem Linux Linux și utilizați programatorul USBTiny, iată comenzile care vor pune în funcțiune întregul lanț de instrumente: sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude (testat pe Hardy Heron) Dacă aveți un arc AMD64, este posibil să aveți nevoie de: byacc libusb-dev flex bison libc6-devand apoi pentru a compila AVRdude manual: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Patch necesar pentru AMD64: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 patch -p1 <avrdude-5.5.usbtiny.64bit.patch./configure make && make install sudo avrdude -p attiny2313 -c usbtiny ## to test) Dacă vedeți ceva de genul "avrdude: dispozitivul AVR inițializat și gata să accepte instrucțiunile" atunci tu ' s-a terminat. Da, și merită-i lui Wendel Oskay pentru diagrama pinouturilor standard ale programatorului.

Pasul 3: Cradle de programare

Cradle de programare
Cradle de programare
Cradle de programare
Cradle de programare
Cradle de programare
Cradle de programare

În Ghetto Programmer v.1.0 am folosit un suport de programare cu o intrare pin non-standard și cu pin-headere de sex feminin pentru a lipi lucrurile. Pinii non-standard sunt o idee proastă, deoarece nu veți putea să vă folosiți leagănul cu programatorul altcuiva și invers. Anteturile de sex feminin erau distractive, deoarece puteai conecta direct LED-urile la ele, dar când aș începe să fac ceva mai complex, aș termina oricum să-l conectez la o placă de măsurare. Cu noul leagăn, l-am tăiat pe intermediar. Mai puțină cablare manuală = mai bună. Dar cel mai mare avantaj al acestui design al suportului este că puteți conecta suportul aproape oriunde ați putea conecta cipul AVR. Acest lucru se dovedește a fi uriaș. În loc să proiectați circuite ISP în robotul dvs. sau orice altceva, pur și simplu lipiți acest lucru de leagăn în soclul IC. Apoi, puteți programa / reprograma creierul robotului dvs. în circuit. Când ați terminat dezvoltarea, conectați AVR-ul direct și începeți cu următorul. Realizarea leagănelor este suficient de ușoară - tot ce trebuie să faceți este să conectați pinii de la antetul cu 6 pini la locurile potrivite de pe jetoanele. De data aceasta, am folosit PCB-uri gravate. Puteți, la fel de bine, să conectați manual totul pe perfboard. Brățelul ATTiny13 / 15 este realizat cu o priză cu 8 pini. Iubesc acestea. Este ușor să introduceți cipul în orificiile sale rotunde drăguțe, iar picioarele lungi oferă o distanță suplimentară pe panou. Am făcut urmele PCB cu mâna liberă cu un Sharpie. Suportul ATTiny2313 a fost realizat cu Eagle și metoda de transfer a tonerului cu hârtie laser. Nu am putut găsi nicio priză cu 20 de pini, așa că a trebuit să apelez la o priză obișnuită cu 20 de pini lipită pe 2 anteturi cu 10 pini. Aceasta se termină cu un leagăn cu picioare mai scurte, dar funcționează. Schema și PDF-ul pe care le-am folosit pentru circuit sunt mai jos. Pe amândouă, a trebuit să trag manual o linie suplimentară. Așa este viața.

Pasul 4: Blinkenlights

Blinkenlights
Blinkenlights
Blinkenlights
Blinkenlights

Simplitatea în sine. Nu le-aș menționa deloc dacă nu ar fi atât de la îndemână.

Lipiți un rezistor (150-220 ohmi este o valoare bună.) Direct pe cablul negativ al unor LED-uri. Se va aprinde de la aproximativ 2v-6v fără a arde. Și rezistorul vă ajută să vă amintiți care este partea negativă. Lipiți-le oriunde doriți să știți că există electricitate. Aflați dacă tranzistorul este suflat. Transformați un acumulator nicad într-o lumină nocturnă de lungă durată. Utilizați o interfață de cod intermitent pentru a citi valorile din microprocesor (încet). Sau faceți 8 dintre ele și aveți un afișaj de un octet (plus ingredientul activ din ochii Cylon.) Faceți-le. Fă multe. Fă-le acum.

Pasul 5: sfârșitul

Sfârșitul
Sfârșitul

Deci, acest „sistem” îmi satisface aproape toate nevoile de dezvoltare. Este modular, scalabil, compact și portabil.

De exemplu, am elaborat rutinele pentru a rula mesaje de defilare pe afișajul de 4 cifre (pagina introductivă) pe avion în drumul spre nunta unui prieten. Face un bun spărgător de gheață cu însoțitoarele de zbor. Acest potențiometru -> ADC -> Configurarea amperimetrului bazat pe PWM a fost plăcută, codificată și depanată în întregime între canapeaua și masa de masă și se curăță în aproximativ 2 minute când vin prietenii. (Este partea de setare a timpului de alarmă din ceea ce va fi un ceas de contor.) Aduc setarea să funcționeze uneori când îmi vine să mă joc. Adăugați o pungă mică de bunătăți (niște condensatori și rezistențe, sârmă de conectare, tranzistoare, difuzor piezo, fotodioduri, microfoane, motoare mici etc.) și veți fi atât de departe în fața MacGuyver, nici măcar nu este amuzant.

Recomandat: