Electromecanica Arduino

1. Administrăm motoare mici

Conectăm un vibromotor miniatural la Arduino.

  1. obișnuit Arduino, conectat la portul USB al computerului
  2. Rezistor pentru 220 Ohm






Miniatură vibromotorchik (poate fi găsit în vechiul telefon mobil inutil, sau în magazinul de electronice)

Conexiune motor:

1. Vibratoarele au două fire de alimentare. Conectați unul dintre firele sale la ieșirea zero (GND) a sursei de alimentare a controlerului. Nu contează care dintre cele două fire.

2. Conectați un rezistor între ieșirea digitală selectată a controlerului și firul motorului rămas fără legătură. Conectarea rezistorului va limita curentul și ne va garanta integritatea și siguranța Arduinei, deoarece nu a fost proiectată pentru control direct de motoare fără convertizoare.

Iată diagrama în care este aleasă cea de-a doua ieșire discretă a plăcii controlerului pentru motor:

Electromecanica Arduino

Iată câteva exemple despre modul în care totul poate fi conectat folosind un panou:

Electromecanica Arduino

Textul programului Arduino

Următoarea schiță va porni motorul timp de 1 secundă și o va opri pentru același timp și așa mai departe într-un cerc:

// Declarați numărul ieșirii digitale

int motorPin = 2;

Cum funcționează

Ori de câte ori programul va alimenta o unitate logică la ieșirea noastră, curentul va curge prin rezistor, prin motor (M) și la sol. Dacă M este cu adevărat joasă putere, acesta va începe să se rotească dacă este un motor DC standard; în caz contrar va începe să vibreze, dacă este un vibrator. Rezistorul este foarte important pentru acest circuit. Fiecare ieșire discretă Arduino este proiectată pentru un curent de până la 40 mA și este recomandat să nu depășească 20 mA. Valoarea selectată a rezistenței 220 Ω va limita curentul la 22 mA, iar deoarece M este conectat în serie cu acesta, curentul va fi chiar mai mic. Dacă rezistența totală a motorului este mai mare de 200 Ohm, atunci puteți scoate în siguranță rezistorul și conectați direct motorul la ieșirea digitală și GND.

În acest proiect, am conectat direct la controlerul un vibrator, dar nimeni nu ne interzice să le conectăm câțiva.

Motoarele multiple pot fi conectate la diferite ieșiri digitale de pe placa de comandă. De exemplu, ieșirile 2, 3 și 4 pot controla independent diversele trei motoare. Fiecare ieșire discretă pe Arduino poate fi controlată de un motor separat. Deși, în general, nu se recomandă acest lucru, deoarece acest lucru va duce la trecerea curentului prin Arduino. Să ne limităm la un singur motor în această implementare.

Fiecare motor DC este un inductor. Când scoatem curentul din el sau când rotim M manual, acesta va genera o tensiune inversă. Ce poate cădea sub componenta electronică conectată la el. Pentru a evita acest lucru, putem conecta dioda între ieșirea digitală și sursa de alimentare de 5V. Ori de câte ori M produce o tensiune inversă parazitară, dioda îl va conecta la puterea plus. Din fericire, Arduino are o diodă de protecție încorporată pe fiecare pin. Și nu este nevoie să o repetăm ​​cu o diodă externă.

2. Controlăm motorul electric cu ajutorul tranzistorilor.

Putem, desigur, controla un motor electric miniatural conectându-l direct la ieșirea Arduino; totuși, o ieșire discretă nu trage motoare consumând mai mult de 40 mA. Ieșirea constă în utilizarea unui dispozitiv simplu de amplificare, un tranzistor, pentru a putea controla motoarele de curent continuu de orice putere. Luați în considerare, de exemplu, cum să conduceți motoare electrice mari folosind două tranzistoare npn și o structură pnp.

Pentru acest proiect avem nevoie de următoarele componente electronice:

  1. Cardul Arduino conectat la portul USB al computerului
  2. DC motor
  3. Rezistor rezistor între 220 ohmi și 10 kohm
  4. tranzistor npn (BC547, 2N3904, N2222A, TIP120)
  5. Dioda (1N4148, 1N4001, 1N4007)

Următoarele sunt etapele de conectare a motoarelor cu un tranzistor:

  1. Conectați sursa de alimentare Arduino GND la planul din spate al plăcii de prototipuri.
  2. Conectați unul dintre conductorii de motor la sursa de alimentare de + 5V a plăcii de comandă. Vom folosi o sursă de alimentare USB de 5V. Dacă aveți nevoie de o mulțime de energie, trebuie să utilizați o sursă externă de alimentare, cum ar fi o baterie. În timp ce luăm în considerare puterea de la USB.
  3. Celălalt fir de motor este conectat la colectorul tranzistorului npn. În conformitate cu specificația pentru tranzistorul dvs. determina care dintre cele trei concluzii sale este colectorul, care bază și care emițător.
  4. Conectați emițătorul tranzistorului la minus alimentarea GND, utilizând placa de putere minus a panoului de bord.
  5. Instalați un rezistor între baza tranzistorului și ieșirea discretă a plăcii Arduino.
  6. Porniți dioda de protecție în paralel cu motorul. Minusul diodei trebuie conectat la sursa de alimentare pozitivă de 5V.






Schema pentru Arduino Uno

Aceasta este una dintre posibilele implementări utilizând noua ieșire digitală. Arduino poate fi alimentat de la o sursă externă de alimentare. Și dacă nu, putem conecta motorul separat la sursa de alimentare exterioară de 5V, iar Arduino la sursa de alimentare. Dar trebuie să aibă o sursă de alimentare zero.

Electromecanica Arduino

Iată o modalitate de conectare a elementelor de circuit la panoul de paine:

Electromecanica Arduino

Codul Arduino

Această schiță nu este diferită de cea anterioară. Totuși, programul pornește motorul o secundă, apoi îl oprește pentru o secundă și așa mai departe:

// Declarați numărul ieșirii de control discrete

int motorPin = 2;

Cum funcționează

Tranzistorii sunt componente foarte utile, care, din păcate, sunt greu de înțeles. Ne putem imagina un tranzistor ca o supapă electrică: cu cât mai mult curent este aplicat supapei, cu atât mai multă apă trece. Același lucru se întâmplă și cu tranzistorul, doar în loc de apă curentul curge. Dacă furnizăm curent la baza tranzistorului, curentul proporțional va curge de la colector la emițător, în cazul unui tranzistor de tip npn. Cu cât mai mult curent este aplicat bazei, cu atât mai mare va fi amperajul prin celelalte două terminale.

Electromecanica Arduino

Când alimentăm o unitate logică la ieșirea lui Arduino, curentul curge de la ieșirea prin baza tranzistorului NPN, ceea ce face ca curentul să treacă prin celelalte două picioare ale tranzistorului. Când expunem zero la ieșire, curentul nu trece prin bază și nu va trece prin celelalte două picioare.

Tranzistorii sunt interesați în faptul că, cu o bază foarte mică curentă, putem controla curentul foarte mare prin colector către emițător. Câștigul obișnuit este notat hb pentru tranzistor este de aproximativ 200. Aceasta înseamnă că pentru un curent de bază de 1 mA, tranzistorul prin colector la emițător va pierde 200 mA. O componentă importantă a proiectului este o diodă care nu trebuie uitată. Așa cum am menționat deja, motorul are o componentă inductivă, care poate genera spații de tensiune mari, periculoase pentru tranzistor. Dioda asigură că toate perturbațiile parazite de pe motor sunt stinse pe ea și nu pe tranzistor.

3. Utilizarea rezistenței de tracțiune

Baza tranzistorului este foarte sensibilă. Chiar atingând-o cu degetul, puteți roti motorul electric. Pentru a evita zgomotul nedorit și pornirea imprevizibilă a motorului, conectați un rezistor de tracțiune la bază, așa cum se arată în figură. Valoarea rezistenței sale este de aproximativ 10K. Acesta va proteja tranzistorul de declanșarea accidentală.

Electromecanica Arduino

4. Utilizarea unui tranzistor PNP

Transistorul pnp este chiar mai greu de înțeles. El folosește același principiu, dar în direcția opusă. Curentul curge de la bază la ieșirea digitală a lui Arduino; dacă presupunem că fluxul curentului de bază determină curgerea curentului de la emițător la colector (opus direcției curente a tranzistorului npn). O altă diferență importantă este că tranzistorul pnp este instalat între plusul sursei de alimentare și sarcina controlată de noi. Sarcina, în acest caz, acest motor, va fi conectată între colectorul tranzistorului PNP și sol.

Electromecanica Arduino

Punctul cheie de reținut pentru dezvoltatori și mai mult în faptul că atunci când se utilizează tranzistori pnp cu tensiune maximă Arduino la emițător 5, și în timp ce suntem pe motorul nu va fi în măsură să se hrănească mai mult de 5 V. Dacă utilizați o sursă de alimentare externă pentru a alimenta motorul cu tensiune ridicată decât 5V, baza va avea un potențial de peste 5 volți și Arduino va arde. O posibilă soluție, care complică elementul de circuit 3, prezentat în următoarea schemă.

Electromecanica Arduino

5. Aplicarea tranzistorului de putere MOSFET

Să recunoaștem: folosirea tranzistorilor bipolare convenționale pentru a manipula motoarele a fost mult timp în afara întrebării. Există mai multe lucruri simple și convenabile de a folosi în aceste zile, care pot oferi mult mai multă gestionare a puterii. Ele sunt numite tranzistoare MOSFET. Oamenii le numesc pur și simplu MOSFETE. Baza, colectorul și emițătorul MOSFET sunt numite obturator, scurgere și sursă. Funcțional, ele sunt utilizate în același mod ca tranzistorii convenționali. Când tensiunea este aplicată la poartă, curentul va curge de la sursă la canalul de scurgere în cazul unui MOSFET cu N-canal. Canalul P este echivalentul pnp-ului tranzistorului.

Cu toate acestea, există unele diferențe importante în funcționarea MOSFET în comparație cu un tranzistor convențional. Nu toate MOSFET-urile pot funcționa corespunzător cu Arduino. De obicei, tranzistoarele discrete funcționează în mod normal. Unele dintre MOSFET-urile cu canale N cunoscute sunt marcate cu: FQP30N06. IRF510 și IRF520. Primul poate rezista până la 30 A și 60 V, în timp ce următoarele două pot da 5.6 A și respectiv 10 A la 100 V.

Iată un exemplu de circuit de comandă a motorului care utilizează un MOSFET cu canal N:

Electromecanica Arduino

De asemenea, putem folosi următoarea variantă de instalare a proiectului pe panza de paie:

Electromecanica Arduino

Motorul nu este tot ce putem controla prin intermediul unui tranzistor. Orice fel de sarcină DC poate fi controlată în acest fel. LED-uri, becuri sau alți consumatori, chiar și un alt Arduino poate fi alimentat de un macar similar.







Articole similare

Trimiteți-le prietenilor: