+ All Categories

Download - Arduino Project

Transcript
Page 1: Arduino Project

UNIVERSITATEA DIN ORADEA

FACULTATEA DE INGINERIE ELECTRICĂ ŞI TEHNOLOGIA INFORMAŢIEI

DOMENIUL / PROGRAMUL DE STUDIU: T.A.V.T.

FORMA DE ÎNVĂŢĂMÂNT: ZI

Controlul motorului fără perii cu ajutorul plăcii Arduino

COORDONATOR ŞTIINŢIFIC

Prof.univ.dr.ing. GACSÁDI ALEXANDRU

ABSOLVENT

BIRÓ NORBERT-ZOLTÁN

ORADEA

2014

1

Page 2: Arduino Project

Introducere

Fiind inconjurat cu tehnologie nu prea ne găndim ceeace se află in spatele fiecărie lucrui banale pe care o folosim zi de zi. Un astfel de exemplu este motorul fără perii si controlul acestuia. Scopul acestei lucrări este prezentarea căteva noţiuni de bază legat de contrulul motorului fără perii, dar si contrulul acestuia prin intermediul placii Arduino.

Cel mai banal loc unde se află astfel de motoare sunt CD playerele din maşini sau CD rom-ul din calculatoare. Intelegănd aceste noţiuni si precizia la care aceste instrumente trebuie construite este vital un control exact a vitezei motorului, insă acest lucru ne putănd fi realizat cu motoare conventionale din cauza că aceste motore sunt folosite la tensiuni mici. Daca se folosesc perii in structura motului acestia introduc interferenţe nedorite întro-un mediu în care interferenţele pot perturba funcţionarea exactă a echipamentelor electrice. Pe lăngă aceste factori în funcţie de uzura aparatului periile se uzează şi necesită schimbate astfel durata de viata a acestor motoare sunt mult mai mari ca celor conventionale.

Putănd controla aceste motoare cu precizie mare se pot realiza aplicaţii foarte importante care în urma cu căteva ani erau mai greu. Din această cauză acest domeniul devine din ce în ce mai la modă iar înţelegerea şi folosirea acestor componente fiind foarte uşor.

Lucrarea va fi structurată in 3 părţi, în prima parte este prezentat caracteristici si trăsăturile de bază al Arduino, acesta fiind folosit pentru controlul motorului. Partea a doua va consta din prezentate caracteristicile de bază ale echipamentelor folosite pentru realizarea controlului de motor, aici fiind prezentat motorul brushless și ESC. Ultima parte a lucrării va consta din partea practică, conectarea acestor componente, explicarea teoriei de funcţionare dar şi prezentarea codului de sursă.

2

Page 3: Arduino Project

1. Caracteristici de bază Arduino

Îm primul rănd probabil toţi din acest domeniul am auzit deja de Arduino dar ce este aceasta cu adevărat?

“Arduino UNO  este o platforma de procesare open-source, bazata pe software si hardware flexibil si simplu de folosit. Consta intr-o platforma de mici dimensiuni (6.8 cm / 5.3 cm – in cea mai des intalnita varianta) construita in jurul unui procesor de semnal si este capabila de a prelua date din mediul inconjurator printr-o serie de senzori si de a efectua actiuni asupra mediului prin intermediul luminilor, motoarelor, servomotoare, si alte tipuri de dispozitive mecanice. Procesorul este capabil sa ruleze cod scris intr-un limbaj de programare care este foarte similar cu limbajul C++.”

Arduino ne prezintă nişte avantaje pe care o doream cu toţi, să fie uşor de folosit, de dimensiuni mici, să aibă un preţ redus dar să fie căt se poate de puternic şi să se poate folosi în căt mai multe domenii, acest lucru fiind benefic pentru artişti,ingineri, hobbyişti, cel pasionati de RC sau oricine cine vrea să inveţe ceva nou.

Această mică placă poate să simte mediul în care se află prin senzori care se pot ataşa de el, poate sa controleze mediul, lumini, motoare sau alte actuatori. Microcontrolerul este bazat pe programarea de limbaj Arduino. Proiectele pot fi sine stătători sau controlate, verificate de calculator. Plăcile se pot cumpăra gata făcuta sau se pot asambla din componente, iar software ul necesar programării se poate descărca de pe siteul lor oficial.

