Sommario:

Tutorial Assembler AVR 8: 4 passaggi
Tutorial Assembler AVR 8: 4 passaggi

Video: Tutorial Assembler AVR 8: 4 passaggi

Video: Tutorial Assembler AVR 8: 4 passaggi
Video: AVR Ассемблер. Урок 4. АЦП. AVR Assembler. Lesson 4. ADC. 2024, Novembre
Anonim
Tutorial assemblatore AVR 8
Tutorial assemblatore AVR 8

Benvenuto nell'esercitazione 8!

In questo breve tutorial faremo un piccolo diversivo dall'introduzione di nuovi aspetti della programmazione in linguaggio assembly per mostrare come spostare i nostri componenti di prototipazione su un circuito "stampato" separato. Il motivo è che, a questo punto, la nostra breadboard di prototipazione principale è piena zeppa di così tanti chip, fili, pulsanti e LED che sta diventando difficile testare cose nuove e dal momento che alla fine dobbiamo comunque spostare i componenti sulle loro schede, tanto vale iniziare ora. Molti di voi probabilmente sono già esperti nelle cose che tratteremo in questo tutorial e quindi potete considerare questo tutorial semplicemente come una pausa rilassante dalla programmazione.

Quindi oggi sposteremo il nostro rullo di dadi ATmega328P e la coppia di dadi in dotazione su una scheda esterna con connessioni alla nostra scheda principale per la comunicazione con essa e per alimentarla. A parte questo, il cablaggio e il funzionamento dei dadi saranno autonomi all'interno di quel componente.

Probabilmente puoi prevedere da ciò che il nostro obiettivo finale è quello di farlo con ciascuno dei componenti che costruiamo lungo il percorso in modo che quando avremo finito possiamo nasconderli tutti in un pacchetto dall'aspetto gradevole che funzionerà premendo i pulsanti senza vedere tutto dei fili e delle lavorazioni interne.

Passeremo la maggior parte di questo tutorial a svolgere attività fisiche come la progettazione di un circuito, la mappatura di una scheda di prototipazione e la saldatura di elementi insieme, ma c'è un po' di programmazione che dobbiamo fare alla fine dopo aver spostato le cose. Il motivo è che alla fine utilizzeremo l'interfaccia seriale a 2 fili per comunicare tra il nostro controller principale "master" e tutti i controller "slave" che costituiscono i componenti del nostro progetto generale in questa serie di tutorial e, come ricorderete, nel Tutorial 6 abbiamo inventato una sorta di metodo di tipo Morse Code per comunicare i nostri lanci di dadi dal rullo di dadi (Tutorial 4) al Register Analyzer (Tutorial 5) che visualizzava il risultato del lancio di dadi in binario su 8 LED. Beh, quello era solo un metodo di comunicazione "roll your own" che ho deciso di usare perché, a quel tempo, era troppo presto per entrare nella comunicazione seriale a 2 fili. Ora siamo quasi pronti a tuffarci nella parte più profonda della comunicazione seriale, e lo faremo nel Tutorial 10, ma per ora dobbiamo anticipare lo sviluppo futuro e ricablare i nostri LED del rullo di dadi per liberare i due pin di cui abbiamo bisogno per la comunicazione seriale.

Questi sono i pin SCL e SDA sull'ATmega328P. Puoi vedere dal diagramma di pinout che sono anche chiamati ADC5 e ADC4 quando vengono utilizzati nelle conversioni Analog-to-Digital, vengono chiamati PCINT13 e PCINT12 quando vengono utilizzati come pin "Pin Change Interrupt" e infine generalmente li chiamiamo PC5 e PC4 quando semplicemente considerati come pin su PortC. Poiché abbiamo utilizzato questi due pin come parte del nostro rullo di dadi per vari motivi (il principale è che ha reso più semplice la codifica e il cablaggio ai LED sulla scheda) ora dovremo modificare il nostro codice e ricablarlo leggermente per liberare questi pin per comunicazioni future.

