5-motoare

Upload: adrianl136378

Post on 05-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 5-motoare

    1/32

    97

    Capitolul 5: Comanda motoarelor cu microcontrollere

    Foarte multe aplicaii din domeniul microcontrollerelor au sarcina acionrii unor motoare. De

    exemplu aplicaiile auto-motoarele de la geamurile electrice, motoarele indicatoarelor de bordetc. sau aplicaiile din domeniul echipamentelor periferice - imprimant, hard disc etc. Sau

    aplicaiile industriale - acionri de vane, robinete etc. Motoarele pot fi:

    de curent continuu cu perii sau fr perii;

    motoare pas cu pas;

    de curent alternativ cu inducie;

    motoare cu reluctan comutat.

    Primele dou categorii de motoare sunt utilizate mai des n aplicaiile cu microcontroller de

    aceea vor fi abordate n acest capitol. Un motor poate fi comandat de ctre un microcontrolleratt direct, ct i prin intermediul unor interfee specializate, programabile.

    5.1.Comanda motoarelor de curent continuu

    Schema bloc a sistemului de acionare cu motor de curent continuu este dat n figura 5.1.

    Figura 5.1: Schema bloc a unei acionri cu motor de curent continuu

    Cel mai simplu de comandat, pentru a obine o vitez variabil, sunt motoarele de c.c.

    deoarece cu ct tensiunea aplicat este mai mare cu att viteza este mai mare. O micare

    de poziionare este compus dintr-o accelerare, dintr-o deplasare cu vitez constanti ofrnare, conform unei traiectorii de vitez ca n figura 5.2.

    Figura 5.2: Traiectoria de vitez

    v

    t

    Accelerare Viteza Frnareta constant tc tf

    Poziiaactual

    Valoareanumeric a

    poziiei finale

    Comparatornumeric

    MCC

    SERVOMECANISM

    SARCINA

    Convertor

    D/A

    Traductor depoziie

    Traductorde vitez

  • 7/31/2019 5-motoare

    2/32

    98

    Timpul de deplasare este td= ta+ tc +tf iar timpul de poziionare este suma dintre timpul de

    deplasare i timpul de stabilire (de amortizare a oscilaiilor sistemului de poziionare dup

    atingerea poziiei finale), tp= td+ ts

    Pentru a obine viteza variabil este suficient s aplicm o tensiune variabil. Tensiunea

    variabil poate fi aplicat n mai multe feluri: informaia numeric este convertit ntr-o informaie analogic i este aplicat unui

    tranzistor (pentru comanda ntr-un sens) sau la doi tranzistori (pentru comanda n

    ambele sensuri). Tensiunea variabil astfel obinut se aplic motorului de c.c. Un

    dezavantaj este folosirea unui convertor D/A i puterea pierdut n tranzistorii care

    lucreaz n zona liniar.

    informaia numeric creeaz un semnal PWM, cu frecvena destul de mare ca motorul,

    datorit ineriei, s integreze impulsurile. Motorul va avea o vitez proporional cu

    factorul de umplere. Acest mod de comand este mult mai simplu i tranzistorul, fiind

    n regim de comutaie nu disip inutil.

    Dificultatea acionrilor cu motor de curent continuu este partea de traductor de pozi ie care,

    mai ales la precizia cerut n aplicaiile noi sunt dificil de implementat.

    n diagrama urmtoare (figura 5.3) se arat comanda PWM n ambele sensuri:

    Figura 5.3: Comanda unui motor de curent continuu

    Cuplnd un motor de curent continuu ntre PWM1P0 i PWM2P0 se poate obine o rotire cu

    vitez variabil n ambele sensuri ale motorului. Motorul de curent continuu se rotete cu o

    vitez proporional cu tensiunea aplicat. Dac tensiunea aplicat este sub form de

    impulsuri motorul se rotete proporional cu valoarea medie a tensiunii.

    PWM1P0=1

    PWM2P0=0 MCC

    PWM1P0

    PWM2P0

    Tensiuneape motor

    Factorul de umplere este egal la cele 2 canale PWM imotorul nu se rotete pentru c tensiunea la bornele luieste 0

    PWM1P0=0

    PWM2P0=1 MCC

    Motorul se rotete pentru c tensiunea la bornelelui (PWM1P0-PWM2P0) este diferit de 0.

  • 7/31/2019 5-motoare

    3/32

    99

    O simulare n SIMULINK dovedete valabilitatea acestei metode de control. S-a folosit un

    model din SIMULINK pentru motorul de curent continuu i cele 2 canale PWM au fost

    simulate cu generatoare de impulsuri cu lime variabil, figura 5.4.

    Figura 5.4: Model SIMULINK pentru simularea funcionrii motorului de curent continuu

    Rezultatele simulrii sunt reprezentate n figura 5.5. n stnga sus este reprezentat forma

    curentului prin motori jos turaia obinute pentru factor de umplere de 90% respectiv 10%.

    Figura 5.5: Rezultatele simulrii SIMULINK

    Se observ c acestea au aceeai form de variaie. n dreapta sunt reprezentate aceleai curbe,

    dar cu factor de umplere 10% respectiv 90%. Se vede c motorul se rotete n sens contrar.

  • 7/31/2019 5-motoare

    4/32

    100

    Din punct de vedere constructiv motoarele de curent continuu pot fi cu perii la care rotirea

    cmpului magnetic este realizat prin comutarea curentului prin nfurri cu un sistem

    colector i perii. Aceste motoare sunt asociate cu un nivel mare de perturbaii

    electromagnetice generate. n figura 5.61 este reprezentat un motor de acionare a hrtiei la o

    imprimant HP lng o urubelni pentru a putea aprecia dimensiunea. Se poate observatubul de ferit de pe cablu care are rolul de a micora perturbaiile.

    Figura 5.6: Motor de curent continuu

    O alt variant este motorul de c.c. la care cmpul nvrtitor este realizat prin excitarea pe

    rnd a unor bobine, funcionarea fiind asemntoare motoarelor pas cu pas. Motoarele cu

    micare circular pot aciona liniar printr-un sistem de conversie mecanic al micrii, cele mai

    cunoscute fiind acionarea unui urub fr sfrit sau cu band elastic.

    O categorie deosebit sunt motoarele de c.c. liniare electrodinamice. Motorul liniar este

    format dintr-un stator magnet permanent i o bobin mobil. Aceasta este acionat de fora

    electrodinamic care rezult din interaciunea dintre cmpul produs de curentul care parcurgebobina i cmpul magnetic staionar produs n stator de magneii permaneni. Se utilizeaz

    dou tipuri constructive: cu bobin lungi ntrefier scurt i cu bobin lungi ntrefier scurt.

    Lungimea bobinei lungi i a ntrefierului lung trebuie s fie suficient de mari pentru ca n

    timpul micrilor de poziionare fora s se menin constant, deci n ntrefier s se afle

    aceeai lungime de bobin, figura 5.7.

    Figura 5.7: Motorul electrodinamic cu bobin lung (stnga), cu bobin scurt (mijloc) i

    fotografia unui motor

    1 n acest capitol majoritatea fotografiilor sunt ale unor subansamble din colecia autorilor

  • 7/31/2019 5-motoare

    5/32

    101

    5.2.Comanda motoarelor pas cu pas

    Motorul pas cu pas este un dispozitiv pentru conversia informaiilor numerice n lucru

    mecanic pe baza unui consum de energie de la o surs. Motorul pas cu pas este un motor de

    curent continuu comandabil digital, cu deplasarea unghiular a rotorului proporional cu

    numrul de impulsuri primite. La fiecare impuls rotorul execut un pas unghiular apoi seoprete pn la sosirea unui nou impuls. Motorul pas cu pas este capabil de reversarea

    sensului de micare. Dac este comandat corect (cu o frecven mai mic dect cea

    admisibil) rmne n sincronism cu impulsurile de comand la accelerare, mers constant i

    ncetinire. O schem bloc de acionare este dat n figura 5.8.

    Figura 5.8: Schema bloc de acionare cu motot pas cu pas

    Se poate observa din schema bloc c traductorul de poziie poate lipsi pentru c, n aplicaii

    mai simple motorul va executa numrul de pai comandat i va ajunge n poziia dorit. Se

    ctig astfel o simplificare a schemei dar se pierde la performan. Comanda cu traiectorie de

    vitez este posibil prin variaia frecvenei impulsurilor dar schema de acionare se complic.

    Motoarele pas cu pas pot fi motoare unipolare sau bipolare. La motoarele bipolare comanda

    pailor se face prin inversarea curentului prin nfurri. Principiul comenzii seamn cu cel

    de la comanda motorului de curent continuu, cu diferena c n acest caz de regul sunt 2

    nfurri, figura 5.9.

    Figura 5.9: Structura motorului pas cu pas bipolar

    Conectarea unei nfurri (de exemplu 1a-1b) la cele 2 canale PWM permite inversareacurentului ca n diagramele din figura 5.10.

    n acest caz controllerul trebuie s poat inversapolaritatea pentru o deplasare a curentului n

    ambele sensuri. Controllerul trebuie s alimentezenfurrile succesiv cu o anumit secven pentruun sens i secvena invers pentru cellalt sens. ndesenul alturat o parcurgere a 4 faze nseamn orotire de 360. Motoarele reale au mai multenfurri i un pas nseamn o deplasareunghiular mic.

    Impulsuri decomand

    MPP

    SERVOMECANISM SARCINA

  • 7/31/2019 5-motoare

    6/32

    102

    Figura 5.10: Inversarea curentului n nfurri la motoarele bipolare

    MPP unipolare folosesc o priz median legat la alimentare, inversarea curentului obinndu-

    se prin legarea la mas succesiv a terminalelor extreme ale nfurrii, ca n figura 5.11.

    Figura 5.11: Inversarea curentului n motoarele unipolare

    nfurrile motorului sunt conectate ca n figura 5.12.

    Figura 5.12: Structura i nfurrile motorului unipolar

    PWM1P0

    PWM2P0

    Tensiunea pe

    nfurarea1a-1b

    +V

    0-V

    Factorul de umplere al PWM1P0 este > dectal PWM2P0, tensiunea aplicat este pozitiv

    Factorul de umplere al PWM1P0 este < dectal PWM2P0, tensiunea aplicat este negativ

    V

    I

    V

    ISe obin astfel cmpurimagnetice de senscontrar fr inversarea

    polaritii

    Prizele mediane suntlegate la alimentare isecvena de impulsurise aplic terminalelor1a, 1b, 2a, 2b.

  • 7/31/2019 5-motoare

    7/32

    103

    Secvenele digitale pentru comanda unui motor pas cu pas unipolar cu 4 faze n varianta cea

    mai simpl sunt date n figura 5.13 [5].

    Figura 5.13: Secvenele digitale pentru comanda unui motor pas cu pas unipolar

    Pentru exemplificare se alege un port paralel pentru microcontrollerelor compatibile x86, linia

    D0 este cel mai puin semnificativ bit i un motor pas cu pas cu 3 faze. Un pas nseamn

    parcurgerea tuturor fazelor. Schema de conectare i programul care genereaz un pas ntr-un

    sens sunt date n figura 5.14.

    Figura 5.14: Schema de conectare a unui motor pas cu pas la un port paralel i programul

    Programul din acest exemplu este dat pentru a arta principiul de comand. Este necesar

    introducerea unei ntrzieri pentru meninerea alimentrii fazei un timp suficient pentru

    acionarea electromecanic, timp care depinde de motor. Schema mai trebuie completat cu

    amplificatoare de curent i/sau tensiune pentru acionarea motorului. Un exemplu de motor

    pas cu pas modern, comandat cu dou semnale (asigurarea semnalelor pentru faze sunt create

    intern) este dat n figura 5.15.

    Figura 5.15: Motor pas cu pas

    TACT

    FAZA 1

    FAZA 2

    FAZA 3

    FAZA 4

    t

    t

    t

    t

    t

    Un pas ntr-un sens Un pas n sensul contrar Meninere

    Port paralel,

    adresa adrD0

    D1

    D2

    D3

    ........

    F1 F2 F3

    MOV DX, adrMOV AL,01OUT DX, ALCALL delayMOV AL,02OUT DX,AL

    CALL delayMOV AL, 04OUT DX,ALCALL delay

    Motor bipolar pas cu pas

    Tensiunea de alimentare +12 - 24 VDC

    Curentul de pas pe faz 0.25 - 2.0 Amperi

    Pasul 1,8 grade

    Se poate comanda cu semnale: Pas, Directie, Validare,

    decuplate optic

    Protecie la depirea temperaturii de lucru i la subtensiune

  • 7/31/2019 5-motoare

    8/32

    104

    Observaie

    Un canal PWM poate fi folosit pentru a comanda o faz a motorului pas cu pas pentru a

    obine un curent variabil. Semnalul PWM nu asigur succesiunea fazelor ci valoarea medie a

    tensiunii de alimentare a unei faze. Conectarea ieirilor PWM la fazele unui motor unipolar

    este dat n figura 5.16.

    Figura 5.16: Comanda PWM a fazelor unui motor unipolar

    Un modul de comand poate controla un motor pas cu pas asigurnd un curent bine definit

    prin nfurri. Acest tip de comand creeaz de exemplu posibilitatea de a comanda motorul

    cu un curent mai mare la pornire sau permite realizarea unor traiectorii optime de vitez

    (regim accelerat- frnat).

    5.3.Traductori de poziie i circuite driver

    Exist o mare diversitate de traductoare de poziie pentru poziionarea motoarelor. Cteva

    exemple vor demonstra acest lucru. Senzorii cei mai utilizai sunt cei care genereaz dou

    semnale defazate la deplasare (encoder), cu form liniar sau circular. Aceti senzori pot fi

    inductivi, capacitivi sau optici. Senzorii optici echipeaz imprimantele cu jet de cerneal la

    poziionarea capetelor de scriere. n funcie de modelul de imprimant exist senzori optici

    liniari sau circulari. Un senzor optic circular (encoder) i unul liniar sunt prezentai n figura

    5.17, alturi de o rulet gradat n mm pentru comparaie.

    Se poate vedea precizia mai mare a traductorului circular (imprimant de 600dpi) fa de cea atraductorului liniar (300dpi). La echipamentele la care precizia unor asemenea senzori nu este

    suficient, aa cum este poziionarea capetelor la hard disc sau unitatea optic, se folosesc

    pentru poziionare semnalele scrise pe suport.

    La aplicaii mai modeste pot fi folosii senzori cum sunt cei prezentai n figura 5.18.

    Senzorul de poziie M150 este un poteniometru miniatur (18,8mm) la care axul este rotit

    prin tragerea unui fir de oel acoperit cu plastic cu lungimea de 1,5 (38,1mm) care se

    retracteaz automat [1]. Acurateea senzorului este mai bun de 1%. Rezistena maxim a

    poteniometrului este de 5ki tensiunea aplicat poate fi de maximum 20V. Extinderea firuluipoate s nu fie liniar, cu condiia respectrii unor unghiuri limit. Senzorul SP1 este de

    PWM1P0 conectat la 1a

    PWM1M0 conectat la 2a

    PWM2P0 conectat la 1b

    PWM2M0 conectat la 2b

  • 7/31/2019 5-motoare

    9/32

    105

    dimensiuni mai mari (50mm) dar firul poate atinge lungimea de 1270mm. Senzorul LX-EP

    [2] este un senzor cu fir de oel dar principiul de detecie a poziiei este optic iar ieirea este

    digital, oferind la ieire dou semnale defazate (encoder). Lungimea maxim a firului este de

    1270mm.

    Figura 5.17: Traductor optic de poziie, circular (stnga), un detaliu (mijloc) i liniar (dreapta)

    Figura 5.18: Senzor de poziie M150 (stnga) i SP1 (mijloc) i LX-EP (dreapta)

    n funcionarea anumitor motoare se urmrete obinerea unei viteze constante i nu a

    poziionrii precise (de exemplu la motoarele imprimantelor LASER). n aceste situaii se pot

    utiliza traductori Hall sau spirale pe cablaj n care se induce o tensiune proporional cu viteza

    de rotaie, figura 5.19.

    n figura 5.19 dreapta se poate remarca structura intern a unui motor de curent continuu fr

    perii n care cmpul nvrtitor este realizat prin mai multe bobine. La acest motor rotorul este

    exteriori este un magnet permanent.

    Ruletagradat

    1mm

    Roatadinat deantrenare

    Zonatraductor

  • 7/31/2019 5-motoare

    10/32

    106

    Figura 5.19: Traductor Hall (stnga) i spiral traductor de vitez (dreapta)

    Un traductor Hall este de exemplu cel produs de Infineon, TLE4921. Traductorul const n 2senzori Hall la 2,5mm distan formnd un traductor diferenial utilizat pentru determinarea

    poziiei i turaiei. Piesa mobil poate fi un magnet permanent dar poate fi i din material

    feromagnetic, caz n care pe senzor trebuie montat un magnet permanent. Traductorul conine

    sisteme de protecie la supratensiune i alimentare invers i poate fi alimentat n gama 0-

    30V. Ieirea este digital. Traductorul i o schem de conectare sunt date n figura 5.20.

    Figura 5.20: Traductorul Hall Infineon TLE4921 i schema electric de conectare

    Pentru acionarea motoarelor care absorb un curent de comand mai mare dect cel generat de

    microcontroller se pot folosi amplificatoare de curent. Un circuit integrat preferat n proiectele

    noastre este ULN2003, figura 5.21. Circuitul conine apte tranzistoare Darligton integrate

    care asigur un curent mediu de 500mA i un curent de vrf de 600mA la o tensiune de

    maxim 50V. Pentru mrirea curentului se pot folosi dou canale n paralel. Intrrile sunt

    comandabile TTL /CMOS. Intrrile i ieirile sunt pe pri diferite ale capsulei, uurnd astfel

    proiectarea cablajului. Cte o diod pe fiecare canal asigur protecia n cazul sarcinilor

    inductive.

    Senzor Hallfixat pe cablaj

    Magnet fixat perotor

  • 7/31/2019 5-motoare

    11/32

    107

    Figura 5.21: Circuit driver pentru motoare ULN2003

    Un circuit driver mai sofisticat prin care se pot comanda motoare de curent continuubidirecional cu un singur canal PWM i 2 semnale linii de semnal ajuttoare este circuitul

    Allegro A3950. Acesta poate asigura cureni de pn la 2,8A la o tensiune de 36V. Circuitul

    are protecie la scurtcircuitul motorului, la subtensiune i la supratemperatur. Circuitul

    conine o punte Full Bridge prin care curentul poate fi furnizat bidirecional. Circuitul poate fi

    comandat ntr-o stare de economie de energie cu un semnal de SLEEP. Diagrama de timp

    pentru comanda bidirecional este dat n figura 5.22.

    Figura 5.22: Diagrama de timp pentru comanda bidirecional a unui motor de curent

    continuu cu Allegro A3950

    Dac semnalul PWM este aplicat la intrarea ENABLE motorul va fi comandat ntr-un sens

    dac semnalul PHASE este 1 logic i n sensul contrar dac semnalul PHASE este 0 logic.

    Diversitatea driverelor este foarte mare, aa cum de fapt este diversitatea motoarelor. Pe

    pagina Sanyo (http://semicon.sanyo.com/en/motor/index.php) exist prezentate multe modele

    de drivere grupate du tipul motoarelor la care se folosesc dar i dup domeniul de

    aplicabilitate: uz casnic, auto, echipamente periferice, aparate foto etc.

    ENABLE

    PHASE

    IMOTOR

  • 7/31/2019 5-motoare

    12/32

    108

    5.4.Generarea semnalelor PWM

    Generarea semnalelor PWM cu microcontrollere se poate realiza folosind un timer de uz

    general din structura microcontrollerului sau module specializate n cazul

    microcontrollerelor dedicate controlului motoarelor.

    5.4.1. Timere I/O

    Un timer de I/O tipic familiei de microcontrollere Fujitsu [3] const n 2 numrtoare de 16

    bii care au asociate 4 module de comparare i 4 module de captur. Modulele de comparare

    au 8 pini externi de ieire iar modulele de captur au 8 pini externi de intrare.

    Numrtorul numr liber un tact intern sau un tact extern care pot fi divizate de un circuit de

    prescalare. Se poate genera o ntrerupere dac numrtorul a ajuns la capt (Overflow) sau la

    egalitatea ieirilor numrtorului cu un registru de comparare. Numrtorul se poate iniializa

    la un Reset extern, la un Reset soft sau la egalitatea cu registrul de comparare.

    Regitrii de comparare sunt de 16 bii i sunt controlai de un registru de control. Cnd un

    numrtor ajunge la valoarea stocat n registrul de comparare nivelul de ieire al pinului

    extern corespunztor este modificat, se cere o ntrerupere i se iniializeaz numrtorul (dac

    aceast opiune este validat). Pentru generarea PWM este folosit numrtorul i regitrii de

    comparare.

    Regitrii de captur sunt de 16 bii i sunt controlai de un registru de control. La apariia unui

    front de la un pin extern valoarea numrtorului poate fi stocat ntr-un registru de capturi

    se genereaz o ntrerupere. Frontul de declanare poate fi programat: cel cresctor,descresctor sau ambele fronturi.

    Schema bloc a timerului este dat n figura 5.23. Liniile gri din spatele blocurilor semnific

    faptul c fiecare numrtor are asociate module de comparare OCU (Output Compare Unit) i

    module de captur ICU (Input Capture Unit). Numrtorul 0 este conectat cu OCU 0/1/2/3 i

    cu ICU 0/1/2/3 iar numrtorul 1 este conectat cu OCU 4/5/6/7 i cu ICU 4/5/6/7.

    Se poate spune c timerul const n 2 canale identice bazate pe cte un numrtor, fiecare

    canal avnd asociate 2 module de comparare, 2 module de capturi 8 pini externi din care 4

    de ieire i 4 de intrare.

    Numrtorul conine un registru de date TCDT0/1 (Data Register of Free Running Timer) de

    16 bii din care se poate citi valoarea numrtorului sau se poate scrie (doar cnd numrtorul

    este oprit). Tactul numrtorului poate fi selectat tactul intern sau tactul de la un pin extern.

    Selecia se face cu un bit din registrul TCCSH0/1.

  • 7/31/2019 5-motoare

    13/32

    109

    Figura 5.23: Schema bloc a timerului de I/O

    Un registru de control TCCSL0/1 programeaz funcionarea numrtorului. Cererea de

    ntrerupere IVF este validat de bitul IVFE. Schema bloc a numrtorului este dat n figura

    5.24.

    Figura 5.24: Schema bloc a numrtorului din componena timerului de I/O

    intern

    Numrtor de 16 bii 0/1

    Registru de comparare0/2/4/6

    Registru de comparare1/3/5/7

    Registru de captur0/2/4/6

    Registru de captur1/3/5/7

    Selecie tactFRK0

    FRK1

    OUT0OUT2OUT4OUT6

    OUT1OUT3OUT5OUT7

    IN0IN2IN4IN6

    IN1IN3IN5IN7

    Tactintern

    FRCK

    tact

    Numrtor pe 16 biiTCDT0/1

    TCCSL

    Ieire pentru comparare

    Divizare

    ECKETCCSH

    Cerere de ntrerupere

    IVF IVFE STOP MODE CLR CLK2 CLK1 CLK0

  • 7/31/2019 5-motoare

    14/32

    110

    TCCSL0/1 (Control Status Register of Free Running Timer) este un registru de 8 bii care

    conine: IVF este un flag de cerere de ntrerupere, IVFE valideaz cererea de ntrerupere,

    STOP oprete numrtorul, MODE stabilete modul de iniializare (cu nivel H numrtorul se

    iniializeaz prin comparare i egalitate cu regitrii de comparare), CLR iniializeaznumrtorul cu 0000H, 3 bii CLK stabilesc factorul de divizare al tactului.

    TCCSH0/1 (Control Status Register of Free Running Timer) este un registru de 8 bi i din

    care este folosit un singur bit (ECKE) care selecteaz tactul intern sau tactul extern de la pinul

    FRCK.

    O diagram de timp arat evoluia numrtorului i iniializarea prin depire (figura 5.25a) i

    iniializarea prin egalitate cu registrul de comparare (figura 5.25b).

    Pentru analiza evoluiei unui timer sunt utile diagramele de timp cu reprezentare analogic a

    valorii digitale din numrtor. Modulul de comparare const n 2 regitrii de 16 bii, 2 pini decomparare de ieire i un registru de control. n MB90350 sunt integrate 4 module de

    comparare separate (dar acelai numrtor la 2 module).

    Figura 5.25: Iniializarea numrtorului prin depire i prin egalitate

    cu registrul de comparare

    Pentru fiecare modul regitrii de comparare pot fi utilizai independent. n funcie de modul de

    operare regitrii pot comanda pinii de ieire. Valoarea iniial a fiecrui pin poate fi

    programat separat. Fiecare modul poate genera un semnal PWM folosind ambii regitrii de

    comparare. Schema bloc a modulului de comparare este dat n figura 5.26.

    timp

    Valoare numrtor

    FFFFH

    BFFFH

    7FFFH

    3FFFH

    0000H

    /RESETINT

    timp

    Valoare numrtor

    FFFFH

    BFFFH

    7FFFH

    3FFFH

    0000H

    /RESETINT

    Registrul decomparareeste BFFFH

    Figura a Figura b

  • 7/31/2019 5-motoare

    15/32

    111

    Figura 5.26: Schema bloc a modulului de comparare

    OCCP (Registru de comparare, Output Compare Register) de 16 bii conine valoarea cu care

    se compar valoarea numrtorului. Acest registru trebuie ncrcat nainte de a valida

    operarea.

    OCS0/2/4/6 (Control Status Register of Output Compare Low) sunt regitrii de 8 bii n care

    ICP este o cerere de ntrerupere la egalitate (cte una pentru fiecare registru de comparare),

    ICE sunt bii de validare a cererii de ntrerupere iar 2 bii (CST) valideaz operaia de

    comparare.

    OCS1/3/5/7 (Control Status Register of Output Compare High) sunt regitrii de 8 bii n care

    2 bii (CMOD0 i CMOD1) valideaz modul de operare al pinilor de ieire (nivelul lor logic

    se schimb sau nu la egalitate), 2 bii valideaz pinii de ieire iar 2 bii schimb valoarea

    logic a ieirilor.Funcionarea poate fi fr schimbarea valorii logice a pinilor de ieire la egalitate

    (CMOD0/1=00B) i funcionarea cu schimbarea valorii logice a ieirii OUT0 i OUT1 la

    egalitatea OCCP0 cu OCCP1 (CMOD0/1=01B). De asemenea ieirea poate s schimbe sau

    nu valoarea logic la iniializarea numrtorului. Generarea a 2 semnale PWM este

    exemplificat n figura 5.27.

    Cerere de ntrerupere comparator 1 /comparator 0

    OCS Controlul comparrii

    OCCP0 Registru de comparare 0

    Valoare numrtor

    OCCP1 Registru de comparare 1

    OUT0

    OUT1

    ICP1 ICP0 ICE1 ICE0 CST0 CST1

  • 7/31/2019 5-motoare

    16/32

    112

    Figura 5.27: Dou moduri de lucru ale modulului de comparare

    5.4.2. Exemplu de modul pentru comanda motoarelor n microcontrollere specializate

    MC Fujitsu sunt folosite mult n aplicaii auto, de aceea se integreaz un modul dedicat

    comenzii motoarelor pas cu pas, dar care poate comanda i motoare de curent continuu. Acest

    modul apare deja la MC pe 8 bii de tip vechi (MB89940), echipeaz multe MC pe 16 bii

    (MB90390, 90420, 90590, 90595) i MC pe 32 de bii (MB91360).Modulul de comand pentru comanda motoarelor conine 2 generatoare PWM, 4 etaje de

    ieire de putere (drivere de motor) i logica de selecie. Driverele pot asigura un curent mare

    care permite conectarea direct a motoarelor de mic putere. Un mecanism de sincronizare

    asigur funcionarea sincronizat a celor 2 generatoare PWM. n general MC conin mai

    multe asemenea module. Schema bloc a unui modul de control motoare care conine 2 canale

    PWM i 4 drivere de ieire este dat n figura 5.28.

    Numrtorul PWM pentru fiecare canal numr pn la capt, apoi se rencarci numrarea

    rencepe. La coincidena valorii din numrtor cu cea stocat n registrul de compararesemnalul de ieire i schimb starea logic. La sfritul numrrii semnalul de ieire i

    schimb din nou starea logic. Regitrii de comand sunt:

    PWM Control Register (8 bii) controleaz pornirea/ oprirea operrii, pinii externi i

    ntreruperile. 2 bii selecteaz funcionarea pinilor externi ca pini de control motor sau pini de

    I/O de uz general, 2 bii selecteaz tactul (tact divizat cu 1, 2, 4 sau 8), un bit pornete

    operarea (PWM2 pornete un tact dup PWM1 pentru a micora zgomotul produs n driver la

    o comutare simultan de cureni mari), un bit selecteaz operarea PWM pe 8 sau 10 bii.

    OCCP0=BFFFHOCCP1=7FFFH

    Ieirile schimb valoarealogic la iniializareanumrtorului.

    timp

    Valoare numrtor

    FFFFH

    BFFFH

    7FFFH

    3FFFH

    0000H

    /RESET

    OUT0

    OUT1

    CMOD1/0=00B

  • 7/31/2019 5-motoare

    17/32

    113

    Figura 5.28: Schema bloc a modulului de comand a motoarelor

    PWM1/2 Compare Register (16 bii) specific limea impulsului PWM (formatul de scriere

    este pe 8 sau 10 bii). O valoare de 000H indic un factor de umplere de 0% iar o valoare de

    3FFH indic un factor de umplere de 99,9% (99,6% pentru formatul pe 8 bi i). Pentru a putea

    stoca valori pe 10 bii regitrii de comparare sunt pe 16 bii. Trei variante de semnale cu factor

    de umplere diferit sunt artate n figura 5.29.

    Figura 5.29: Trei diagrame de timp pentru 3 factori de umplere diferii

    PWM1/2 Selection Register controleaz pinii de ieire. Un bit asigur sincronizarea ieirilor

    n sensul c orice modificare n configurarea canalelor PWM nu se reflect la ieire dect

    dup ce acest bit este setat. Cte 3 bii selecteaz tipul de semnal de ieire la ieirile

    PWM1P0, PWM1M0, PWM2P0, PWM2M0- semnal n stare L, H, impedan ridicat sau

    PWM.

    PWM1Selecie tact Selecie ieire

    Registru de

    comparare PWM1

    Registru de

    selecie PWM1

    PWM1P0PWM1M0

    PWM2 Selecie ieire

    Registru decomparare PWM2

    Registru deselecie PWM2

    PWM2P0PWM2M0

    Ciclu PWMRegistru de comparare

    8 bii 10 bii

    00H 000H80H 200HFFH 3FFH

  • 7/31/2019 5-motoare

    18/32

    114

    5.5. Interfaa pentru comanda motoarelor HCTL 1100 (Hewlett Packard)

    Un circuit de interfa specializat n comanda motoarelor este circuitul HCTL 1100 [4].

    Acesta poate comanda att motoare pas cu pas ct i motoare de curent continuu cu traiectorie

    determinat de vitez. Aceast interfa poate fi conectat la un microcontroller de uz general

    obinnd un sistem nglobat performant de control. Alegerea acestei variantei n locul celei cumicrocontroller specializat n controlul motoarelor depinde de aplicaie i de costurile din acel

    moment. Schema bloc a interfeei HCTL-1100 este dat n figura 5.30.

    Figura 5.30: Schema bloc a interfeei HCTL-1100

    AD0/DB0- AD5/DB5- sunt 6 linii de adrese multiplexate cu date.

    Selecia adresei se face cu /ALE;

    DB6, DB7- 2 linii de date nemultiplexate.

    La nceput se stabilete adresa pe liniile de date, apoi cu /ALE, aceasta se stocheaz n

    registrele interne. Apoi se stabilesc datele i se valideaz cu R//W. Semnalul /OE stabiletemomentul citirii datelor n registrul intern al lui HCTL1100.

    Semnalele CHA, CHB i INDEX provin de la traductorul foto de turaie. Aceste impulsuri

    incrementeaz un registru de poziie actual de 24 de bii (se incrementeaz sau

    decrementeaz). Pentru evitarea impulsurilor eronate CHA i CHB, acestea trebuie s rmn

    active cel puin 3 perioade EXTCLK pentru a fi luate n considerare.

    Intrrile LIMIT i STOP sunt semnale de urgen care comand oprirea motorului

    independent de procesorul sau MC gazd. Ieirile PROF i INIT pot fi interogate de MC

    gazd pentru a afla starea circuitului. Cu /SYNC se pot sincroniza ntre ele mai multe circuiteHCTL 1100. Semnalul RESET aduce circuitul n starea iniial.

    Interfaa cumicroprocesorul

    AD0/DB0........

    AD5/DB5DB6DB7/ALE/CS/OER//WRESET

    REGISTREINTERNE

    LIMIT STOPFlaguri urgene

    INIT Flaguri de stare

    PROF

    Generator de profil

    ReacieCHA CHB

    Port decomand amotorului

    MC0............

    MC7

    Port PWM PULSESIGN

    Comutator PHAPHB

    PHCINDEX PHD

    /SYNC Timer

    EXTCLK

  • 7/31/2019 5-motoare

    19/32

    115

    HCTL 1100 are 64 de registre interne pe 8 bii din care 35 utilizabile din exterior. Aceste

    registre sunt adresate pe liniile de adres AD0-AD5.

    Traductorul optic de poziie i de sens este format dintr-un disc cu orificii dreptunghiulare

    dispuse pe circumferin. Orificiile sunt sesizate de dou sisteme optice decalate. Din formele

    de und generate de cele dou sisteme decalate se poate deduce sensul rotaiei, (figura 5.31).

    Figura 5.31: Formele de und generate de traductorul de poziie i sens

    i un traductor optic cu disc

    Pe disc mai este realizat un orificiu pentru impulsul de INDEX. La o rotaie se genereaz un

    impuls INDEX. Impulsurile de la traductoare sunt sensibile la perturbaii, de aceea se impun

    msuri specifice EMC de protecie. Aceste semnale pot constitui att semnale pentru stabilirea

    poziiei (prin numrarea impulsurilor), a sensului prin verificarea defazajului ct i a vitezei,

    printr-un convertor tensiune/frecven.

    5.5.1. Comanda unui motor de curent continuu printr-un convertor D/A

    La ieirile MC0-MC7 se cupleaz un convertor D/A, ca n figura 5.32.

    Figura 5.32: Conectarea unui motor de c.c. la HCTL 1100

    HCTL 1100MC0MC1

    MC7

    CD/A+5V

    IoConv. I-U

    vo+

    FOTO 1

    FOTO 2

    FOTO 1

    FOTO 2

    SENS

    SENS

  • 7/31/2019 5-motoare

    20/32

    116

    Datele se stocheaz n registrul 08H al HCTL pe 8 bii. Pentru a putea comanda motorul n

    ambele sensuri, se consider tensiuni negative n intervalul de comand 00H-7FH i valori

    pozitive n intervalul 80H-FFH, figura 5.33.

    Figura 5.33: Generarea tensiunilor de comand prin convertorul AD

    5.5.2.Comanda PWM a unui motor de c.c. cu HCTL 1100

    Comanda unui motor de c.c. se face cu semnalul PULSE. Frecvena acestuia este stabilit la

    EXTCLK/100. Semnalul SIGN comand sensul de rotaie. n registrul 09H al HCTL 1100 se

    ncarc limea impulsului, figura 5.34. Comanda se face cu valori zecimale, astfel 00H=0D

    nseamn un factor de umplere de 0%, 32H=50D nseamn 50% iar 64H=100D nseamn

    100%.

    Figura 5.34: Programarea HCTL 1100 pentru comanda unui motor de c.c. cu modulaie PWM

    5.5.3. Comanda unui motor pas cu pas cu HCTL 1100

    Se pot comanda motoare pas cu pas cu 2,3 sau 4 faze, cu diferite succesiuni de comand a

    fazelor. Semnalul INDEX servete la stabilirea poziiei iniiale a motorului. Succesiunea

    fazelor se poate programa prin registrul 07H. Pentru o programare n care toate fazele sunt

    active se genereaz o secven ca n figura 5.35.

    00H 40H 80H C0H FFH registrul 08H

    U+5V

    2,5V

    -2,5V

    -5V

    100%

    50%

    Factor de umplere

    SIGN=0SIGN=1

    80H 9CH 00H 32H 64Hregistrul 09H

  • 7/31/2019 5-motoare

    21/32

    117

    Frecvena impulsurilor poate fi variabil (programabil). Ca urmare se pot comanda i

    motoare pas cu pas cu un anumit profil de vitez.

    Figura 5.35: Secven de comand a unui MPP cu patru faze

    5.5.4. Cuplare circuitului HCTL 1100 la microcontroller

    Cuplarea circuitului HCTL1100 la microcontrollerul AT90S1200 este dat n figura 5.36.

    Circuitul driver pentru motoare pas cu pas i pentru motoare de curent continuu, HCTL-1100,

    primete semnalele de comandi date de la microcontroller prin porturile acestuia. Pe portul

    B al microcontrollerului se trimit date catre circuitul HCTL1100 i se citesc date din acesta,

    iar pe portul D se trimit comenzi (semnale) pentru circuitul HCTL1100.

    VCC

    C4

    30pF

    C61uF

    C3

    30pF

    Y1

    2MHz

    R6

    10K

    U4

    HCTL1100

    AD02

    AD13

    AD24

    AD35

    AD46

    AD57

    AD68

    AD79

    MC018

    MC119

    MC220

    MC321

    MC422

    MC523

    MC624

    MC725

    SYNC1 PHA

    26

    PHB27

    PHC28

    PHD29

    SIGN17

    PULSE16

    CHA31

    CHB30

    INDEX33

    PROF12

    INIT13

    LIMIT14

    STOP15

    EXT CLK34

    R/W37

    OE40

    CS39

    ALE38

    RESET36

    U4

    AT90S1200

    reset

    1

    xtal14

    xtal25

    pb012

    pb113

    pb214

    pb315

    pb416

    pb517

    pb618

    pb719

    pd02

    pd13

    pd26

    pd37

    pd48

    pd59

    pd611

    Figura 5.36: Cuplarea HCTL 1100 la un MC AT90S1200

    n continuare sunt prezentate rutine AT90S1200 pentru lucrul cu circuitul HCTL1100.

    Procedurile prezentate ca exemple realizeaza RESET-ul, citirea i scrierea n circuitul HCTL-

    1100.

    /INDEX

    PHA

    PHB

    PHC

    PHD

  • 7/31/2019 5-motoare

    22/32

    118

    .device AT90S1200rjmp start

    short_delay: ;total 1+80*(1+1/2)-1+4=124;o ntrziere de 124 perioade de tact

    ldi r26,80 ;1 tactsd: dec r26 ;1 tactbrne sd ;1/2 tactret ;4 tact

    ;#################################################################;PROCEDURA RESET HCTL-1100;#################################################################

    rst: cbi $12,4 ;bitul de reset din portul Drcall short_delay ;se menine pinul de reset in 0 logicsbi $12,4 ;reset ncheiat

    ret;#################################################################;PROCEDURA CITIRE;#################################################################

    cit: clr r16out $17,r16 ;portul B intraresbi $12,0 ;comand readldi r17,0b00000001 ;s-a selectat un registru din HCTLout $18,r17cbi $12,3 ;puls pe ALEsbi $12,3

    cbi $12,2 ;puls pe CSsbi $12,2

    rcall short_delay

    cbi $12,1 ;OE=0in r18,$18 ;citire propriu zis din HCTL1100sbi $12,1 ;OE=1

    ret;#################################################################;#################################################################;PROCEDURA SCRIERE IN HCTL1100;#################################################################scr: ser r16

    out $17,r16 ;portul B ieireldi r17,0b000000001 ;selecie latch din HCTL1100out $18,r17cbi $12,3sbi $12,3 ;puls ALE

    cbi $12,0 ;selecie R/W pe scriereldi r18,0b1111111 ;date de trimis n HCTL1100

  • 7/31/2019 5-motoare

    23/32

    119

    out $18,r18 ;scrierea propriu ziscbi $12,2sbi $12,2 ;puls CSsbi $12,0 ;revenire la modul citire din HCTL1100ret

    ;#################################################################start :ser r16out $11,r16 ;portul D ieire

    rcall short_delay ;se invoc o mic ntrzierercall rst ;se trimite comand reset la HCTL1100rcall citrcall scr

    Exist dou moduri de cuplare a lui HCTL-1100 la MC 8051, i anume legarea la magistralade adrese/date/control sau la portul I/O. Alegerea uneia dintre metode sau a celeilalte depinde

    de modul n care este folosit MC 8051. Dac MC 8051 folosete bus-ul n aplicaia dat se

    recomand cuplarea lui HCTL pe bus. Este necesar hard suplimentar (dou circuite TTL). La

    legarea pe bus se pot cupla pn la 4 circuite HCTL. Dac circuitul nu folosete bus-ul, adic

    nu are conectat nici un fel de memorie exterioar se recomand legarea lui HCTL la portul

    I/O, soluie care nu necesit hard suplimentar. n figura 5.37 se arat modul de legare la portul

    de I/O.

    Vcc

    Vcc

    U4

    HCTL1100

    AD02

    AD13

    AD24

    AD35

    AD46

    AD57

    AD68

    AD79

    MC018

    MC119

    MC220

    MC321

    MC422

    MC523

    MC624

    MC725

    SYNC1 PHA

    26

    PHB 27

    PHC28

    PHD29

    SIGN17

    PULSE16

    CHA31

    CHB30

    INDEX33

    PROF 12INIT

    13

    LIMIT14

    STOP15

    EXT CLK34

    R/W37

    OE40

    CS39

    ALE38

    RESET36R7

    10K

    C9

    10uF

    C8

    22pF

    C7

    22pFY2

    2MHz

    U5

    8051

    EA/VP31

    X119

    X218

    RESET9

    INT012

    INT113

    T014

    T115

    P1.01

    P1.12

    P1.23

    P1.34

    P1.45

    P1.56

    P1.67

    P1.78

    P0.039

    P0.138P0.2

    37

    P0.336

    P0.435

    P0.534

    P0.633

    P0.732

    P2.021

    P2.122

    P2.223

    P2.324

    P2.425

    P2.526

    P2.627

    P2.728

    RD17

    WR16

    PSEN29

    ALE/P30

    TXD11

    RXD10

    Figura 5.37: Conectarea HCTL 1100 la MC 8051

    Din aceast figur se remarc simplitatea conectrii i hardul suplimentar minimal utilizat. Un

    software minimal este prezentat n continuare (rutine de RESET, citire i scriere).

  • 7/31/2019 5-motoare

    24/32

    120

    ;##############################################################;PROCEDURA RESET;##############################################################RS1100: ORL P2,#0FH ;Seteaz liniile de R/W la citire, OE=1, CS=1, AE=1

    MOV P0,#0FFH ;Seteaz P1=HIGHCLR P2.4 ;Seteaz RESET pe LOWNOP ;ntrziere corespunztoare unui impuls de 5sNOPNOPNOPSETB P2.4 :Readuce linia RESET n HIGHRET

    ;################################################################

    ;################################################################

    ;PROCEDURA CITIRE (Citete registrul lui HCTL);################################################################RD1100 SETB P2.0 ;Seteaz liniile R/W pentru citire

    MOV P1,B ;Adresa de LATCHCLR P2.3 :Se genereaz un puls ALESETB P2.3MOV P1,#0FFHCLR P2.2 ;Se genereaz un puls CSSETB P2.2

    NOP ;ntrziere corespunztoare unui impuls de 4sNOPNOPCLR P2.1 ;Seteaz OE=0MOV A,P0 ;Se iau datele din HCTL 1100SETB P2.1 ;Seteaz OE=1RET

    ;################################################################;PROCEDURA SCRIERE (Scrie n registrul lui HCTL);################################################################WR1100 MOV P1,B ;Adresa de LATCH

    CLR P2.3 :Se genereaz un puls ALE

    SETB P2.3MOV P1,#0FFHCLR P2.0 ;Seteaz liniile R/W pentru scriereMOV P1,A ;Se emit dateleCLR P2.2 ;Se genereaz un puls CSSETB P2.2SETB P2.0 ;ntoarcere la modul de citireMOV P1,#0FFHRET

    ;###############################################################

  • 7/31/2019 5-motoare

    25/32

    121

    5.6.Exemple de implementare

    5.6.1.Comanda PWM a motoarelor folosind MC Motorola 6805

    Schema bloc de control a unui motor de c.c. cu perii realizat de un MC68HC705 este dat nfigura 5.38. Controlul vitezei poate fi realizat:

    cu un program intern pentru un sistem care nu are nevoie de feedback sau de

    schimbri dese ale programului;

    cu un program intern ghidat de cteva intrri, cu funcionalitile sugerate n

    figur.

    Figura 5.38: Schema bloc de control a unui motor de c.c. cu perii realizat de MC68HC705

    Un program simplificat la maxim, care sugereaz modul n care se comand motorul este:

    PORTA EQU $00 Se aloc denumiri sugestive porturilor A i CPORTC EQU $02 precum i registrelor pentru stabilirea sensuluiDRDA EQU $04DRDC EQU $06PWMAD EQU $10 portul de date PWM (pe liniile port A

    CTLA EQU $14 portul de control al PWM

    Start EQU *CLR CTLA registrul de control al PWM este ResetatLDA #$20 se trimite 20h n portul de date PWMSTA PWMAD (factor de umplere 50%)LDA #$00 registrul C este definit de intrareSTA DDRC (se putea i cu CLR PORTC)

    adr BRSET 0,PORTC,adr1 bitul 0 este setat (buton apsat)?BSR adr_off dac da, salt la subrutina motor oprit (off)

    adr1 BRSET 1,PORTC,adr2 dac nu, se verific urmtorul buton...........................................................

    MC68705

    OSC1 PWMA1OSC2

    VddPC0PC1PC2

    Vss

    +5V

    +5V

    Motor de c.c.cu erii

    OpritCretere vitezScdere viteza

  • 7/31/2019 5-motoare

    26/32

    122

    BRA adr bucla se repet continuu

    Adr_off LDA #$00 se trimite 00h n portul de date PWMSTA PWMAD

    Dezavantajul acestei scheme de control este c permite micarea motorului doar ntr-un sens.

    Pentru a fi posibil schimbarea sensului este nevoie de un bit suplimentar pentru comandaschimbrii polaritii tensiunii de alimentare a motorului.

    Comanda PWM a unui motor pas cu pas folosind un MC Motorola 6805poate fi realizat ca

    n figura 5.39. Bobinele trebuie alimentate ntr-o anumit succesiune pentru a obine sensul de

    rotaie dorit. Majoritatea motoarelor sunt echipate cu traductoare de poziie (Hall sau optice).

    Un astfel de motor poate fi comandat cu vitez variabil prin modificarea factorului de

    umplere (PWM), dar n acest caz trebuie modificati viteza de comutaie.

    Figura 5.39:Comanda PWM a unui motor pas cu pas folosind un MC Motorola 6805

    Acest sistem asigur performane de reglare superioare, avnd o complexitate mai mare.

    Secvena de acionare pentru comanda motoarelor este transmis prin intermediul unui

    amplificator de putere. Semnalele digitale de la traductoare sunt citite pe 3 intrri digitale.

    Aplicaia este detaliat n nota de aplicaii Motorola AN1702/D, (http://mcu.motsps.com ).

    5.6.2.Comanda PWM a motoarelor folosind MC 8051

    n aceast aplicaie se folosete un MC cu arie de numrtoare programabil (PCA -

    83C51FA) care are posibilitatea de a programa 2 canale PWM. O comand bidirecional a

    unui motor folosind 2 canale PWM i o bucl de reacie prevzut pentru a menine o vitez

    constant este artat n figura 5.40.

    MC68705

    OSC1 PWMA1PWMA2

    OSC2 PWMA3

    VddPA0PB7PB6

    Vss

    +5V

    Motor

    ULN2003

    nfurristator

    TraductoriHall

  • 7/31/2019 5-motoare

    27/32

    123

    Figura 5.40: Comanda PWM a unui motor de c.c. folosind un MC 8051

    MC comand motorul folosind 2 canale PWM. Curentul necesar motorului nu poate fifurnizat de MC, de aceea se folosete un circuit driver L293 care conine 4 canale de

    amplificare, din care n acest caz sunt folosite 2 i un semnal de modificare a sensului. n

    acest montaj modificarea sensului se face prin modificarea factorului de umplere la cele 2

    canale PWM.

    Figura 5.41: Diagrame de semnal pentru comanda PWM a motorului n ambele sensuri

    Cnd P1.3 i P1.4 sunt egale diferen de potenial la bornele motorului este zero. n cazul (a),

    P1.3 este mai mult n 1 i motorul este alimentat cu +5V de la P1.3 la mas (P1.4) i se rotetentr-un sens. n cazul B el este alimentat de la P1.4 i se rotete n cellalt sens. Viteza poate fi

    comandat prin variaia factorului de umplere a celor 2 canale PWM, fiind proporional cu

    diferena lor.

    Bucla de feedback se poate nchide montnd pe rotorul motorului 2 piese magnetice,

    diametral opuse i formnd 2 impulsuri, la fiecare rotire a motorului, cu un traductor Hall cu

    ieire digital. Semnalul este preluat de MC la un pin I/O de uz general, sau poate fi preluat la

    un canal al PCA n mod numrtor (cum s-a realizat n acest caz), sau poate genera o

    ntrerupere.

    83C51FA

    P1.3

    P1.4

    L293(Driver)

    M

    Traductor Hallcu ieire digital

    u

    Generator de tact

    P1.3

    P1.4

    Tensiunea ula bornelemotorului a b

  • 7/31/2019 5-motoare

    28/32

    124

    Pentru c motorul cu perii este foarte perturbator, se impun msuri de protecie. Se recomand

    conectarea unor condensatori de 6,8F ntre bornele motorului i mas i de 0,33F ntre

    bornele motorului. De asemenea se recomand decuplarea tensiunii de alimentare cu

    condensatori de 50F, 6,8F i 100nF n paralel, diode pentru eliminarea vrfurilor de

    tensiune de la fiecare born a motorului la masi +5V.Cteva elemente din programul de comand sunt prezentate n continuare:

    MOV CMOD,#06 :se stabilete intrarea pentru PWM de la pin exterior

    MOV CCAPM0,#42H :stabilete canalul 0 din arie n mod PWM

    MOV CCAPM1,#42H :stabilete canalul 1 din arie n mod PWM

    MOV CCAP0L,#0H :stabilete un factor de umplere 100% pentru canalul 0

    MOV CCAP1L,#0H :stabilete un factor de umplere 100% pentru canalul 1,

    ceea :ce nseamn c motorul st.

    Dup iniializarea acestor registre de comenzi trebuie pornit timerul, ceea ce se realizeaz prinpoziionarea bitului 6 (CR) din registrul de control CCON.

    SETB CR

    Rotirea cu vitez maxim ntr-un sens se comand cu secvena:

    MOV CCAP0L,#0FFH

    MOV CCAP1L,#0H

    SETB CR

    Rotirea cu vitez maxim n cellalt sens se comand cu secvena:

    MOV CCAP0L,#0H

    MOV CCAP1L,#0FFHETB CR

    Traductorul de vitez d impulsuri canalului 4 programat n mod de captur. La primirea unui

    impuls pe P1.6 se ncarc coninutul timerului n registrele CCAP3H i CCAP3L, coninutul

    acestor registre fiind proporional cu timpul scurs ntre 2 impulsuri ale traductorului.

    MOV CMOD,#0 ;se stabilete tactul timerului ca fosc/12

    MOV CCAPM3 ;canalul 4 n mod captur

    SETB IP.6 ;se seteaz ntreruperea de la PCA la cea mai mare prioritate

    MOV IE,0C0H ;se valideaz ntreruperile de la PCASETB CR ;se pornete timerul

    Cnd apare o ntrerupere, n CCAP3L i CCAP3H apare coninutul timerului. O aplicaie

    asemntoare este descris de Jafar Modares n nota de aplicaii AP-425, de la INTEL (

    www.questlink.com ).

    O alt aplicaie a fost realizat la laboratorul de Interfaare. Cu un microcontroller 80C552

    care dispune de un modul specializat PWM cu dou ieiri PWM, figura 5.42. Aceste dou

    ieiri pot fi folosite pentru comanda unui motor de curent continuu care poate fi comandat s

    se roteasc n ambele sensuri cu vitez variabil.. Frecvena de baz este asigurat deoscilatorul intern (fosc/2) i de un prescaler de 8 bii, PWMP. Acesta poate fi ncrcat prin

  • 7/31/2019 5-motoare

    29/32

    125

    program cu o constant de divizare, cu valori ntre 0 i FFh, corespunztoare unui factor de

    divizare 1256. Ieirea prescalerului este conectat la intrarea unui numrtor cu

    incrementare, PWMC, modulo 255 (PWMC = 0FEh). Att prescalerul ct i numrtorul

    sunt utilizate n comun de ctre cele dou canale PWM.

    Coninutul numrtorului este comparat continuu cu coninutul a dou registre de 8 bii,PWMO i PWM1, cte unul pentru fiecare canal (PWMn, n=0,1). Ct timp PWMC este mai

    mic dect valorile nscrise PWMO i PWM1, ieirile PWMO, respectiv PWM1 sunt forate

    n "0" logic, n momentul n care PWMC devine egal cu una din valorile PWMn, n=0,1,

    ieirea corespunztoare este forat n "1" logic, nivel care se menine atta timp ct PWMC

    PWMn.

    Astfel, factorul de umplere pentru un ciclu complet de numrare (255 de perioade ale

    semnalului la ieirea prescalerului) este controlabil prin coninutul registrelor PWM0 i

    PWM1, ntre 0 i 1, n incremeni de 1/255. Frecvena semnalelor la ieirile PWM0 iPWM1este dat de relaia:

    255)1(2 +=

    PWMO

    ff OSCPWM ,

    Aceasta conduce la o frecven cuprins ntre 92Hz i 23,5kHz, pentru fosc=12MHz.

    Figura 5.42: Blocul PWM

    La modificarea coninutului registrelor de comparare PWMn, ieirile corespunztoare sunt

    actualizate imediat, nu dup terminarea ciclului curent de numrare.

    PrescalerPWMP

    umrtorPWMC

    Registru de compararePWM0

    Comparator

    Registru de compararePWM0

    Comparator

    PWM0

    PWM1

  • 7/31/2019 5-motoare

    30/32

    126

    Cu acest tip de microcontroller a fost construit un dispozitiv de comand a unui motor de c.c.

    Rotirea n ambele sensuri este realizat prin conectarea lui la un montaj n punte, figura 5.43.

    Figura 5.43: Schema amplificatorului de curentAtunci cnd s-a testat aceast conectare i s-a folosit aceeai surs de alimentare pentru partea

    de comand i cea de putere s-a constatat c perturbaiile generate de motor influeneaz

    funcionarea plcii.

    Observaie: ieirile PWM sunt negate, de aceea este nevoie ca valorile introduse n regitrii

    PWMx trebuiesc complementate, pentru ca palierul activ sa fie proporional cu ceea ce se

    dorete la ieirile PWM.

    Ex: MOV A,#55 ; incarca in acumulator valoarea imediata 55H

    CPL A ; se complementeaza acumulatorul; doarece iesirea PWM0 este negata

    MOV PWM0,A ; ncrcare registru de comparare

    A fost realizat un program de test care comand motorul astfel nct s se roteasc pn la

    viteza maxim posibili apoi s descreasc turaia pn cnd se oprete.

    ; semnalul pornete ca fiind 100% din timp 1 logic, scade, apoi crete, operaia

    ; se repet.

    PWMP equ 0FEh

    PWM0 equ 0FChPWM1 equ 0FDh

    ORG 8000h

    LJMP MAIN

    ORG 8090h

    MAIN:

    MOV A,#20 ; se incarca acumulatorul cu #XX pentru

    ; frecventa semnalului de XkHz=11,059MHz/(2*(1+A)*255)

    MOV PWMP,A

    MOV A,#0FFh ; in A este valoarea imediata 00h de startCLR SENS ; pentru a stabili CRESTEREA/DESCRESTERA turaiei

  • 7/31/2019 5-motoare

    31/32

    127

    ROTESTE:

    CPL A ; se complementeaza deoarece iesirea PWM este negata

    MOV PWM0,A ; ncrcare registru de comparare

    MOV R2,#4

    DELAY:MOV R1,#0F0h

    DELAY1:

    MOV R0,#0FFh

    DJNZ R0,$

    DJNZ R1,DELAY1

    DJNZ R2,DELAY

    ; verificare si apoi stabilirea noului sens daca este nevoie

    CPL A

    JB SENS,DIRECTINVERS:

    SUBB A,#10h

    CJNE A,#0Fh,ROTESTE

    SETB SENS ; se schimba sensul

    SJMP ROTESTE

    DIRECT:

    CJNE A,#0FFh,CRESTE

    CLR SENS ; se schimba sensul

    SJMP ROTESTECRESTE:

    ADD A,#10h ; factorul de umplere creste

    SJMP ROTESTE

    STOP:

    SJMP $

    BSEG AT 20H

    SENS: DBIT 1 ; 1/0- factorul de umplere pozitiv creste/scade

    END

    5.6.3.Detectorul de stare zero

    O aplicaie de comand a motoarelor poate s ofere surprize n faza de proiectare sau chiar de

    implementare. Un exemplu de astfel de surpriz este cea care a aprut la nlocuirea

    indicatoarelor de bord clasice auto cu indicatoare comandate cu motoare de curent continuu.

    Dac cheia este decuplat n timpul micrii mainii sistemul electronic nu mai este alimentat

    i indicaia de vitez, respectiv turaie rmn la valorile din momentul scoaterii cheii. Pentru

    rezolvarea acestei probleme trebuie ca sistemul electronic s mai rmn alimentat un timp.

    Oricum, la mainile noi dup scoaterea cheii geamurile electrice se pot ridica, oglinzile se

    rabat etc. Pentru a uura comanda motorului n acest caz au aprut microcontrollere care au un

    bloc intern de feedback.

  • 7/31/2019 5-motoare

    32/32

    Modulul de comand al motoarelor din componena MC pe 32 de bii (MB91360) are integrat

    un bloc de detectare a strii rotorului1 . Schema bloc a blocului este dat n figura 5.44.

    Figura 5.44: Schema bloc a detectorului de stare zero

    Logica de analiz eantioneaz ieirea comparatorului cu tactul selectat n ZPD0.Comparatorul compar intrarea de la PWM2M0 cu tensiunea de referini seteaz bitul de

    rezultat al comparrii dac tensiunea de intrare este mai mare dect tensiunea de referin.

    Rezultatul comparrii devine 1 dac toate eantioanele (numrul lor este specificat n ZPD0)

    sunt 1. Ca urmare pinul PWM2M0 poate fi folosit pentru nchiderea unei bucle de reacie de

    control a motorului.

    Registrul ZPD0 (Zero Detect Register) conine: 3 bii selecteaz tactul (tact divizat cu

    1,2,4,5,6 sau 8), un bit valideaz operarea detectorului de zero, 3 bii stabilesc numrul de

    eantioane (1,2,3,4 sau 5), un bit valideaz/ invalideaz alimentarea blocului analogic, un bit

    indic rezultatul comparrii.

    Bibliografie

    [1] http://www.celesco.com/?gclid=CLrzz_-A76ACFQO7ZwodlzrEHw, Traductori de

    poziie

    [2] http://www.unimeasure.com/lx.htm, Traductori de poziie

    [3] Ogrutan P.,Microcontrollere si controllere grafice Fujitsu, Ed. Universitatii Transilvania

    Brasov, 2006, 182 pag, ISBN 973-635-621-3

    [4] Gerigan C., Ogruan P., Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,

    ISBN 973-9474-94-2[5] Toacse Gh., Romanca M., Pan Gh., Step transductor for PM hybrid stepping motor, in

    Electric Power Components And Systems, Taylor & Francis INC, ISSN: 1532-5008 vol.

    11/4, 1986, pp. 347-356

    1

    Aceast funcie a controllerului este patent al Siemens VDO Automotive AG i poate fi folosit doar cuacordul proprietarului.

    Rezultat

    +-

    Logica de analizNumrtor de 8 bii

    PWM2M0

    1/9 AVCC

    Registru ZPD0

    Validare/invalidarealimentare

    Selecie tact

    Comparator