Innehållsförteckning:

AVR Assembler Tutorial 8: 4 Steg
AVR Assembler Tutorial 8: 4 Steg

Video: AVR Assembler Tutorial 8: 4 Steg

Video: AVR Assembler Tutorial 8: 4 Steg
Video: Аналогово-цифрофой преобразователь АЦП | Программирование микроконтроллеров AVR 2024, Juli
Anonim
AVR -monteringshandledning 8
AVR -monteringshandledning 8

Välkommen till självstudie 8!

I den här korta handledningen kommer vi att ta en liten avvikelse från att introducera nya aspekter av monteringsspråksprogrammering för att visa hur vi flyttar våra prototypkomponenter till ett separat "tryckt" kretskort. Anledningen är att vår huvudsakliga prototypbrödbräda för närvarande blir fullproppad med så många chips, trådar, knappar och lysdioder att det blir svårt att testa nya saker och eftersom vi så småningom måste flytta komponenterna till sina egna brädor ändå, vi kan lika gärna börja nu. Många av er är förmodligen redan skickliga på de saker som vi kommer att täcka i den här självstudien och så kan du se på denna självstudie som bara en avkopplande paus från kodning.

Så idag kommer vi att flytta vår tärningsrulle ATmega328P och det medföljande tärningsparet till ett externt kort med anslutningar till vårt huvudkort för kommunikation till den och för att driva den. Bortsett från det kommer tärningens ledningar och funktion att vara fristående inom den komponenten.

Du kan förmodligen utifrån detta förutse att vårt slutliga mål är att göra detta med var och en av komponenterna vi konstruerar längs vägen så att när vi är klara kan vi gömma bort dem alla i ett snyggt paket som fungerar via knapptryckningar utan att se alla av ledningarna och det interna arbetet.

Vi kommer att spendera det mesta av denna handledning för att göra fysiska uppgifter som att designa en krets, kartlägga en prototypplatta och löda ihop saker, men det är lite programmering vi måste göra i slutet efter att vi har flyttat saker. Anledningen är att vi så småningom kommer att använda det 2-trådiga seriella gränssnittet för att kommunicera mellan vår huvudsakliga "master" -kontroller och alla "slav" -kontroller som utgör komponenterna i vårt övergripande projekt i den här serien av självstudier och, som du minns, uppfann vi i självstudie 6 ett slags Morse Code -metod för att kommunicera våra tärningskastar från tärningsrullen (självstudie 4) till registeranalysatorn (självstudie 5) som visade resultatet av tärningskastningen i binär på 8 lysdioder. Det var bara en "rulla din egen" kommunikationsmetod som jag bestämde mig för att använda eftersom det vid den tiden var för tidigt att komma in i 2-trådars seriell kommunikation. Vi är nu nästan beredda att dyka in i den djupa änden av seriell kommunikation, och vi kommer att göra det i självstudie 10, men för närvarande måste vi förutse den framtida utvecklingen och dra om våra tärningsvals-lysdioder för att frigöra de två stift som vi behöver för den seriella kommunikationen.

Dessa är SCL- och SDA -stiften på ATmega328P. Du kan se på pinout-diagrammet att de också kallas ADC5 och ADC4 när de används i analog-till-digital-omvandlingar, de kallas PCINT13 och PCINT12 när de används som "Pin Change Interrupt" -nålar, och slutligen kallar vi dem vanligtvis PC5 och PC4 helt enkelt betraktas som stift på PortC. Eftersom vi använde dessa två stift som en del av vår tärningsrulle av olika anledningar (de viktigaste är att det gjorde kodning enklare och ledningar till lysdioderna på brädet enklare) kommer vi nu att behöva ändra vår kod och leda om den något till frigör dessa pins för framtida kommunikation.

Så vi börjar med att designa, klippa, kabla och lödda. Sedan skriver vi om tärningsrullen för att arbeta med vår nya uppsättning och slutligen testar den för att se till att den fortfarande fungerar.

För att slutföra denna handledning behöver du följande saker:

  1. De vanliga sakerna du alltid behöver som jag kommer att sluta upprepa hela tiden: din prototypkort, din kopia av databladet och instruktionsuppsättningen och dina hjärnor.
  2. En prototyp av ett kretskort för trådlösa kretsar som den här: https://www.ebay.com/itm/191416297627 Jag ska använda Measure Explorer 103RAWD -versionen av detta kort: https://www.ebay.com/itm/103RAT -circuit-proto-proto … eftersom jag har ett gäng med dem till hands, men 103RAW-0-versionen som jag länkar till ovan fungerar också bra.
  3. Klippare, trådar, löd, lödkolv, "hjälpande händer" eller vad som helst för att hålla grejer, etc. etc. etc. igen, härifrån ska jag sluta lista dessa saker också. Om du faktiskt har kommit så här långt i dessa självstudier har du förmodligen allt detta redan.

Här är en länk till den kompletta samlingen av mina AVR-monteringsstudier:

Steg 1: Utforma ett kopplingsschema

Utforma ett kopplingsschema
Utforma ett kopplingsschema
Utforma ett kopplingsschema
Utforma ett kopplingsschema
Utforma ett kopplingsschema
Utforma ett kopplingsschema

Det häftiga med Measure Explorer -brädorna är att om du tar lite tid och kartlägger saker i början kan du spara dig en hel del kablar i slutet. Så vi börjar med att ta lite tid att designa vår layout innan vi börjar löda något. Med denna typ av bräda måste du klippa ett gäng anslutningstrådar, vilket inte är så enkelt, men resultatet är en mycket fin kompakt bräda med en minimal röra av trassliga trådar. Det första vi behöver göra är att designa våra krets så att den passar på tavlan. Ett bra sätt att göra detta är att ladda ner kartan över brädet och sedan använda den för att leka med olika mönster tills du hittar en som fungerar. Här är layouten för ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp

Steg 2: Klipp ut kretsen på brädet

Klipp ut kretsen på brädet
Klipp ut kretsen på brädet
Klipp ut kretsen på brädet
Klipp ut kretsen på brädet
Klipp ut kretsen på brädet
Klipp ut kretsen på brädet

Ta först en skärpa och dra din krets på tavlan med hjälp av din layout som du kartlade i föregående steg. D.v.s. dra linjer för att representera trådarna. Rita inte någonting när det gäller komponenter, bara anslutningskablarna som visas på den första bilden. Lägg märke till att när du skruvar upp (och om du är något som jag kommer du att skruva upp saker många gånger i dessa steg) kan du använda ett suddgummi och radera linjen. Gör detta för båda sidor av brädet.

Därefter måste du klippa förbindelserna runt linjerna. Om du tittar noga på brädet ser du att varje stifthål är anslutet till de fyra intilliggande på båda sidor av brädet så att alla hål på brädet är anslutna till varandra när du börjar. Så du måste klippa längs båda sidor av var och en av dina trådar för att isolera dem. Det vanligaste sättet att göra denna skärning är med en Exacto -kniv. Men jag suger på Exacto -knivar och skulle nog klippa mig. Så jag använder en Dremel med en tunn skärverktygsfäste. Jag önskar att jag hade någon form av slipfäste som kom till en skarp punkt eftersom det skulle fungera bäst - men jag har inte en sådan så jag använde skärsågfästet. det är mycket lättare att se och kontrollera var du skär)

Längs vägen är det användbart att hålla brädan uppe mot ljuset och se till att trådarna faktiskt är avskurna. Du kan bli irriterad över att det finns anslutningar på båda sidor av brädet så att du måste upprepa skärprocessen igen med den andra sidan, men jag tror att du kommer att se poängen med detta när du är klar. Jag gjorde många misstag när jag klippte ledningar som inte skulle ha klippts och att den andra sidan fortfarande är ansluten visar sig vara trevligt.

Det kommer att ta ganska mycket tid och tålamod att klippa in kretsen i brädet, men det är lite roligt när du väl är bra på det.

Steg 3: Löd komponenterna och testa

Löd komponenterna och testa
Löd komponenterna och testa
Löd komponenterna och testa
Löd komponenterna och testa
Löd komponenterna och testa
Löd komponenterna och testa

Nu när du har isolerat alla ledningar i kretskortet kan du börja lödda på de enskilda komponenterna.

Jag lödde först på lysdioderna för en av tärningarna, sedan tog jag positiva och negativa ledningar från min brödbräda och testade anslutningarna för varje LED för att se till att de är isolerade från varandra och att de fungerar.

På samma sätt med den andra döden.

Dra sedan motståndet till varje munstycke och 10K -motståndet på baksidan av brädet.

Fäst sedan kristalloscillatorn, 22pf -lock, tryckknappar och ATmega328P. Du kanske vill löda ett chip -uttag och sedan passa in din ATmega328P i det så att du kan ta bort det om du vill och återanvända det i något annat. Jag lödde precis mitt chip till brädet eftersom jag vet vad vi så småningom bygger med alla dessa självstudier och jag vet att jag kommer att gilla det tillräckligt för att jag inte vill ta ut chipet.

Lägg märke till hur vi fäst rubrikerna genom att titta på baksidan av brädet. Jag använde långa stifthuvuden och böjde dem horozontala så att de inte sticker upp ur brädet. Detta är så att jag så småningom kan täcka brädet till nivån på tryckknapparna och lysdioderna med en behållare och inte få rubriker att komma i vägen. Vi har en header för Tx, Rx så att vi kan programmera chipet, vi har en header för SDA, SCL så att vi kan använda 2-trådskommunikation senare. och vi har en 3 -stifts rubrik för AVCC, AREF, GND på andra sidan brädet. Jag har alla jordpinnar och VCC -stift kopplade ihop på chipet så vi behöver bara en effektingång.

Slutligen, när allt är trådbundet, trådar vi dör 1 till die2 så som vi gjorde på brödbrädan så att vi kan styra båda tärningarna med bara 9 stift.

Nu måste vi ändra vår kod så att den kommer att styra denna nya installation.

Steg 4: Monteringskod och video

Jag har bifogat monteringskoden och videon av tärningsrullen i drift. Allt jag gjorde var att ta koden för vår tärningsrulle från självstudie 6, ändra stiften för att matcha den nya layouten och ta bort kommunikationssubrutinen eftersom vi kommer att skriva en ny i självstudie 10. Nästa gång kommer vi att bryta ut vår knappsats igen och lära oss att styra 7-segment displayer. Vi ses då!

Rekommenderad: