joi, 29 mai 2008

Motorul pas cu pas

Scurta prezentare

Motoarele pas cu pas exista in diferite variante de diferite puteri si marimi. Exista doua tipuri de baza : bipolare si unipolare. Motoarele bipolare au 4 fire iar cele unipolare au 5, 6 sau 8 fire.
Pentru acest proiect, motorul folosit este unipolar cu 5 fire.
Motorul unipolar are 2 bobine. Ele sunt identice si nu sunt interconectate electric. Fiecare bobina are un racord central - un fir ce iese din bobina. Se pot identifica bobinele separat prin atingerea firelor terminale impreuna. Se poate identifica racordul central prin masurarea rezistentei cu un ohm-metru capabil de a masura rezistente mai mici de 10 ohm. Rezistenta de la un terminal la racordul central este jumatate din rezistenta de la cele doua terminale ale bobinei.


Functionare




Curentul care strabate o bobina produce un camp magnetic care atrage un rotor magnet care este conectat pe axul motorului. Principiul de baza al controlului motorului pas cu pas este de a inversa directia curentului care trece prin bobine secvential pentru a influenta rotorul. Din moment ce sunt 2 bobine si 2 directii avem posibile o secventa de 4 faze. Tot ce avem nevoie este de a obtine secventa in mod corect si motorul va functiona in mod continuu. Structura interna a motorului este destul de complexa. Rotorul este avansat numai cu un mic unghi fie inainte sau inapoi si secventa de 4 faze este repetata de multe ori inainte ca o miscare de revolutie sa fie terminata.

Motorul unipolar se foloseste de racordul central pentru a realiza curentul inversat folosind
un truc - racordul central este legat la plusul sursei si unul din cele doua terminale este dus la masa pentru a face curentul sa se miste intr-o directie. Celalalt terminal este tot la masa pentru a inversa curentul. Astfel curentul poate circula in ambele directii, dar numai jumatate din bobine au energie. Ambele terminale nu sunt niciodata duse la masa in acelasi timp, deoarece ambele bobine ar avea energie si astfel ar fi o irosire de putere.


Modelul conceptual al motorului unipolar pas cu pas
Cu racordurile centrale ale conectate la plusul sursei, terminalele fiecarei bobine sunt la masa, in secventa pentru a atrage rotorul care este indicat prin sageata in imaginea de mai jos. Aceasta diagrama conceptuala are un pas de 90 de grade pe faza. Intr-o secventa care se face in sensul acelor de ceasornic, bobina 1 este dezactivata iar cea de-a doua este activata la urmatoarea faza. Rotorul este ghidat de la o bobina la alta producand un ciclu continuu. In cazul in care ambele bobine sunt activate, rotorul este atras la mijlocul distantei dintre doua bobine.







Acesta este motorul unipolar cu 5 fire folosit de noi in proiect










joi, 15 mai 2008

Programarea microcontrolerului

Pentru programarea microcontrolerului se foloseste programarea ISP (“in-system programming”) care inseamna posibilitatea de a programa procesorul fara a-l demonta din circuit; exista si varianta programarii separate, prin scoaterea din soclu si montarea in soclulunui programator dedicat.
Programarea ISP presupune existenta a 2 componente:
1) circuitul de programare (programatorul), care se conecteaza la mufa ISP a placutei si la portulserial/paralel/USB al PC-uluil
2) soft-ul de programare, care preia fisierul utilizator si il transmite programatorului. Trebuie sa fie compatibil cu acesta din urma.
Circuitul de programare l-am realizat cu programatorul Pony Prog.
Schema cu mufa ISP folosita de noi pe placa de test este:


Valorile rezistentelor nu sint critice. Q1 poate fi orice tranzistor NPN de uz general: BC107-109, BC170-172, 2N2222, etc. Diodele Zener pot fi in gama 4V..5V1, de mica putere.

Tranzistorul Q1, cind primeste tensiuni pozitive pe baza, conduce si “trage” in 0 pinul reset al procesorului; este necesara aceasta metoda pentru a asigura un 0 “ferm”. Rezistenta R1 tine blocat Q1 atunci cind mufa DB9 nu este conectata.Rezistentele R5, R6 si diodele Zener corespunzatoare au rolul de a transforma tensiunile de +/-12V in cca. 5V/0V astfel: tensiunile pozitive mai mari de 5V sint limitate la 5V de dioda Zener, diferenta de tensiune cade pe rezistenta (a carei valoare deci nu e critica), iar tensiunile negative sint suntate de diodele Zener, care devin polarizate direct si se deschid, lasind maxim -0.6V pe ele (in conductie directa, diodele Zener se comporta ca niste diode obisnuite). Astfel se obtine un “0” dar mai putin “ferm” decit invarianta cu tranzistor.


vineri, 2 mai 2008

Materiale folosite

In prima faza, pentru realizarea acestui proiect, au fost montate componentele comune tuturor proiectelor. Aceasta a constat in montarea microcontrolerului, stabilizatorului de tensiune precum si a unui convertor de nivel pentru comunicatia seriala.
Pentru alimentare se foloseste stabilizatorul cu 3 terminale 7805 ce scoate aproximativ 5 volti la iesire necesari alimentarii tuturor circuitelor de pe placuta. Stabilizatorul necesita doar doua condensatoare de 0.1 uF .
A urmat montarea convertorului de nivel MAX232 care este alimentat de la sursa de 5V si converteste nivelurile TTL (0..5V) in nivelurile specifice portului serial si viceversa.
Practic, tensiunile +10V si -10V se obtin prin dublarea tensiunii de alimentare a circuitului, folosind un convertor intern cu capacitati comutate care foloseste condensatoarele externe C7-C10. In cazul lui Max232 condensatoarele folosite sunt de 1uF.
A fost verificata functionarea cicuitului la pinii 2 si 6 ai convertorului obtinand o tensiune de +8V respectiv -8V.

Mufa DB9 de tip mama este cablata dupa standardul DCE (Data Communications Equipment). Aceasta inseamna ca se va folosi un cablu serial direct (1-la-1) pentru conectarea la PC, care este echipat cu o mufa de tip tata, cablata dupa standardul DTE (Data Terminal Equipment). De notat ca daca s-ar dori conectarea a 2 echipamente cu acelasi standard (DCE cu DCE sau DTE cu DTE; de exemplu, 2 PC-uri legate intre ele pe seriala), ar trebui un cablu de tip “crossover” (pinii 2 si 3 inversati la unul din capete). De obicei, toate cablurile cu mufa mama-tata sint de tip direct.



Urmatoarea etapa a fost de montare a microcontrolerului pe placa impreuna cu componentele necesare functionarii lui corecte:
  • JF1 este conectorul de programare ISP, folosit care permite programarea memoriei flash din procesor - a fost ales cu 2x3 pini;
  • C1, R1 formeaza circuitul de "power-reset";
  • Cristalul de cuart, impreuna cu condensatoarele C2, C3 si cu amplificatorul intern de la bornele XTAL1,2 formeaza un oscilator cu cuart. Am incercat ca si aceste componente sa le lipim, cat mai aproape de pinii microcontrolerului;
  • condensatoarele C5 si C6 s-au lipit cat mai aproape de procesor, intre pinii 10-11, respectiv 30-31, pentru a minimiza inductanta parazita cauzata de terminalele prea lungi. Ele sint condensatoare de decuplare si sint specifice alimentarii oricarui circuit digital;