Documente Academic
Documente Profesional
Documente Cultură
Date tehnice
Microcontroler ATmega2560
Tensiunede operare 5V
Tensiune de intrare(recomandat) 7-12V
Tensiune de intrare(limitele) 6-20V
DigitalI/OPins 54 (dincare 14prevădPWMde ieşire)
Pini analogici de intrare 16
CurentDCpeI/OPin 40 mA
CurentDC3.3VpentruPin 50 mA
Memorie flash 256 KB care 8KB utilizati de bootloader
SRAM 8 KB
EPROM 4 KB
Viteza de ceas 16 MHz
Memoria
Intrari / Ieşiri
Fiecare din cei 54 pini digitali de pe Arduino Mega 2560 poate fi folosit ca intrare sau
ieşire, utilizând functiile pinMode(), digitalWrite(), şi digitalRead(). Acesti pini
funcţionează la 5volţi. Fiecare pin poate oferi sau primi un maximum de40 mAşi are un
rezistor intern pull-up(deconectat implicit) de 20-50kOhms. În plus, unii pini au funcţii
specializate:
-Serial: 0 (RX) şi 1 (TX); Serial1:19 (RX) şi 18 (TX), Serial2:17 (RX) şi16 (TX);
Serial3:15 (RX) şi14 (TX) .Folosit pentru a primi şi a transmite date serial TTL. Pinii 0 şi
1 sunt, de asemenea, conectati la pinii corespunzători ai chipului FTDI USB to TTL
serial.
Comunicarea:
Arduino Mega2560 are o serie de facilităţi pentru comunicarea cu un computer,
un alt Arduino, sau alte microcontrolere. ATmega2560 oferă patru conexiuni UART
pentru comunicarea serială TTL(5V)..Software-ul include un monitor serial care permite
datelor de tip text sa fie trimise către şi de la placa.
O bibliotecă Software Serial permite comunicarea serială pe oricare din pinii
digitali ai lui Mega 2560. ATmega2560 suporta, deasemenea, comunicarea I2C (DST),
ş iSPI. Software-ul Arduino include o bibliotecă Wire pentru a simplifica utilizarea
magistralei I2C.
Partea de software a platformei este integrată într-o interfață grafică de tip IDE
bazată pe limbajul de programare Processing. Programarea controllerului de pe
platforma fizică se face folosind limbajul de programare Arduino. Proiectele fizice
realizate pe platformele Arduino pot funcționa de sine stătător dar pot interacționa cu
aplicații care funcționează pe un calculator precum Flash, Processing, MaxMSP.
Mediul Integrat de Dezvoltare (IDE) Arduino(Figura 27)
Mediul integrat de dezvoltare Arduino este destinat scrierii programelor ce pot fi
incărcate pe platformele fizice Arduino. Interfața este scrisă in Java și mediul de
programare folosește limbaje de programare de tip open source precum Processing,
avr-gcc. Interfața este multiplatformă, putând rula în Windows©, Mac OS X© și Linux.
Programul poate fi obținut atât ca executabil specific platformei de lucru pe care o avem
dar și sub formă de cod sursă pe care il putem compila conform condițiilor specifice pe
care le avem.
Din fereastra file se poate selecta crearea unui nou proiect (new), deschiderea
unui proiect existent in memoria(open), deschiderea ultimelor proiecte la care s-a
lucrat(sketchbook), deschiderea unor exemple de cod(examples), inchidere
program(close), salvare program(save).
Bibliotecile standard
EEPROM - citire şi scriere la "permanente" Depozit
Ethernet - pentru conectarea la internet folosind Arduino Ethernet Shield
Firmata - pentru a comunica cu aplicaţiile de pe computer folosind un protocol
standard serial.
LiquidCrystal - pentru controlul ecranelor cu cristale lichide (LCD)
SD - pentru citirea şi scrierea cardurilor SD
Servo - pentru controlul servo motoarelor
SPI - pentru comunicarea cu dispozitive folosind interfaţa serială periferica (SPI)
bus
SoftwareSerial - pentru comunicaţia serială pe orice pin digital
Stepper - pentru controlul motoare pas cu pas
Wire - (TWI/I2C) pentru trimiterea şi primirea de date pe o reţea de dispozitive
sau senzori.
Matrix - bibliotecă de manipulare a matricilor de leduri
Sprite – biblioteca pentru manipularea unor imagini de baza realizate cu matrici
de leduri.
Timing:
Pe lângă mişcarile de standard, Trajexia oferă o posibilitate de a defini profilul poziţiei pentru o mişcare
a axei. Comanda CAM deplaseaă axele în conformitate cu poziţiile memorate în tabelul de vectori ai
Trajexiei. Figura 4. corespunde comenzii CAM(0,99,100,20).
Figura 3.8
Acest control ne permite să conectăm axe între ele. Se pot realiza următoarele operaţii:
- camă electronică
- mişcare legată
- conectarea axelor
5.3.2 Circuite integrate pentru comanda servomotoarelor de c.c fără perii (BLDC)
Comanda BLDC este mai complicată decât cea a servomotoarelor cu perii, întrucât
comutarea fazelor statorului trebuie să fie sincronizată cu poziţia rotorului. Aceasta poate fi
determinată cu ajutorul unui senzor intern, bazat pe traductoare Hall, care generează secvenţe
binare distincte pentru fiecare cadran electric semnificativ (vezi figurile 43 şi 44), sau prin
sesizarea trecerilor prin zero ale tensiunii contraelectromotoare în faza nealimentată.
Un motor de c.c cu comutaţie electronică este caracterizat printr-un regim de
funcţionare cu două faze active (“two phases ON”), lucru demonstrat în secţiunea, cu ajutorul
figurii 44 Producerea momentului motor se bazează principiul alimentării cu curent electric a
două din cele trei faze statorice, în fiecare moment, şi pe faptul că, la trecerile prin zero ale
tensiunii contra-electromotoare nu se generează moment. Fig.44 prezintă formele de undă ale
tensiunii contra-electromotoare ale servomotorului de c.c. fără perii în regimul cu 2 faze active.
Sesizarea tensiunii ontraelectromotoare presupune circuite mai complexe, cu convertoare
analog-numerice şi logică PWM. În acest capitol va fi prezentat, sumar, microcontroller-ul de
8biţi, ST72141K [SGS-THOMSON], conceput pentru comanda motoarelor electrice,. Soluţii
adecvate sunt oferite de DSP-uri, cum ar fi TMS320C240 al lui Texas Instruments, un DSP
optimizat pentru comanda numerică a motoarelor electrice.
Un circuit capabil să asigure comanda unui servomotor de c.c. fără perii, în baza
informaţiilor de la un senzor de poziţie a rotorului, este L6229. Suportă tensiuni de lucru între 8
şi 52 V şi un vârf de curent la ieşire de 2,8 A (1,4 A c.c.). Dispozitivul include toate circuitele
necesare pentru comanda unui motor de c.c. cu trei faze statorice: o punte DMOS trifazică; un
controller de curent PWM; o logică de decodificare pentru traductoare Hall unipolare, care
generează secvenţa de alimentare a fazelor, permiţând opţiuni de decodificare pentru
traductoare decalate spaţial cu 6000sau 1200. Circuitul L6229 asigură şi o protecţie nedisipativă
la supracurenţi, pe tranzistoarele MOSFET de putere superioare şi o blocare a circuitului la
supraîncălzire (thermal shutdown).
Conectorul TACHO reprezintă o ieşire open-drain de tip frecvenţă-tensiune, furnizată
de un circuit care integrează impulsurile primite de la traductorul Hall 1 (pinul H1) şi înlesneşte
algoritmului de comandă utilizarea unei bucle de reacţie după viteză, fără a fi necesar un senzor
de viteză suplimentar.
O schemă simplificată a controllerului PWM este prezentată în figura.46. Circuitul de
control al curentului urmăreşte nivelul curentului din punţi, pe bază căderii de tensiune la
bornele unui rezistor extern – senzorul de curent – conectat între sursa celor 3 tranzistoare de
putere MOS inferioare şi masă. Când curentul prin motor creşte, se măreşte, proporţional, şi
tensiunea la bornele senzorului de curent. Dacă aceasta depăşeşte tensiunea de referinţă aplicată
pe pinul de intrare VREF, ieşirea comparatorului comută şi declanşează monostabilul care
blochează puntea.
Tranzistoarele de putere MOS rămân blocate pe parcursul perioadei de timp
corespunzătoare impulsului de la ieşirea monostabilulului şi curentul în motor se închide prin
jumătatea superioară a punţii, în modul de scădere lentă (Slow Decay Mode). Când
monostabilul revine în starea iniţială, se restabileşte curentul prin punte. Pinii FWD/REV,
BRAKE, EN, H1, H2 şi H3 sunt compatibili TTL/CMOS şi, accesibili, în consecinţă, unui
procesor numeric. Comanda ieşirilor punţii de putere trifazice se realizează cu ajutorul unui
circuit logic combinaţional, în concordanţă cu semnalele recepţionate de la cele 3 traductoare
Hall, care detectează poziţia rotorului.
Această logică identifică poziţiile pentru traductoare decalate spaţial cu 60, 120, 240 şi
300 de grade electrice. Dintre cele opt combinaţii binare posibile, pe care le pot furniza cele 3
traductoare binare, câte şase combinaţii sunt valide pentru fiecare variantă de poziţionare
spaţială a traductoarelor, iar fiecărei combinaţii valide (H1, H2 , H3) îi corespunde o
configuraţie a ieşirilor (OUT1, OUT2, OUT3).
Realizarea unui servomotor de c.c. fără perii, care să nu impună utilizarea unui senzor
de poziţie, presupune detectarea şi analiza tensiunii contra-electromotoare. Pentru motoare cu
forme de undă trapezoidale (fig.47), metoda cea mai des folosită constă în măsurarea directă a
tensiunii contra-electromotoare analogice. Motorul funcţionează cu câte două faze alimentate
simultan, cu perioade de comutaţie de 60 şi detectarea momentelor de comutaţie se realizează
prin măsurarea tensiunii contra-electromotoare în faza nealimentată. În particular, trecerile prin
zero ale tensiunii contraelectromotoare dau indicaţii precise despre poziţia rotorului şi pot fi
utilizate, în acelaşi mod ca şi semnalele de la traductoarele Hall, pentru a realiza comutarea
tranzistoarelor de putere ale punţii (fig.47).
Figura 47. Măsurarea directă a tensiunii contra-electromotoare
Au fost proiectate şi realizate multe circuite integrate inteligente, capabile să asigure comanda
fără senzori de poziţie a servomotoarelor de c.c. cu comutaţie electronică. În acest capitol va fi
prezentat, sumar, circuitul ST72141K, un microcontroller de 8 biţi, care include funcţia de
comandă a unui motor de c.c. fără perii, un convertor analognumeric, timere de 16 biţi şi o
interfaţă SPI. Aparţine familiei de microcontrollere ST7 [SGS-THOMSON], capabile să identifice
trecerile prin zero ale tensiunii contraelectromotoare, cu ajutorul unui patent al firmei, care
utilizează un grup de rezistenţe
.