scut motor de lc - pentru Arduino cu mâinile)

scut motor de lc - pentru Arduino cu mâinile)

Inițial, am vrut să-și exprime într-un singur articol toate materialele, ca să spunem așa, „de la idee la realizare“. Dar, după cum scrie, am dat seama că ar fi prea greoaie. Și am rupt articol în două părți.

Deci, prima parte. Teoretic, prototipuri :)

Am sunat mea „proektiki» low-cost Motor Shield (sau LC-Motor Shield. În cazul în care reducerea)! Am colectat de la orice guv ... gunoi ... de la ceea ce sa dovedit a fi la îndemână.

Ca o regulă, toate placa de control al motorului la Arduino un fel sau altul bazat pe notorii L293 (bine, sau L298). Da, este convenabil. legare de cel puțin o grămadă de circuite finite. Dar ei lucrează, de obicei, cu motoare foarte slabe (cu un curent maxim de ceva aproximativ 0.5 Amperi pentru L293). De multe ori, acest lucru nu este suficient. În plus, costul și disponibilitatea (noi, cei din Minsk astăzi pe piața radio pentru a cumpăra L293 - poate fi literalmente la 1-2 și vânzătorii pentru un preț de aproximativ 5 $). Da, produsul finit pe L293 pot fi cumpărate de la colegi din China - pentru mai puțin de 10 $ Dar, după cum prietenul meu spune: „Nu este metoda noastră. Noi facem noi înșine, chiar la ușă și va fi de două ori la fel de mult!“.
Un pic de fond. Am fost deja luate încercări timide anterior de a construi o similitudine anumită «motor de scut» -a pe rassypuhe. Dar eu recunosc, nu foarte bine :) (Sunt sigur că 90% din faptul că prin utilizarea unei perechi de n-p-n și p-n-p ar fi fost mult mai bine! Dar acum nu e vorba de asta). Venture amânat pe termen nelimitat, dar speranța nu este pierdut. Și apoi din întâmplare, după actualizarea unui singur magazin (și anume, după înlocuirea imprimantelor cu matrice pe termică) în brațele mele a fost imprimante oarecum ferme Epson dot matrice, modelul TM-U210.

scut motor de lc - pentru Arduino cu mâinile)

Mecanica este împărțit în coșul de gunoi, dar electronica - a fost destul de tenace. Aici am un obicei, bord orbecăi si google diverse elemente radioactive interesante.
scut motor de lc - pentru Arduino cu mâinile)

Și apoi vin peste un STA434A element foarte neobișnuit, citiți foaie de date și bucuria ... nu există nici o limită! combinație Dureros familiar de tranzistori. Asta e ceea ce ai nevoie. Următoarele piese de foi de date cu privire la STA434A și L293D.

scut motor de lc - pentru Arduino cu mâinile)

Să sperăm că am observat unele similitudini :) Prin modul de mai jos, un circuit de control al motorului tipic în mașini de jucărie (imagine „împrumutată“ pe internet).
scut motor de lc - pentru Arduino cu mâinile)

Și nu dacă adunarea exclusiv Darlington? Se pare, nr. Aici puteți comanda și prețul destul de uman (am atât de înțeles despre 1.5..2 $). Un pic gelos în această privință Rumyniyanam.

_______ Această bucată de text nu este necesar pentru a citi ___________
Pentru articolele solide, o mică teorie. (Nu se știe niciodată, cineva va fi util)
Deci de control al motorului de curent continuu.

scut motor de lc - pentru Arduino cu mâinile)

Totul este simplu. În două contacte motor cu colector; Ea a depus un "+", și un al doilea terminal de "-" - un motor filat într-o singură direcție. Inversa polaritatea - el fericit filare în direcția opusă. Mai mult de tensiune este aplicată - să se rotească mai repede, reduce stresul - viteza de rotatie a scăzut. Nu judeca strict, pentru prezentarea primitivă a fundamentelor :)
Și oamenii deștepți au venit cu o modalitate de a gestiona aceste setări: direcția și viteza. Este numit astfel de «H-Bridge».

Aici este schema sa condiționată.

scut motor de lc - pentru Arduino cu mâinile)

Există patru comutatoare: S1, S2, S3, S4. Luați în considerare opțiunile posibile de comutare.
Este clar că NICIODATĂ. Tu niciodată nu trebuie să fie incluse simultan următoarele perechi de switch-uri: S1 + S3 și S2 + S4, deoarece în acest caz, ne-am circuitat conecta putere și la sol, adică, Avem defecte.
S1 + S2 - motor conectat la două contacte de nutriție - motorul ar fi scurtcircuitat, în această stare, arborele motorului este frânat rapid. Cu alte cuvinte, motorul va funcționa ca un generator. Puțin diferit atunci când S3 + versiunea S4 (numai în acest caz, motorul este conectat la sol). Aș numi această versiune - „mers în gol“

scut motor de lc - pentru Arduino cu mâinile)

Ei bine, opțiunile cele mai utile sunt: ​​S1 + S4. Această conexiune la stânga (în desen) a contactului motorului se aplică „+“ pe dreapta - „-“. Să presupunem, în acest caz, motorul se va roti în sensul acelor de ceasornic. În cazul S2 + S3 - anti-sensul acelor de ceasornic. Și în cazul în care disable-switch-uri cuprind unul dintr-o pereche de la unul de comutare din cele două exemple de realizare - atunci putem controla viteza motorului. (Cu alte cuvinte, „shimit“ sau aplică semnal PWM).
Singura diferență între aceste simplu H-pod și realitatea este că comutatoarele sunt înlocuite cu tranzistori pentru controlul motorului electronic și de andocare cu microcontroler.

Fu ... am putut, și a prezentat o parte teoretica :) Strict nu judeca.
_______ final Acolo neobyazatelenogo a textului care urmează să fie citit ___________

Acum vom alege sistemul de control. (O mulțime de lucruri și a furat soluții ... învățate din L-Motor Shield)
- Totuși, încercăm să-l ca fiind compatibil cu ATmega8 (eu folosesc „self-made“ Arduino). Faptul că al optulea-Atmeg și numai 3 hardware PWM pini lea.
- Avem nevoie de cel puțin două canale pentru motoare de colector (sau unul pentru pas cu pas)
- încercați să nu dețină ace importante
Am început schema de căutare. naguglit suficient de repede o opțiune.

scut motor de lc - pentru Arduino cu mâinile)

Se pare ca o idee bună, dar pariu detaliile am realizat că la loc pe un PCB unilateral conceput două canale, nu de mult vorbind pentru dimensiunea Arduinki, cu un minim de jumperi, cu calificare mea - este puțin probabil ca am obține :(.

Nu știu despre tine, dar trebuie să lucreze în mod normal, în timpul pauzelor de fum prietenii mei și să discute tot felul de „meserii“ lor nu sunt legate de locul de muncă :). Și un prieten de-al meu, după ascultarea mea „chin“, a oferit o opțiune interesantă, „Deci, pentru a face optocuploare. “. Și într-adevăr, gândirea zdorovski.

scut motor de lc - pentru Arduino cu mâinile)

Optocuplor (de multe ori se întâlnește RS817) = LED-uri + fototranzistor. Deschiderea unui fototranzistor depinde de gradul de iluminare cu LED-uri. Pe LED-ul trebuie să se aplice o tensiune de curent continuu:
borna 1 (+ anod), pinul 2 (- catod) și limitarea curentului prin acesta (când este conectat la pinii Arduino (+5 V - comandă rezistor 220..500 ohmi).
Prin curentul fototranzistor curge, ca o săgeată desenată în denumirea sa:
de la terminalul 4 (+ colector) la pinul 3 (- emițător).

După multe dispute „gugleniya“ ciornelor preparat în diagrama următoare. Adică, o versiune preliminară.

scut motor de lc - pentru Arduino cu mâinile)

Deci, pentru controlul unui motor, avem nevoie de trei pini. Două direcții de rotație predeterminate (FWD și REV), și a treia (Activare) vom folosi comanda de viteză. Trei O - 8 stări posibile.

versiune a „rotație sensul acelor de ceasornic cu motor“

scut motor de lc - pentru Arduino cu mâinile)

Vă rugăm să rețineți că, în cazul unui „1“ la ieșire „Enable“ vom dezactiva partea de jos dreapta-cheie. Și dacă semnalul PWM furnizat - este posibil să se controleze viteza de rotație a motorului.

În mod similar, opțiunea „motor de rotație invers acelor de ceasornic“

scut motor de lc - pentru Arduino cu mâinile)

Cazul concluziilor, „FWD“ și „REV“ să prezinte un nivel ridicat ( „1“) - cheia publică a jumătățile din stânga și din dreapta jos. În acest caz, motorul este în starea „în așteptare“.

scut motor de lc - pentru Arduino cu mâinile)

Pentru restul timpului, am fost prea leneș pentru a face poza :( Voi descrie în cuvinte ... (din păcate, face un tabel nu am reușit.
FWD - REV - ENABLE
-1 ------ ----- 0 0-- drept public-cheie din stânga sus și de jos a diagramei. (GO!)
-1 ----- 0 ------ 1-- Dezactivarea partea dreapta jos. PWM ENABLE - înainte cu control al vitezei.
-1 ----- 1 ------ 0-- inclusiv cheile inferioare. Modul de viteză „mers în gol“.
-1 ----- 1 ------ 1-- Toate cheile sunt oprite.
-0 ----- ------ 1 0-- jos cheie publică din stânga și din dreapta sus al circuitului. (BACK!)
-1 0 ----- ------ 1-- Dezactivarea stânga jos. PWM ENABLE - Înapoi cu viteză reglabilă.
-0 0 ------ ----- 0-- Toate cheile sunt oprite.
-0 0 ----- ------ 1-- Toate cheile sunt oprite.

Cel mai convenabil mod de a verifica rapid soluțiile concepute - de asamblare de pe maketke (am cunoscut un alt nume pentru acest proces, „Arduino-stil“ :))

scut motor de lc - pentru Arduino cu mâinile)

mici schiță de încercare:


Ne asigurăm că totul funcționează conform destinației. Asta nu poate decât să se bucure!
Ei bine, acum un loc foarte real conceput pe o bucată mică de PCB. În acest caz, (după piese și accesorii pe o foaie de prikidok) este chiar și spațiu liber. Și vom umple regulatorul său de 5 volți pentru două elemente de acționare. (Dreapta, "bănuț în penny" este luat de la L-Motor Shield). Desigur, numărul de iobag ar putea fi crescut, dar mi se părea că va fi prea mult ...
Pe unul dintre motoarele de control dau trei pini, două oferi direcție, a treia - viteza. (2,4,9) - un canal (7,8,10) - al doilea. Ie Compatibilitatea cu Atmega-8 este :) Ei bine, da un servo 5 și 6 pini. Aici, deja al optulea Atmega, din păcate, „fumează pe margine.“
Deci, versiunea finală a circuitului LC-Motor Shield v.1.0 de mai jos ...

scut motor de lc - pentru Arduino cu mâinile)

Pentru a fi continuat ... (sau noi) să fie continuată.

P.S. Prea târziu pentru a face modificări, așa cum am sudat deja și asamblate. Și totul funcționează :)
P.P.S. Eu, pentru un motiv oarecare, meșteșugurile lor de a face mult mai rapid decât să scrii despre ei :)