top of page
Writer's picturechiperaris

Folosirea unui motor DC cu Arduino


Ce este si cum functioneaza un motor DC (curent continuu)?


Motorul DC (functioneaza alimentat cu un curent continuu,ca cel care vine de la o baterie) transforma curentul electric in putere mecanica (in acest caz o miscare de rotatie),fiind unul dintre cele mai importante inovatii ale lumii moderne.

Un motor DC obisnuit (cu peri) este format dintr-un rotor magnetic permanent si un stator format dintr-o armatura (o bobina rotunda cu 2 poli) si mai multi peri (contacte electrice intre rotor si armatura.

Atunci cand motorul este alimentat,un camp magnetic este format in armatura. Deoarece armatura are 2 poli,in partea dreapta se formeaza forte de respingere si in cea stanga forte de atractie. Prin urmare,o parte din rotor este respinsa iar cealalta este atrasa,formand forta de rotatie. Cand rotorul revine la pozitia de inceput,perii (care mentin rotorul aliniat) fac contact intre ei prin rotor,actionand ca un comutator (inverseaza sensul curentului). Prin urmare,campul magnetic se inverseaza,procesul se reia,dar in sens invers,iar rotorul isi continua rotatia.

Montajul


Montajul este simplu:firul negru al motorului (negativ) se conecteaza la pinul GND de pe Arduino,iar firul rosu (pozitiv) se conecteaza la oricare pin digital al Arduino (in acest caz pinul 7). Pentru a preveni varfurile de tensiune negativa (inversari de scurta durata ale sensului curentului electric de la motor) care pot avaria Arduino,vom adauga intre firul pozitiv si pinul digital o dioda (componenta semiconductoare care blocheaza curgerea curentului electric intr-un sens).

Atentie! In dioda curentul "curge" dinspre partea mai mica spre cea mare,deci trebuie montata cu partea mai mica conectata la firul prin care trece curentul (in acest firul care porneste de la pinul 7).


Programul


Programarea este identica cu cea a unui LED:


void setup() {

// put your setup code here, to run once:

pinMode(7,OUTPUT); // initializare pin 8 pentru emisie

}

void loop() {

// put your main code here, to run repeatedly:

digitalWrite(7,HIGH); // trimite semnal HIGH prin pinul 8

delay(1000); // asteapta 1 secunda

digitalWrite(7,LOW); // trimite semnal LOW prin pinul8

delay(1000); // asteapta 1 secunda

}


Vom observa ca motorasul porneste pentru o secunda,apoi se opreste o secunda si tot asa.

Dar totusi motorasul se roteste destul de incet,fara putere...

Cauza acestei probleme si rezolvarea ei o vom vedea in tutorialul viitor!





23 views0 comments

Recent Posts

See All

Comments


bottom of page