Noțiuni introductive despre Arduino Due. Arduino Due: pinout, schema de cablare și programarea proiectelor Arduino due

Arduino Due - reprezintă o soluție mai serioasă decât. Aceasta este prima placă Arduino bazată pe un nucleu pe 32 de biți.

Caracteristici

  • Microcontroler: AT91SAM3X8E;
  • Frecvența ceasului: 84 MHz;
  • Adâncimea de biți: 32 de biți
  • Tensiunea de alimentare: 3,3V;
  • Tensiunea de intrare (recomandată): 7-12V;
  • Tensiune de intrare (limită): 6-16 V;
  • Pinii digitali I / 0: 54 de linii (12 dintre ele sunt PWM);
  • Intrări analogice: 12 (ADC);
  • Ieșiri analogice: 2 (DAC);
  • Memorie flash: 512 KB (toată memoria este disponibilă pentru programe);
  • Memorie SRAM: 96 KB;
  • Curent maxim la pinul I / 0: 130 mA;
  • Curent maxim la pinul 3.3V: 800 mA;
  • Curent maxim la pinul 5V: 800 mA;
  • Lungime: 101,52 mm;
  • Lățime: 53,3 mm;
  • Greutate: 36 g;

Conexiune

Pentru a vă conecta la un computer de care aveți nevoie.

Alimente

Arduino Due poate fi alimentat de pe USB, prin sau de la o sursă de alimentare externă:, , a cărui mufă (Ø 2,1 mm, borna centrală este pozitivă) trebuie conectată la conectorul de alimentare. Dacă sursa externă de alimentare este o baterie, atunci trebuie conectat la pinii GIN și Vin. Tipul de alimentare este selectat automat.

Mai multe despre tablă

Arduino Due se bazează pe un microcontroler Atmel SAM3X8E ARM Cortex-M3 pe 32 de biți cu o viteză de ceas de 84 MHz. Spre deosebire de majoritatea plăcilor Arduino, Arduino Due rulează de la 3,3V, are 2 porturi I2C, un port CAN, 2 ieșiri analogice (DAC), 2 porturi microUSB cu suport USB OTG - capacitatea de a conecta alte dispozitive USB la portul USB. Prezența unui controler DMA eliberează procesorul de sarcini care consumă resurse În plus față de butonul Resetare, există și un buton de ștergere (ștergere la bord), care ține apăsat care timp de câteva secunde, în prezența puterii, va duce la ștergerea hardware a datelor din memoria Flash. Încărcătorul este fixat din fabrică într-o zonă de memorie special alocată. Vă rugăm să rețineți că prezența unei tensiuni mai mari de 3,3V la orice intrare poate deteriora placa.

Software

Descărcați (încărcați) programul Arduino IDE pentru crearea, editarea și încărcarea schițelor pe Arduino sau Genuino, puteți de la

O zi buna!
De mult timp, în timpul liber, fac tot felul de bibelouri electronice. Am început cu programarea tinek și meg în IAR, până când am realizat că lucrurile sunt mult mai ușoare cu Arduino. Și chiar recent am descoperit o copie a Arduino DUE în vastele magazine chinezești la un preț puțin mai scump decât binecunoscutul Mega2560.

Pentru cei care nu știu ce este și cu ce se mănâncă

Arduino este un constructor electronic și o platformă ușor de utilizat pentru dezvoltare electronică rapidă pentru începători și profesioniști. Platforma se bucură de o popularitate imensă în întreaga lume datorită comodității și simplității limbajului de programare, precum și arhitecturii deschise și codului de program. Dispozitivul este programabil prin USB fără a utiliza programatori.

Arduino permite computerului să depășească lumea virtuală în fizic și să interacționeze cu acesta. Dispozitivele bazate pe Arduino pot primi informații despre mediu prin intermediul diferiților senzori și pot controla, de asemenea, diferiți actuatori.

Microcontrolerul de pe placă este programat folosind limbajul Arduino (bazat pe limbajul de cablare) și mediul de dezvoltare Arduino (bazat pe mediul de procesare). Proiectele de dispozitive bazate pe Arduino pot funcționa independent sau pot interacționa cu software-ul de pe computer (de exemplu: Flash, Processing, MaxMSP). Plăcile pot fi asamblate de utilizator însuși sau cumpărate asamblate. Software-ul este disponibil pentru descărcare gratuită. Desenele schematice originale (fișiere CAD) sunt disponibile publicului, utilizatorii le pot aplica după cum doresc.
© arduino.ru


Mi-am început cunoștința cu arduino prin achiziționarea omologului chinez Mega2560. La început, am jucat, am conectat afișaje, senzori, servomotoare, până când cumva trebuia să fac un dispozitiv pentru lucru care să citească tensiunile dintr-un șunt de curent și un termistor, transformând totul într-o formă normală și afișându-l pe afișaj. Aici arduinul a fost la îndemână, în 5 minute a fost scrisă o schiță, ecranul a fost conectat și placa a trecut la lucru. Desigur, s-a dovedit de la un tun la vrăbii, dar în acel moment era cea mai rapidă soluție. Apoi am comandat o duzină de ProMini pentru 100 de ruble și am vrut să transfer o schiță uneia dintre ele, dar, după cum știți, nu există nimic mai permanent decât temporar și lenea mea nu m-a lăsat să o fac. Acasă, trebuia să mă mulțumesc cu plăci de 100 de ruble, deoarece, în afară de numărul de pini, memorie și absența unui convertor USB-UART, acestea nu difereau prea mult de mega.

Dar concluziile au început să lipsească și, într-o zi, rătăcind prin spațiile deschise ale bangguda, am dat peste un Arduino DUE. Prețul său a fost puțin mai mare decât pentru Mega2560 și l-am cumpărat imediat. Principala diferență dintre acesta și alte arduine este că în interior are un microcontroler ARM pe 32 de biți cu arhitectura Cortex-M3 care funcționează la 84 MHz.

Pachetul a sosit în 27 de zile, placa a fost înfășurată în mai multe straturi de folie cu bule și ambalată într-o pungă tipică chineză galbenă.

Vedere din față:


Lipirea se face cu grijă, dar dacă priviți cu atenție, puteți observa mici defecte în serigrafie.
După cum puteți vedea din fotografie, această placă are doi conectori microUSB. Una este necesară pentru programare, iar prin intermediul celei de-a doua plăci poate comunica cu lumea exterioară: citiți unități flash, emulați o tastatură, mouse (nu am testat asta încă eu). Există, de asemenea, un buton de ștergere dificil, apăsând care șterge blițul microcontrolerului.

Vedere din spate:

Specificațiile plăcii (preluate de pe site):
Microcontroler: AT91SAM3X8E
Tensiune de lucru: 3.3V
Tensiunea de intrare (recomandată): 7-12V
Tensiune de intrare (limită): 6-20V
Intrări / ieșiri digitale: 54 (din care 12 implementează ieșire PWM)
Intrări analogice: 12
Ieșiri analogice: 2 (DAC)
Curent total de ieșire DC pe toate I / O: 50 mA
Curent continuu prin pin 3.3V: 800mA
Curent continuu prin pin 5V: 800mA
Memorie Flash: 512 KB total disponibil pentru aplicații personalizate
RAM: 96 KB (două bănci: 64 KB și 32 KB)
Frecvența ceasului: 84 MHz

Sunt prezente toate interfețele standard, cum ar fi SPI, 1Wire, UART.
Puteți citi mai detaliat

Și iată MK-ul mai mare în sine:

Al 16-lea mega cu cuarț la 16 MHz este responsabil pentru programarea sa:

Și este tactat de un cuarț extern:


După cum a sugerat tovarășul Angrim, 84 MHz se obține înmulțind cu 7 12 original.

O caracteristică importantă este că, spre deosebire de alte plăci Arduino, Arduino Due funcționează de la 3,3 V. Tensiunea maximă pe care intrările / ieșirile o pot rezista este de 3,3 V.
În principiu, majoritatea senzorilor pot funcționa de la 3,3 volți, dar unele scuturi nu vor funcționa.
În alte aspecte, puteți cumpăra întotdeauna aceste lucruri în plus: există 5V pe tablă.

Pentru a scrie schițe și a le completa, trebuie să descărcați Arduino 1.5.8 BETA, cu suport DUE. Cu toate acestea, trebuie remarcat faptul că nu toate bibliotecile scrise pentru alte versiuni ale Arduino funcționează bine cu DUE. Am o bibliotecă pentru a lucra cu un senzor BMP180 care a funcționat bine cu mega, a dat date nerealiste, a trebuit să descarc o bibliotecă de la Adafruit. De asemenea, am observat că MC nu începe întotdeauna să execute programul după ce este pornit, uneori trebuie să apăsați reset. A cui eroare este, versiunea beta a IDE sau a tabloului chinez, nu știu.

Teste

În primul rând, pentru verificare, am încărcat o schiță care sondează senzorul BMP180 și scrie date din acesta (presiune și temperatură) pe o unitate flash USB.


Totul a funcționat, totuși, așa cum am scris mai sus, a trebuit să folosesc biblioteca Adafruit.

Rezultat

Și, bineînțeles, cum nu poți folosi DAC-ul încorporat!
Pentru aceasta, completați exemplul SimpleAudioPlayer, conectați unitatea flash USB cu fișierul test.waw completat cu waw și conectați pinul DAC0 împreună cu solul la amplificator. În cazul meu, amplificatorul a fost un difuzor portabil obținut printr-o promoție de la Pringles. Pur și simplu am legat concluziile de mufă cu două rezistențe de 10 kΩ. pe o linie dreaptă, difuzorul era supraîncărcat rigid.

Bucurați-vă de muzica de la difuzor!


Bineînțeles, sunetul este așa, aceiași 12 biți se fac simțiți, dar pentru arduina nici măcar nu este rău!
Acum intenționăm să cumpărăm un afișaj color și să rulăm videoclipuri pe el.

Ei bine, ca rezultat, ia în considerare avantajele și dezavantajele acestei arduine
Pro:
- Cost scăzut
- Controler pe 32 de biți și frecvență de 84 MHz.
- Disponibilitatea DAC 12 biți 1Msps
- ADC pe 12 biți
- USB nativ

Minusuri:
- Tensiune de funcționare de 3,3 V (incompatibilă cu unele scuturi / dispozitive)
- Incompatibilitate cu unele biblioteci.
- Uneori, după ce porniți alimentarea, trebuie să apăsați reset pentru a porni programul

În general, mi-a plăcut, poate mai vor ieși niște jamburi în viitor, dacă vă anunț.

Vă mulțumesc tuturor pentru atenție!

Am de gând să cumpăr +60 Adauga la favorite Recenzia a apreciat +51 +107

Modul radio NRF24L01, OKI 120A2, Modul card SD, controler motor colector IC, modem M590E GSM GPRS, ceas DS 3231 / DS 1307 în timp real, Mini 360 pe LM2596, diagramă L293D, senzori de distanță infraroșu, ceas în timp real, HC-SR501 , bloc sursă de alimentare Mini 360 pe diagrama LM2596, controler L298N, HC-SR501, GSM GPRS, modem M590E GSM GPRS, ceas DS 3231 / DS 1307 în timp real, modul Wi-Fi ESP8266-12E, modul card, sursă de alimentare, Mini 360, L293D, sursă de alimentare Mini 360 pe diagrama LM2596, modul radio, telecomandă IR, telecomandă IR, scut Ethernet, controler IC motor controler, controler IC motor controler, telecomandă IR, modul card SD, modul radio NRF24L01, motor OKI , L293D, motor pas cu pas, sursă de alimentare, L293D, sursă de alimentare Mini 360 în diagramă LM2596, card de memorie SD, ecran Ethernet, senzor de mișcare HC-SR501, modul Wi-Fi ESP8266-12E, motor pas cu pas OKI 120A2, motor pas cu pas jucător,

Arduino Due este o placă de microcontroler bazată pe procesorul Atmel SAM3X8E ARM Cortex-M3. Aceasta este prima placă Arduino bazată pe un microcontroler pe 32 de biți cu un nucleu ARM.

Spre deosebire de alte plăci Arduino, Arduino Due funcționează de la 3,3 V. Tensiunea maximă pe care I / O o poate suporta este de 3,3 V.



Placa Arduino Due

Specificații pentru placa Arduino Due

Microcontroler

AT91SAM3X8E

Tensiune de lucru

3,3V

7-12 V

Tensiunea de intrare (limita)

6-20V

Intrări / ieșiri digitale

54 (12 dintre care implementează ieșirea PWM)

Intrări analogice

Ieșiri analogice

2 (DAC)

Curent constant prin intrare / ieșire

50 mA

Curent continuu pentru pinul de 3,3V

800 mA

Curent continuu pentru pinul de 5V

800 mA

Memorie flash

512 kB

RAM

96 KB (două bănci: 64 KB și 32 KB)

Frecvența ceasului

84 MHz

Informații generale

Arduino Due este un dispozitiv bazat pe microprocesorul Atmel SAM3X8E ARM Cortex-M3. Aceasta este prima placă Arduino bazată pe un microcontroler ARM pe 32 de biți. Se compune din 54 de pini digitali (dintre care 12 pot funcționa ca ieșiri PWM), 12 intrări analogice, 4 UART-uri (transceiver hardware pentru transmiterea de date seriale), un generator de ceas de 84 MHz, USB cu suport OTG, 2 convertoare DAC (digital-analog) ), 2 TWI, conector de alimentare, conector SPI, conector JTAG, buton de resetare și buton de memorie liberă.

Notă: spre deosebire de alte plăci Arduino, tensiunea de funcționare a Arduino Due este de 3,3V. În consecință, tensiunea maximă pe care o pot rezista terminalele sale este de 3,3V. Aplicarea unei tensiuni mai mari (de exemplu, 5V) la ieșire poate deteriora placa.

Dispozitivul include tot ce este necesar pentru a asigura funcționarea microcontrolerului; pentru a începe, trebuie doar să furnizați energie de la un adaptor AC / DC sau de la o baterie sau să o conectați la computer utilizând un cablu USB. Arduino Due este compatibil cu toate plăcile de expansiune de 3,3 V și îndeplinește cerințele pinout 1.0:

  • Pinii SDA și SCL (TWI) se află lângă pinul AREF.
  • Există un pin IOREF care permite plăcilor de expansiune să se adapteze la tensiunea de funcționare a Arduino. Datorită acestui fapt, plăcile de expansiune pot fi compatibile atât cu 3.3V-Arduino (similar cu Due), cât și cu 5V-Arduino bazate pe microcontrolere AVR.
  • Retragere gratuită oferită, rezervată pentru scopuri viitoare.

Avantajele utilizării nucleului ARM

Prin utilizarea unui nucleu ARM pe 32 de biți, Arduino Due depășește plăcile tipice bazate pe microcontrolere pe 8 biți în multe feluri. Cele mai semnificative diferențe sunt următoarele:

  • Nucleul pe 32 de biți poate procesa date de 4 octeți într-un singur ciclu de ceas. (Pentru mai multe detalii, a se vedea).
  • Frecvența ceasului este de 84 MHz.
  • SRAM are 96 KB.
  • Cantitatea de memorie flash pentru programe este de 512 KB.
  • Prezența unui controler DMA, care permite descărcarea procesorului central de la efectuarea de operații cu resurse mari cu memorie.

Design schematic, original și fixare

Aspect pin: pinout SAM3X

Alimente

Arduino Due poate fi alimentat de pe USB sau de la o sursă de alimentare externă - tipul sursei este selectat automat.

Sursa de alimentare externă (nu USB) poate fi un adaptor AC / DC sau baterie / baterie. Mufa adaptorului (diametru - 2,1 mm, contact central - pozitiv) trebuie introdusă în conectorul de alimentare corespunzător de pe placă. În cazul alimentării bateriei / bateriei, firele sale trebuie conectate la pinii Gnd și Vin ai conectorului POWER.

Tensiunea sursei de alimentare externe poate fi cuprinsă între 6 și 20 V. Cu toate acestea, o scădere a tensiunii de alimentare sub 7V duce la o scădere a tensiunii la pinul de 5V, ceea ce poate provoca o funcționare instabilă a dispozitivului. Folosirea unei tensiuni mai mari de 12V poate duce la supraîncălzirea regulatorului de tensiune și la deteriorarea plăcii. Având în vedere acest lucru, se recomandă utilizarea unei surse de alimentare cu o tensiune cuprinsă între 7 și 12V.

Următoarele sunt pinii de alimentare amplasați pe placă:

  • VIN. Tensiunea furnizată către Arduino direct de la o sursă de alimentare externă (nu este legată de 5V de la USB sau altă tensiune stabilizată). Acest pin poate furniza energie externă și consuma curent atunci când dispozitivul este alimentat de un adaptor extern.
  • 5V. Ieșirea primește o tensiune de 5V de la regulatorul de tensiune de pe placă, indiferent de modul în care este alimentat dispozitivul: de la adaptor (7 - 12V), de la USB (5V) sau prin ieșirea VIN (7 - 12V). Nu se recomandă alimentarea dispozitivului prin pinii de 5V sau 3V3, deoarece în acest caz nu este utilizat un regulator de tensiune, ceea ce poate duce la defectarea plăcii.
  • 3V3. 3.3V provenind de la regulatorul de tensiune de pe placă. Acest regulator furnizează, de asemenea, energie microcontrolerului SAM3X. Curentul maxim extras de la acest pin este de 800 mA.
  • GND. Constatări la sol.
  • IOREF. Acest pin oferă plăcilor de expansiune informații cu privire la tensiunea de funcționare a microcontrolerului Arduino. În funcție de tensiunea citită de pinul IOREF, placa de expansiune poate comuta la sursa de alimentare corespunzătoare sau poate utiliza convertoare de nivel, ceea ce îi va permite să funcționeze atât cu dispozitive de 5V, cât și de 3,3V.

Memorie

