Tartalomjegyzék:

Saját készítésű Arduino tábla: 8 lépés
Saját készítésű Arduino tábla: 8 lépés

Videó: Saját készítésű Arduino tábla: 8 lépés

Videó: Saját készítésű Arduino tábla: 8 lépés
Videó: Homemade 2ax solar tracker // Házi készítésű napkövető 2ax // Sistem de urmărire a soarelui 2ax 2024, Július
Anonim
Saját készítésű Arduino tábla
Saját készítésű Arduino tábla

A saját Arduino-kártya tervezésével megismerkedhet néhány új komponenssel és elektronikus áramkörrel, beleértve néhány olyan fejlett témát, mint a tápegység, az időzítő áramkör és az ATmega IC (integrált áramkör) használata.

Segít a jövőben saját projektek létrehozásában, például időjárás állomás, otthoni automatizálási pajzsok stb.

A saját készítésű Arduino előnye, hogy alacsony az energiafogyasztása, és biztosítja, hogy egy projekt hosszú ideig működjön akkumulátorral.

Ezenkívül a táblát kibővítheti digitális vagy analóg portbővítés vagy néhány kommunikációs modul hozzáadásával.

Kellékek

A hardver

A minimalista Arduino felépítéséhez a következő hardverre lesz szüksége:

1x ATmega328P-PU mikrokontroller Arduino rendszerbetöltővel

1x 7805 lineáris feszültségszabályozó (5v kimenet, 35v max bemenet)

1x kenyérlap (830 tűs táblát használok)

Különféle összekötő vezetékek

1x 16 MHz -es kristályoszcillátor

1x 28 tűs ic aljzat

1x 1 μF, 25 V elektrolit kondenzátor

1x 100 μF, 25 V elektrolit kondenzátor

2x 22 pF, 50 V kerámia kondenzátor

2x 100 nF, 50 V kerámia kondenzátor

2x 330 ohmos ellenállás (R1 és R2)

1x 10 kOhm ellenállás (R3)

2x választható LED (LED1 és LED2)

1x nyomógomb

Opcionális 2x 6 tűs és 3 x 8 tűs fej

1x PP3 típusú elemcsatlakozó

1x 9 V PP3 típusú akkumulátor

1x FTDI programozó adapter

1. lépés: 7805 lineáris feszültségszabályozó

7805 Lineáris feszültségszabályozó
7805 Lineáris feszültségszabályozó
7805 Lineáris feszültségszabályozó
7805 Lineáris feszültségszabályozó
7805 Lineáris feszültségszabályozó
7805 Lineáris feszültségszabályozó

A lineáris feszültségszabályozó egy egyszerű áramkört tartalmaz, amely az egyik feszültséget a másikra alakítja. A 7805 szabályozó 7 és 30 volt közötti feszültséget képes rögzített 5 voltra alakítani, legfeljebb 1 amper árammal, ami tökéletes az Arduino-lapunkhoz.

Kezdjük azzal a tápáramkör létrehozásával, amely 7805 feszültségszabályozót tartalmaz TO-220 formában és két kondenzátort egyenként 100 μF-tal.

Ha a 7805 chip elejét nézi - a bal oldali érintkező a bemeneti feszültséghez, a középső csap a GND -hez, a jobb oldali pedig az 5 V -os kimeneti csatlakozó. Azt javaslom, hogy helyezzen el egy hűtőbordát, mert amikor az áramkör maximum 1 amper áramot vesz fel, a 7805 chip csendesen forró lesz (megérintheti az ujja hegyét).

Helyezzen 100 μF kondenzátort a szabályozó IN és a föld közé, és 100 μF kondenzátort a tápfeszültség és a föld közötti sínekre. Legyen óvatos - az elektrolit kondenzátor polarizált (a ezüst csík a kondenzátoron a földelt lábat jelöli), és pontosan a vázlat szerint kell elhelyezni.

Adjon hozzá táp- és földelővezetékeket a feszültségszabályozó helyéhez, és csatlakoztasson minden sínt a tábla közepéhez és jobb részéhez. Ily módon 5 voltos tápegységgel rendelkezünk a kenyértábla felső és alsó síneiről. Ezenkívül tartalmazni fogunk egy piros LED -et, amely világít, amikor a készülék be van kapcsolva, így mindig láthatjuk, amikor a tábla be van kapcsolva.

