Čo by si mal vedieť pri zapájaní Arduina a jeho pinov? Určite aspoň to, ako nezničiť Arduino. Nasledujúci súpis zverejňujem preto, aby si sa popísaným chybám mohol vyhnúť. Jedná sa skôr o elektronické chyby zapojenia, než mechanické zničenie.
Začiatočníci, ktorí pristupujú k elektronike prvýkrát, tu nájdu lekciu o nevhodnom zapájaní pinov na Arduine. Nesprávnym zapojením môžeš potenciálne zničiť dosku Arduino. Pokiaľ ide o chyby, tak tie hardwarové chyby ti vo všeobecnosti nič neodpustia na rozdiel od softwarových.
Keď som písal pre začiatočníkov článok Arduino blikanie LED, napadlo ma, čo všetko sa môže pri zapájaní stať. Tento návod zobrazuje najbežnejšie spôsoby, ako môžeš náhodne zničiť dosku Arduino a ako sa tomu vyhnúť. Nápomocná nám bude táto schéma zapojenia pre Aduino UNO a špecifikácia mikroprocesoru ATmega328p.
Pripojenie I/O pinov k zemi (GND)
Ak by si mal pripojený pin priamo na zem a nastavil by si ho súčasne ako výstupný s hodnotou logickej 1 (HIGH), splníš podmienky pre prekročenie výstupného prúdu na I/O porte a pravdepodobne zničíš Arduino.

Dôvod: podľa špecifikácie procesoru je maximálny výstupný prúd z I/O pinu 40mA. Typická hodnota vnútorného odporu je 25Ω na pin. Prepojenie medzi +5V a GND v tomto prípade môže znamenať prúd 200mA, čo je dosť na zničenie procesora. Inak podobne je to aj pri pripojení pinu rovno k +5V a nastavenie pinu ako výstupný s hodnotou LOW.
Riešenie: pin treba chrániť rezistorom. Napríklad vhodná hodnota odporu by mohla byť 220Ω. Takto je prúd bezpečne obmedzený za všetkých podmienok (5V / 220Ω = 23mA). Občas sa v odpornej literatúre doporučuje do obvodu zapojiť i zenerovu 5.1V diódu alebo vratné PCT poistky.

Prepojenie I/O pinov medzi sebou

Dôvod: presne ten istý ako predchádzajúci s výnimkou toho, že spätná cesta uzemnenia je teraz cez mikrokontrolér.
Riešenie: piny treba opäť chrániť rezistormi tak ako v predchádzajúcom prípade.
Prekročenie napätia na I/O pin
Ak pripojíš na pin napätie vyššie ako 5,5V tak ho poškodíš.

Dôvod: na vstupe pinov sú ochranné diódy (ESD) pre ochranu čipu pred elektrostatickým výbojom. Tieto diódy nie sú dimenzované na dlhodobé zaťaženie a preto pri prekročení napätia o 0,5V dôjde k ich zničeniu a nebudú ďalej chrániť zvyšok čipu a môže teda následne dôjsť k poškodeniu i ostatných častí dosky.

Riešenie: zapojiť na I/O pin ochranný rezistor 220Ω na obmedzenie prúdu a 5.1V zenerovú diódou, ktorá slúži na obmedzenie napätia pinov (max 5,5V) bez ohľadu na použité prepätie. Môže to byť podľa typu zenerovej diódy cca do 24V, treba zohľadniť samozrejme i stratový výkon.

Otočená polarita napájania na Vin
Ak by si napájal Arduino pomocou pinu Vin a zapojil napájacie napätie obrátene, tak dôjde k poškodeniu čipu.

Dôvod: neexistuje žiadna ochrana proti opačnému napätiu, ktoré sa používa na pine konektora Vin. Prúd bude tiecť bez problémov opačne, to je z GND do +5V cez regulátor napájania. To isté sa deje i s mikrokontrolérom ATmega. Oba mikrokontroléry a 5V regulátor budú zničené.
Riešenie: dávaj si na to veľký pozor. Možno by ti pomohla usmerňovacia dióda. Ideálne by to bolo, keby že je to navrhnuté takto nejako:

Pripojenie napätia vyššieho než 5V na napájacom pine 5V
Ak privedieš na napájací pin 5V ľubovoľné väčšie napätie, tak zničíš pravdepodobne väčšinu súčiastok na Arduino doske a ohrozíš aj USB port počítača.

Dôvod: na doske nie je žiadna ochrana pred zvýšeným napätím na napájacom 5V pine. Tento port je napojený priamo na procesor a čip USB. Je častou chybou domnievať sa, že situáciu zachráni stabilizátor na Arduino doske, ale ten slúži len na stabilizáciu napätia pripojeného ku konektoru napájania. Akékoľvek zvýšené napätie, ktoré k nemu príde z dosky, nie je schopný zachrániť.
Ďalším dôsledkom použitia viac ako 5V na 5V napájacom pine je možné poškodenie USB portu počítača. Ak je Arduino napájané z USB, môže toto nadmerné napätie spôsobiť tok prúdu dozadu cez MOSFET T1 späť do USB portu počítača.

Riešenie: do vývojovej dosky už síce nezasiahneš, ale toto by bolo dobré riešenie na ochranu prepätia na napájacom 5V pine. Takéto riešenie znesie aj 24V na napájacom pine a nič sa nestane, +5V vetva bude odpojená. Je to inšpirácia pre vlastné zapojenia.

Pripojenie napätia vyššieho než 3,3V na napájacom pine 3,3V
Pripojením zvýšeného napätia na napájací pin 3,3V môžeš zničiť pripojený Shield alebo vybavenie pripojené k tomuto pinu. Ak prekročíš 9V, zničíš regulátor napájania, ATmega čip a môžeš poškodiť USB port počítača.

Dôvod: port 3,3V tiež nie je chránený regulátorom a preto zvýšenie napätia priamo ovplyvní časti napájané týmto napätím. Ak prekročíš 9V a po zničení 3,3V regulátora, prejde zvýšené napätie do ďalších častí napájaných 5V.
Riešenie: platí to isté ako pri +5V vetve napájania.

Prepojenie Vin a GND
Ak prepojíš piny Vin a GND tak dôjde k poškodeniu ochrannej diódy a môže dôjsť aj k roztaveniu ciest na plošnom spoji.

Dôvod: pin Vin nemá žiadnu ochranu proti vysokému prúdu. Množstvo prúdu je tak obmedzené len zanedbateľným odporom ciest na plošnom spoji a napájacím zdrojom. Ak je prúd dostatočne vysoký, dióda D1 sa zničí a cestičky na plošnom spoji sa môžu roztaviť kvôli teplu spôsobenému týmto veľkým prúdom.
Riešenie: chcelo by to použiť v obvode vratnú resetovaciu poistku (PCT). Táto poistka obmedzuje prúd na bezpečnú úrovneň, aj keď je Vin skratované na GND.

Napájanie Arduina pinom 5V a používanie Vin ako výstupného pinu pre napájanie periférií
Keď prehodíš používanie napájacích pinov Vin a 5V, to znamená že privedieš napájanie na napájací pin 5V a budeš odoberať prúd z Vin, spáliš tým regulátor napájania pre Arduino.

Dôvod: Arduino doska nemá žiadnu ochranu proti spätnému prúdu cez regulátor. Na regulátore 5V nie je žiadna ochrana, takže prúd môže tiecť z 5V pinu konektora smerom dozadu cez regulátor k pinu Vin.
Riešenie: tu platí to isté ako pri otočenej polarite napájania na Vin a to použitie diódy.

Prekročenie 13V na vstupnom pine Reset
Ak zapojíš viac ako 13V na vstup reset pinu, tak zničíš procesorový čip ATmega.

Dôvod: pin konektora Reset je priamo pripojený k resetovaciemu pinu na čipe ATmega328P. Zatiaľ čo tento pin podľa datasheetu toleruje 13V, vyššie napätie poškodí zariadenie.
Riešenie: umiestnenie rezistora 1k do série s resetovacím pinom čipu ATmega328P. Ak by aj napätie bolo väčšie ako 13V na pine konektora Reset, tento pin by bol takto obmedzený aspoň prúdom, ktorý by obmedzil poškodenie.

Prekročenie maximálneho výstupného prúdu z pinov
Ak nastavíš viac ako 10 I/O portov ako výstupných a zaťažíš každý z nich prúdom 20mA (svietiace diódy) tak prekročíš celkový výstupný prúd a Arduino zničíš.

Dôvod: nestačí len obmedziť prúd každého I/O pinu, ale celkový prúd zo všetkých I/O pinov nesmie presiahnuť 200mA.
Riešenie: použiť obvod na obmedzenie prúdu (MIC2009A zobrazený nižšie), ktorý zabezpečí, že bez ohľadu na to, aké prúdy by si chcel získali z I/O pinov, tak celkový dodávaný prúd mikrokontroléra nepresiahne 150mA (typicky).

Prepojovanie výstupov za behu
Tomuto sa vyhni vždy, ak to bude možné. Môžeš zničiť Arduino a všeličo, čo je k nemu pripojené.
Dôvod: ak prepojíš pin, keď ním prechádza prúd, vygeneruješ napäťovú špičku, ktorá môže v krajnom prípade zničiť Arduino.
Použitie indukčnej záťaže (motor, relé, solenoid) bez ochrannej diódy
Ak použiješ indukčnú záťaž bez ochrannej diódy pred spätným prúdom, môže dôjsť k zničeniu procesora.
Dôvod: Indukčné záťaže môžu vytvárať silné napäťové špičky. Na ich odstránenie slúži práve ochranná dióda zapojená paralelne k záťaži. Keď potom indukčná záťaž vygeneruje spätný prúd, ten je skratovaný diódou a neohrozí Arduino.
Na záver ako nezničiť Arduino
Samozrejme existuje veľa ďalších kreatívnych spôsobov ako zničiť Arduino, ale kto by o to stál. Snáď ti opísané spôsoby umožnia užívať si s Arduinom dlhšie a radostnejšie bez strát. Informácie pre článok som bral zo stránok o Ruggeduinu - Arduino, ktoré má zabudovanú ochranu pred väčšinou týchto chýb.