Cantitatea de memorie flash a programelor microcontrolerului SAM3X este de 512 KB (2 blocuri de 256 KB). Dispozitivul vine cu un bootloader fulgerat situat într-o memorie ROM separată. SRAM disponibil este de 96 KB, adică două bănci de memorie contigue de 64 KB și respectiv 32 KB. Toată memoria disponibilă (Flash, RAM și ROM) are un spațiu de adresă liniar comun.

Butonul de ștergere, situat pe placă, vă permite să ștergeți memoria flash a microcontrolerului SAM3X și să ștergeți programul încărcat în prezent. Pentru a face acest lucru, trebuie să țineți apăsat timp de câteva secunde.

Intrări și ieșiri

  • I / O digitală: pinii 0 - 53 Cu ajutorul funcțiilor și fiecare dintre cei 54 de pini digitali poate funcționa ca intrare sau ieșire. Tensiunea de funcționare a acestor pini este de 3,3V. Curentul maxim de ieșire al fiecărui pin variază de la 3 mA la 15 mA (în funcție de pin), iar curentul maxim de intrare variază de la 6 la 9 mA (în funcție de pin). Toți pinii sunt împerecheați cu rezistențe interne de tracțiune de 100 kΩ (dezactivate în mod implicit). În plus, unele dintre concluzii pot îndeplini funcții suplimentare:
  • Serial: pinii 0 (RX) și 1 (TX)
  • Seria 1: pinii 19 (RX) și 18 (TX)
  • Seria 2: pinii 17 (RX) și 16 (TX)
  • Seria 3: pinii 15 (RX) și 14 (TX)

Folosit pentru a primi (RX) și a transmite (TX) date seriale (nivel de tensiune TTL 3.3V). Pinii 0 și 1 sunt conectați la pinii corespunzători ai cipului ATmega16U2, care acționează ca un convertor USB-UART.

  • PWM: pinii 2-13

Funcția analogWrite () poate emite valori analogice pe 8 biți ca semnal PWM. Lățimea PWM poate fi modificată utilizând funcția analogWriteResolution ().

  • Interfață SPI: pini SPI (pe conectorul ICSP al plăcilor Arduino)

Cu aplicația, acești pini pot comunica prin interfața SPI. Liniile SPI sunt direcționate către un conector cu 6 pini din centrul plăcii, care este fizic compatibil cu Uno, Leonardo și Mega2560. Rețineți că conectorul SPI nu este destinat programării în circuit a microcontrolerului SAM3X și poate fi utilizat numai pentru comunicarea cu alte dispozitive SPI. În plus, Arduino Due SPI are o serie de capabilități suplimentare care pot fi exploatate folosind metode speciale.

  • Interfață CAN: pinii CANRX și CANTX

Acești pini acceptă protocolul de comunicare CAN, dar în prezent nu există nicio implementare în API-ul Arduino.

  • LED "L": pinul 13

LED încorporat conectat la pinul 13. Când trimiteți o valoare HIGH, LED-ul se aprinde, când trimiteți o valoare LOW, se stinge. În plus, luminozitatea LED-ului poate fi reglată, deoarece pinul 13 poate funcționa ca o ieșire PWM.

  • TWI 1: Pinii 20 (SDA) și 21 (SCL)
  • TWI 2: pini SDA1 și SCL1

Cu utilizarea, acești pini pot comunica prin interfața TWI.

  • Intrări analogice: pinii A0 - A11
  1. Arduino Due are 12 intrări analogice, fiecare dintre ele putând reprezenta tensiunea analogică ca un număr de 12 biți (4096 valori). Lățimea de biți a ADC care interacționează cu acești pini este setată la 10 biți în mod implicit (pentru compatibilitate cu alte plăci Arduino). Puteți modifica adâncimea de biți ADC utilizând funcția AnalogReadResolution "Intrările analogice ale Arduino Due pot fi furnizate cu tensiuni cuprinse între 0 și 3,3 V. Dacă se aplică o tensiune mai mare, microcontrolerul SAM3X poate eșua. AnalogReference () funcția din Arduino Due este ignorată.

Pe placa, pinul AREF este conectat la pinul de referință al SAM3X printr-un pod de rezistență. Pentru a utiliza pinul AREF, trebuie să scoateți rezistorul BR1.

  • DAC1 și DAC2

Ieșiri analogice ale unui convertor digital-analog pe 12 biți. Funcția analogWrite () permite generarea a 4096 nivele de tensiune diferite. Acești pini pot fi folosiți pentru a crea o ieșire audio pentru a viziona biblioteca audio.

Alte știfturi de pe tablă:

  • AREF

Tensiunea de referință ADC. Folosit de analogReference ().

  • Resetați

Formarea unui nivel scăzut (LOW) pe acest pin va duce la repornirea microcontrolerului. De obicei, acest pin este utilizat pentru funcția butonului de resetare pe cardurile de expansiune.

Comunicare

Arduino Due oferă o serie de posibilități pentru comunicarea cu un computer, un alt Arduino sau alte microcontrolere, precum și cu diverse dispozitive precum telefoane, tablete, camere, etc. Microcontrolerul SAM3X are un UART hardware și trei USART hardware pentru a implementa interfețe seriale TTL de 3,3V.

Portul de programare USB de pe placă interacționează cu cipul ATmega16U2, care acționează ca un convertor USB-UART, care, atunci când este conectat la un computer, este definit ca un port COM virtual. (Pentru identificarea corectă pe sistemele Windows, este necesar un fișier .inf; pe sistemele cu OSX și LINUX, placa este recunoscută automat). Microcircuitul 16U2 este conectat la transceptorul hardware UART al microcontrolerului SAM3X. Pentru a programa microcontrolerul prin microcircuitul ATmega16U2, se folosesc pinii RX0 și TX0. Pachetul software Arduino include un program special care vă permite să citiți și să trimiteți date text simple către Arduino. Când transmiteți date prin microcircuitul convertorului USB-UART în timpul unei conexiuni USB cu un computer, LED-urile RX și TX de pe placă vor clipi. (Când datele seriale sunt transmise prin pinii 0 și 1, fără a utiliza un convertor USB, aceste LED-uri nu sunt utilizate).

