Cuprins:

Placă Arduino auto-făcută: 8 pași
Placă Arduino auto-făcută: 8 pași

Video: Placă Arduino auto-făcută: 8 pași

Video: Placă Arduino auto-făcută: 8 pași
Video: Placa programabilă Arduino - introducere 2024, Iulie
Anonim
Placă auto Arduino
Placă auto Arduino

Prin proiectarea propriei dvs. plăci Arduino veți afla despre unele componente noi și circuite electronice, inclusiv câteva subiecte avansate, cum ar fi sursa de alimentare, circuitul de sincronizare și utilizarea ATmega IC (Circuit integrat).

Vă va ajuta în viitor cu crearea propriilor proiecte, cum ar fi stația meteo, scuturile de automatizare a casei etc.

Avantajul Arduino-ului auto-fabricat este că are un consum redus de energie și asigură faptul că un proiect poate rula mult timp pe o baterie.

În plus, puteți extinde placa adăugând extinderea portului digital sau analogic sau a unor module de comunicare.

Provizii

Hardware-ul

Pentru a construi un Arduino minimalist, veți avea nevoie de următorul hardware:

1x microcontroler ATmega328P-PU cu bootloader Arduino

1x regulator de tensiune liniar 7805 (ieșire 5v, intrare maximă 35v)

1x panou (folosesc placa cu 830 pini)

Diverse fire de conectare

1x oscilator de cristal de 16 MHz

1 x priză cu 28 de pini

1x 1 μF, condensator electrolitic de 25 V

1x 100 μF, condensator electrolitic de 25 V

Condensatori ceramici 2x 22 pF, 50 V

Condensatoare ceramice 2x 100 nF, 50 V

2 rezistoare de 330 Ohmi (R1 și R2)

1 rezistor de 10 kOhm (R3)

2 LED-uri la alegere (LED1 și LED2)

1x buton

Opțional 2x 6-pin antet și 3x 8-pin antet

1 x baterie de tip PP3

1x baterie de tip PP3 de 9 V

1x adaptor de programare FTDI

Pasul 1: 7805 Regulator de tensiune liniară

7805 Regulator de tensiune liniară
7805 Regulator de tensiune liniară
7805 Regulator de tensiune liniară
7805 Regulator de tensiune liniară
7805 Regulator de tensiune liniară
7805 Regulator de tensiune liniară

Un regulator de tensiune liniar conține un circuit simplu care convertește o tensiune în alta. Regulatorul 7805 poate converti o tensiune între 7 și 30 de volți la o tensiune fixă de 5 volți, cu un curent de până la 1 amp, ceea ce este perfect pentru placa noastră Arduino.

Vom începe cu crearea circuitului de alimentare care conține un regulator de tensiune 7805 sub formă TO-220 și doi condensatori cu câte 100 μF fiecare.

Când vă uitați la partea din față a cipului 7805 - pinul din stânga este pentru tensiunea de intrare, pinul central se conectează la GND, iar pinul din dreapta este conexiunea de ieșire de 5 V. Aș recomanda să plasați un radiator, pentru că atunci când circuitul se ridică la maximum 1 amp de curent, cipul 7805 va fi liniștit la cald (puteți arde vârful degetului când îl atingeți).

Așezați un condensator de 100 μF între intrarea regulatorului și masă și un condensator de 100 μF pe șina dreaptă între putere și sol. Trebuie să aveți grijă - condensatorul electrolitic este polarizat (banda de argint de pe condensator semnifică piciorul de la sol) și trebuie așezată exact conform schemei.

Adăugați fire de alimentare și de împământare pentru locul în care va fi regulatorul de tensiune, conectând fiecare șină în mijloc și în partea dreaptă a plăcii. În acest fel, avem o sursă de alimentare de 5 volți de la șinele superioare și inferioare ale panoului de control. În plus, vom include un LED roșu care este aprins când este pornită, în acest fel putem vedea întotdeauna când placa noastră este alimentată.

Un LED este o diodă și permite doar curentul electric să curgă într-o singură direcție. Electricitatea ar trebui să curgă în piciorul lung și în afara piciorului scurt. Catodul LED-urilor are, de asemenea, o parte ușor aplatizată, care corespunde piciorului scurt și negativ al LED-ului.

Circuitul nostru are o sursă de alimentare de 5 volți și un LED roșu este evaluat în jur de 1,5 - 2 volți. Pentru a reduce tensiunea trebuie să conectăm rezistorul în serie cu LED-ul care limitează cantitatea de electricitate care curge pentru a preveni distrugerea LED-ului. O parte din tensiune va fi consumată de rezistor și numai o parte adecvată a acesteia este aplicată pe LED. Introduceți rezistorul între piciorul scurt al LED-ului și rândul care conține firul negru din partea dreaptă a cipului (GND).

Firele roșii și negre din stânga regulatorului de tensiune sunt locul în care va fi conectată sursa de alimentare. Firul roșu este pentru POWER și firul negru este pentru masă (GND).

NOTĂ: Puteți atașa doar o sursă de alimentare între 7-16V. Oricare este mai mic și nu veți obține 5V din regulator și o tensiune mai mare de 17 V vă va deteriora cipul. Este adecvată o baterie de 9V, o sursă de alimentare de 9V DC sau o sursă de alimentare de 12V DC.

Și pentru mai multe circuite avansate puteți plasa un regulator de tensiune cu tensiune reglabilă. În acest fel puteți adăuga câțiva senzori de 3,3 V pe placă sau puteți alimenta un motor de 9 V DC.

Mai multe despre regulatoarele de tensiune liniare -

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

Pasul 2: Microcontroler ATmega328P-PU

Microcontroler ATmega328P-PU
Microcontroler ATmega328P-PU
Microcontroler ATmega328P-PU
Microcontroler ATmega328P-PU
Microcontroler ATmega328P-PU
Microcontroler ATmega328P-PU

Pentru a construi un Arduino pe panou, aveți nevoie de un microcontroler ATmega328P-PU, care este creierul plăcii noastre Arduino. Plasați-l așa cum se arată în schemă și aveți grijă - picioarele se pot rupe dacă le forțați sau puteți utiliza o priză IC cu 28 de pini. CI ar trebui să fie plasat cu o formă de lună tăiată orientată spre stânga panoului (pinii sunt numerotați de la 1 la 28 în sens invers acelor de ceasornic).

NOTĂ: Nu toate ATmega IC conțin bootloader-ul Arduino (software-ul care îi permite să interpreteze schițele scrise pentru un Arduino). Când căutați un microcontroler pentru dispozitivul dvs. Arduino de sine stătător, asigurați-vă că selectați unul care include deja bootloader-ul.

Aici un pic de teoria microcontrolerului

Un microcontroler este un computer mic cu un procesor care execută instrucțiuni. Are diferite tipuri de memorie pentru a păstra date și instrucțiuni din programul nostru (schiță); ATmega328P-PU are trei tipuri de memorie: 32kB ISP (programare în sistem) memorie flash unde sunt stocate schițe, 1kB EEPROM (memorie programabilă ștergibilă electrică numai pentru citire) pentru stocarea pe termen lung a datelor și 2kB SRAM (memorie statică cu acces aleator) pentru stocarea variabilelor atunci când se execută o schiță.

NOTĂ: Este important să știți că datele din memoria flash și EEPROM sunt păstrate atunci când alimentarea microcontrolerului este scoasă.

Microcontrolerul are 13 linii digitale de intrare / ieșire (GPIO) și șase linii analogice la convertorul digital (ADC) GPIO pentru șase linii de 10 biți (valori între 0 și 1023) pentru a converti tensiunea pe un pin într-o valoare digitală. Există trei temporizatoare cu două temporizatoare de 8 biți cu valori cuprinse între 0 și 255 și un temporizator de 16 biți cu valori cuprinse între 0 și 65535, care sunt utilizate de funcția delay () într-o schiță sau de modularea lățimii impulsurilor (PWM).

Există cinci moduri de economisire a energiei care pot fi selectate de software, iar microcontrolerul funcționează între 1,8V și 5,5V. Puteți utiliza imaginea ca referință pentru aspectul pinului ATmega328P-PU.

Există trei grupuri de porturi: PB, PC și PD cu 8, 7 și respectiv 8 pini, plus doi pini de masă (GND), un pini de 5V (VCC) cu tensiune de alimentare (AVCC) și tensiune de referință analogică (AREF)) pini pentru convertorul analog-digital (ADC).

Pasul 3: interconectare ATmega328P-PU

Interconectare ATmega328P-PU
Interconectare ATmega328P-PU

După plasarea CI, conectați pinii 7, 20 și 21 ai ATmega la șina de alimentare pozitivă de pe panou și pinii 8 și 23 la șinele de alimentare negative, utilizați fire jumper pentru a conecta șinele de alimentare pozitive și GND de pe ambele părți ale, așa cum se arată în figură.

Pinul 7 - Vcc - Tensiunea de alimentare digitală

Pinul 8 - GND

Pinul 22 - GND

Pinul 21 - AREF - Pinul de referință analogic pentru ADC

Pinul 20 - AVcc - Tensiunea de alimentare pentru convertorul ADC. Trebuie conectat la alimentare dacă ADC nu este utilizat ca în exemplul nostru. Dacă doriți să îl utilizați în viitor, acesta trebuie alimentat printr-un filtru low-pass (pentru a reduce zgomotul).

După acel loc, niște știfturi de antet cu paisprezece direcții - va fi similar cu GPIO-urile Arduino.

Pasul 4: butonul Reset

Butonul de resetare
Butonul de resetare
Butonul de resetare
Butonul de resetare

Adăugați micul comutator tactil, astfel încât să puteți reseta Arduino și să pregătiți cipul pentru încărcarea unui nou program. O apăsare rapidă momentană a acestui comutator va reseta cipul.

Vom introduce butonul de resetare în circuitul nostru așa cum se arată în figură, când îl apăsăm, circuitul electric va fi scurtat la GND ocolind un rezistor de 1kOhm și conectând ATmega Pin 1 la GND. Apoi, adăugați un fir de la piciorul din stânga jos al comutatorului la pinul RESET al cipului ATmega și un fir de la piciorul din stânga sus al comutatorului la sol.

În plus, adăugați un rezistor de tracțiune de 10 k Ohm la + 5V de la pinul RESET, pentru a împiedica resetarea cipului în timpul funcționării normale. Acest rezistor va fi conectat la sursa de alimentare de 5 volți, „trăgând” pinul 1 la 5 volți. Și când conectați pinul 1 la 0V fără rezistență, cipul se va reporni. La microcontrolerul de repornire, căutați un nou program încărcat (la pornire, dacă nu este trimis nimic nou, acesta rulează ultimul program trimis).

Rezistorul are o bandă colorată. Citirea Maro = 1, Negru = 0, Portocaliu = 3 ne dă numărul 103. Rezistența în ohmi începe '10' cu 3 zerouri după - 10, 000 Ohmi sau 10 kilograme Ohmi, iar banda de aur este toleranța (5%).

Pentru a ne actualiza circuitul - putem amplasa condensatorul. Așezați un condensator ceramic de 100 nF (nano Farad). Este un disc mic cu două fire cu „marcaj 104” și acest tip de condensator nu este polarizat și poate fi plasat în orice orientare.

Acest condensator de „decuplare” netezește vârfurile electrice, astfel încât semnalul de repornire trimis prin pinul 1 este detectat în mod fiabil. Cifrele 104 își arată capacitatea în pico Farad în notație științifică. Ultima cifră „4” ne spune câte zero trebuie adăugate. Capacitatea începe ‘10’ și apoi continuă cu încă 4 zerouri - 100, 000 pico Farads și din moment ce 1000 pico Farads este 1 nano Farad, există 100 nano Farad (104).

Introduceți condensatorul între piciorul stânga sus al cipului (pinul 1, în sens invers acelor de ceasornic de la forma lunii)

Pasul 5: Oscilator de cristal

Oscilator de cristal
Oscilator de cristal
Oscilator de cristal
Oscilator de cristal

Acum vom face ceasul pentru IC. Este un cuarț de 16 Mhz și doi condensatori ceramici de 22pF (piko Farad) fiecare. Oscilatorul de cristal creează un semnal electric cu o frecvență foarte precisă. În acest caz, frecvența este de 16 MHz, ceea ce înseamnă că microcontrolerul poate executa 16 milioane de instrucțiuni de procesor pe secundă.

Cristalul de 16 MHz (figura) permite Arduino să calculeze timpul, iar condensatorii servesc la netezirea tensiunii de alimentare.

Picioarele din cristal de cuarț sunt ambele la fel - nu o puteți conecta înapoi. Conectați un picior al cristalului la pinul 9 de pe cipul ATmega, iar celălalt picior la pinul 10. Conectați picioarele unuia dintre condensatoarele de disc de 22 pF la pinul 9 și GND și alt condensator de disc la pinul 10 și GND, ca prezentat în figura.

Notă: condensatoarele de disc nu sunt polarizate și pot fi introduse în orice mod.

Merită menționat faptul că lungimile firelor dintre condensatoarele de 22pF trebuie să fie egale în lungime și să fie cât mai aproape de controler pentru a evita interacțiunile cu alte părți ale circuitelor.

Pasul 6: Adăugarea LED-ului la pinul 13

Adăugarea LED-ului la pinul 13
Adăugarea LED-ului la pinul 13
Adăugarea LED-ului la pinul 13
Adăugarea LED-ului la pinul 13
Adăugarea LED-ului la pinul 13
Adăugarea LED-ului la pinul 13

Acum vom adăuga LED-ul verde (pinul digital 13 pe Arduino).

Introduceți un picior lung cu LED-uri pe rândul de sub firul roșu (în partea dreaptă a cipului - putere sau 5 volți) și piciorul scurt în primul rând gol de sub microcontroler.

Acest rezistor de 330 Ohm este conectat în serie cu LED-ul, limitând cantitatea de electricitate care curge pentru a preveni distrugerea LED-urilor.

Introduceți rezistorul între piciorul scurt al LED-ului și rândul care conține firul negru din partea dreaptă a cipului (GND sau 0Volți)

Toți pinii analogici, digitali și alți pini disponibili pe placa normală Arduino sunt, de asemenea, disponibili în versiunea noastră de panou de verificare. Puteți utiliza ca schemă ATmega și tabelul pin ca referință.

Pasul 7: USB la Serial Connector

Conector USB la serie
Conector USB la serie
Conector USB la serie
Conector USB la serie
Conector USB la serie
Conector USB la serie
Conector USB la serie
Conector USB la serie

Microcontrolerul ATmega 328P-PU oferă trei moduri de comunicare: un USART programabil serial (receptor-transmițător sincron și asincron universal), un port serial SPI (Serial Peripheral Interface) și o interfață serial cu două fire. USART preia octeți de date și transmite secvențial biții individuali, ceea ce necesită linii de comunicație de transmisie (TX) și recepție (RX). SPI utilizează patru linii de comunicație: master-out slave-in (MOSI), master-in slave-out (MISO) și serial clock (SCK) cu o linie de selectare a slave-ului (SS) separată pentru fiecare dispozitiv. Comunicarea I2C Two Wire Interface (TWI) bus utilizează două linii de semnal: date seriale (SDA) și serial clock (SCL).

Pentru a ne conecta placa la computer cu Arduino IDE pentru descărcarea unei schițe, vom folosi o interfață USB către serial UART, cum ar fi FT232R FTDI.

Când achiziționați un cablu FTDI, asigurați-vă că este modelul de 5 V, deoarece modelul de 3,3 V nu va funcționa corect. Acest cablu (prezentat în figură) are o priză USB la un capăt și o priză cu șase fire pe celălalt.

Când conectați cablul, asigurați-vă că partea laterală a prizei cu firul negru se conectează la pinul GND de pe pinii antetului panoului. Odată ce cablul este conectat, acesta alimentează și circuitul, la fel cum ar face o placă normală Arduino.

Apoi, vom conecta FTDI-ul nostru la placa Arduino auto-fabricată; pentru referință puteți utiliza tabelul și schema.

Un condensator electrolitic 0.1μF este conectat între pinul DTR (Data Terminal Ready) de pe interfața USB la serial UART și resetarea microcontrolerului, care resetează microcontrolerul pentru a se sincroniza cu USB-ul la interfața serială.

NOTĂ: Partea mai inteligentă este că pinul RX al microcontrolerului trebuie să fie conectat la TX-ul USB-ului la adaptorul serial și același lucru cu TX-ul unui dispozitiv la RX-ul celuilalt.

Pinul CTS (Clear to Send) de pe USB la interfața serial UART nu este conectat la microcontroler.

Pentru a descărca o schiță pe microcontroler în ID-ul Arduino din meniul Instrumente ➤ Port selectați portul de comunicare relevant (COM) și din meniul Instrumente ➤ Placă selectați Arduino / Genuino Uno. Schița este compilată în Arduino IDE și apoi încărcată pe microcontroler cu USB-ul în interfața serial UART. Când schița este descărcată, LED-urile verzi și roșii ale interfeței USB-la-serie UART TXD și RXD pâlpâie.

Interfața USB către serial UART poate fi îndepărtată și o sursă de alimentare de 5V conectată la microcontroler. Un rezistor LED și 220kΩ sunt conectați la pinul 19 al microcontrolerului, echivalent cu pinul Arduino 13, pentru a rula schița de clipire.

Pasul 8: încărcarea schiței sau instalarea bootloaderului

Încărcarea schiței sau instalarea bootloaderului
Încărcarea schiței sau instalarea bootloaderului
Încărcarea schiței sau instalarea bootloaderului
Încărcarea schiței sau instalarea bootloaderului

Dacă nu aveți un convertor USB în serie - puteți utiliza un alt Arduino (în cazul meu Arduino UNO) pentru a încărca o schiță sau un bootloader pe placa auto-realizată.

Microcontrolerele ATmega238P-PU necesită un bootloader pentru încărcarea și rularea schițelor din IDE Arduino; când puterea este aplicată microcontrolerului, bootloaderul determină dacă se încarcă o schiță nouă și apoi încarcă schița în memoria microcontrolerului. Dacă aveți ATmega328P-PU fără bootloader, atunci puteți încărca bootloader-ul folosind comunicarea SPI între două plăci.

Iată cum încărcați un bootloader pe ATmega IC.

Mai întâi să începem cu configurarea Arduino UNO ca ISP, acest lucru se face pentru că doriți ca Arduino UNO să încarce schița pe ATmega IC și nu pe ea însăși.

Pasul 1: Configurarea Arduino UNO ca ISP

Nu conectați ATmega IC în timp ce încărcarea de mai jos rulează.

  • Conectați arduino la un computer
  • Deschideți IDE-ul arduino
  • Selectați placa corespunzătoare (Instrumente> Placă> Arduino UNO) și portul COM (Instrumente> Port> COM?)
  • Deschideți> Exemple> ArduinoISP
  • Încărcați schița

După aceea, vă puteți conecta propria placă la Arduino UNO urmând circuitul așa cum se arată pe schemă. În acest stadiu nu este necesar să vă alimentați propria placă, deoarece Arduino ar furniza puterea necesară.

Pasul 2: Încărcarea unui Sketch sau Bootloader

Cu tot ce este conectat, deschideți IDE din folderul pe care tocmai l-ați creat (copia).

  • Selectați Arduino328 din Instrumente> Placă
  • Selectați Arduino ca ISP din Instrumente> Programator
  • Selectați Burn Bootloader

După o înregistrare reușită, veți obține un „încărcător de boot terminat”.

Bootloader-ul este acum încărcat pe microcontroler, care este gata să primească o schiță după schimbarea portului COM din meniul Instrumente ➤ Port.

Recomandat: