Aparitia Microcontrolerelor sau Microprocesoarelor Si a Calculatoarelor Personale
Cap. 1. Introducere
O dată cu apariția microcontrolerelor sau microprocesoarelor și a calculatoarelor personale, s-au deschis noi posbilitati de comandă și control în timp real al acționarilor electrice cu motoare pas cu pas. Prin intermediul utilizării acestora, tehnologia acționarii motoarelor pas cu pas a căpătat o altă imagine. Că principala activitate a cercetătorilor în prezent este acceea de a îmbunătății acest proces și de a introduce un sistem cât mai inteligent. O dată cu introducerea acestei „inteligente”, pentru acționarea motoarelor pas cu pas se permite implementarea în timp a unor sisteme mai complexe având ca scop obținerea unor performanțe superioare.
O să încep prin a prezenta motivele ce m-au determinat să folosesc un microcontroler din familia dsPIC și anume dsPIC30F2020, comparativ cu un microcontroler din familia PIC16F, pentru a comanda un motor pas cu pas bipolar, acestea fiind următoarele:
Zona de procesor este constituită pe lângă ALU (Arithmetic Logic Unit), adică unitatea aritmetică logică și din modulul de realizare înmulțiri ce este implementat fizic. Datorită acestui lucru, operațiile de împărțire și cele de înmulțire se vor efectua rapid într-un ciclu mașina, nefiind necesar un algoritm de adunări consecutive și un consum de timp asemănător microcontrolerelor din seria PIC16F;
Magistrala microcontrolerului dsPIC este pe 16 biți;
Blocurile ce generează impulsuri modulate în timp, este vorba despre PWM (Pulse With Modulation), au facilitate suplimentară, au flexibiliatea și sunt ușor de utilizat. Microcontrolerele din familia dsPIC, de obicei au un număr mai mare de module PWM, astfel încât pot fi comandate mai multe motoare sau chiar motoare cu mai multe faze.
La apariția unui eveniment, microcontrolerele din familia dsPIC pot opri cu ușurință aplicarea impulsului PWM înainte de timpul programat cu ajutorul registrului PDC (Programmed Duty Cycle). Un eveniment de acest gen este scos în evidență prin intermediul unui comparator ce compară tensiunea proporțională cu curentul ce trece prin bobină motorului cu o valoare de referință. Astfel se ajunge la limitarea curentului maxim, prin bobină motorului. Microcontrolerul dsPIC30F2020 este unul deosebit, deoarece are patru comparatoare analogice astfe avem la intrare o tensiune analogică. Fiecare comparator are câte un DAC (Digital to Analog Convertor), ce stabilește valoarea tensiunii de referință cu care este comparată tensiunea aplicată la intrarea în comparator. În acest fel se poate prin intermediul programului să determinăm valoare dorită de limitare a curentului prin bina motorului, această valoare pe parcus poate fi modificată.
Microcontrlerul din familia dsPIC spre deosebire de cel din familia PIC, ilustrează un sistem de întreruperi net superior, având astfel posibilitatea de a stabili opt nivele prioritare pentru sursele de întrerupere ce urmează să le alegem. În acest fel nu mai este necesar să testăm care este sursa de întrerupere în momentul în care se intra în rutină de întrerupere. Ori cât de multe surse de întrerupere apar, ele vor fi abordate în ordinea priorității, iar după ce vor fi abordate toate întreruperile se revine la programul principal, la momentul de început.
Cap. 2. Analiza și sinteza literaturii de specialitate
2.1. Motorul pas cu pas
2.1.1. Ce este motorul pas cu pas?
Motorul pas cu pas este un dispozitiv folosit pentru conversia informațiilor numerice în lucrul mecanic pe baza unui consum de energie de la o sursa. Motorul pas cu pas este ideal pentru un control de precizie, el fiind utilizat in unitati disk, impimante, actionarea mecanismelor de presiune si orientare la roboti, mese de pozitionare 2D, pentru masinile de gaurit si o mare gama de alte aplicatii ce necesita miscari precise sub controlul unui calculator. Motorul pas cu pas este un motor de curent continuu ce se comandă digital, ce are o deplasare unghiulară a rotorului proportională cu numarul de impulsuri primite. După fiecare impuls rotorul exectută un pas unghiular apoi se va opri până la sosirea unui nou impuls. Motorul pas cu pas are capabilitatea de a-și inversa sensul de mișcare. Dacă motorul este comandat corect, având o frecvență mai mică decât cea permisă, rămâne în sincronism cu impulsurile de comandă la accelereare, mers constant și incetinire.
Impulsuri de comandă
MPP
Fig.1. Schemă bloc de acționare cu motor pas cu pas
2.1.2. Avantaje și dezavantaje
Punând în comparație motorul pas cu pas cu celelalte tipuri de motoare, motoare de c.c. și motoare de c.a. sincrone și asincrone, se pot observa câteva avantaje:
Motorul are o rotație direct proporțional cu impulsul electric aplicat la intrare;
Poziționarea are o eroare foarte mică de aproximativ 3-5% la un pas, ce nu se va cumula de la un pas la altul, ea fiind foarte precisă;
În cazul în care bobinele sunt alimentate, momentul maxim al motorului este în poziția oprit;
Pe poziția oprit/pornit sau schimbarea sensului de rotație, furnizează răspunsuri rapide;
Durata de viață a motorului depinde doar de rulment, deoarece este un motor fără perii de contact la motor (brushless);
Viteza de rotație se întinde pe o plajă foarte largă;
Prezintă o precizie de poziționare și rezoluție mare;
Memorează poziția.
Pe lângă aceste avantaje apar și câteva dezavantaje:
Controlul motorului este greoi în cazul în care avem viteze foarte mari;
Prezintă o viteză de rotație scăzută;
Puterea ce o dezvolta la arbore este de valoare redusă;
Randamentul energic este relative scăzut.
2.1.3. Construcția și funcționarea
Din punct de vedere al configurației circuitului magnetic, avem 3 tipuri de motoare pas cu pas:
Fig 2. Tipuri constructive de motoare pas cu pas
2.1.3.1 MPP cu reluctant variabilă (V.R.)
Din punct de vedere structural, acest motor pas cu pas este cel mai simplu de înțeles, el fiind foarte cunoscut.
Un motor de acest gen se diferențiază foarte ușor de un motor cu magnet permanent, pentru că atunci când este învârtiți cu mâna, acesta se învârte foarte ușor, nu are piedici.
b)
Fig.3. Secțiunea transversal a unui motor cu reluctant variabilă (V.R.)
Un motor de acest gen, asigura pasi unghiulari mici și medii și poate lucra la frecvența de comandă mari, dar acesta nu memorează poziția, nu are cuplu de menținere. În figură 3. a) este alimentată doar o singură fază statorica AA’, unghiul de pas va fi de 60°, această comandă poartă numele de secventa simplă. În figură 3. b) sunt alimentate două faze successive, gen AA’-BB’, iar rotorul se deplasează pe bisectoarea dintre cele două faze.
Fig 4. MPP V.R.
Relația dintre dinții rotorului, cei ai statorului și unghiul de rotire este următoarea:
NS – nr de dinți pe stator;
NR – nr de dințti pe rotor;
Ψ – pas unghiular.
2.1.3.2 MPP cu magnet permanent (P.M.)
Motorul pas cu pas cu magnet permanent are în structura sa după cum îi spune și numele, magneți permanenți și poli dispuși radial.
Atunci când fazele statorului se alimentează, se generează câmpuri magnetice, ce vor interacționa cu fluxurile magneților permanenți, și în acest fel se dă naștere unor cupluri de forțe ce deplasează rotorul.
Acest tip de motor are capacitatea de a memora poziția și are un cuplu de menținere.
Motorul pas cu pas cu magnet permanent, este un motor ieftin ce are o rezoluție joasă și păși unghiulari cuprinși între 7.5o și 15o, acest motor este cunoscut și sub denumirea „Canstock” sau „țin can”.
a ) b)
Fig 5. MPP cu magnet permanent (P.M.)
Prin creșterea numărului de poli ai rotorului sau prin incrementarea numărului de faze, poate fi mărită rezoluția unui motor pas cu pas cu magnet permanent
.Fig 6. MPP cu magnet permanent, metode de îmbunătățire a rezoluției.
2.1.3.3 MPP hibrid
Motorul pas cu pas hibrid este cel mai utilizat motor și în același timp cel mai răspândit. Motorul pas cu pas hibrid este o combinație între cele două tipuri de motoare prezentate anterior, astfel inbina avantajele celor două motoare.
Când vine vorba de un motor pas cu pas hibrid, rotorul este compus dintr-un magnet permanent, dispus longitudinal, la extremitățile lui fiind fixate două coronae dințate realizate dintr-un material ferromagnetic. Polii nord și sud sunt reprezentați de dinții celor două coronae, adică dintii unei coroane ilustrează polii nord, iar dinții celeilalte coroane ilustrează polii sud.
Fig 7. Rotorul unui MPP hibird
Fig 8. Sectiunea unui MPP hibrid
2.1.4 În practică, în funcție de înfășurările din stator, întâlnim 3 tipuri de motoare:
motoare pas cu pas unipolare;
motoare pas cu pas bipolar;
motoare pas cu pas “8-wire”.
2.1.4.1 MPP unipolare
Motoarele pas cu pas unipolare sunt utilizate în special în aplicațiile unde este absolute necesară cunoașterea cu exactitate a numărului de pași pe care îi face motorul pentru a executa o rotație complete.
Fig 9. MPP unipolar cu 4 faze
La acest tip de motor surprindem motoarele pas cu pas hibride cu 5 sau 6 fire, cât și pe cele cu magnet permanent.
Dacă urmărim figură de mai sus se observă că statorul este format din câte 2 bobine pe pol, ce au începuturile legate împreună.
Circuitul de comandă pentru acest tip de motor este unul destul de simplu, este nevoie doar de un singur element de comutație pentru fiecare bobină, deoarece pentru a putea roții axul motorului nu trebuie schimbat sensul curentului prin bobine.
2.1.4.2 MPP bipolar
Acest tip de moțare au o comportare asemănătoare cu cea a motoarelor sincrone. Motoarele pas cu pas bipolare se comandă foarte simplu și au o durată de viață foarte lungă și fiabilitate în timp, iar prețul este unul avantajos. Motoarele pas cu pas au o singură ingfasurare pe pol. Diferența dintre motorul pas cu pas bipolar și cel unipolar, este aceea că la cel bipolar sensul curentului trebuie schimbat, pe când la cel unipolar sensul curentului va rămâne neschimbat. Datorită acestui lucru, pentru motoarele pas cu pas bipolar avem nevoie de un circuit de comandă mai complex, de cele mai multe ori se folosește puntea H.
2.1.4.3 MPP “8-wire”
Diferența dintre acest tip de motoare și restul motoarelor se face prin faptul că aceste moțare au 8 fire, 4 bobine, 2 bobine pe fiecare pol, capetele fiind accesibile la exterior. Această diferență se poate observa în imaginea următoare:
Fig 11. MPP cu 5,6,8 fire si MPP cu 4 fire – diferente
Se remarca totodata si diferite tipuri de conexiuni ale motorului pas cu pas, aceasta diferenta a conexiunilor este prezentata in tabelul ce urmeaza:
Tab 1. Conexiunie ale motorului pas cu pas
2.1.5 Comanda MPP cu microcontrolere
Multe aplicatii din acest vast domeniu al microcontrolerelor au ca sarcina actionarea unor motoare. Un exemplu il gasim in aplicatiile auto: actionarea motoarelor de la geamurile elctrice, motoarele indicatoarelor de la bord, actionarea motoarelor folosite la rabatarea oglinzilor si a geamului etc. aplicatii de acst gen le intalnim si in domeniul echipamentelor periferice, sau in aplicatii industrial.
Motoarele pas cu pas pot fi unipolare sau bipolar. Comanda pașilor la moatoarele
pas cu pas se realizează prin inversarea curentului prin înfășurări.
În această situație controllerul trebuie să poată inversa polaritatea pentru a putea realize deplasarea curentului în abele sensuri. Controllerul trebuie să alimenteze înfășurările cu o anumită secventa pentru un sens și cu secvența inversă pentru celălalt sens. În desenul din figură o parcurgere a 4 faze semnifică o rotire a 360°.
Fig 12. MPP – structura
Prin conectarea unei înfășurări ex: 1a-1b la cele 2 canale PWM se realizaeaza inversarea curentului că în diagramele din figura 12.1
Fig 12.1MPP bipolar – inversarea curentului prin infăsurari
Motoarele pas cu pas unipolare folosesc o priză mediană legată la alimentare, inversarea curentuile la exterior. Această diferență se poate observa în imaginea următoare:
Fig 11. MPP cu 5,6,8 fire si MPP cu 4 fire – diferente
Se remarca totodata si diferite tipuri de conexiuni ale motorului pas cu pas, aceasta diferenta a conexiunilor este prezentata in tabelul ce urmeaza:
Tab 1. Conexiunie ale motorului pas cu pas
2.1.5 Comanda MPP cu microcontrolere
Multe aplicatii din acest vast domeniu al microcontrolerelor au ca sarcina actionarea unor motoare. Un exemplu il gasim in aplicatiile auto: actionarea motoarelor de la geamurile elctrice, motoarele indicatoarelor de la bord, actionarea motoarelor folosite la rabatarea oglinzilor si a geamului etc. aplicatii de acst gen le intalnim si in domeniul echipamentelor periferice, sau in aplicatii industrial.
Motoarele pas cu pas pot fi unipolare sau bipolar. Comanda pașilor la moatoarele
pas cu pas se realizează prin inversarea curentului prin înfășurări.
În această situație controllerul trebuie să poată inversa polaritatea pentru a putea realize deplasarea curentului în abele sensuri. Controllerul trebuie să alimenteze înfășurările cu o anumită secventa pentru un sens și cu secvența inversă pentru celălalt sens. În desenul din figură o parcurgere a 4 faze semnifică o rotire a 360°.
Fig 12. MPP – structura
Prin conectarea unei înfășurări ex: 1a-1b la cele 2 canale PWM se realizaeaza inversarea curentului că în diagramele din figura 12.1
Fig 12.1MPP bipolar – inversarea curentului prin infăsurari
Motoarele pas cu pas unipolare folosesc o priză mediană legată la alimentare, inversarea curentului se obține prin punerea succesivă a terminalelor extreme ale înfășurării.
Fig 12.2 MPP unipolare – inversarea curentului
Astefel se obțin câmpuri magnetice de sens contrar fără a inversa polaritatea.
Conectarea înfășurărilor unui motor pas cu pas unipolar este reprezentată în figura 12.3.
Fig 12.3 MPP unipolar – infasurari. structura.
Secvența de impulsuri se aplică terminalelor 1a, 1b, 2a, 2b, iar prizele mediane sunt legate la alimentar
Pentru comadna unui motor pas cu pas unipolar cu 4 faze secvențele digitale sunt prezentate în figură ce urmează
:
Fig 12.4 MPP unipolar – secventele digitale pentru comanda
Pentru a obține un current variabil se folosește un canal PWM pentru a comanda o fază a motorului pas cu pas. Semnalul PWM asigura valoarea medie a tensiunii de alimentare a unei faze și nu succesiunea fazelor.
Fig 12.4 MPP unipolar – comanda PWM
Acest tip de comandă oferă posibilitatea de a comanda motorul, având un curent mai mare la pornire și permite realizarea unor traiectorii optime de viteză, se creează astfel un regim accelerat – frânat.
2.2 Tehnica PWM
Performanțelor convertoarelor statice de putere au crescut o dată cu progresele tehnologice considerabile din domeniul dispozitivelor semiconductoare de putere.
Acestea se folosesc în producerea și distribuirea energiei electrice, electrochimice, la aparatele de uz casnic și la tracțiunea electrică.
Tehnică sau mai bine zis semnalul PWM, denumit mai pe larg Puls With Modulation, este folosit în multe aplicații: comanda motoarelor de curent continuu, comanda surselor de alimentare, pot fi principalele aplicații unde acest semnal își pune amprenta
.
Fig 13. Semnal PWM
Semnalul PWM reprezintă acel semnal periodic la care se poate modifica în mod controlat factorul de umplere. Deorece semnalul PWM este folosit în aplicații, există module timer dedicate acestei funcții și anume modulelel PWM. Un astfel de modul PWM poate genera mai multe semnale modulate
Fig 13.1 Schema bloc a canalului PWM
Clock-ul pentru un numărător este generat de registrul de prescalare, acest clock de numărare este programabil. Conținutul numărătorului este comparat cu cel al registrului PWM. Atât timp cât rezultatul acestei comparații este mai mic sau egal, se va genera unu logic la ieșirea PWM, iar dacă rezultatul acestei comparații este mai mare, se va genera zero logic la ieșirea PWM. În cazul în care registrele comparate sunt de 8 biți, factorul de umplere poate fi între 1/256 și 1. Un canal PWM o dată ce a fost programat va genera la ieșire un semnal periodic continuu.
Criteria de apreciere pentru modulele timer, aici includem și modulele watchdog și PWM:
numărul de canale timer și dimensiunea registrului de numărare;
existența unui ceas de gardă, adică prezenta watchdog-ului;
flexibilitatea timere-lor;
numărul de canale PWM și dimensiunea registrului PWM.
2.3 Module A/D și D/A
Intarile și ieșirile analogice și convertoarele A/D reprezintă partea definite atunci când vine vorba de un calculator. Prezența acestor module în structura unui microcontroler contribuie la puterea acestuia în aplicații pentru că interfața cu mediul presupune necesitatea de a prelucra mărimi analogice.
Convertoarele A/D sunt des întâlnite printre perifericele “on-chip”. Aceste convertoare nu le întâlnim destul de des printre unitățile component pentru că sunt implementate relative ușor în exterior. Un convertor D/A simplu poate fi conceput folosind un timer în mod PWM și integrand pulsul în exterior cu un simplu circuit RC.
Convertoarele integrate pe chip au aproximații successive mai rare, numite convertoare cu integrare. Însușirile acestor convertoare nu sunt deosebite, ele fiind mai lente în comparație cu circuitele implementate în circuite independente. Timpii de conversie des întâlniți sunt plasați în intervalul 10 µs – 25µs, rezoluția fiind de 8, 10 sau 12 biți iar precizia de +/-1/2LSB. Un modul de conversie este prevăzut și cu un un multiplexor analogic, astfel fiind disponibile mai multe canale de intrare. Anumite microcontrolere sunt echipate și cu un circuit de eșantionare (memorare), în cazul în care acesta lipsește, semnalul analogic trebuie menținut constant pe toată durata conversiei.
În figură ce urmează 13.2 este prezentată schema bloc a unui modul de conversie A/D. Circuitul de la intrare este construit dintr-un multiplexor analogic, un circuit de eșantionare și un convertor A/D ce are aproximații succesive. Tensiunea de referință pentru masa analogica și pentru convertor este furnizată din exterior la pini speciali. Clock-ul pentru convertor este furnizat intern din clock-ul unității central
Fig 13.2 Schema bloc – modul de conversie A/D
Modulul A/D utilizează un registru de control prin care se alege canalul de conversie și modul de lucru pentru cirucuitul de eșantionare. Terminarea conversiei cât și declanșarea acesteia sunt anunțate cu câte un bit tot în registrul de control. Aceste rezultat este stocat în registrul de date, acest registru va conține tot timpul rezultatul ultimei conversii, datorită acestui fapt registrul trebuie citit înainte de a se termina următoarea conversie, dacă acest lucru nu se întâmplă atunci se va pierde informația.
Conversia se poate declanșa intern. Cu ajutorul unui timer se poate realiza fără intervenția unității centrale, declanșarea unei conversii la un timp dorit. Conversia continuă a unui canal până în momentul receptionaii unui semnal de încheiere este un al mod de operare al modulului. Un alt mod de operare al modului este și conversia ciclică, este modul de operare în care modulul executa conversia pe rând a fiecărui canal și apoi se oprește, în acest mod întâlnim mai multe registre de date folosite pentru memorarea rezultatelor conversiilor.
În aplicațiile de precizie este recomandat ca pe parcursul conversiei să se pună unitatea central într-un mod inactiv pentru a nu perturba convertorul.
2.4 Cirucuitul integrat L298
Generalităti
Circuitul integrat L298 este un circuit monolotic având 15 pini. Acest driver este folosit pentru tensiuni și curenți mari, el este constituit dintr-o punte dublă de tranzistori, ce acceptă nivele logice, standard TTL. Driverul L298, conduce sarcini inductive și anume: motoare de curent continuu sau motoare pas cu pas, bobine și relee.
Pentru activarea sau dezactivarea dispozitivului, driverul are 2 intrări de activare, independent de semnalele de intrare. În partea de jos a fiecărei punți se afla tranzistori, ai carror emitori sunt conectați împreună iar terminalul extern corespunzător este utilizat asemantor unui șanț extern.
Pentru că diverul L298 să poată fi utilizat și la tensiuni mai mici, acesta este prevăzut cu o intrare suplimentară.
Fig 14. Diagrama circuitului integrat L298
Caracteristici cu privire la valorile acceptate de driver:
VSS – Tensiunea logica de alimentare: 7 V
VS – Tensiunea de alimentare : 50 V
VI, Ven – Tensiunea de intrare și tensiunea de activare: de la -0.3 la 7 V
Vsens – Tensiunea senzorului – de la -1 la 2.3 V
IO – Curentul de ieșire pe fiecare canal:
Ne-repetitiv (t=100µs) – 3 A
Repetitiv (80% on – 20% off; ton = 10ms) – 2.5 A
Operațiuni în curent continuu – 2 A
Ptot – Puterea totală disipată în cazul unei temperaturi de 75oC – 25 W
Tstg, Tj – Temperatura joncțiunii și temperatura de depozitare
Fig 14.1 Conexiunea pininlor pentru L298
Tab 2. Descrierea pinilor
2.5 Cirucuitul integrat LM 7805
Circuitult LM 7805 are următoarele specificații: protecție pentru scurt circuit, o protective termică în cazul unei suprasarcini, un curent de ieșire de 1A, valoarea tensiunii la ieșire este de 5V, în concluzie, circuitul LM 7805 (IC1) este utilizat ca un regulator de tensiune.
Fig 15. Diagrama pini
Fig15.1. Schematic LM 7805
Ținând cont că tensiunea de intrare este de 10 V, curentul de ieșire este 500mA și ca temperature joncțiunii este între 0 și 125°, avem următoarele caracteristici din punct de vedere electric.
Tensiunea de ieșire VO – 5 V, minim: 4.8V și maxim: 5.2V;
Curentul pasiv: 5mA, maxim 8mA;
Curentul de scurt circuit: 230 mĂ;
Curentul de vârf: 2.2A;
Rezistența de ieșire pentru o frecvență de 1kHz: 15 mΩ;
Variația curentului pasiv: 0.03 – 0.3 mĂ sau valori maxime: 0.5 – 1.3 mĂ.
2.6 Microcontrolerul
Pentru a a putea definii un microcontroler plecăm de la de o reprezentare simplificată în impactul cu mediul.
Un sistem utilizat în comandă și prelucrarea unor stări de la un process ori aspect al mediului înconjurător se numește microcontroler. Dacă vorbim despre structura microcontrolerului, el este realizat pe un singur chip și conține următoarele:
Unitatea centrală;
Generatorul de tact, se adauca un cuarț pentru aplicațiile mai complexe, iar pentru cele mai simple se folosește un circuit RC.
RAM-ul memoria volatilă;
ROM/PROM/EPROM/EEPROM – memorie nevolatilă;
Dispozitive I/O(Input/Output) seriale și paralele;
Controller de întreruperi, DMA, timere (numărătoare / temporizatoare), convertoare Analog – Digital (A/D) și Digital – Analog (D/A);
Periferice.
Fig16.Microcontroler – Schema simplificata
Intrarirle microcontrolerului pot fi semnale digitale sau analogice, semnale ce provin de la traductoare sau comutatoare individuale. Semnalele digitale transmit semnale discrete, informația citită fiind eșantionata. Semnalele exprimate prin funcții continue în timp sun semnale analogice. Ieșirile analogice sunt reprezentate de ieșiri ale convertoarelor numeric-analogic, ori digitale. Pe aceste ieșiri se pot comanda relee, motoare, difuzoare, dispozitive de afișare etc.
Programele stocate în memoria proprie sunt foarte importante în funcționarea microcontrolerului. Un microcontroler este definit precum un microprocesor ce conține pe același chip o unitate centrală de prelucrare, oscilator de tact, memorie pentru date și dispozitive input / output.
Microcontrolerul are blocurile componente legate între ele printr-o magistrală internă. Unitatea centrală de prelucrare este formată dintr-o unitate de control și unitatea aritmetică și logica, aceasta prin intermediul magistralei, selectează o locație de memorie sau un dispozitiv I/O. Pe o singură magistrala sau pe magistrale de date diferite, între memorie și unitatea centrală de prelucrare se realizează un proces de transfer de date și instrucțiuni.
Arhictectura Harvard este constituită din 2 bus-uri, unul dedicat instrucțiunilor, iar altul folosit pentru date. Întâlnim o structură complexă dar de o viteză foarte mare.
Fig 16.1 Microcontroler – Schema bloc
Arhitectura von Neumann este constituită dintr-un singur bus folosit pentru distribuția datelor și a instrucțiunilor. Atunci când se apelează memoria, magistrala internă este utilizată pentru a transfera în primul rând codul instrucțiunii, și numai apoi se face transferul de date, procesul desfășurându-se pe 2 etape este lent.
2.6.1 UCP (unitatea centrală de prelucrare)
UCP este alcătuită din unitatea logică și aritmetica și din cea de control.
Unitatea logică și aritmetica reprezintă secțiunea responsabilă de efectuarea operațiilor logice și aritmetice asupra operanziilor ce îi sunt atributi.
Unitatea de control reprezintă secțiunea responsabilă cu decodificarea codului unei operații conținut de o intstructiune.
UCP are în componența sa un set de registre interne, utilizate pentru a memora date des apelate sau pentru a programa anumite funcții, dintre aceste registre la marea majoritatea microcotrolerelor găsim:
Program Counter (PC);
Accumulator (A);
Stack Pointer (SP).
PC-ul, un registru numărător de program, reprezintă un registru ce stochează adresa unei instrucțiuni următoare ce trebuie executate.
A-ul, registrul acumulator, este un registru utilizat pentru a stoca un operând și rezultatul operației logice și aritmetice.
SP-ul, registrul indicator de stivă, este un registru al cărui conținut indica adresa curentă a stivei. Stivă este o zonă de memorie ce se accesează rapid în care sunt stocate temporar informații esențiale în desfășurarea programului.
2.6.2 Memoria
Datorită faptului că microcontrolerele folosesc mai multe tipuri de informație și instrucțiuni ce controloeaza funcționarea microcontrolerului toate acestea sunt stocate într-o memorie. Aceste intructiune de control se stochează în memoria nevolatilă, aici chiar dacă se oprește și se repornește sursa de alimentare, informația nu se pierde.
Memoria ROM (Read Only Memory) este o memorie ieftină dar și foarte simplă, în această memorie se stochează toate programele în stadiul de prima fază (început), datorită acestui lucru UCP poate numai să citească informația dar nu o poate și prelucra.
Memoria RAM (Random Acees Memory) este un tip de mememorie volatilă ce poate fi scrisă sau citită de UCP. Locațiile din această memorie sunt accesibile în orice oridine. Acest tip de memorie se folosește pentru stocarea nevolatilă a unor cantități mari de date, având un număr nelimitat de ștergeri și rescrieri și o viteză de acces mare.
Memoria PROM (Programmable Read Only Memory) este o memorie asemănătoare cu memoria ROM, numai că aceasta poate fi programată de utilizator. Având mai multe posibiltati de ștergere, aceasta memorie poate fi:
Memoria EPROM (Erasable Programmable Read Only Memory) este o memorie ce se poate șterge prin expunerea la raze ultraviolete (UV). Pentru că acest lucru să fie pozibil, microcontrolerul cu acest tip de memorie conține un geam de cuarț ce permite chip-ului să fie expus la UV. Ștergerea acestei memorii se face neselectiv, adică se poate șterge întreaga informație și nu doar un fragment.
OTP (One Time Programmable PROM), este o memorie de tip EPROM ce nu se poate șterge ori reprograma, ea este mai ieftină, de o viteză bună, iar aplicațiile sunt lipsite de flexibilitate. Aceasta memorie se folosește pentru mai multe tipuri de microcontrolere.
Memoria EEPROM (Electrically Programmable Read Only Memory) este o memorie ce poate fi ștearsă de UCP în timpul funcționării. Tipul de ștergere este unul selectiv, dar pentru a putea fi rescrisa se parcurg mai mulți pași.
Memoria FLASH este o memorie ce se aseamănă cu memoriile EPROM și EEPROM, ea poate fi ștearsă și apoi reprogramată în același sistem în care a fost folosită. Tipul de ștergere nu este unul selectiv, se șterge întreaga informație.
Având în vedere locul și modul de programare, memoria de tip PROM ilustrează 2 concepte:
ICP (În Circuit Programming) – programarea memoriei se realizează când microcontrolerul este pe PCB
ISP (În System Programming) – oferă posbilitatea de a efectua modificări în program în timpul funcționarii microcontrolerului.
Caracteristici ale microcontrolerului:
gamă cât mai variată a tipului de memorie pe chip: RAM, ROM / OTP / EPROM / EEPROM / FLASH;
Capacitatea memoriei aflate pe chip;
Complexitatea programării.
2.6.3 Dispozitive I/O
Rolul acestor dispozitive este acela de a interacționa cu mediul în procesul de control gestionat de un microcontroler.
Există o plajă foarte largă de dispozitive I/O, acestea conduc operații generale de conicatie, adică transferul serial sau paralel de date, funcții generale de timp (generarea impulsurilor, numărarea evenimentelor), realizează operații de conversie analog / numerică, funcții speciale de comandă și funcții de protecție etc.
Dispozitivele I/O sunt privite de către UCP ca fiind niște porturi. Pentru apelarea porturilor de către UCP există 2 concepte de alocare a adreselor sau mapare. Maparea porturilor se face fie într-un spațiu propriu, fie în spațiul de memorie.
2.6.4 Sistemul de întreruperi
Sistemul de întreruperi este mecanismul ce asigură sincronizarea evenimentelor cu funcționarea unității centralel. Mecanismul asigura un răspuns rapid și specific al sistemului la fiecare cere de întreruperi. Majoriatea producătorilor au creeat pentru multe tipuri de microcontrolere tot felul de variante constructive ce pot avea diferențe substanțiale unele față de altele, rolul fiind acela de a simplifica sistemul.
Încă din anii 1980 – 1985 a luat naștere un principiu ce există și astăzi „fiecare funcțiune complexă cu principiul ei”, implicit „fiecare funcțiune a unui sistem de comandă cu rutina ei de servire a întreruperilor”.
Evenimentele sunt reprezentate prin acele stări, din funcționarea unui sistem, ce trebuie luate în considerare în controlul acestuie. Având o întârziere minimă, aceste evenimente trebuie să furnizeze un răspuns din partea sistemului. Prin instrucțiuni inlcuse în cadrul unor rutine de servire a întreruperilor, răspunsul este descris de proiectant.
UCP a unui microcontroler face analaiza în cadrul perioadei corespunzătoare fiecărui ciclu, posibilele cereri de întrerupere apărute pe tot parcusul execuției unei instrucțiunii curente.
2.6.5 Schema blog generalizată a unui microcontroler
Având în vedere toate punctele prezentate până la acest subcapitol, schema bloc a unui microcontroler ilustrată într-un mod mai amplu comaparativ cu cele ilustrate anterior.
După cum se observă, un microcontroler este organizat în jurul magistralei interne unde sunt reprezentate date, semnale de comandă, adrese și semnale de control între blocurile funcționale.
UCP primește instrucțiuni, prin magistrala de date din memoria prigram, pe care ulteriol le execută. Toate microcontrolerele au un controler de întreruperi care permit atât intrări din interior cât și intrări din exterior.
Modulele I/O sunt seriale sau paralele, toate modulele în parte comunica prin intermediul registrului de date (RD). Modulele sunt programate de UCP cu ajutorul unui registru de comenzi (RC), iar starea modulelor se poate citi prin intermediul unui registru de stare (RS).
Fig 17. Microcontroler – schema bloc generalizata
2.6.6 Microcontrolerul dsPIC 30F2020
Fig 18. dsPIC 30F2020
Este un microcontroler cu o magistrală de date pe 16 biți, are 28 de pini, are în componența sa 4 module PWM și 4 comparatoare analogice, fiecare având propriul său convertor numeric analogic și întâlnim deasemenea tehnologia CMOS. dsPIC 30F2020 are o memorie FLASH îmbunătățită, cu o posibilitate de ștergere și scriere per cilcu foarte mare.
2.6.6.1 Caracteristici dsPIC 30F2020
RISC CPU:
83 de instrucțiuni de bază cu abordare flexibilă;
Instrucțiuni de tip wide( largi ) – 24 biți;
Cale de date mare – 16 biți;
Până la 30 de operații MIPS;
Un registru intern RC dulbu;
Memoria prgram FLASH – 12 Kbytes pe chip;
Memoria de date RAM are o capacitate de 512 bytes (octeți sau cuvinte);
32 surse de întrerupere;
3 surse de întrerupere externă.
Caracteristici DSP:
2 acumulatori de 40 de biți cu saturație logică opțională;
Un singur ciclu de înmulțire – adunare (MAC);
40 etape Barrel Shifter;
Atrage datele duble.
Caracteristici perifierice:
Curent mare pe pinii I/O : 25mA/25Am;
3 contoare pe 16 biți;
Module SPI (suportă 4 moduri de cadre);
Comunicare serial asincron sau sincron prin UART/SCI;
Suportă modul RS-232, RS-485 și LIN1.2;
Cirucuit de detecție Auto – Baud;
Auto wake – up pe bit de start;
Suporta IrDA;
Modul PWM caracteristici:
4 generatoare cu 8 ieșiri;
Fiecare generator de PWM are o bază independentă de timp și de umplere;
Rezoluție „ciclu de funcționare” de la 1.1 ns până la 30 MIPS;
Un timp mort individual pentru fiecare generator PWM;
Rezoluție „timp – mort” de la 4.2 ns până la 30 MIPS;
Moduri PWM suportate:
Complementar;
Push – Pull;
Mulți – Faza;
Faza Variabilă;
Current Reset;
Current Limit.
Ieșire de neutralizare.
Caracteristici analogice:
Convertor analog – digital cu rezoluți pe 10 biți și 12 canale;
Permite conversia simultană a două intrări de explu: curent și tensiune
Bucla de control PWM:
Până la 6 perechi de conversie disponibile;
4 comparatoare analogice:
Timp de răspuns de 20ns;
10 biți DAC – generator de referință;
Polaritatea de ieșire programabilă;
Sursa de intrare selectabilă;
Eșantion ADC capabil de a converti;
PWM modul de interfață:
PWM duty cycle control;
PWM period control;
PWM fault detect.
Caracteristici speciale ale microcontrolerului:
Memoria de program (Flash) are o autonomie de 10 000 de cicli scriere / ștergere;
Watch dog timmer flexibil (WDT), are propriul chip de oscilație RC;
In-Circuit Serial Programming™ (ICSP™);
„Power Management” – selectabil: „sleep mode”, „idle mode” și „alternative mode”.
Tehnologie CMOS:
Putere mică, tehnologia FLASH de mare viteză;
Consum redus de energie.
2.6.6.2 Descrierea pinilor
Fig 19. Diagrama pinilor pentru capsula 28 – piniSDIPsi SOIC
Tab 3. Descrirea pinilor dsPIC 30F202
Legenda tab. 3.:
CMOS = CMOS compatibil intrare sau ieșire;
ST = intrare de Schmitt Trigger cu un nivel CMOS;
I = intrare;
Analog = intrare analogică;
O = ieșire;
P = putere.
Tabelul 3. Oferă o scurtă descriere a pinilor I/O pentru dispozitivul dsPIC30F2020 și funcțiile ce pot fi multiplexate pe porturile pinilor.
2.6.6.3 Diagramă bloc a microcontrolerului dsPIC30F2020
Fig 19. dsPIC30F2020 – diagram bloc
Se poate observa încă din figura ca arhitectura microcontrolerului dsPIC30F2020 este constituită din 2 bus-uri de date, ambele având o lărgime de bandă de 16 biți. Magistrala de date este pe 16 biți. Partea de procesor conține modul de efectuare a înmulțirii implementat fizic, astfel operațiile aritmetice se vor realiza rapid, într-un ciclu mașina.
2.6.6.4 DSP Engine (Motor)
DSP motor are o viteză mare de 17 biți, un multiplicator pe 17 biți, un schimbător baril, un sumator pe 40 de biți cu două acumulatoare ținta, rotunde și cu saturație logică.
DSP motor are de asemenea, capacitatea de a efectua inerente operațiuni accumulator la accumulator, care nu necesită date suplimentare.
Tab 4. DSP – Rezumat Instructiuni
În continuare, în figură ce urmează (fig 20.) este prezentată diagram bloc pentru DSP Motor.
Fig 20. DSP Motor – diagram bloc
Cap 3. Prezentarea temei de proiect
3.1 Schema bloc a montajului
Fig 21. Montajul – schema bloc
Schema bloc a montajului este structurata în 6 module principale și anume:
Modulul de alimentare;
Modulul de comandă;
Modulul de procesare propiu-zis dsPIC30f2020;
Modulul de afișare LCD;
Modulul de comandă al motorului;
Modulul de protecție al motorului.
3.2 Proiectarea schemei electronice
Schema electronică a fost realizată în programul eagle 5.8.0 și simularea programului a fost făcută în programul Proteus 7.0
3.2.1 Modulul de alimentare
Tensiunea de alimentare a microcontrolerului esre de 5V, aceasta tensiune este produsă de un regulator de tensiune LM 7805, unde se adăugă condensatori de filtraj, de 1000 uF și respectiv de 330 nF pe intrare, iar pe ieșire 100 nF și 100 uF.
Pentru a limita curentul prin led (Led_BLUE1) am folosti o rezistență R6, pe care am caluculat-o astfel:
R = = = 600Ω (1);
Pentru că nu este o valoare standard am ales o valoare de 510 Ω pentur rezistenta mea.
În figură 22. Este ilustrat circuitul de stabilizare pentru tensiunea de 5 V.
Fig 22. Circuit stabilizator
3.2.2 Modulul de afisare
Am folosit și un afișaj alphanumeric cu 16 caractere, pe 2 rânduri, pentru putea afișa informații despre procesul tehnologic.
În figură 23 este ilustrat modul conexiunii LCD-ului în circuit.
R7 este un semireglabil prin intermediul căruia se face reglarea contrastului LCD-ului.
Curentul prin circuitul de alimentare al iluminării LCD-ului este limitat cu ajutorul rezistorului R10.
Fig 23. Modul de afisare
3.2.3 Modulul de procesare propriu-zis dsPIC30f2020
Microcontroleru dsPIC30F2020, printr-o simplă programare poate oferi întregului sisitem posibilitatea de îmbunătățire și totodată flexibilitate
Fig 24. dsPIC30F2020
Fig 24.1 Circuit de comanda al sistemului
3.2.4 Modulul de comandă (Butoanele de comandă)
Acest modul este structurat astfel:
3 butoane, 2 dintre ele controlează sensul motorului și unul este folosit pentru comanda STOP;
R1, R14, R15 sunt rezistente de pull-up;
C2, C15, C16 sunt condensatoare de debounce;
R3, R20, R4 limitează curentul în cazul în care direcția pinilor este configurata greșit.
În momentul în care butoanele nu sunt apăsate, acestea țin pinii microcontrolerului în starea de 1 logic prin intermediul rezistentelor de pull-up, iar în momentul apăsării lor, pinii microcontrolerului vor trece în starea de 0 logic.
Am folosit rezistente de 1KΩ, având un rol de protecție. Dacă se întâmplă să avem un pin implicit de ieșire și starea să fie de 0 logic, automat se va produce un scurt-circuit, ceea ce va produce o defecțiune a circuitului înainte ca aplicația să ruleze. Pentru a înlătura situațiile neplăcute am folosit rezistente de 1 KΩ, ce au rolul de a limita curentul la o valoare ce nu depășește valoarea maximă admisă, ce ajunge undeva pe la 25 mĂ pe un pin digital. În cazul în care un pin este declarat că fiind de intrare, rezistenta nu va modifica funcționarea circuitului, pentru căderea de tensiune pe ea este neglijabilă, curentul absoribit pe un pin de intrare este 0 și vom măsura 5 V pe pinul microcontrolerului.
Fig 25 Modulul de comanda
3.2.5 modulul de comandă al motorului
În scopul alimentarii motorului am folosit un circuit mai special, ce integrează doua punți H, L298, acesta fiind ușor de controlat din microcontroler pentru că la intare are nevoie de nivele TTL pentru a comuta tensiunea de 12V ce este necesară motorului.
În scopul protejării circuitului integrat L298, deoarece în momentul în care tranzistorii din interiorul driverului se blochează, se pot distruge tranzistorii pentru că la bornele bobinei apare o tensiune inversă autoindusă, am folosit diodele D9, D11, D12, D13, D14, D15, D16 și D17 ce sunt diode de fugă, rapide cu caracteristicile Umax = 600V și Imax = 1,5A.
Condensatorul C39 este folosit ca rezervă de energie pe alimentarea de 12V a driverului de motor.
În figură 26 este ilustrata schema modulului de alimentare al motorului, ce poate alimenta chiar două motoare, acestea ar trebui să nu depășească un curent absorbit continuu de 2A pe fiecare motor.
Fig 26. Modulul de alimentare al motorului
3.2.6 Modulul de protecție al motorului
Modulul de protecție este format din 2 amplificatoare și 2 comparatoare.
Amplificatorul amlifica, căderea de tensiune de pe shunt, iar comapartorul comapara valoarea tensiunii de la ieșirea amplificatorului cu tensiunea de prag.
3.2.6.1 Amplificatorul
Folosind amplificatorul operațional se pot realiza mai multe conexiuni, una din conexiunile folosite în proiectul meu este conexiunea neinversoare.
Conenctand borna de intrare neinversoare la sursa de tensiune și borna de intrare inversoare la masa printr-o rezistentă se obține o conexiune neinversoare.
În figură umatoare este prezentată și reacția negativă de care avem nevoie.
Fig. 27 Conexiunea neinversoare a AO
Reacția este realizată prin rezistențele R1 și R2. Dacă se aplică teoremele de calcul electric pe acest circuit va rezulta relația:
;
de aici rezulta că:
;
Se poate observa că de această dată semnalul de ieșire este în fază cu semnalul de intrare, de unde rezultă că amplificarea este neinversoare.
Calcularea componentelor circuitului:
Calculul caderii de tensiune de pe șunt:
curentul nominal al motorului: In=600mA;
valoare rezistenței șuntului: R1=0.182 ohm.
U= RIn=0.6°0.182= 0.109 V
In momentul când motorul absoarbe curentul maxim dorit, am calculat valoarea căderii de tensiune de pe șunt:
U=RImax=0.7°0.182= 0.127 V
Calculul frecvenței de tăiere a filtrului:
Formula de calcul pentru filtru trece jos RC este:
f= ;
Alegem frecvența de tăiere f=700 Hz și valoarea condensatorului C=100nF
R = = = 2.274 K
Formula de calcul a amplificării amplificatorului neinversor este:
A=1+
10-1=
Alegem:
R1=1k R2= 9 K
R=R1||R2== 0,9 K
Fig. 27.1
Pentru montajul meu voi avea R18=9.1K, R12=1K și R13=900
Fig. 27.2 Circuit de protecție – Amplificatorul
3.2.6.2 Comparatorul
Pentru a proteja motorul la supracurent, am folosit 2 comparatoare care dau disable driver-ului de motor în momentul în care curentul prin înfășurările lui depășește un prag presetat.
Știind că la curent maxim vom avea o cădere de tensiune pe shunt de 127 mV, pe care o amplificam cu 10, va trebui să comparăm cu o tensiune de prag de 1.27V.
Tensiunea de prag se setează din semireglabilul de 10K.
Fig.28 Circuit de protective – Comparatorul
3.3 Realizarea cablajului
După ce am realizat schema electrică în programul Eagle versiunea 5.8.0 Professional, am trecut la realizarea cablajului.
Termenul des utilizat pentru cablajul imprimat este PCB (Printed Circuit Board), acesta este folosit pentru asigurarea suportului mecanic și conexiunile electrice a diverselor dispozitive electrice sau electronice, având ca scop obținerea unui produs final funcțional, conform aplicației dorite.
Cablajul imprimat brut este compus dintr-un strat izolator de grosime variabilă, de la câteva zecimi de milimetrii până la ordinul milimetrilor.
Acesta are una sau ambele suprafețe acoperite cu un strat subțire de cupru. Grosimea stratului izolator, de obicei este în jur de 1,6 mm, iar materialul utilizat este fibra de sticlă.
Placa propriu-zisă asigura suportul mecanic, conexiunile electrice fiind asigurate de traseele de curent materializate prin stratul de cupru ce se depune pe materialul izolator, realizate conform schemei electrice a circuitului.
Pentru a acesa partea de layout a schemei electronice realizate, avem nevoie de butonul din bară de instrumente sau putem accesa din meniu: butonul File Switch to Board.
Fig 29. Accesarea modului layout pentru schema electronica în ”Eagle”
Fig 30. Schema cablaj
Înainte de a realiza cablajul propriu-zis, am avut în vedere câteva norme:
1) În primul rând m-am gândit să împart PCB-ul în module, având în vedere schema electrică.
2) Condensatorul de filtraj pus în paralel cu pinii de alimentare, acesta trebuie pus cât mai aproape de pini pentru a fi cât mai eficient filtrajul.
3) Datorită rezistivității, traseele de alimentare vor fi trasate cu linii mai groase pentru a evita eventualele pierderile.
3.3.1 Realizarea fizică a PCB-ului
1) După realizarea cablajului în format electronic, este nevoie de printarea acestuia pe hârtie de calc, apoi se va imprima pe PCB..
2) Se imprima pe foaie de calc A4. Printarea se face la scara 1:1 pentru a respecta dimensiunile stabilite în layout. Pentru trasarea cablajului pe placa, am folosit un dispozitiv cu ultraviolete, din dotarea laboratorului de electronică din cadrul facultății de Inginerie ”Hermann Oberth”. Se așează foaia de calc cu partea imprimată în sus, iar pe foaie se așează placă cu atenție, zona placată cu cupru să fie în jos și să fie aliniată cu colțurile cablajului.
3) Următoare etapă este developarea: se va introduce placa în soluție de developat, aceasta conținând sodă caustică (NaOH). Conform acestei etape, putem observa corodarea traseelor.
4) După etapa de developarea a PCB-ului, urmează corodarea plăcii, mai exact se înlătură cuprul nedorit, acest lucru se realizează prin introducerea plăcii în clorură feerică. Timpul în care placa se afla sub acțiunea clorurii ferice trebuie să fie unul destul de mare pentru a se elimina complet a straturile de cupru aflate în exces. În final, vom îndepărta clorura ferică de pe placa, punând-o sub un jet de apă.
5) În continuare se va găuri placă. Se vor realiza găurile necesare pentru fixarea componentelor de tip THT, driverului L298, regulatorului de tensiune LM7805, să nu uităm și de microcontroler, și de LCD. Acest proces a fost posibil cu ajutorul unei mașina de găurit PCB-uri.
6) În continuare am curat PCB-ul prin aplicarea unui strat de flux de lipire, acesta este folosit împotriva oxidării și face posibilă aderarea fludorului mult mai bine. După acest proces PCB-ul trebuie lăsat câteva ore pentru a se usca.
7) În final după realizarea cu succes a pașilor anteriori, trecem la un alt pas foarte interesant și anume lipirea componentelor pe PCB.
În figură ce urmează sunt prezentate cele 2 straturi (layere) ale PCB-ului.
Fig 31. Strat – Top
Fig 31.1 Strat – Bottom
3.4 Programarea microcontrolerului
Pentru a putea demara și etapa de programare a microcontrolerului am folosit soft-ul MPLab de la firma Microchip, aceasta fiind o soluție ce livrează performante foarte bune și în același timp este și ieftină. În MPLab se poate lucra în modul programer în timp real pentru o gamă variată de microcontrolere din seria PIC sau dsPIC cât și în modul debuger.
Pentru a configura direcția pinilor microcontrolerului am setat regiștri TRIS astfel:
TRISB=0x0010;
TRISC=0x0000;
TRISD=0x0000;
TRISE=0x0000.
În starea inițială toți pinii de ieșire i-am configurat în 0 logic din regiștri PORT astfe
PORTB=0x0000;
PORTC=0x0000;
PORTD=0x0000;
PORTE=0x0000.
Pentru a onfigure ADC-ul am configurat urmatorii registry:
ADPCFG = 0xFFFB;
ADCON1 = 0x0000;
ADCHS = 0x0002;
ADCSSL = 0;
ADCON3 = 0x0002;
ADCON2 = 0.
3.4.1 MPLab
mediul de dezvoltare MPLab are următoarele instrucțiuni:
Alimentare este între 2 – 6 V;
în modul debuger procesarea este în timp real;
încărcare soft-ului se face automat de pe PC;
conexiune RS232 sau USB (viteza maximă de 2Mb/s);
are un spațiu de memorie alocat microcontrollerului pentru scriere sau citire;
putem insera puncte stop în program sau breakpoint.
Mediul de dezvoltare MPLab reprezintă o interfață inteligentă între programator și partea hardware, permite programatorului un debugging foarte eficient și simplu, prin analiza variabilelor, a regiștrilor și prin adăugarea unor ”breakpoint”-uri în cod.
3.4.2 Realizarea programului în Mplab
Pentru a concepe programul în MPLab a trebuit să urmez câțiva pași și anume:
din meniu selectam „Project” ► „Project wizard”;
Next;
vom selecta device-ul: dsPIC30f2020, cu el se va lucra;
se va selecta apoi compilatorul din secțiunea „Active Tool” apoi se da „next”;
„Browse”, se crează un director nou și va specifică numele proiectului, apoi „Save” și „Next”’;
Și în ultima dată se va da „Finish”.
Fig 32. Crearea unui proiect
Fig 32.1 – Alegerea dispozitivului
După ce am ales dispozitivul, vom selecta programatorul folosit spre compilare. În cazul nostru vom folosi compilatorul C30.
Fig 32.2 – Alegerea compilatorului
Apoi alegem apăsând butonul ”Browse” locul unde va fi salvat proiectul și îi vom da un nume.
Fig. 32.3 – Alegerea locației de proiect
În continuare vom aduce fișiere în proiectul creat. Dacă nu avem nici un fișier de adăugat in proiect apăsăm next, si apoi finish
.
a)
b)
Fig 32.3 a), b) – Importarea fișierelor în proiect și încheierea
După aceea se vor creea fișierele componente ale proiectului și va compila pentru a vedea ce erori apar.
3.5 Schema bloc a programului
Cap 4. Concluzii si rezultate
În urma măsurătorilor realizate se observă că am obținut ceea ce mi-am propus. În figură 33 este prezentat semnalul de comandă dat de microcontroler.
Fig 33. Semnal de comanda
În figură ce urmează am măsurat curentul prin una din înfășurări și se observă că valoare acestora este mult mai mică decât valoarea maximă, datorită limitării curentuului folosind comandă în PWM
.
Fig 33.1 Curentul prin una din înfășurări
In lucrarea prezentată am scos în evidență efieciența și fiabilitatea folosirii motoarelor pas cu pas. Acestea, prin comanda digitală oferă un control de precizie. Am evidentiat avantajele si dezavantajele oferite de motoarele pas cu pas in comparație cu celelalte tipuri de motoare.
Un motor poate fi comandat atat direct de catre un microcontroler cat si cu ajutorul unor interfete specializate. Aplicația realizată o putem folosi în domeniul auto, de exemplu: la geamurile electrice, la motoarele indicatoarelor de la bord etc. in aplicațiile industriale, în tehnica militarea, la echipamente de test si robotică si lista poate să continue.
Toate aplicațiile ce folosesc microcontrolere sunt incluse in categoria sistemelor incapsulate – integrate.
Bibliografie
A. Kelemen, M. Crivii, Motoare electrice pas cu pas, Cluj-Napoca, Editura Tehnica, 1975
Silicon Laboratories, ”Stepper Motor Reference Design”, Rev 1.1 7/08, pp 8-12, 2008
E. Voiculescu, M. Țico (Tampere University, Finland). Hybrid Step Motor Systems Simulation.Proceedings of the International Symposium on Advanced Electro-Mechanical Motion Control Systems ELECTROMOTION '97, Cluj-Napoca, May 8-9, 1997, pp 279 – 284
Olaru O., Popescu. L. Un model matematic liniar pentru motorul pas cu pas cu reluctanță variabilă. Revista Electrotehnică, Electronică ți Automatică, nr. 4, vol 41, 2003.
Stepper Motors or Step Motors: Tutorial with basics, working & types of
F. Nistor, T. Orlandea, Sisteme Incorporate în exemple simple, Sibiu, Editura Universității ”Lucian Blaga”, 2012, pp 33-62
I. Beriliu, Microcontrolere PIC – Aplicații, Sibiu, 2011, pp 37-42
dsPIC30F2020 – Datasheet
L298 – Stepper Driver Datasheet
LM7805 Datasheet
Referinte internet
http://www.herrera.unt.edu.ar/labmicro/Descargas/an155.pdf
http://www.scribd.com/doc/72685694/17/Motoare-pas-cu-pas
http://www.celesco.com/?gclid=CLrzz_-A76ACFQO7ZwodlzrEHw
http://www.unimeasure.com/lx.htm
www.didactic.ro
http://www.aaroncake.net/Circuits/stepper.asp
http://www.codeproject.com/KB/vbscript/Stepper_Motor_Control.aspx
Cuprins
Cap. 1. Introducere
Cap. 2. Analiza și sinteza literaturii de specialitate
2.1. Motorul pas cu pas
2.1.1. Ce este motorul pas cu pas?
2.1.2. Avantaje și dezavantaje
2.1.3. Construcția și funcționarea
2.1.3.1 MPP cu reluctant variabilă (V.R.)
2.1.3.2 MPP cu magnet permanent (P.M.)
2.1.3.3 MPP hibrid
2.1.4 În practică, în funcție de înfășurările din stator, întâlnim 3 tipuri de motoare:
2.1.4.1 MPP unipolare
2.1.4.2 MPP bipolar
2.1.4.3 MPP “8-wire”
2.1.5 Comanda MPP cu microcontrolere
2.2 Tehnica PWM
2.3 Module A/D și D/A
2.4 Cirucuitul integrat L298
2.5 Cirucuitul integrat LM 7805
2.6 Microcontrolerul
2.6.1 UCP (unitatea centrală de prelucrare)
2.6.2 Memoria
2.6.3 Dispozitive I/O
2.6.4 Sistemul de întreruperi
2.6.5 Schema blog generalizată a unui microcontroler
2.6.6 Microcontrolerul dsPIC 30F2020
2.6.6.1 Caracteristici dsPIC 30F2020
2.6.6.2 Descrierea pinilor
2.6.6.3 Diagramă bloc a microcontrolerului dsPIC30F2020
2.6.6.4 DSP Engine (Motor)
Cap 3. Prezentarea temei de proiect
3.1 Schema bloc a montajului
3.2 Proiectarea schemei electronice
3.2.1 Modulul de alimentare
3.2.2 Modulul de afisare
3.2.3 Modulul de procesare propriu-zis dsPIC30f2020
3.2.4 Modulul de comandă (Butoanele de comandă)
3.2.5 modulul de comandă al motorului
3.2.6 Modulul de protecție al motorului
3.2.6.1 Amplificatorul
3.2.6.2 Comparatorul
3.3 Realizarea cablajului
3.3.1 Realizarea fizică a PCB-ului
3.4 Programarea microcontrolerului
3.4.1 MPLab
3.4.2 Realizarea programului în Mplab
3.5 Schema bloc a programului
Cap 4. Concluzii si rezultate
Bibliografie
Referinte internet
Bibliografie
A. Kelemen, M. Crivii, Motoare electrice pas cu pas, Cluj-Napoca, Editura Tehnica, 1975
Silicon Laboratories, ”Stepper Motor Reference Design”, Rev 1.1 7/08, pp 8-12, 2008
E. Voiculescu, M. Țico (Tampere University, Finland). Hybrid Step Motor Systems Simulation.Proceedings of the International Symposium on Advanced Electro-Mechanical Motion Control Systems ELECTROMOTION '97, Cluj-Napoca, May 8-9, 1997, pp 279 – 284
Olaru O., Popescu. L. Un model matematic liniar pentru motorul pas cu pas cu reluctanță variabilă. Revista Electrotehnică, Electronică ți Automatică, nr. 4, vol 41, 2003.
Stepper Motors or Step Motors: Tutorial with basics, working & types of
F. Nistor, T. Orlandea, Sisteme Incorporate în exemple simple, Sibiu, Editura Universității ”Lucian Blaga”, 2012, pp 33-62
I. Beriliu, Microcontrolere PIC – Aplicații, Sibiu, 2011, pp 37-42
dsPIC30F2020 – Datasheet
L298 – Stepper Driver Datasheet
LM7805 Datasheet
Referinte internet
http://www.herrera.unt.edu.ar/labmicro/Descargas/an155.pdf
http://www.scribd.com/doc/72685694/17/Motoare-pas-cu-pas
http://www.celesco.com/?gclid=CLrzz_-A76ACFQO7ZwodlzrEHw
http://www.unimeasure.com/lx.htm
www.didactic.ro
http://www.aaroncake.net/Circuits/stepper.asp
http://www.codeproject.com/KB/vbscript/Stepper_Motor_Control.aspx
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Aparitia Microcontrolerelor sau Microprocesoarelor Si a Calculatoarelor Personale (ID: 161889)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