Un avantaj major al acestei platforme este partea de open-source astfel zeci de mii de proiecte deja există care sunt făcuţi de pasionaţi, testaţi şi comunităţi întregi online care discută despre probleme, proiecte sau idei referitor la Arduino.

În acest proiect vom folosi placa Arduino Uno, care este bazat pe microcontrollerul Atmega328. Are 14 pinuri digitale input/output, din care 6 se pot folosi ca ieşiri PWM, 6 intrări Analogice, un rezonator ceramic de 16Mhz, un connector USB, un jack de alimentare şi un buton de reset. Are tot ce are nevoie pentru a susţine microcontrollerul şi a fi capabil să fie conectat la calculator. Uno este diferit de celelalte modele din cauza că îi lipseste chipul FTDI USB-to-serial dar foloseşte un convertor Atmega16U2 care are acceaşi funcţie, microcontrollerul fiind prezentat in Figura 1.

3

Page 4: Arduino Project

Figura 1

SpecificaţiiMicrocontroller ATmega328Tensiune de operare 5VTensiune de intrare recomandat 7-12VTensiune de intrare limită 6-20VDigital I/O 14 (of which 6 provide PWM output)Intrări analogice 6DC curent per I/O Pin 40 mADC curent for 3.3V Pin 50 mA

Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader

SRAM 2 KB (ATmega328)EEPROM 1 KB (ATmega328)Clock Speed 16 MHz

4

Page 5: Arduino Project

2. Controllor electronic de viteză (ESC) şi motorul fara perii

Acest capitol are la bază prezentarea controlorului electronic de viteză (ESC), ceace permite ca placa Arduino să fie capabil de a controla motoarele care se pot ataşa de el, fără relee mechanice sau tranzistoare.

Astfel un ESC este un circuit electronic cu scopul de a controla un motor electronic, viteza acestuia, direcţia dar şă funcţioneze şi ca frănă dinamică. Aceştia sunt folosiţi mulţi la modele controlate cu radio (RC), în majoritatea timpurilor fiind folosite cu un motor fără perii, astfel esential generănd o tensiune trifazică de putere mică. Acestia pot fi module separate sau sunt deja integrate in plăci diferite. Aceste ESC uri interpretează semnalele nu ca în modul în care ar fi in cazul unei servo ca mişcare mechanică dar ca schimbare a tensiunilor între faze la o fecventă foarte mare. Acesta fiind realizat cu tranzistori FET, mulţumită acestei frecvente mari motorul emite un sunet tipic mai ales la rotaţii mici. Însă se poate controla mult mai fin si mai precis viteza motorului cu pierderi electrice foarte mici.

ESC uri de curent continiu se pot numi si controlleri PWM in sens larg al cuvăntului. Acestia accepta un semnal de 60Hz PWM care variază la 1-2 ms. Cănd sunt alimentaţi cu 50Hz la timpul 1ms ESC opreste alimentare motorului, ESC uri de curent continiu se pot numi si controlleri PWM in sens larg al cuvăntului. Acestia accepta un semnal de 60Hz PWM care variază la 1-2 ms. Cănd sunt alimentaţi cu 50Hz la timpul 1ms ESC opreste alimentare motorului,

ESC folosite pentru motoare brushless sunt mult mai complicate aceasta fiind prezentat în figura 2, faza corectă variază cu rotatia motorului, care este luat in considerare prin senzor Hall sau detectoare optice. Cele programabile prin calculator au o multitudine de setări, curbă de acceleratie, directia de rotatie, oprire la tensiune mică ect.

Figura 2

5

Page 6: Arduino Project

Se clasifică aceste ESC uri dupa curentul maxim pe care o pot controla si tipul controlerului. Este important alegerea exacta a tipului din cauza cu căt este rezistent la un curent mai mare creşte si mărimea lui. Majoritatea ESC lor suportă conectarea a diferite feluri de baterii dar este important tipul bateriei la setarea tensiunii de tăiere a motorului astfel protejănd bateria.

Motorul de curent continuu fara perii (brushless DC motor) este in principal construit ca un magnet permanent rotativ fata de o infasurare parcursa de curent. In aceasta privinta el este echivalent cu un motor de c.c inversat, in care magnetul se roteste in timp ce conductoarele raman fixe. Acest tip de motor se poate vizualiza in figura 3.

Figura 3

In ambele cazuri, curentul prin conductoare trebuie sa-si reverseze polaritatea de fiecare data cand un pol magnetic trece pe langa conductoare, pentru a asigura unidirectionalitatea cuplului.

In motoarele de c.c clasice, cu colector, reversarea polaritatii este realizata de catre ansamblul colector - perii. La acestea, deoarece colectorul este fixat pe rotor, momentele de comutatie sunt sincronizate automat cu polaritatea alternanta a campului magnetic prin care trec conductoarele. In motorul de c.c fara perii reversarea polaritatii curentului este realizata cu tranzistoare de putere care trebuie comutate in sincronism cu pozitia rotorului.

Procesul comutatieieste similar in cele doua masini iar ecuatiile care rezulta si caracteristicile mecanice (viteza-cuplu) sunt a-proape identice. Cand curentii de faza in motorul de c.c. fara perii sunt de acest tip - adica curent continuu care comuta polaritatea in sincronism cu trecerea alternanta  a polilor magnetici N si S se spune că motorul functioneaza cu excitatieunda dreptunghiulara.Tensiu-nea contraelectro-

6

Page 7: Arduino Project

motoare (t.c.e.m) in acest caz se aranjeaza sa fietrapezoidala. Termeniiunda dreptunghiulara sitra-pezoidala se folosesc reciproc pentru a ne referi la motor si la controlerul sau.

Exista si un alt mod de functionare in care curentii de faza sunt unde sinusoidale. T.c.e.m. in acest caz ar fi, ideal, sinusoidala. Fizic, motorul si controlerul sau arata la fel ca motorul cu unda dreptunghiulara, dar exista o diferenta importanta. Motorul cu unda sinusoidala functioneaza cu o distributie rotativa a solenatiei, similar cu campul magnetic invartitor din motorul asincron sau masina sincrona de curent alternativ. Acest tip de motor fara perii este un simplu motor sincron de c.a. cu excitatie fixa de la magneti permanenti.

7

Page 8: Arduino Project

3. Conectarea si funcţionarea sistemului

Este important conectarea corectă a echipamentelor, astfel avem nevoie de atenţie sporită la conectarea bateriei la ESC sa nu confundăm mufele sau să trimitem un curent mare spre placa Arduino, aceasta este prezentat in figura 4.

Figura 4

La conectarea placii Arduino se foloseşte un potentiometru de 10K, cu cursorul conectat la Analog 0, iar cele doua capete la 5V, GND, si GND de la ESC prin firul negru. Ieşirea Digitală 9 este conectat la ESC prin firul alb. +5V de la ESC nu este conectat pentru ca nu va primi tensiunea de alimentare prin Arduino ci prin intrările separata +V si GND de la baterie.Acest montaj se vede in figura 5.

Figura 5

8

Page 9: Arduino Project

Acest proiect fiind unul fără nevoie de conectare permanentă la calculator este necesar doar încărcarea programului in memoria Arduino si programul va rula, viteza motorului fiind controlat de pozitia potentiometrului.

#include <Servo.h> Servo myservo; // crearea obiectului servoint potpin = 0; // pornire pin 0 pentru folosirea gen potentiometru

void setup(){ }{}myservo.attach(9); // atasaza servoul la pinul 9 void loop()val = analogRead(potpin); // citeste valoare potentiometruluival = map(val, 0, 1023, 0, 179); //scalare pentru a folosi cu servomyservo.write(val); //pune pozitia valorii scalatedelay(15); //astepta ca servoul sa ajunga la acea pozitie

În concluzie se poate observa ca un progrămel simplu și niște componente au capacitatea de a controla un motor, aceasta fiind baza a multor proiecte sau utilaje. Folosind ESC mai puternic aceste motoare poate să atingă dimensiuni si puteri mari, putănd fi folosit chiar și în indrustrie grea.

Arduino este un kit foarte versitil se poate face orice cu această placă cu componente periferice adecvate la un preț redus și rezultate care se pot obține foarte ușor.

9

Page 10: Arduino Project

Bibliografie

1. http://arduino.cc/

2. http://forum.arduino.cc/index.php/topic,20594.0.html

3. http://wumpusuav.com/?p=30

4. http://techvalleyprojects.blogspot.ro/2012/06/arduino-control-escmotor-tutorial.html

5. http://www.fut-electronics.com/wp-content/plugins/fe_downloads/Uploads/Brushless %20motor%20with%20arduino.pdf

6. http://en.wikipedia.org/wiki/Electronic_speed_control

7. http://en.wikipedia.org/wiki/Brushless_motor

10


Top Related