Putere externă Arduino. Protecția curentă a conectorului USB. Conectarea Arduino Uno la alimentare

Articolul vorbește despre controlerul Arduino UNO R3 ales pentru a demonstra programele de lecție. Acum nu este necesar să studiem cu atenție aceste informații. Recomand să răsfoiți pentru a avea o idee despre hardware-ul sistemului. În viitor, acest articol poate fi folosit ca informații de referință.

Ca controler pentru programele de lecție, am ales placa Arduino UNO R3. Dar nimic nu te împiedică să folosești alte plăci. Doar că UNO R3 este cea mai comună versiune de controlere Arduino.

Conectarea Arduino Uno la alimentare

În figura de mai jos, identificăm toate componentele plăcii cu aceleași nume ca în schema. Îl puteți folosi ca ghid pentru găsirea componentelor. Observați cele două componente marcate cu un semn de întrebare. Sunt la bord, dar nu sunt afișate în proiect.

Să trecem la ceea ce contează, care este analiza și explicația circuitului. În secțiunile următoare, vom explica cum funcționează fiecare dintre cele trei blocuri principale. Faceți clic pe titlurile de mai jos pentru a extinde fiecare subiect. Figura următoare prezintă circuitul mai detaliat.

Informații generale despre controler.

Arduino UNO R3 se bazează pe microcontrolerul ATmega328. L:

  • 14 porturi de intrare-ieșire digitale (6 dintre ele acceptă modul de modulare PWM);
  • 6 intrari analogice;
  • frecvența ceasului 16 MHz;
  • Port USB;
  • stecher;
  • conector de programare în circuit;
  • butonul de resetare.

Placa are toate componentele necesare pentru a asigura funcționarea microcontrolerului. Suficient pentru a se conecta cablu USB la computer și aplicați puterea. Microcontrolerul este montat pe un bloc, ceea ce facilitează înlocuirea lui în caz de defecțiune.

Vom analiza toate componentele prezente în el. De fapt, această siguranță nu este altceva decât un rezistor a cărui rezistență crește odată cu creșterea temperaturii. Cu toate acestea, spre deosebire de siguranța tradițională care ard atunci când este supraîncărcată, această componentă are capacitatea de a se reseta singură atunci când condițiile de funcționare revin la normal.

Pentru valori de curent egale sau mai mici de 500 de miliamperi, valoarea rezistenței siguranței rămâne scăzută. Astfel, curentul curge liber prin el. Face mai actuale trece prin siguranța, determinând-o să se încălzească și să-i mărească rezistența. Rezistența crescută întrerupe curentul, acționând eficient ca o siguranță arsă. Cu toate acestea, dacă scurtcircuitul sau suprasarcina este îndepărtat, siguranța se răcește și valoarea rezistenței acesteia scade din nou, revenind la starea inițială.

Specificații.

tip microcontroler ATmega328P
Tensiunea de alimentare a microcontrolerului 5 V
Tensiunea recomandată a plăcii 7 - 12 V
În cele din urmă tensiune admisibilă placa de alimentare 6 - 20 V
Intrări/ieșiri digitale 14 (dintre care 6 suportă PWM)
Ieșiri de modulație PWM 6
Intrări analogice 6
Curentul admis al ieșirilor digitale 20 mA
Curent de ieșire permis 3,3 V 50 mA
Capacitatea memoriei flash (FLASH) 32 KB (din care 0,5 KB sunt folosite de bootloader)
Volum memorie cu acces aleator(SRAM) 2 kB
Cantitatea de memorie nevolatilă (EEPROM) 1 kB
Frecvența ceasului 16 MHz
Lungimea plăcii 68,6 mm
Lățimea plăcii 53,4 mm
Greutatea 25 g

Programare.

Cu toate acestea, este important să rețineți că valoarea de 500 de miliamperi este doar o referință. Valoarea reală a curentului care „dezarmează” efectiv siguranța este de cel puțin 500 de miliamperi, care depinde de timpul necesar pentru dezarmarea acesteia, precum și de valoarea temperaturii ambientale.

Consultați fișa tehnică dacă sunteți interesat să aflați mai multe despre comportamentul acestei siguranțe. Protectie cu siguranta. Cel mai obișnuit exemplu de descărcare electrostatică este atunci când mergi pe covor sau pe mochetă cu tălpi de cauciuc și apoi când încerci să deschizi un clanță metalic, dă un șoc. În acest caz, corpul tău este încărcat cu sarcini electrice din cauza frecării pantofilor împotriva covorului, apoi aceste sarcini sunt transferate rapid către mânerul ușii, rezultând un șoc ușor.

Controlerul este programat din mediul integrat software Arduino (IDE). Programarea are loc sub controlul unui bootloader rezident folosind protocolul STK500. Nu este necesar un programator hardware.

Microcontrolerul poate fi programat prin soclul ICSP fără a utiliza un bootloader. Sursă descărcatorul este disponibil gratuit.

Dacă corpul tău este încărcat și în loc de clanță îl atingi placă de circuit imprimat circuite electronice, i se transferă greutăți, ceea ce poate deteriora circuitul. Descărcările electrostatice apar tot timpul și, în cele mai multe cazuri, curentul este prea scăzut pentru ca tu să simți șocul, astfel încât acestea ajung să treacă neobservate, dar pot încă deteriora componentele mai sensibile.

Asemenea unei siguranțe, un varistor este și un rezistor, dar în acest caz, valoarea rezistenței scade pe măsură ce tensiunea pe ea crește. Funcționarea varistoarelor de protecție. Acest lucru se datorează faptului că aceste cipuri au deja structuri de protecție încorporate, care în cele mai multe cazuri sunt suficiente.

Spre deosebire de alte controlere Arduino.

Arduino UNO R3, spre deosebire de versiunile anterioare, nu folosește o punte USB-UART FTDI pentru a se conecta la un computer. Această funcție este realizată de microcontrolerul ATmega16U2.

Sistem de alimentare.

Placa UNO poate fi alimentată de la portul USB sau de la o sursă externă. Sursa de alimentare este selectată automat. Un adaptor de curent alternativ sau o baterie poate fi folosit ca sursă de alimentare externă. Adaptorul este conectat printr-un conector de 2,1 mm (pinul central este pozitiv). Bateria este conectată la pinii GND și Vin ai conectorului POWER.

Practic, feritele sunt folosite pentru suprimarea zgomotului. Aceste componente sunt numite „rețea de rezistențe” sau „rețea de rezistențe”. Oscilatorul este inima oricărui procesor, responsabil de generarea pulsului de ceas. Practic, toate procesoarele existente folosesc un generator, iar implementarea lor este adesea foarte asemănătoare. Deși utilizarea mai multor componente, funcționarea acestui circuit este relativ complexă, așa că nu vom intra în detalii și ne vom concentra doar pe caracteristicile fundamentale.

Protecția curentă a conectorului USB

Funcția cristalului este de a crea o undă sinusoidală care va servi drept bază pentru ceas. Pe plan intern, procesorul transformă sinusul într-o undă pătrată. Unele procesoare și circuite integrate necesită ca acest rezistor să înceapă să funcționeze după pornire, dar acest lucru nu este necesar și utilizarea sa depinde de orientarea producătorului de cip. De obicei, fiecare matriță are o specificație a valorii condensatorului care este ideală pentru funcționarea sa și este rolul proiectantului să aleagă valoarea.

Tensiunea sursei externe de alimentare poate fi în intervalul 6 - 20 V. Dar se recomandă să nu permiteți ca tensiunea să scadă sub 7 V din cauza funcționării instabile a dispozitivului. De asemenea, nu este de dorit să creșteți tensiunea de alimentare cu peste 12 V, deoarece. stabilizatorul se poate supraîncălzi și eșua. Acestea. intervalul de tensiune de alimentare recomandat 7 - 12 V.

Valorile incorecte ale condensatorului pot modifica frecvența de rezonanță a cristalului sau chiar pot împiedica funcționarea acestuia. În acest circuit, condensatorul acționează ca un „condensator de cuplare”. Condensatorii cu această funcție sunt foarte importanți în funcționarea circuitelor integrate digitale. Practic, toți producătorii de circuite integrate recomandă utilizarea condensatoarelor conectate la pinii de alimentare, valoarea clasică fiind 100 de nanofarads. Pe lângă valoare, cea mai importantă problemă atunci când se utilizează un condensator de decuplare este locația acestuia și ar trebui să fie amplasată cât mai aproape de contactele de putere ale circuitului integrat în cauză.

Următorii pini pot fi utilizați pentru a conecta alimentarea.

Vin Placa este alimentată de la o sursă de alimentare externă. Nu are legătură cu alimentarea USB de 5V sau alte ieșiri stabilizatoare. Prin acest contact, puteți primi energie pentru dispozitivul dvs. dacă placa este alimentată de un adaptor.
5V Ieșire regulator de tensiune pe placă. Are o tensiune de 5 V cu orice sursă de alimentare. Nu este recomandat să alimentați placa prin această ieșire, deoarece. nu se folosește un stabilizator, ceea ce poate duce la defecțiunea microcontrolerului.
3 V 3 Tensiune 3,3 V de la regulatorul de tensiune de pe placă. Consumul de curent maxim admis de la această ieșire este de 50 mA.
GND fir comun.
IOREF Pe informațiile de ieșire despre tensiunea de funcționare a plăcii. Placa de extensie poate citi valoarea semnalului și poate comuta la modul de alimentare de 5V sau 3,3V.

Memorie.

Principalele funcții ale condensatorului de decuplare sunt. Filtrați zgomotul provenit de la sursa de alimentare, împiedicând-o să pătrundă în circuitul integrat. În plus, filtrează zgomotul generat intern în circuitul integrat, împiedicând propagarea acestuia la alte componente ale plăcii. circuit digital, cum ar fi un procesor, atrage curent în vârfuri care coincid de obicei cu impulsurile de ceas. Condensatorul are rolul de a stoca suficientă energie pentru a furniza vârfurile de curent cerute de procesor. Acesta este pinul de resetare al procesorului, iar același este activ la nivel scăzut, ceea ce înseamnă că procesorul intră în starea de resetare când tensiunea de pe pin este zero.

Microcontrolerul are trei tipuri de memorie:

  • 32 kB flash (FLASH);
  • 2 kB RAM (SRAM);
  • 1 kB memorie nevolatilă (EEPROM).

Intrări și ieșiri.

Fiecare dintre cei 14 pini digitali poate fi folosit ca ieșire sau intrare. Nivelul de tensiune la ieșiri este de 5 V. Se recomandă limitarea curentului de ieșire și de intrare al fiecărei ieșiri la nivelul de 20 mA. Valoarea maximă admisă pentru acest parametru este de 40 mA. Fiecare pin are un rezistor de pull-up intern de 20-50 kΩ. Rezistorul poate fi dezactivat prin software.

Deci, rezistența menține tensiunea la 5 volți și împiedică procesorul să intre incorect în starea de resetare. Dar de ce este plasată dioda doar pe acest pin CPU și nu pe altele? Cu toate acestea, pinul de resetare este un caz special, deoarece este utilizat în timpul scrierii software, iar unele tehnici de programare aplică 12 volți acestui pin în timpul procesului. Astfel, producătorul de cip scoate una dintre cele două diode de protecție internă.

Pentru ca acest regulator să funcționeze corect, producătorul recomandă conectarea unui condensator de 1 microfarad la pinul 27 al procesorului. Rezistoare care comunică între procesoarele seriale. Cuplaj capacitiv în linia de resetare. Cu toate acestea, nu am primit mai multe informații despre funcția sa.


Unii pini pot îndeplini funcții suplimentare.

Interfață serială: pinii 0 (Rx) și 1 (Tx). Folosit pentru a primi (Rx) și a transmite (Tx) date seriale TTL. Acești pini sunt conectați la pinii de date ale ATmega16U2, utilizați ca punte USB-UART.

Pare a fi un header de expansiune, dar nu este lipit pe placă și nu avem mai multe informații despre funcționarea lui. Acesta este un jumper de lipit care se află pe placa de jos. În design-urile electronice, designerii fac de obicei această legătură între „baze diferite” cu un jumper, deoarece acest lucru asigură că acestea sunt conectate doar într-un punct, ceea ce împiedică curgerea curentului în zonele nedorite ale plăcii. Acest jumper este deja închis la fabrică.

Conector pentru alimentare externă

Figura următoare prezintă unitatea principală de procesare. Schema procesorului principal. Să ne uităm acum la modul în care sunt implementate circuitele de bază ale procesorului. Rezonatoarele ceramice sunt componente asemănătoare cristalului, ceea ce înseamnă că sunt, de asemenea, responsabile pentru generarea undei sinusoidale care va servi drept bază pentru semnalul de ceas al procesorului.

Întreruperi externe: pinii 2 și 3. Acești pini pot fi utilizați ca intrări externe de întrerupere. Poate fi setat de software pentru a întrerupe la un nivel scăzut, pe o margine ascendentă sau descendentă sau pentru a schimba nivelul semnalului.

PWM: pini 3, 5, 6, 9, 10, 11. Pot funcționa în modul de modulare PWM cu o rezoluție de 8 biți.

De obicei, un rezonator ceramic este mai compact decât un cristal și are deja condensatori încorporați în interior, simplificând circuitul. Acesta este motivul pentru care rezonatoarele sunt utilizate cel mai adesea în aplicații compacte cu spațiu redus disponibil.

Proiectantul a putut încă plasa un alt condensator pentru a separa pinul 7, conform recomandărilor, dar nu a fost inclus în acest circuit. Acest lucru are ca rezultat un nivel logic scăzut pe acest pin, care resetează procesorul. Rețineți că în diagramă, toate semnalele cu același nume sunt interconectate, indiferent dacă există o conexiune fizică între ele.

Interfață serială SPI: pini 10(SS), 11(MOSI), 12(MISO), 13(SCK).

LED: pin 13. LED conectat la pinul 13. Se aprinde când nivel inalt semnal de ieșire.

Interfață TWI: ieșire A4 sau SDA și A5 sau SCL. Interfață de comunicare TWI.

La plăci arduino UNO este 6 intrări analogice etichetate A0-A5. Rezoluția conversiei digitale analogice este de 10 biți. În mod implicit, tensiunea de intrare este măsurată cu referire la masă în intervalul 0-5V, dar poate fi modificată utilizând pinul AREF și setările software.

Încercați să potriviți conectorii indicați în diagramă cu conectorii de pe placă. Figura de mai jos prezintă componentele prezente în acest bloc. Utilizarea tensiunilor de peste 12 volți poate provoca supraîncălzirea regulatoarelor și nu este recomandată. Acest conector este de tip feminin și este setat la 2,1 mm, ceea ce înseamnă că pinul din centrul său are un diametru de 2,1 mm. Aceasta înseamnă că sursa folosită trebuie să aibă un conector tată, având și 2,1 milimetri și un centru pozitiv.

Din acest motiv, am inclus un conector tip terminal cu șurub în versiunea noastră. Deci puteți folosi orice sursă pe care o aveți, chiar dacă nu are o conexiune adecvată. În acest caz, pur și simplu tăiați ștecherul de la sursă și înșurubați firele direct în terminal. Curentul care vine de la mufa de intrare detectează în curând prima componentă, care este dioda de protecție. O sursă cu polaritate inversată ar fi atunci un model centrat negativ. Atunci când o sursă cu polaritate inversată este conectată accidental la o cartelă electronică neprotejată, se produce un flux curent invers, care provoacă arderea mai multor componente, ducând la distrugerea majorității circuitelor.

Încă 2 pini ai plăcii au următoarele funcții:

AREF. Tensiunea de referință a ADC al microcontrolerului.

RESET. Nivel scăzut pe acest pin determină resetarea microcontrolerului.

Interfețe de comunicare.

Modulul Arduino UNO are mijloacele de a comunica cu un computer, cu o altă placă UNO sau cu alte microcontrolere. Pentru a face acest lucru, placa are o interfață UART cu niveluri logice TTL (5 V), conectată la pinii 0 (RX) și 1 (TX). Cipul ATmega16U2 de pe placă conectează interfața UART la portul USB al computerului. Când este conectat la un port de computer, COM virtual port prin care programele de calculator lucrează cu Arduino. Firmware-ul ATmega16U2 utilizează drivere USB-COM standard și nu este necesară instalarea driverelor suplimentare. Pentru sistemul de operare Windows, este necesar un fișier .inf corespunzător. Arduino Integrated Software Environment (IDE) include un monitor de comunicare serială care vă permite să trimiteți și să primiți date simple text de pe placă. Placa are LED-uri RX și TX care indică starea semnalelor corespunzătoare pentru comunicația USB (dar nu și pentru interfața serială pe pinii 0 și 1).

Pe scurt, putem spune că o diodă funcționează ca un comutator închis pentru sursele cu polaritate corectă și ca un comutator deschis pentru sursele cu polaritate inversă. O diodă care protejează placa de conexiunea inversă. Cu toate acestea, căderea de tensiune pe această diodă este mare, ajungând la 1,1 V, ceea ce poate duce la efecte nedorite sub formă de disipare termică crescută, ducând la pierderea eficienței. În acest caz, o diodă Schottky ar fi mai potrivită, deoarece căderea de tensiune pe ea era mai mică.

Descărcați desenele acestor hărți și încercați să comparați diferențele dintre diagrame. În plus, regulatorul funcționează și ca un filtru, atenuând zgomotul care poate fi prezent în tensiunea generată de sursa de alimentare. controler de 5 volți. Acest regulator se numește regulator liniar și mediul pe care îl folosește pentru a reduce tensiunea sursei este pur și simplu pentru a disipa excesul de energie, aruncându-l sub formă de căldură. Din acest motiv, are o eficiență scăzută și, de obicei, devine foarte fierbinte în unele cazuri.

Microcontrolerul ATmega328 acceptă și interfețele de comunicare I2C (TWI) și SPI.

Resetare automată (software).

Pentru a nu fi nevoie să apăsați butonul de resetare de fiecare dată înainte de a încărca programul, placa UNO are o funcție de resetare hardware inițiată de la computerul conectat. Unul dintre semnalele de control al fluxului de date (DTR) ale ATmega16U2 este conectat la pinul de resetare al ATmega328 printr-un condensator de 0,1 uF. Când semnalul DTR scade, este generat impulsul de resetare al microcontrolerului. Această soluție vă permite să descărcați un program cu un singur clic din Mediul de programare integrat Android (IDE).

Dar o astfel de funcție poate duce la consecințe negative. Când conectați placa UNO la un computer cu un dispozitiv de operare sistem Mac Os X sau Linux, microcontrolerul se va reseta de fiecare dată când programul se conectează la placă. Într-o jumătate de secundă, bootloader-ul va fi lansat pe placa UNO. Chiar dacă programul de descărcare ignoră datele străine, poate primi câțiva octeți din pachet imediat după stabilirea conexiunii. Dacă programul de pe placa Arduino prevede primirea oricăror date la prima pornire, este necesar să trimiteți datele cu o întârziere de aproximativ 1 secundă după conectare.

Există o pistă pe modulul UNO care poate fi tăiată pentru a dezactiva funcția de resetare automată. Pista este marcată cu inscripția „RESET-EN”. Resetarea automată poate fi, de asemenea, dezactivată prin conectarea unui rezistor de 110 ohmi între linia de alimentare de 5V și pinul RESET.

Protecție la suprasarcina portului USB.

În placa Arduino UNO, linia de alimentare de la interfața USB este protejată de o siguranță resetabilă. Dacă curentul depășește 500 mA, siguranța întrerupe circuitul până când scurtcircuitul este eliminat.

Schema schematică a controlerului Arduino UNO.


Platformă de dezvoltare emblematică bazată pe microcontrolerul ATmega328P. Pe Arduino Uno este furnizat tot ceea ce aveți nevoie pentru lucrul convenabil cu microcontrolerul: 14 intrări/ieșiri digitale (6 dintre ele pot fi folosite ca ieșiri PWM), 6 intrări analogice, un rezonator cuarț de 16 MHz, un conector USB, un conector de alimentare, un conector pt. programare în circuit (ICSP) și un buton de resetare.

Conexiune și configurare

Pentru a lucra cu placa Arduino Uno în sala de operație sistem Windows descărcați și instalați mediul integrat pe computer Dezvoltare Arduino- Arduino IDE.

Ceva n-a mers bine?

Elemente de bord


Microcontroler ATmega328P

Inima platformei Arduino Uno este microcontrolerul AVR pe 8 biți, ATmega328P.

Microcontroler ATmega16U2

Microcontrolerul ATmega16U2 conectează microcontrolerul ATmega328P la portul USB al computerului. Când este conectat la un PC, Arduino Uno este definit ca un port COM virtual. Firmware-ul 16U2 utilizează drivere USB-COM standard, deci nu trebuie instalate drivere externe.

Pinuri de alimentare

    VIN: Tensiune de la o sursă de alimentare externă (nu este legată de 5V de la USB sau altă tensiune stabilizată). Prin această ieșire, puteți trimite amândoi putere externăși consumă curent dacă la dispozitiv este conectat un adaptor extern.

    5V: Ieșirea primește o tensiune de 5 V de la stabilizatorul plăcii. Acest stabilizator oferă putere microcontrolerului ATmega328. Nu este recomandată alimentarea dispozitivului prin ieșirea de 5V - în acest caz, nu este utilizat un stabilizator de tensiune, ceea ce poate duce la defectarea plăcii.

    3,3 V: 3,3 V de la regulatorul de bord. Curent maxim ieșire - 50 mA.

    GND: Concluzii de bază.

    IOREF: Pinul oferă plăcilor de expansiune informații despre tensiunea de funcționare a microcontrolerului. În funcție de tensiune, placa de expansiune poate comuta la sursa de alimentare adecvată sau poate folosi convertoare de nivel, ceea ce îi va permite să funcționeze atât cu dispozitive de 5V, cât și de 3,3V.

Porturi I/O

    Intrări/ieșiri digitale: pinii 0 - 13
    Nivelul logic al unu este 5 V, zero este 0 V. Curentul maxim de ieșire este de 40 mA. Rezistoarele de tragere sunt conectate la pini, care sunt dezactivate implicit, dar pot fi activate de software.

    PWM: pinii 3, 5, 6, 9, 10 și 11
    Vă permite să scoateți valori analogice pe 8 biți ca semnal PWM.

    ADC: pinii A0 - A5
    6 intrări analogice, fiecare dintre acestea putând reprezenta tensiunea analogică ca număr de 10 biți (1024 de valori). Adâncimea de biți a ADC este de 10 biți.

    TWI/I²C: Pini SDA și SCL
    Pentru a comunica cu periferice folosind un protocol sincron, prin 2 fire. Pentru a lucra - utilizați biblioteca Wire.

    SPI: pini 10(SS), 11(MOSI), 12(MISO), 13(SCK).
    Prin acești pini, comunicarea se realizează prin interfața SPI. Pentru a lucra - utilizați biblioteca SPI.

    UART: pinii 0(RX) și 1(TX)
    Acești pini sunt conectați la pinii corespunzători ai microcontrolerului ATmega16U2, care acționează ca un convertor USB-UART. Folosit pentru a comunica placa Arduino cu un computer sau alte dispozitive prin clasa Serial.

Indicatie LED

Conector USB tip B

Conectorul USB de tip B este proiectat să flash platforma Arduino Uno folosind un computer.

Conector pentru alimentare externă

Conector pentru alimentare externă de la 7 V la 12 V.

Conector ICSP pentru ATmega328P

Conectorul ICSP este destinat programării în circuit a microcontrolerului ATmega328P. Folosind biblioteca SPI, acești pini pot comunica cu plăcile de expansiune prin interfața SPI. Liniile SPI sunt direcționate către un conector cu 6 pini și sunt, de asemenea, duplicate pe pinii digitali 10(SS), 11(MOSI), 12(MISO) și 13(SCK).

Conector ICSP pentru ATmega16U2

Conectorul ICSP este destinat programării în circuit a microcontrolerului ATmega16U2.