Portul USB standard de pe placă este, de asemenea, conectat la controlerul SAM3X și este destinat transferului de date serial (CDC) prin USB. Acest port permite Arduino să comunice cu diverse aplicații de pe computer (de exemplu, Serial Monitor etc.). Utilizarea unui port USB standard atunci când este conectat la un computer permite Arduino Due să funcționeze ca mouse USB sau tastatură. Pentru mai multe informații despre aceasta, consultați referința bibliotecii Mouse și Keyborad.

Portul USB stoc poate acționa și ca gazdă USB și poate sprijini conexiunea dispozitivelor periferice, cum ar fi șoareci, tastaturi sau smartphone-uri. Pentru mai multe informații despre acest lucru, consultați referința bibliotecii USBHost.

Microcontrolerul SAM3X acceptă, de asemenea, interfețele seriale TWI și SPI. Software-ul Arduino include o bibliotecă Wire pentru a simplifica lucrul cu magistrala I2C; consultați documentația pentru mai multe detalii. Utilizați biblioteca SPI pentru a lucra cu interfața SPI.

Programare

Procesul de încărcare a programelor în microcontrolerul SAM3X este diferit de procesul de intermitere a microcontrolerelor AVR utilizate în alte plăci Arduino. Particularitatea SAM3X este că, pentru a-l bloca, trebuie să ștergeți în prealabil memoria flash a controlerului. Acest lucru se datorează faptului că procesul de încărcare a programului este controlat de bootloader-ul din ROM-ul SAM3X, care pornește numai dacă nu există niciun program în memoria flash a microcontrolerului.

Astfel, oricare dintre porturile USB poate fi utilizat pentru a clipi placa. Cu toate acestea, se recomandă utilizarea portului USB pentru programare („Portul de programare” din figură) datorită unor particularități ale procesului de curățare a memoriei microcontrolerului:

  • Port de programare: Pentru a utiliza acest port în IDE-ul Arduino, selectați „Arduino Due (Port de programare)” ca placă de lucru. Conectați dispozitivul Datorită computerului dvs. conectând cablul USB la conectorul de programare (mai aproape de conectorul de alimentare). Portul de programare interacționează cu cipul 16U2, care acționează ca un convertor USB-UART. La rândul său, microcircuitul 16U2 este conectat la primul UART al microcontrolerului SAM3X (pinii RX0 și TX0) și, de asemenea, controlează pinii Reset și Erase. Când portul este deschis și închis la 1200 baud, se formează un nivel activ pe pinii Erase și Reset, care șterge memoria microcontrolerului. Astfel, așa-numita procedură de „curățare hardware” este declanșată înainte de a interacționa cu SAM3X UART. Această metodă este mai fiabilă decât „curățarea software-ului” atunci când se utilizează portul USB standard și funcționează chiar dacă procesorul se blochează. Acesta este motivul pentru care se recomandă utilizarea portului de programare pentru firmware-ul Arduino Due.
  • Port USB nativ: pentru a utiliza acest port în Arduino IDE ca placă de lucru, selectați „Arduino Due (Naive USB Port)”. Portul USB standard este conectat direct la microcontrolerul SAM3X. Conectați dispozitivul Datorită computerului dvs. conectând cablul USB la conectorul USB OEM (situat mai aproape de butonul de resetare). Deschiderea și închiderea portului la 1200 baud va declanșa procedura de „curățare software”, în timpul căreia memoria flash este ștearsă, microcontrolerul este repornit și bootloaderul pornește. Deoarece această procedură este realizată exclusiv de programul microcontrolerului SAM3X însuși, dacă acesta din urmă se blochează, procesul de curățare poate să nu aibă loc. În același timp, deschiderea / închiderea portului standard la viteze diferite nu va ajuta la repornirea microcontrolerului.

Spre deosebire de alte plăci Arduino, care sunt programate folosind avrdude, procesul de firmware Arduino Due se face folosind un program.

Codul sursă de firmware pentru microcontrolerul ATmega16U2 este disponibil în depozitul Arduino. Microcontrolerul poate fi fulgerat prin conector pentru programarea în circuit a ISP utilizând un programator extern (în acest caz, bootloader-ul DFU va fi suprascris).

Protecție la suprasarcină USB

Arduino Due are siguranțe resetabile pentru a proteja portul USB al computerului de scurtcircuite și suprasarcini. Deși majoritatea computerelor au propria lor protecție, aceste siguranțe oferă un strat suplimentar de protecție. Dacă portul USB atrage mai mult de 500mA, siguranța va întrerupe automat conexiunea până când se elimină cauza scurtcircuitului sau a suprasolicitării.

Specificații fizice și compatibilitatea plăcii de expansiune

Lungimea și lățimea maximă a PCB Arduino Due este de 10,2 cm și respectiv 5,4 cm, inclusiv conectorii USB și de alimentare care ies din placă. Trei găuri de montare vă permit să atașați placa pe o suprafață sau carcasă. Rețineți că distanța dintre pinii digitali 7 și 8 nu este un multiplu al tradiționalului 2,54 mm și este de 4 mm.

Arduino Due este conceput pentru a fi compatibil cu majoritatea plăcilor de expansiune pentru Uno, Diecimila sau Duemilanove. Dispunerea pinilor principali ai plăcii este complet echivalentă: pinii digitali 0-13 (precum și pinii adiacenți AREF și GND), intrările analogice 0-5, conectorul POWER și conectorul ICSP (SPI) - toți pinii sunt localizați la aceeași distanță una de cealaltă. În plus, liniile emițătorului principal UART sunt conectate la aceiași pini (0 și 1). Vă rugăm să rețineți că numerele de pin I2C ale Arduino Due (20 și 21) sunt diferite de pinii Duemilanove / Diecimila (pinii analogici 4 și 5).

Informații generale

Arduino Due este un dispozitiv bazat pe microprocesorul Atmel SAM3X8E ARM Cortex-M3 (foaie tehnică). Aceasta este prima placă Arduino bazată pe un microcontroler ARM pe 32 de biți. Include 54 de pini digitali (dintre care 12 pot funcționa ca ieșiri PWM), 12 intrări analogice, 4 UART-uri (transceiver-uri hardware care efectuează transmisii de date seriale), un generator de ceas de 84 MHz, USB cu suport OTG, 2 DAC (Digital to Analog) Convertoare), 2 TWI, conector de alimentare, conector SPI, conector JTAG, buton de resetare și buton de memorie liberă.

Notă: spre deosebire de alte plăci Arduino, tensiunea de funcționare a Arduino Due este de 3,3V. În consecință, tensiunea maximă pe care o pot rezista terminalele sale este de 3,3V. Aplicarea unei tensiuni mai mari (de exemplu, 5V) la ieșire poate deteriora placa.

Dispozitivul include tot ce este necesar pentru a asigura funcționarea microcontrolerului; pentru a începe, trebuie doar să furnizați energie de la un adaptor AC / DC sau de la o baterie sau să o conectați la computer utilizând un cablu USB. Arduino Due este compatibil cu toate plăcile de expansiune de 3,3V și îndeplinește cerințele pinout 1.0:

  • Pinii SDA și SCL (TWI) se află lângă pinul AREF.
  • Există un pin IOREF care permite plăcilor de expansiune să se adapteze la tensiunea de funcționare a Arduino. Datorită acestui fapt, plăcile de expansiune pot fi compatibile atât cu 3.3V-Arduino (similar cu Due), cât și cu 5V-Arduino bazate pe microcontrolere AVR.
  • Retragere gratuită oferită, rezervată pentru scopuri viitoare.

Avantajele utilizării nucleului ARM

Prin utilizarea unui nucleu ARM pe 32 de biți, Arduino Due depășește plăcile tipice bazate pe microcontrolere pe 8 biți în multe feluri. Cele mai semnificative diferențe sunt următoarele:

  • Nucleul pe 32 de biți poate procesa date de 4 octeți într-un singur ciclu de ceas. (Pentru mai multe informații, consultați descrierea tipului int).
  • Frecvența ceasului este de 84 MHz.
  • SRAM are 96 KB.
  • Cantitatea de memorie flash pentru programe este de 512 KB.
  • Prezența unui controler DMA, care permite descărcarea procesorului central de la efectuarea de operații cu resurse mari cu memorie.

Design schematic, original și fixare

Caracteristici

Microcontroler AT91SAM3X8E
Tensiune de lucru 3,3V
Tensiunea de alimentare (recomandată) 7-12V
Tensiunea de alimentare (limita) 6-16V
Ieșiri digitale 54 (din care 12 pot funcționa ca ieșiri PWM)
Intrări analogice 12
Ieșiri analogice 2 (DAC)
Curentul total de ieșire al tuturor ieșirilor (maxim) 130 mA
Curentul maxim de ieșire al ieșirii 3.3V 800 mA
Curentul maxim de ieșire al ieșirii 5V 800 mA
Memorie flash 512 KB complet disponibil pentru programele utilizatorilor
SRAM 96 KB (două bănci de memorie: 64 KB și 32 KB)
Frecvența ceasului 84 MHz

Alimente

Arduino Due poate fi alimentat de pe USB sau de la o sursă de alimentare externă - tipul sursei este selectat automat.

Sursa de alimentare externă (nu USB) poate fi un adaptor AC / DC sau baterie reîncărcabilă / baterie. Mufa adaptorului (diametru - 2,1 mm, contact central - pozitiv) trebuie introdusă în conectorul de alimentare corespunzător de pe placă. În cazul alimentării bateriei / bateriei, firele sale trebuie conectate la pinii Gnd și Vin ai conectorului POWER.

Tensiunea sursei de alimentare externe poate fi cuprinsă între 6 și 20 V. Cu toate acestea, o scădere a tensiunii de alimentare sub 7V duce la o scădere a tensiunii la pinul de 5V, ceea ce poate provoca o funcționare instabilă a dispozitivului. Folosirea unei tensiuni mai mari de 12V poate duce la supraîncălzirea regulatorului de tensiune și la deteriorarea plăcii. Având în vedere acest lucru, se recomandă utilizarea unei surse de alimentare cu o tensiune cuprinsă între 7 și 12V.

Următoarele sunt pinii de alimentare amplasați pe placă:

  • VIN. Tensiunea furnizată către Arduino direct de la o sursă de alimentare externă (nu este legată de 5V de la USB sau altă tensiune stabilizată). Acest pin poate furniza energie externă și poate trage curent atunci când dispozitivul este alimentat de un adaptor extern.
  • 5V. Ieșirea primește o tensiune de 5V de la regulatorul de tensiune de pe placă, indiferent de modul în care este alimentat dispozitivul: de la adaptor (7 - 12V), de la USB (5V) sau prin ieșirea VIN (7 - 12V). Nu se recomandă alimentarea dispozitivului prin pinii de 5V sau 3V3, deoarece în acest caz nu este utilizat un regulator de tensiune, ceea ce poate duce la defectarea plăcii.
  • 3V3. 3,3V, provenind de la regulatorul de tensiune de pe placă. Acest regulator furnizează, de asemenea, energie microcontrolerului SAM3X. Curentul maxim extras de la acest pin este de 800 mA.
  • GND. Constatări la sol.
  • IOREF. Acest pin oferă plăcilor de expansiune informații cu privire la tensiunea de funcționare a microcontrolerului Arduino. În funcție de tensiunea citită de pinul IOREF, placa de expansiune poate comuta la sursa de alimentare corespunzătoare sau poate utiliza convertoare de nivel, ceea ce îi va permite să funcționeze atât cu dispozitive de 5V, cât și de 3,3V.

Memorie

Cantitatea de memorie flash a programelor microcontrolerului SAM3X este de 512 KB (2 blocuri de 256 KB). Dispozitivul vine cu un bootloader fulgerat situat într-o memorie ROM separată. SRAM disponibil este de 96 KB, adică două bănci de memorie contigue de 64 KB și respectiv 32 KB. Toată memoria disponibilă (Flash, RAM și ROM) are un spațiu de adresă liniar comun.

Butonul de ștergere, situat pe placă, vă permite să ștergeți memoria flash a microcontrolerului SAM3X și să ștergeți programul încărcat în prezent. Pentru a face acest lucru, trebuie să țineți apăsat timp de câteva secunde.

Intrări și ieșiri

  • I / O digitală: pinii 0 - 53
  • Interfață SPI: pini SPI (pe conectorul ICSP al plăcilor Arduino)
  • Interfață CAN: pinii CANRX și CANTX

Acești pini acceptă protocolul de comunicație CAN, dar în prezent nu există nicio implementare în API-ul Arduino.

  • LED "L": pinul 13

LED încorporat conectat la pinul 13. Când trimiteți o valoare HIGH, LED-ul se aprinde, când trimiteți o valoare LOW, se stinge. În plus, luminozitatea LED-ului poate fi ajustată, deoarece pinul 13 poate funcționa ca o ieșire PWM.

  • TWI 1: Pinii 20 (SDA) și 21 (SCL)
  • TWI 2: pini SDA1 și SCL1

Alte știfturi de pe tablă:

  • AREF

Tensiunea de referință ADC. Folosit de analogReference ().

  • Resetați

Formarea unui nivel scăzut (LOW) pe acest pin va duce la repornirea microcontrolerului. De obicei, acest pin este utilizat pentru funcția butonului de resetare pe cardurile de expansiune.

Comunicare

Arduino Due oferă o serie de posibilități de comunicare cu un computer, un alt Arduino sau alte microcontrolere, precum și cu diverse dispozitive precum telefoane, tablete, camere, etc. Microcontrolerul SAM3X are un UART hardware și trei USART hardware pentru a implementa interfețe seriale cu un nivel de tensiune TTL de 3,3V.

Portul de programare USB de pe placă interacționează cu microcircuitul ATmega16U2, care acționează ca un convertor USB-UART, care, atunci când este conectat la un computer, este definit ca un port COM virtual. (Pentru identificarea corectă pe sistemele Windows, este necesar un fișier .inf; pe sistemele cu OSX și LINUX, placa este recunoscută automat). Microcircuitul 16U2 este conectat la transceptorul hardware UART al microcontrolerului SAM3X. Pentru a programa microcontrolerul prin microcircuitul ATmega16U2, se folosesc pinii RX0 și TX0. Pachetul software Arduino include un program special care vă permite să citiți și să trimiteți date text simple către Arduino. Când transmiteți date prin microcircuitul convertorului USB-UART în timpul unei conexiuni USB cu un computer, LED-urile RX și TX de pe placă vor clipi. (Când datele seriale sunt transmise prin pinii 0 și 1, fără a utiliza un convertor USB, aceste LED-uri nu sunt utilizate).

Microcontrolerul SAM3X acceptă, de asemenea, interfețele seriale TWI și SPI. Software-ul Arduino include o bibliotecă Wire pentru a simplifica lucrul cu magistrala I2C; consultați documentația pentru mai multe detalii. Utilizați biblioteca SPI pentru a lucra cu interfața SPI.

Programare

Procesul de încărcare a programelor în microcontrolerul SAM3X este diferit de procesul de intermitere a microcontrolerelor AVR utilizate în alte plăci Arduino. Particularitatea SAM3X este că, pentru a-l bloca, trebuie să ștergeți în prealabil memoria flash a controlerului. Acest lucru se datorează faptului că procesul de încărcare a programului este controlat de bootloader-ul din ROM-ul SAM3X, care pornește numai dacă nu există niciun program în memoria flash a microcontrolerului.

Astfel, oricare dintre porturile USB poate fi utilizat pentru a clipi placa. Cu toate acestea, se recomandă utilizarea portului USB pentru programare („Portul de programare” din figură) datorită unor particularități ale procesului de curățare a memoriei microcontrolerului:

  • Port de programare: Pentru a utiliza acest port în IDE-ul Arduino, selectați „Arduino Due (Port de programare)” ca placă de lucru. Conectați Datorită computerului dvs. conectând cablul USB la conectorul de programare (mai aproape de conectorul de alimentare). Portul de programare interacționează cu cipul 16U2, care acționează ca un convertor USB-UART. La rândul său, microcircuitul 16U2 este conectat la primul UART al microcontrolerului SAM3X (pinii RX0 și TX0) și, de asemenea, controlează pinii Reset și Erase. Când portul este deschis și închis la 1200 baud, se formează un nivel activ pe pinii Erase și Reset, care șterge memoria microcontrolerului. Astfel, așa-numita procedură de „curățare hardware” este declanșată înainte de a interacționa cu SAM3X UART. Această metodă este mai fiabilă decât „curățarea software-ului” atunci când se utilizează portul USB standard și funcționează chiar dacă procesorul se blochează. Acesta este motivul pentru care se recomandă utilizarea portului de programare pentru firmware-ul Arduino Due.
  • Port USB nativ: Selectați „Arduino Due (Naive USB Port)” pentru a utiliza acest port în Arduino IDE ca placă de lucru. Portul USB standard este conectat direct la microcontrolerul SAM3X. Conectați Datorită computerului conectând cablul USB la conectorul USB OEM (situat mai aproape de butonul de resetare). Deschiderea și închiderea portului la 1200 baud va declanșa procedura de „curățare software”, în timpul căreia memoria flash este ștearsă, microcontrolerul este repornit și bootloaderul pornește. Deoarece această procedură este realizată exclusiv de programul microcontrolerului SAM3X însuși, dacă acesta din urmă se blochează, procesul de curățare poate să nu aibă loc. În același timp, deschiderea / închiderea portului standard la viteze diferite nu va ajuta la repornirea microcontrolerului.

Spre deosebire de alte plăci Arduino, care sunt programate folosind avrdude, procesul de firmware Arduino Due se face folosind un program.

Codul sursă de firmware pentru microcontrolerul ATmega16U2 este disponibil în depozitul Arduino. Microcontrolerul poate fi fulgerat prin conector pentru programarea în circuit a ISP folosind un programator extern (în acest caz, bootloader-ul DFU va fi suprascris).

Protecție la suprasarcină USB

Arduino Due are siguranțe resetabile pentru a proteja portul USB al computerului de scurtcircuite și suprasarcini. Deși majoritatea computerelor au propria lor protecție, aceste siguranțe oferă un strat suplimentar de protecție. Dacă portul USB atrage mai mult de 500mA, siguranța va întrerupe automat conexiunea până când se elimină cauza scurtcircuitului sau a suprasolicitării.

Specificații fizice și compatibilitatea plăcii de expansiune

Lungimea și lățimea maximă a PCB-ului Arduino Due este de 10,2 cm și respectiv 5,4 cm, inclusiv conectorii USB și de alimentare care ies din placă. Trei găuri de montare vă permit să atașați placa pe o suprafață sau carcasă. Rețineți că distanța dintre pinii digitali 7 și 8 nu este un multiplu al tradiționalului 2,54 mm și este de 4 mm.

Arduino Due este conceput pentru a fi compatibil cu majoritatea plăcilor de expansiune pentru Uno, Diecimila sau Duemilanove. Dispunerea pinilor principali ai plăcii este complet echivalentă: pinii digitali 0-13 (precum și pinii adiacenți AREF și GND), intrările analogice 0-5, conectorul POWER și conectorul ICSP (SPI) - toți pinii sunt localizați la aceeași distanță una de cealaltă. În plus, liniile emițătorului principal UART sunt conectate la aceiași pini (0 și 1). Vă rugăm să rețineți că numerele de pin I2C ale Arduino Due (20 și 21) sunt diferite de pinii Duemilanove / Diecimila (pinii analogici 4 și 5).

Instrucțiuni detaliate pentru lucrul cu Arduino Due (în engleză)

Arduino Due este o placă de microcontroler bazată pe procesorul Atmel SAM3X8E ARM Cortex-M3. Este prima placă Arduino bazată pe un microcontroler ARM pe 32 de biți.

Pe aceasta pagina ... ()

Utilizați Arduino Due pe ID-ul web Arduino

Toate plăcile Arduino, inclusiv aceasta, funcționează din cutie pe, nu este nevoie să instalați nimic.

Editorul web Arduino este găzduit online, prin urmare va fi mereu actualizat cu cele mai recente caracteristici și suport pentru toate panourile. Urmați acest lucru pentru a începe codarea în browser și încărcați schițele pe tablă.

Folosiți-vă Arduino Due pe Arduino Desktop IDE

Dacă doriți să programați Arduino Due în timp ce sunteți offline, trebuie să instalați și să adăugați Atmel SAMD Core la acesta. Această procedură simplă se face selectând Meniul Instrumente, atunci Placi și ultima Director de consilii, așa cum este documentat în pagină.
Atașați partea micro USB a cablului USB la dispozitivele Due Programare port (acesta este portul mai aproape de conectorul de alimentare DC). Pentru a încărca o schiță, alegeți Arduino Due (port de programare) de la Instrumente\u003e Placă din meniul IDE Arduino și selectați portul serial corect din Instrumente\u003e Port serial meniul.

Instalarea nucleului Arduino Sam Boards

Dacă utilizați versiunea 1.6.2 sau mai recentă Arduino IDE, trebuie să instalați nucleul care acceptă Arduino Due. Vă rugăm să urmați pentru a instala noul nucleu.

Instalarea driverelor pentru datorii

OSX
  • Nu este necesară instalarea driverului pe OSX. În funcție de versiunea sistemului de operare pe care o executați, este posibil să primiți o casetă de dialog care să vă întrebe dacă doriți să deschideți „Preferințe rețea”. Faceți clic pe butonul „Preferințe rețea ...”, apoi faceți clic pe „Aplicați”. va apărea ca „Nu este configurat”, dar funcționează în continuare. Puteți ieși din Preferințele sistemului.
Windows (testat pe XP și 7)
Linux
  • Nu este necesară instalarea driverului pentru Linux.

Selectați placa și portul

Procesul de încărcare pe Arduino Due funcționează la fel ca alte placi din punctul de vedere al utilizatorului. Se recomandă utilizarea Programare port pentru încărcarea schițelor, deși puteți încărca schițe pe oricare dintre porturile USB.

port urmează acești pași:

  • Conectați-vă placa la computer prin atașarea cablului USB la dispozitivul Due Programare port (acesta este portul mai aproape de conectorul de alimentare DC).
  • În meniul „Instrumente” alegeți „Serial Port” și selectați portul serial al Due
  • În meniul „Instrumente\u003e Placi” selectați „Arduino Due (Port de programare)”

Deschideți prima schiță

Acum totul este gata pentru a încărca prima dvs. schiță. Mergeți la Fișier pe software-ul Arduino (IDE) și deschideți arborele Exemple; Selectați 01. De bază și apoi Clipi

Această schiță clipește doar LED-ul încorporat conectat la pinul digital 13 la un ritm de pornire și oprire, dar este foarte util să practicați încărcarea unei schițe în software-ul Arduino (IDE) și încărcarea pe placa conectată.

Încărcați programul

Apăsați pictograma a doua rundă din stânga în bara de sus a software-ului Arduino (IDE) sau apăsați Ctrl + U sau selectați meniul Schiță și apoi Încărcare.

Aflați mai multe despre IDE-ul pentru desktop

Când utilizați Due ca gazdă, acesta va furniza energie dispozitivului atașat. Este recomandat să utilizați conectorul de alimentare DC atunci când acționați ca gazdă.

Rezoluții ADC și PWM

Due are capacitatea de a-și schimba rezoluțiile de citire și scriere analogice implicite (10 biți și respectiv 8 biți). Poate suporta rezoluții ADC și PWM de până la 12 biți. Consultați paginile și paginile pentru informații.

Funcționalitate SPI extinsă

Due a extins funcționalitatea pe magistrala SPI, utilă pentru comunicarea cu mai multe dispozitive care vorbesc la viteze diferite. Consultați secțiunea pentru mai multe detalii.

Ultima revizuire 2017 / 01/10 de SM

Textul ghidului introductiv Arduino este licențiat sub o licență Creative Commons Attribution-ShareAlike 3.0. Probele de cod din ghid sunt eliberate în domeniul public.