Quindi inizieremo con la progettazione, il taglio, il cablaggio e la saldatura. Quindi riscriveremo il rullo dei dadi per farlo funzionare con la nostra nuova configurazione e infine testeremo per assicurarci che funzioni ancora.

Per completare questo tutorial avrai bisogno dei seguenti elementi:

  1. Le cose standard di cui hai sempre bisogno e che smetterò di ripetere tutto il tempo: la tua scheda di prototipazione, la tua copia del foglio dati e il set di istruzioni e il tuo cervello.
  2. Una scheda PCB per la prototipazione di circuiti wireless come questa: https://www.ebay.com/itm/191416297627 Userò la versione Measure Explorer 103RAWD di questa scheda: https://www.ebay.com/itm/103RAT -circuit-proto-proto… dato che ne ho un sacco a portata di mano, ma anche la versione 103RAW-0 a cui collego sopra funzionerà bene.
  3. Clippers, fili, saldature, saldatori, "mani che aiutano" o qualsiasi altra cosa per tenere le cose, ecc. ecc. ecc. di nuovo, da qui in poi smetterò di elencare anche questa roba. Se sei arrivato così lontano in questi tutorial, probabilmente hai già tutte queste cose.

Ecco un link alla raccolta completa dei miei tutorial sull'assemblatore AVR:

Passaggio 1: progettare uno schema elettrico

Progettare uno schema elettrico
Progettare uno schema elettrico
Progettare uno schema elettrico
Progettare uno schema elettrico
Progettare uno schema elettrico
Progettare uno schema elettrico

La cosa bella delle schede Measure Explorer è che se ti prendi del tempo e pianifichi le cose all'inizio puoi risparmiarti un sacco di cavi alla fine. Quindi inizieremo prendendoci del tempo per progettare il nostro layout prima di iniziare a saldare qualsiasi cosa. Con questo tipo di scheda, devi tagliare un mucchio di cavi di collegamento, il che non è così facile, ma il risultato è una scheda compatta molto bella con un minimo disordine di cavi aggrovigliati. La prima cosa che dobbiamo fare è progettare il nostro circuito in modo che si adatti alla scheda. Un bel modo per farlo è scaricare la mappa del tabellone e poi usarla per giocare con diversi design finché non ne trovi uno che funzioni. Ecco il layout per il ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp

Passaggio 2: tagliare il circuito sulla scheda

Taglia il circuito sulla scheda
Taglia il circuito sulla scheda
Taglia il circuito sulla scheda
Taglia il circuito sulla scheda
Taglia il circuito sulla scheda
Taglia il circuito sulla scheda

Per prima cosa prendi un pennarello e, usando il layout che hai tracciato nel passaggio precedente, disegna il tuo circuito sulla lavagna. Cioè. tracciare linee per rappresentare i fili. Non disegnare nulla in termini di componenti, solo i fili di collegamento come mostrato nella prima immagine. Nota che quando sbagli (e se sei come me sbaglierai molte volte in questi passaggi) puoi usare una gomma e cancellare la linea. Fallo per entrambi i lati della tavola.

Successivamente è necessario tagliare le connessioni attorno alle linee. Se osservi attentamente la scheda vedrai che ogni foro del perno è collegato ai 4 adiacenti su entrambi i lati della scheda in modo che tutti i fori sulla scheda siano collegati tra loro quando inizi. Quindi devi tagliare lungo entrambi i lati di ciascuno dei tuoi fili per isolarli. Il modo più comune per eseguire questo taglio è con un coltello Exacto. Ma faccio schifo con i coltelli Exacto e probabilmente mi taglierei. Quindi uso un Dremel con un attrezzo da taglio sottile. Vorrei avere un qualche tipo di accessorio per la molatura che arrivasse a una punta affilata poiché avrebbe funzionato meglio, ma non ne ho uno del genere, quindi ho usato l'accessorio per sega da taglio. (Nota aggiunta: dopo aver terminato questo progetto ho scoperto che le teste più piccole "rotella da taglio per impieghi gravosi" per Dremels funzionano meglio, sembrano piccoli cerchi di carta vetrata e funzionano come l'utensile da taglio mostrato qui tranne che hanno un diametro più piccolo e quindi è molto più facile vedere e controllare dove stai tagliando)

Lungo il percorso è utile tenere la scheda in controluce e assicurarsi che i fili siano effettivamente tagliati. Potresti essere infastidito dal fatto che ci sono connessioni su entrambi i lati della scheda, quindi devi ripetere di nuovo il processo di taglio con l'altro lato, ma penso che capirai il punto quando avrai finito. Ho fatto un sacco di errori tagliando fili che non avrebbero dovuto essere tagliati e avere l'altro lato ancora collegato risulta essere bello.

Ci vorrà un po' di tempo e pazienza per inserire il circuito nella scheda, ma è piuttosto divertente una volta che si diventa bravi.

Passaggio 3: saldare i componenti e testare

Saldare i componenti e testare
Saldare i componenti e testare
Saldare i componenti e testare
Saldare i componenti e testare
Saldare i componenti e testare
Saldare i componenti e testare

Ora che hai isolato tutti i fili della tua scheda, puoi iniziare a saldare i singoli componenti.

Ho prima saldato i LED per uno dei dadi, poi ho preso i cavi positivi e negativi dalla mia breadboard e ho testato le connessioni per ciascun LED per assicurarmi che fossero isolati l'uno dall'altro e che funzionassero.

Allo stesso modo con l'altro muore.

Quindi collegare il resistore a ciascun die e il resistore da 10K sul retro della scheda.

Quindi collegare l'oscillatore al cristallo, i cappucci 22pf, i pulsanti e l'ATmega328P. Potresti voler saldare uno zoccolo per chip e quindi inserire il tuo ATmega328P in esso in modo da poterlo rimuovere se lo desideri e riutilizzarlo in qualcos'altro. Ho appena saldato il mio chip alla scheda poiché so cosa stiamo costruendo alla fine con tutti questi tutorial e so che mi piacerà abbastanza da non voler togliere il chip.

Nota, guardando il retro del tabellone, il modo in cui abbiamo attaccato le intestazioni. Ho usato lunghi pin header e li ho piegati orizzontalmente in modo che non sporgessero dal tabellone. Questo è così che posso eventualmente coprire la scheda fino al livello dei pulsanti e dei LED con un contenitore e non avere intestazioni che si frappongono. Abbiamo un'intestazione per Tx, Rx in modo da poter programmare il chip, abbiamo un'intestazione per SDA, SCL in modo da poter utilizzare la comunicazione a 2 fili in seguito. e abbiamo un'intestazione a 3 pin per AVCC, AREF, GND sull'altro lato della scheda. Ho tutti i pin di terra e i pin VCC collegati insieme sul chip, quindi abbiamo bisogno solo di un ingresso di alimentazione.

Infine, una volta che tutto è cablato, colleghiamo il die 1 al die2 come abbiamo fatto sulla breadboard in modo da poter controllare entrambi i dadi con solo 9 pin.

Ora dobbiamo modificare il nostro codice in modo che controlli questa nuova configurazione.

Passaggio 4: codice di montaggio e video

Ho allegato il codice di montaggio e il video del rullo di dadi in funzione. Tutto quello che ho fatto è stato prendere il codice per il nostro rullo di dadi dal Tutorial 6, modificare i pin in modo che corrispondano al nuovo layout e rimuovere la subroutine di comunicazione poiché scriveremo una nuova nel Tutorial 10. La prossima volta sbloccheremo di nuovo la nostra tastiera e impareremo a controllare i display a 7 segmenti. Ci vediamo allora!

Consigliato: