controlul motoarelor pas cu pas cu arduino _ proiecte, hackuri, idei

3
Controlul motoarelor pas cu pas cu Arduino februarie 8, 2012 — Vlad i 1 Vote Arduino este o platforma de dezvoltare foarte simplu de utilizat dar totusi cu multe aplicabilitati pentru pasionatii de electronica si robotica. Este vorba de o solutie open-source ce include atat un modul hardware cat si interfatarea software cu acesta, anume un IDE proprietar ce foloseste limbajul Wiring, foarte asemanator cu C. Platforma foloseste un microprocesor ATMega328 la 16MHz, dispune de 14 intrari+iesiri TTL (dintre care 6 PWM), 6 intrari analog, memorie flash de 32 KB si SRAM de 2KB. Mai multe detalii pe situl oficial. In exemplul de mai jos, am folosit un motor pas cu pas unipolar la 12v/1A, rezolutie de 1,8 grade/pas, comandat in modul full-step. Functie de aplicatie, se poate comanda si in modurile microstepping si half-step (detalii aici). Pentru protectia microcontrollerului, am izolat galvanic cele 2 parti ale circuitului, prin optocuploare. Proiectia in Multisim a circuitului electronic de control: Proiecte, hackuri, idei. Controlul motoarelor pas cu pas cu Arduino | Proiecte, hackuri, idei. http://vladprogrammer.wordpress.com/2012/02/08/controlul-motoarelo... 1 of 3 06.10.2013 12:43

Upload: gedeus

Post on 23-Nov-2015

41 views

Category:

Documents


2 download

DESCRIPTION

pas cu pas

TRANSCRIPT

  • Controlul motoarelor pas cu pas cu Arduino

    februarie 8, 2012 Vlad

    i1 Vote

    Arduino este o platforma de dezvoltare foarte simplu de utilizat dar totusi cu multe aplicabilitatipentru pasionatii de electronica si robotica. Este vorba de o solutie open-source ce include atat unmodul hardware cat si interfatarea software cu acesta, anume un IDE proprietar ce foloseste limbajulWiring, foarte asemanator cu C. Platforma foloseste un microprocesor ATMega328 la 16MHz, dispunede 14 intrari+iesiri TTL (dintre care 6 PWM), 6 intrari analog, memorie ash de 32 KB si SRAM de 2KB.Mai multe detalii pe situl ocial.

    In exemplul de mai jos, am folosit un motor pas cu pas unipolar la 12v/1A, rezolutie de 1,8 grade/pas,comandat in modul full-step. Functie de aplicatie, se poate comanda si in modurile microstepping sihalf-step (detalii aici). Pentru protectia microcontrollerului, am izolat galvanic cele 2 parti alecircuitului, prin optocuploare. Proiectia in Multisim a circuitului electronic de control:

    Proiecte, hackuri, idei.

    Controlul motoarelor pas cu pas cu Arduino | Proiecte, hackuri, idei. http://vladprogrammer.wordpress.com/2012/02/08/controlul-motoarelo...

    1 of 3 06.10.2013 12:43

  • Ca optocuploare, se pot folosi integratele 4n35. Rezistentele se vor ajusta in functie de consumulmotorului, pentru a permite deschiderea totala a tranzistoarelor Darlington din driverul ULN2003(Nota: in schema apare integratul ULN2004, care e varianta CMOS a driverului, din motive ce tin deMultisim; se va folosi TTL, ULN2003).

    Cuplarea celor 4 pini de intrare ai circuitului (J1 in schema) se face pe pinii 2, 3, 4, 5 ai placii Arduino,iar catodul LED-urilor optocuploarelor (in schema, cel mai de jos pin al J1) se vor lega la masa Arduino(pinul GND). Daca se doreste folosirea altor pini, se modica cele 4 linii de cod (#dene pinX Y). Inorice caz, integratul ULN2003 se va incalzi puternic chiar si la lucrul cu motorul in gol, asa ca estenevoie de un radiator pentru disiparea caldurii. Daca stepperul este de putere mare, este necesar caiesirile ULN2003 sa e cuplate la baza unor tranzistoare de putere, sau MOSFET, deoarece acestintegrat suporta pana la 500mA pentru toate iesirile (ceea ce inseamna destul de putin pentru unmotor). Alimentarea motorului daca e de 12v se poate face de la o sursa obicnuita de PC, de350-400W.

    //============ Stepper Motor control ==============

    #include

    #dene rezolutieMotor 200 //numarul de pasi pentru o rotatie //completa; se modica in functie //de rezolutia motorului#dene pin1 2#dene pin2 3#dene pin3 4#dene pin4 5

    //se foloseste libraria speciala pentru steppere//din compilatorul ArduinoStepper Motor(rezolutieMotor, pin1,pin2,pin3,pin4);

    void setup(){ //seteaza viteza motorului la 80 RPM Motor.setSpeed(80); }

    Controlul motoarelor pas cu pas cu Arduino | Proiecte, hackuri, idei. http://vladprogrammer.wordpress.com/2012/02/08/controlul-motoarelo...

    2 of 3 06.10.2013 12:43

  • void loop(){ //deplasare 200 pasi in fata, adica 360 grade //pentru un motor cu rezolutia de 200 de pasi Motor.step(200); delay(100);

    //deplasare 200 pasi in spate, adica 360 grade

    //pentru un motor cu rezolutia de 200 de pasi Motor.step(-200); delay(100);}//==================================.

    Postat in Electronica si automatizari, Laboratorul lui Dexter. Etichete: arduino, control, driver, motor,pas-cu-pas, stepper. Las un comentariu Detector de spirite

    Download-Indisponibil

    Bloguiete pe WordPress.com. The Garland Theme.

    Controlul motoarelor pas cu pas cu Arduino | Proiecte, hackuri, idei. http://vladprogrammer.wordpress.com/2012/02/08/controlul-motoarelo...

    3 of 3 06.10.2013 12:43