A LED dióda, és csak egy irányba engedi az elektromos áramot. Az áramnak be kell áramolnia a hosszú lábszárba és a rövid lábból. A LED -ek katódjának van egy enyhén lapított oldala is, amely megfelel a LED rövid, negatív lábának.

Az áramkörünk 5 voltos tápegységgel rendelkezik, és a piros LED 1,5–2 volt körüli. A feszültség csökkentése érdekében az ellenállást sorba kell kötni a LED -del, amely korlátozza az áramló áramot, hogy megakadályozza a LED megsemmisülését. A feszültség egy részét az ellenállás elhasználja, és csak annak megfelelő részét alkalmazza a LED -en. Helyezze be az ellenállást a LED rövid lába és a fekete vezetéket tartalmazó sor közé a chip jobb oldalán (GND).

A feszültségszabályozótól balra lévő piros és fekete vezetékek csatlakoznak a tápegységhez. A piros vezeték a POWER, a fekete vezeték pedig a föld (GND).

MEGJEGYZÉS: Csak 7-16V közötti tápegységet csatlakoztathat. Ha alacsonyabb, és nem kap 5 V -ot a szabályozóból, és a 17 V -nál magasabb feszültség károsítja a chipet. 9 V -os akkumulátor, 9 V DC tápegység vagy 12 V DC tápegység megfelelő.

És néhány további előáramkör számára állítható feszültségszabályozó állítható feszültséggel. Ily módon hozzáadhat néhány 3,3 V -os érzékelőt a kártyához, vagy bekapcsolhat egy 9 V -os egyenáramú motort.

További információ a lineáris feszültségszabályozókról -

www.instructables.com/id/Introduction-to-Linear-Voltage-Regulators

2. lépés: ATmega328P-PU mikrokontroller

ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller

Ahhoz, hogy Arduino-t építhessen a kenyértáblára, szüksége van egy ATmega328P-PU mikrokontrollerre, amely a saját készítésű Arduino-lapunk agya. Helyezze el az ábrákon látható módon, és legyen óvatos - a lábak eltörhetnek, ha erőlteti őket, vagy használhat 28 tűs IC aljzatot. Az IC -t holdas alakú vágással kell elhelyezni a kenyértábla bal oldalán (a csapok 1 és 28 között vannak számozva az óramutató járásával ellentétes irányban).

MEGJEGYZÉS: Nem minden ATmega IC tartalmazza az Arduino rendszerbetöltőt (a szoftver, amely lehetővé teszi az Arduino számára írt vázlatok értelmezését). Amikor mikrovezérlőt keres saját készítésű Arduino-jához, feltétlenül válasszon olyat, amely már tartalmazza a rendszerbetöltőt.

Itt egy kis mikrokontroller elmélet

A mikrokontroller egy apró számítógép, processzorral, amely végrehajtja az utasításokat. Különböző típusú memóriával rendelkezik a programunk adatainak és utasításainak tárolására (vázlat); Az ATmega328P-PU háromféle memóriával rendelkezik: 32 kB-os ISP (rendszeren belüli programozás) flash memória, ahol vázlatokat tárolnak, 1 kB-os EEPROM (elektromosan törölhető programozható, csak olvasható memória) a hosszú távú adattároláshoz és 2 kB SRAM (statikus véletlen hozzáférésű memória)) a változók tárolására vázlat futása közben.

MEGJEGYZÉS: Fontos tudni, hogy a flash memóriában és az EEPROM -ban tárolt adatok megmaradnak a mikrovezérlő áramellátásának megszüntetésekor.

A mikrokontroller 13 digitális általános célú bemeneti/kimeneti (GPIO) vonallal és hat 10 bites (0 és 1023 közötti érték) analóg a digitális konverter (ADC) GPIO vonallal, hogy a tűn lévő feszültséget digitális értékre alakítsa át. Három időzítő van két 8 bites időzítővel, 0 és 255 közötti értékekkel, és egy 16 bites időzítő 0 és 65535 közötti értékekkel, amelyeket a delay () függvény használ egy vázlatban vagy az impulzusszélesség moduláció (PWM).

Öt szoftverrel választható energiatakarékos mód áll rendelkezésre, és a mikrokontroller 1,8 és 5,5 V között működik. A képet referenciaként használhatja az ATmega328P-PU csapok elrendezéséhez.

A portok három csoportja van: PB, PC és PD, 8, 7 és 8 tűvel, plusz két földelő (GND), egy 5 V -os (VCC) tápfeszültségű (AVCC) és analóg referenciafeszültség (AREF)) csapok az analóg-digitális átalakítóhoz (ADC).

3. lépés: ATmega328P-PU összekapcsolás

ATmega328P-PU összekapcsolás
ATmega328P-PU összekapcsolás

Az IC elhelyezése után csatlakoztassa az ATmega 7, 20 és 21 csapjait a kenyérsütő tápcsatornájához, a 8 -as és 23 -as csapokat pedig a negatív tápcsövekhez, jumperhuzalok segítségével kösse össze a pozitív és a GND tápkábelt a két oldalon. tábla, az ábra szerint.

7. pin - Vcc - Digitális tápfeszültség

8. tű - GND

22. csap - GND

21. tű - AREF - Analóg referenciatű az ADC -hez

20. tű - AVcc - Tápfeszültség az ADC átalakítóhoz. Tápfeszültségre kell csatlakoztatni, ha az ADC -t nem használják, mint a példánkban. Ha a jövőben szeretné használni, akkor aluláteresztő szűrőn keresztül kell táplálni (a zaj csökkentése érdekében).

Ezután helyezzen el egy tizennégy irányú fejlécet-ez hasonló lesz az Arduino GPIO-khoz.

4. lépés: Visszaállítás gomb

Reset gomb
Reset gomb
Reset gomb
Reset gomb

Adja hozzá a kis tapintható kapcsolót, hogy visszaállítsa az Arduino -t, és előkészítse a chipet egy új program feltöltésére. Ennek a kapcsolónak a pillanatnyi gyors megnyomása visszaállítja a chipet.

Az ábrán látható módon behelyezzük a reset gombot az áramkörünkbe, amikor megnyomjuk, az elektromos áramkör lerövidül a GND -re, megkerülve az 1 kOhm -os ellenállást, és csatlakoztatva az ATmega Pin 1 -et a GND -hez. Ezután adjon hozzá egy vezetéket a kapcsoló bal alsó lábából az ATmega chip RESET csapjához, és egy vezetéket a kapcsoló bal felső lábától a földig.

Ezenkívül adjon hozzá egy 10 k ohmos felhúzó ellenállást a +5V-hoz a RESET csapból, hogy megakadályozza, hogy a chip normál működés közben visszaálljon. Ez az ellenállás az 5 voltos tápegységhez lesz csatlakoztatva, és felhúzza az 1–5 voltos csapot. És amikor az 1 -es tűt 0V -ra ellenállás nélkül csatlakoztatja, a chip újraindul. Az újraindítási mikrokontrolleren keresse meg a feltöltendő új programot (bekapcsoláskor, ha semmi új nem kerül elküldésre, akkor az utoljára küldött programot futtatja).

Az ellenállás négy színű csíkkal rendelkezik. Ha barna = 1, fekete = 0, narancssárga = 3, akkor a 103. számot kapjuk. Az ellenállás ohmokban kezdődik '10', 3 nullával - 10 000 ohm vagy 10 kilométer után, és az arany csík a tűréshatár (5 %).

Áramkörünk korszerűsítéséhez „leválasztó” kondenzátort helyezhetünk el. Helyezzen egy 100 nF (nano Farad) kerámia kondenzátort. Ez egy kicsi lemez, két vezetékkel, "104 jelöléssel", és ez a típusú kondenzátor nem polarizált, és bármilyen irányban elhelyezhető.

Ez a „leválasztó” kondenzátor kisimítja az elektromos tüskéket, így megbízhatóan érzékeli az 1 -es érintkezőre küldött újraindítási jelet. A 104 -es számjegyek a Pico Farad kapacitását mutatják be tudományos jelöléssel. Az utolsó "4" szám megmutatja, hogy hány nullát kell hozzáadni. A kapacitás "10" -től kezdődik, majd további 4 nullával folytatódik - 100 000 pico Farad, és mivel 1000 pico Farads 1 nano Farad, 100 nano Farad van (104).

Helyezze be a kondenzátort a chip bal felső lába közé (1. tüske, az óramutató járásával ellentétes irányban a félhold alakjától)

5. lépés: Kristály oszcillátor

Kristály oszcillátor
Kristály oszcillátor
Kristály oszcillátor
Kristály oszcillátor

Most elkészítjük az IC óráját. Ez egy 16 Mhz -es kvarc és két 22pF kerámia kondenzátor (piko Farad). A kristályoszcillátor nagyon pontos frekvenciájú elektromos jelet hoz létre. Ebben az esetben a frekvencia 16 MHz, ami azt jelenti, hogy a mikrokontroller másodpercenként 16 millió processzor utasítást tud végrehajtani.

A 16 MHz -es kristály (ábra) lehetővé teszi az Arduino számára az idő kiszámítását, a kondenzátorok pedig a tápfeszültség kiegyenlítését szolgálják.

A kvarckristály lábak egyformák - nem lehet huzalozni. Csatlakoztassa a kristály egyik lábát az ATmega chip 9. lábához, a másik lábát pedig a 10. tűhöz. Csatlakoztassa a 22 pF tárcsás kondenzátor egyik lábát a 9 és GND, másik tárcsakondenzátor lábát a 10 és GND tűhöz. ábrán látható.

Megjegyzés: a lemez kondenzátorok nem polarizáltak, és bármilyen módon behelyezhetők.

Érdemes megemlíteni, hogy a 22pF kondenzátorok közötti vezetékhosszaknak azonos hosszúságúnak kell lenniük, és a lehető legközelebb kell lenniük a vezérlőhöz, hogy elkerüljék az áramkörök más részeivel való kölcsönhatást.

6. lépés: LED hozzáadása a 13 -as tűhöz

LED hozzáadása a 13 -as tűhöz
LED hozzáadása a 13 -as tűhöz
LED hozzáadása a 13 -as tűhöz
LED hozzáadása a 13 -as tűhöz
LED hozzáadása a 13 -as tűhöz
LED hozzáadása a 13 -as tűhöz

Most hozzáadjuk a zöld LED -et (Arduino 13. digitális csapja).

Helyezzen egy LED hosszú lábát a piros vezeték alatti sorba (a chip jobb oldalán - teljesítmény, vagy 5 volt), és a rövid lábat a mikrovezérlő alatti első üres sorba.

Ez a 330 ohmos ellenállás sorba van kötve a LED -del, korlátozza az áramló áramot, hogy megakadályozza a LED -ek megsemmisülését.

Helyezze az ellenállást a LED rövid lába és a fekete vezetéket tartalmazó sor közé a chip jobb oldalán (GND vagy 0Volt)

A normál Arduino táblán elérhető összes analóg, digitális és egyéb tű elérhető a kenyértábla verziónkban is. Referenciaként használhatja az ATmega sematikus és pin táblázatát.

7. lépés: USB -soros csatlakozó

USB -soros csatlakozó
USB -soros csatlakozó
USB -soros csatlakozó
USB -soros csatlakozó
USB -soros csatlakozó
USB -soros csatlakozó
USB -soros csatlakozó
USB -soros csatlakozó

Az ATmega 328P-PU mikrokontroller három kommunikációs módot kínál: soros programozható USART (univerzális szinkron és aszinkron vevő-adó), SPI (Serial Peripheral Interface) soros port és kétvezetékes soros interfész. Az USART bájt adatokat vesz fel, és egymás után továbbítja az egyes biteket, amihez átviteli (TX) és fogadó (RX) kommunikációs vonalak szükségesek. Az SPI négy kommunikációs vonalat használ: master-out slave-in (MOSI), master-in slave-out (MISO) és soros óra (SCK), mindegyik eszközhöz külön slave select (SS) vonallal. Az I2C kommunikációs kétvezetékes interfész (TWI) busz két jelvonalat használ: soros adat (SDA) és soros óra (SCL).

Ahhoz, hogy az alaplapunkat a vázlat letöltéséhez Arduino IDE -vel csatlakoztassuk a számítógéphez, USB -soros UART interfészt használunk, például az FT232R FTDI -t.

FTDI kábel vásárlásakor győződjön meg arról, hogy az 5 V -os modell, mert a 3,3 V -os modell nem fog megfelelően működni. Ennek a kábelnek (az ábrán látható) az egyik végén USB -csatlakozója van, a másikban hat vezetékes aljzat.

A kábel csatlakoztatásakor győződjön meg arról, hogy az aljzat fekete vezetékkel rendelkező oldala csatlakozik a kenyérsütőlap fejléceinek GND csapjához. Miután a kábelt csatlakoztatta, áramot is szolgáltat az áramkörnek, akárcsak egy normál Arduino kártya.

Ezután összekötjük az FTDI-t a saját készítésű Arduino-táblánkkal; referenciaként használhatja a táblázatot és a vázlatot.

