ATtiny85‎ > ‎

Vývojová doska pre ATtiny85

Tu bude popísaný vývoj pre ATtiny85. ATtiny85 je lacnou alternatívou pre Arduino. Má síce len 8k FLASH, ale to na bežnú potrebu stačí. Doska slúži na pohodlné testovanie mikrokontroléra.
  • Kombinované napájanie - Doska sa vie počas vývoja napájať priamo cez prepojený ISP programátor, alebo je ju možné pripojiť cez niekoľko pinov na odlamovacej lište.
  • Reset - Jeho stlačením sa začne program odznovu.
  • LED diódy - Počas ladenia je pohodlné mať prepojené diódy spolu s rezistormi, aby nebolo potrebné sa zapodievať ich prepájaním. Diódy sú na doske ako signalizácia a pod nimi je odlamovacia lišta, kde sa len pripája výstup z mikrokontroléra.
  • Tlačidlá - Univerzálne tlačidlá, ktorými sa dá nastaviť aj pull-up aj pull-down režim.
  • Potenciometre - Pre potreby ladenia ADC a analógových komparátorov.
Z popisu je jasné, že na doske sú presne tie veci, ktoré musíte stále prepájať na bezkontaktnom poli. Všetky tieto činnosti doska odstraňuje a pomocou vodičov prepájate iba vstupy a výstupy medzi sebou.
So zapojenou doskou sa potom pracuje tak, že ju máte k počítaču prepojenú cez ISP programátor, na obrazovke máte klasické IDE z Arduina, kde je nastavené programovanie cez ISP a mikrokontrolér je ATtiny85. Na doska máte vodičmi prepojené to čo potrebujete.

https://sites.google.com/site/arduinoslovakia/attiny85/vyvojova-doska-pre-attiny85/attiny85_developmentboard.jpg

Napájanie

Na doske sú tri miesta, ktoré umožňujú napájanie:
  • ISP konektor - Slúži na pripojenie USBasp. Na šesťpinovom konektore je +5 V aj GND. USBasp je pripojený k počítaču cez USB a odtiaľ je napájaná aj doska. Toto je primárne napájanie počas vývoja na doske.
  • VCC/GND - Na doske sa nachádzajú dve trojpinové odlamovacie lišty. Sem je možné pripojiť +5 a GND z ľubovoľného zdroja.
  • Priame pripojenie na piny - Každý pin je prístupný aj priamo cez odlamovaciu lištu, takže je to možné pripojiť aj priamo tam.

LED diódy

Na doske je 5 LED diód, prepojených 1k rezistorom na GND. To umožňuje prepojiť konektorom ľubovoľný pin z ATtiny85 na výstup. Digitálna jednotka na výstupe rozsvieti LED diódu. Rezistory zabezpečia, že z pinu sa odoberá iba niekoľko mA.

Tlačidlá

Na doske sú dve tlačidlá. Sú zapojené tak, aby bolo možné ľahko nastaviť aj pull-up, aj pull-down režim:
  • Odlamovacia lišta 1 - Ak sa sem pripojí +5 V, máme pull-up zapojenie, ktoré v nestlačenom stave dáva na vstupe logickú jednotku. Ak sa sem pripojí GND, máme pull-down zapojenie, ktoré v nestlačenom stave dáva na vstupe logickú nulu.
  • Rezistor 10k - Zabezpečuje zodvihnutie napätia na +5 V, alebo GND.
  • Odlamovacia lišta - Na tomto mieste je možné prepojiť pin mikrokontroléra, ktorý potom na vstupe vidí alebo logickú nulu, alebo jednotku.
  • Mikrospínač - Po jeho stlačení sa prepojí dráha 1-2 a na vstupe mikrokontroléra sa obráti logická hodnota.
  • Odlamovacia lišta 2 - Sem sa pripojí GND alebo 5 V. Musí to byť presne naopak ako na lište 1.

Potenciometre

[doplniť popis potenciometrov]

Schéma zapojenia

[doplniť Kicad schému]

Príklady použitia

Konkrétne príklady, ako dosku použiť.

Test všetkých výstupov

Na tomto príklade si ukážeme elementárne zapojenie. Všetkých päť výstupov prepojíme na LED diódy a budeme s nimi blikať. Diódy budú zapojené sprava doľava. Ak si neviete zapamätať poradie pinov, tak si všimnite, že sú na vývodoch zoradené proti smeru hodinových ručičiek.
  • Prepojte PB0 a LED1.
  • Prepojte PB1 a LED2.
  • Prepojte PB2 a LED3.
  • Prepojte PB3 a LED4.
  • Prepojte PB4 a LED5.
  • V IDE otvorte program Blink85all.ino a nahrajte ho cez USBasp do dosky.
Ak sa to podarilo, tak sa budú postupne zapínať jednotlivé LED približne v sekundových intervaloch.

Simulovanie vstupu logickej jednotky

Logickú jednotku na vstupe ľahko nasimulujete pomocou tlačidla. Treba len zabezpečiť, že pri vypnutom tlačidle je na vstupe nula a pri zapnutom jednotka. Preto potrebujeme zapnúť tlačidlo ako pull-down. Aby bolo v programe aj niečo vidno, na PB0 budeme zobrazovať výsledok. Ak bude na PB1 jednotka, bude výstup svietiť.
  • Prepojte +5V a odlamovaciu lištu, ktorá je naľavo dole od tlačidiel.
  • Prepojte GND a odlamovaciu lištu, ktorá je naľavo hore od tlačidiel (za rezistormi).
  • Prepojte PB1 a odlamovaciu lištu v strede pri ľubovoľnom tlačidle.
  • Prepojte PB0 a LED1.
  • [doplniť program]
Ak sa to podarilo, bude po stlačení tlačidla prvá LED svietiť, ináč bude vypnutá.

Simulovanie vstupu logickej nuly

Logickú nulu na vstupe ľahko nasimulujete pomocou tlačidla. Treba len zabezpečiť, že pri vypnutom tlačidle je na vstupe jednotka a pri zapnutom nula. Preto potrebujeme zapnúť tlačidlo ako pull-upAby bolo v programe aj niečo vidno, na PB0 budeme zobrazovať výsledok. Ak bude na PB1 jednotka, bude výstup svietiť. Čiže tento príklad bude svietiť presne naopak, ako predchádzajúci.
  • Prepojte GND a odlamovaciu lištu, ktorá je naľavo dole od tlačidiel.
  • Prepojte +5V a odlamovaciu lištu, ktorá je naľavo hore od tlačidiel (za rezistormi).
  • Prepojte PB1 a odlamovaciu lištu v strede pri ľubovoľnom tlačidle.
  • Prepojte PB0 a LED1.
  • [doplniť program]
Ak sa to podarilo, bude po stlačení tlačidla prvá LED vypnutá, ináč bude svietiť.

Ladenie pomocou UART

Ladenie pomocou sériového portu je v porovnaní s ladením pomocou LED diód luxus. Ak máme na ATtiny85 voľné dva piny, môžeme sa do toho pustiť pomocou knižnice SoftwareSerial. Ja na ladenie používam piny PB3 a PB4. Využívam iba vysielanie, pretože to človeka pri ladení najviac zaujíma. Čo robí program vo vnútri mikrokontroléra. Ma ladenie využívam ako proxy Arduino Mega 2560, ktoré odosiela všetko na virtuálny sériový port do PC.
  • Program na proxy pre Arduino Mega 2560 nájdete aj s popisom zapojenia na stránke o zbernici UART.
  • Popis konkrétneho ladenia stmievača LED pásikov nájdete na jeho stránke. Samotný popis ladenia je popísaný pri verzii programu 1.2.
  • V programe je dobre rozlišovať medzi ladiacou verziou a finálnou verziou. Ja napríklad rozlišujem zadefinovaním makra RDEBUG. Ak je definované, potom:
    • V programe je prístupný objekt SoftwareSerial na voľných portoch.
    • Na miestach, ktoré potrebujem sledovať je tiež v podmienenom preklade uzatvorené odosielanie ladiacich informácií. Či už sú to len výpisy stavu, kade program práve prechádza, alebo výpisy konkrétnych hodnôt, všetko je počas ladenia zaslané do PC.
  • Na PC stačí aj monitor sériového portu z Arduina, ale s ním je trochu problém v tom, že ho IDE pri každom kompilovaní zatvára. Rovnakú službu urobí aj program Putty, ktorý môže byť spustený permanentne. Keďže sa programuje cez USBasp, nepotrebujeme vtedy uvoľňovať COM port na programovanie, tak ako sa to deje pri bežnom Arduine.
ċ
Blink85all.ino
(2k)
Robo Ulbricht,
30. 9. 2014, 11:30
Comments