Egy 0,1μF elektrolit kondenzátor van csatlakoztatva az USB -soros UART interfész DTR (Data Terminal Ready) tűje és a mikrovezérlő Reset között, amely visszaállítja a mikrokontrollert az USB -vel a széria interfészhez való szinkronizálásra.

MEGJEGYZÉS: Az egyik megoldás az, hogy a mikrovezérlő RX -tűjét az USB TX -hez kell csatlakoztatni a soros adapterhez, és az egyik eszköz TX -hez a másik RX -hez.

A soros UART interfész USB -jén lévő CTS (Clear to Send) gomb nincs csatlakoztatva a mikrokontrollerhez.

Ha szeretne vázlatot letölteni az Arduino IDE -ben található mikrokontrollerhez az Eszközök ➤ Port menüből, válassza ki a megfelelő kommunikációs (COM) portot, és az Eszközök ➤ Fórum menüben válassza az Arduino/Genuino Uno lehetőséget. A vázlatot az Arduino IDE -ben összeállítják, majd betöltik a mikrokontrollerbe az USB -vel a soros UART interfészhez. A vázlat letöltésekor a TXD és RXD USB-soros UART interfész zöld és piros LED-je villog.

Az USB -soros UART interfész eltávolítható, és 5 V -os tápegység csatlakoztatható a mikrokontrollerhez. A villogó vázlat futtatásához egy LED és 220 kΩ -os ellenállás van csatlakoztatva a mikrokontroller 19 -es érintkezőjéhez, amely megfelel az Arduino 13 -as tűnek.

8. lépés: Vázlat feltöltése vagy a Bootloader telepítése

Vázlat feltöltése vagy a Bootloader telepítése
Vázlat feltöltése vagy a Bootloader telepítése
Vázlat feltöltése vagy a Bootloader telepítése
Vázlat feltöltése vagy a Bootloader telepítése

Ha nincs USB-soros átalakítója-használhat másik Arduino-t (esetemben Arduino UNO) vázlat vagy rendszerbetöltő feltöltésére a saját készítésű táblára.

Az ATmega238P-PU mikrokontrollerekhez rendszerbetöltő szükséges a vázlatok feltöltéséhez és futtatásához az Arduino IDE-ből; amikor áramot kap a mikrokontroller, a rendszerbetöltő meghatározza, hogy új vázlat kerül feltöltésre, majd betölti a vázlatot a mikrokontroller memóriájába. Ha az ATmega328P-PU rendszerbetöltő nélkül rendelkezik, akkor a rendszerbetöltőt két tábla közötti SPI kommunikációval töltheti fel.

Így tölthet fel egy rendszerbetöltőt az ATmega IC -re.

Először kezdjük az Arduino UNO internetszolgáltatóként történő konfigurálásával, ez azért történik, mert azt szeretné, hogy az Arduino UNO töltse fel a vázlatot az ATmega IC -re, és ne magát.

1. lépés: Az Arduino UNO konfigurálása internetszolgáltatóként

Ne csatlakoztassa az ATmega IC -t, amíg az alábbi feltöltés fut.

  • Csatlakoztassa az arduinót egy számítógéphez
  • Nyissa meg az arduino IDE -t
  • Válassza ki a megfelelő fórumot (Eszközök> Tábla> Arduino UNO) és COM portot (Eszközök> Port> COM?)
  • Nyissa meg> Példák> ArduinoISP
  • Vázlat feltöltése

Ezt követően csatlakoztathatja saját tábláját az Arduino UNO -hoz, követve a kapcsolási rajzot. Ebben a szakaszban nincs szükség saját tábla áramellátására, mivel az Arduino biztosítja a szükséges áramot.

2. lépés: Vázlat vagy rendszerbetöltő feltöltése

Ha minden csatlakoztatva van, nyissa meg az IDE -t az imént létrehozott mappából (a másolat).

  • Válassza az Arduino328 lehetőséget az Eszközök> Fórumon
  • Válassza ki az Arduino -t internetszolgáltatóként az Eszközök> Programozó menüben
  • Válassza a Burn Bootloader lehetőséget

Sikeres égetés után kap egy "Done burning bootloader" -t.

A rendszerindító betöltődik a mikrovezérlőre, amely készen áll a vázlat fogadására, miután megváltoztatta a COM portot az Eszközök ➤ Port menüben.

Ajánlott: