Convertoare 40001

download Convertoare 40001

of 44

description

Convertoare 40001

Transcript of Convertoare 40001

  • 5/26/2018 Convertoare 40001

    1/44

    200 Algoritnu si proccsoare de comandade timp real. BlocuriLc de cuantificare Q L-Q3 s-au introdus pcntru opcrarca numaicu numere intregi, s imiLar eu ari tmetiea mierocontrolerului care va Luera on-line.

    Modelul sursei de alimentare a elementului de executic arc urrnatoarelcearacteristiei:

    - transforma informatia (semnalul) de comanda din gama 0 - 14S 0 'intensiune III plaja 0 - 12 V cc. Aceasta scalarc tine seama de sursa real5 careva fi utilizata on-line, care acopcra iutcrvalul 0 - 24 Vcc la 0 refcrintanumerica pc 8 bit i.- dad regulatorul gcnercaza 0 co manda infcrioara uuui prag de sensibi Iita tcla limita de miscare pentru motor, formcaza la iesire 0 tensiuuc corcspunza-toare acestui prag:- reduce eu 0 valoare fixa (2 V cc) tcns iun ea de fa icsirc. Prin accasta sc ia IIIconsiderare faptul ca datorita lir nitei infcrioarc nenule a sursci fizicc, situatadcasupra pragului de scnsibilitatc al motorului, a fost ncccsara introduccrcaunor diode in serie cu indusul scrvornotorului de pozitionare.- l imitcaza prin saturatie nivclul la icsirc.Rezultatcle sun ularii pcutru 0 rcfcrinta de 500 0 irup ulsuri encoder (2 rotatii

    complete) SUl1tredate de fig. 2.20 - 2.21. Fig. 2.20 prczinta componcntclc co rn cnziicalculate dupa rcl. (2.198). Este rcmarcabila sirnctria (cu opozitic a scmnului) atermenilor Ckl - Ck2. Aceasta face ca tcrmcnul Ck3 (componcnta intcgrala) s a aibiiun rol foarte important, dcsi amplitudinea sa e stc rcdusa comparativ eu a celorl a ltidoi termeui. De asemenea sc obscrva suprapuuerea practic a graficelor notate Cj .;:,Ck-l, ceca ce semnifica absenta unor salturi ale comenzii pc 0 pcrioada deesantionare si - totodata - valoarca foarte mica a duratci T III raport cu intcrvalulanalizat. Usoara difercnta dintre celc 2 grafice se scsizeaza prin aspcctul de graficunic cu linie Intarita. Operarea cu numcrc intrcgi se cvidentiaz.i prin variatia 'inmici trepte a componcntelor respective. Limitclc de variatic ale accstora arata ,0fortare illi[iala acccntuata, dcasupra nivclului de saturatic din rnodclul sursci. IIIzona finala a cur sei, comanda rezultata l~i schirnba scmnul , tcnd int a tiind defranare accentuata. Arnbcle aspecte dovedesc 0 acordare bunfi a buclclor.

    Fig. 2.21 red a variatia marimilor macroscopice caracteristicc sistcmului depoziuonare: eroare de pozitic, vitcza si tcusiuuc de alimcntare a ruotorului. Timpulpc abcisa este marcat In nurnar de perioade de esantionare.: Practic pozitiouarea scterrnina in cca I sec., ceea cc revinc la 0 viteza medic globala de 120 rot / 111111 -putin sub jurnatate diu viteza uominala. Fortarea cornenzii, cvidcnta si III graficclcvitezei ~itensiunii ar putea fi mai accentuata dar croarea de poziuonare ar crcstcVarful de viteza la aproape 50 0 rot / min e ste ad rnisib il, dcsi nN '= 3UO rot / nun,avand In vedere ca turatia maxima (Ia gol) este de aproape 700 rot / mill Suntvizibilc pragul de viteza de apropiere (ell valoarc constanta de aprox. 40 rot / nun)si franarea de dupa suprimarea comenzii. Dupa fortarea illi[iala a comcnzii, cfortulbuclelor estcrelevat prin riplul comcnzii In zona inrcrmediara

    Algcritmi si procesoare de comanda , 201REGPI72- Speed and Positi C t II . ..300 I I on on ro er. Simulated control components _06.05.98

    ,________ 1,. : .IiI:~: :::o - - -- - - -- - - ~ :~ - ~ ~ - -- -- , 1 , ' 1

    I i _ ~ :1- J~ ,r-r .' i \ - - - - - - ; > ( ~ - C- - - - - - - - ----- -- -- j - - - - - - - - - - j - - - ~- - - ,c - : - - - - - - - - - - -: - - - - - - - - --,--..J, I , . , f , . '

    -vr- l (: : : :,',:: ~ ' :v . - .- .- - . - L . , , ' :~ ; ~ ' - : + : i ~ ; ~ ~ ~ ~ / - - : ~ - , ' - - , : ~ - - : .. ; : ~ ' - : , - - ~ ,~OO : 'o roo 200 300 400

    Time [x 2.456 ms - Ts] 500 1 : , ~ooFig. 2.20 Componcntele comenzii calculate la simularea buclelor

    REGP172 . Speed and Position Digital Controller; simulated r~sults _ 06.051998.~ , 13000 , u60r---~--~--~ __ ~~ .:: ~0. _ 1 \ ' _I0UIJ \-- > o j - --- -- ;- - - - - -- : 140~ 2000 --\(-~------:------~------ 1t 'S~::., 0 -- ~---~-'------ 20

    -2000 ~-~:---:_::_-~---.la 200 400 600 800

    :',I, .1, . ~ ; ~ ~. .'.1 . . .

    -: ~ ~.It: :~.'. '; : .>o J 1 ~ 7 ~ ~ ~ ~ ~ : .,,~ , ': . ,;: ... 'r-. '11' ~O~ - ~~~~~C>~ - - ~ o 200: :.400 . '/ 600 800

    15, - - - ~- - - - . _ - - - - ~- - ~ .. '--.; '.~.t . , , .~ - - - - - ; - - - - - - ~- - - - - - , .

    , .< - - ~ --- - - : -- - - ; -l~ ,... ,'l'''r~o~~~~~ __~ __~o 200 400 600 800

    10 f e , . : . '

    5Fig. 2.21 Evolutia erorii depozitie, a vitezei ~ia tensiunii

  • 5/26/2018 Convertoare 40001

    2/44

    I'

    - = 2 ' - ' 0 ' - ' 2 - - , ~ , ~ A ~ I : . ; ; g c: : . : 0 r i t 1 l l is i procesoare de comnnd~ . .__._.

    2.L6 ANALIZA COMPORTARH UNEI BUCLE DEAD - BEAT; Aplicatiile care urmeaza se refera la utilizarea unor controlcrc Dead - Beat

    pentru comanda unor sisteme de actionare cu motor de c.c. cu model liniar deordinul 1., In fig. 2.22 este analizat un sistem de pozitionare Partca fixata discretaare' functia de transfer:

    G ( ~I) - k k K -I [ 1 jr; - M' S,~ TR (1-z )Z --y-----.I , ~~ ;-k k r ' , . . S . (1-1' TM) (2200)TM::constanta electromecanica de timp a motorului (50 ms):

    I ' k: amplificarile pentru 1110tor, sursa ~itraductorFunctia de transfer rezultata prin calcul pentru regulatorul Dead - Beat este ccainscrisa In blocul cu acelasi nume. Pentru extrapolator, esantionor si calculele dediscretizare s-a utilizat perioada de esantionare T = = ],456 ms. Satu ra tia careprecede sursa intervinefiresc prin capacitatea maxima a convertorului numeric-analogic care la capat de scala genereaza rcferinta sursei pentru tensiunea nominalaa motorului.,Se obtine opozitionare de cali tate III aproape 4x TM, dar contributiaregulatorului 'dupa fortarea initiala este minima. . ,, ::Voltage _ _ _ _ _~ ~ . ~ : _ : ~ ~ e dh ,nor ~::P_~~n ----~-I:-1, /~\ -. ;]-*,rl-. --- I3lr I I l:..::..Y'l/ -~~I . ' J ['If' . -,; 7J' )-Orc,,, SlDPIy SaUf;;1I0nI ~~~_OC~~;~~I~~I ~~d ~__ Servomotor [[

    Fig. 2.23 Pornirc ell nivcl coborat de saturarie [ ,'cntru ~ICl'':~I~1 pcrioad.i de csanuonare s-a suprirnat blocul de satuatie pentruC)\)):IIILi;\ (ncntru tcnsiunea de alimentarc a motorului) - fig. 2.24. Pe ecartul detimp de Iii ms :1 1 inrcgistrririi se constata c a pornirca se terrnina dupa 2 x T, candrcnxiunc.: xc st:lhdJZ(;:lza b valoarca de rcgim stationar. Vitcza ajungc lnsa lavaloarca prcscrisa dllpii numai 0 pcrioada de csantionare. Este eel mai scurt regimtranziioriu posibil. Accasta pcrformanta se realizeaza cu pretul unei solicitariencrgcticc extreme: moto ru l trebuie alirnentat cu aproape ISO V , adica la mai multde () x UN C onclu zia estc ca, folosind u n element de cornanda adecvat, se poateobiinc 0 dinam ica ideala daca elernentul de executie suporta solicitarile energetice,mecanice sail de aha natura (de exemplu comutatia la motoarele cu peri i) iar sursade alimcntare este cnpabila sa gcnereze irnpulsuri scurte de marc amplitudine si cupanra ridicata a tens iuni i. Rcduccrea 111continuare a perioadei de esantionare (careestc \J)) parametru de proiectare) nu inseamna ca cste posibila reducerea nelirnitata

    l1

  • 5/26/2018 Convertoare 40001

    3/44

    204 Algoritmi ~iprocesoare de coinandiia regimului tranzitoriu, cu atat mai mult eu cat sc face sil11[iti,,1~1airegnant inertiaecctromagnetiea, ncluata in considerate priu functia de transfer Chiar Ia un mo~orcu rotor disc eu constanta electromagnetica de 0,2 111S,nfluicnt a iuducnvrtaiudevine prezenta la perioade de e~antionare sub 1 I11S

    I I ~E l 8( i j El Controlfll lE . Spcp.d 8~El

    I .Sel point Error1I .--i\ ---- /.,.-- ---- /-, II1\I

    8~El~dbv2 Oea''t?( ,'velu m si greutatc mi nirn c, fiabilitate mariti si '-:nu'lln' ul timul 'rand1:i;f1bfeq lldpos ibilitatea implementarii unor strategii de' cornandaperformante.o Solutiile '[decomanda In logica programata implica utilizareade structuri digitale.complexe-cscircuitc VLS I specializate (ASlC - Application. Special integrated. Circuit;microprocesoarc (ul') de uz general sau cu functii+speciale, 'microco~tiol~r~procesoarc de semnal (DSP), transputere dar si echipamente nu meri ce .precun. ' I ' I 'automate programabilc (PLC - Programmable, Logic Controller), .calculatoauindustriale etc. ' ./ - ... .. .'.. L _', . .

    Microcontrolcrc se constituie 111 prezent c

  • 5/26/2018 Convertoare 40001

    4/44

    . . : 2 : : . . : 0 : : . . : 6 - ' ' ' -- ' - -- ' .-.:...A-.:....Igoritmii procesoare de. com: ,' -' canale 's'eriale-sincrone,' care combinate cu registre de deplasare ex te rn:1, II:j)ermit extinderea numarului de T / O. De asernenca fac posibila cxploatarcailllinor'circtiite externe' '(mernorii seriale, ceasuri de tirnp real).

    _ 'convertoare: analog - nutnericc (8 - 12 bi ti);

    2 0 7___ . . ._..__. ..__~~goritmi si procesoare de comanda- module P\VI\tL- buck PLL:_ convcro:Jre numeric - analogice (rar);- ar ii loujcc;_ controlcre pentru display cu LCD sail LED;_ .unphficatoarc opera ionale cu intrar i - ie sir i cxterne; ._ detccioarc de treccrc p rin zero a unor scmnale exteme alternative lentvariauilc \ctivc::lzil (la ambelc tipun de panta) sistemul de inrreruperi .si. suntutile pcntru baze de limp cxtcrne, sincronizarea comenzii redresoarelorcoruandatc. , , ....- controkre de intrcrupcri putcrnicc; .: , ,_ unitati dez voltite de timcre (SII(1ertimer Unil) ~care reunesc timere,llull1:tr:\~oarc, regi:.'re de captura (Inregistrare), de comparare, -unitatiI'WM. La uncle circuite se regasesc sub titulatura de unitate de jmpulsuri Intimp real (R ealti m e Pu lse Unit - RPU) sau generatorinteligent de pulsuri{In1c1ligent l'ulsc Generator - lPG)- [41]. ;_ port de icsirc pcntru timp real (Real-Time 07lt(111/Port - RTP);1.~1flC perform::lntc, unitatca ccntrala de prclucrare este divizata intr-o unitate

    de cxccutic (EXU) ~i unitate de control magistrala (BClI), aceasta din urmautil izdnd 'n coada de as tep tarc I pr egatir e iprefe tch qu eu e) cu maimulte nivele.Tchnicn pipe-line, opcrarca pc 16 hili la nivclul unitatii logicc I aritmetice siILlIlsl;rllrik dirccrc ell b:tI1eik de rcgistrc interne sunt premise pentru performanterid ic.uc de proces~tre.

    () tcndint.i rcccnta III domeuiul realizarii de ~lC este ilustrata de seria PIC. alumci Microchip Technology lnc, care incorporeaza In capsule mici (chiar 20 pini)procesoare puternice din categoria R1SC, cu arhitectura Harvard -l40]. '. I

    Uncle arhitecturi cornplcxc de dispozitive logice programabile (PLD)includ nuclcc tip ~IC Configurarea In functie de aplicatie a acestora si a celorlaltecircuiic SI celulc conduce la 0 structura ext rem de compacta ~i rapida, Programareaci este 'gesti 0113(5 de programc cu 0 puternica interfata utilizator prin . careproicctantu l de .rpl icatie dcviue si proiectaut de circuit (custom design). . .

    Majonratca microcontrolerelor se constituie ca structuri digitale de comandade \IZ g~neraL dar sunt d isponibile si circuite specializate :pe categorii deaplicatii.Un astfel de exeruplu de I-lC dedicat (pentru comanda sistemel,or .deactiouarc clvctrica) este RO C 196 KC (Intel), pe 16 biti, ClI foarte multe penfenceIl1t'el,ratc C ; 'U arc o unitate aritmetica ~i Iogica cu registre (RALU). Controlulcd(;~mai multc porturi sc face prin intermediul SFR. Interfetele I / 0 rapide.imorlulu l dcdicat PWM ~i un bloc generator de unda trifazat fac acest ~lC aplicabilprin c:\ceCI1P comcnz ii sistcmelor de actionare electrica Cll convertoare statice.Sincroni':II.:1 el retcaua de c.a. pcntru comanda redresoarelor se face priri-inicrmc.uul ini ilor rapidc de intrare (HSI) iar impulsuri le de cornanda se elibereza

    ( \

    -- --- -~- ---- --- ---- ---~---

  • 5/26/2018 Convertoare 40001

    5/44

    208 Algoriuni si procesoarc de comanda.=:.~-------~.....:~='---:..:...:..:..:..:..~----,----------,prin canalele rapide de iesire (HSO), Programarea celor 3 icsiri PWM sc face userprin continutul unor registre dedicate.

    2.2.2 ELEMENTE SOFTWARE GENERALE

    ). / I

    Ca si microprocesoarele. microcontrolcrcle executa un program cod (codrnasina) obtinut dintr-o sursa scrisa cu ajutorul mnemonicclor - III limbaj deasamblare. Desi exista si modele cu prograrnare prin lirnbaje de nivcl inalt (eel maiadesea C), majoritatca ~C sunt pr ograrn ate in lirnb aj de asamblarc. De ascmeucaacurnulatorul ramauc rcgistrul principal de m auip ularc a opcranzilor ~i rczultatclor.cu toate ca uncle circuite foloscsc 0 nrhirccturii de tip rcgistru - rcgistru (JJ.r~lintcrmcdiere prin acurnulator)., Utilizarea subrutinelor rnodularizcaza prograrnclc complcxc insa pcrurucazul I-tCnu este 0 strategic rara implicatii In vitcza de raspuns. lustructiuniilc deapel si revenire adauga timpi suplimentari.

    Raspunsul rapid la evenimentc cxterne cstc obtinu t prui tchnicaintreruperilor, instrument cseu tia l p entru a controla 111 timp real un sis tcm sauproces. Alternativa specifica microcontrolerclor pcntru conuolul In limp real aproceselor este tehnica multi-tasking, la care intcrvinc 0 arhitcctura softwaredin ami ca iar rolu l p rincipal revin e un ui planificator de task -uti (scheduler).Programul estc parcurs (ca ramuri ~i unita~i activate) in tunctic de cvolutia e-veuimentelor externe, deci nu se poatc spune In prcalabil in cart; moment ~i ce taskva fi executat. 0mcdalitate concrcta de rnanevrarc a task-urilor cste construireaunor tabele. Pentru fiecarc intrare (de ex. de tip intrcruperc), pc 2 octcri se spccificaadresa task-ului, pe urrnatoarea coloana (1 octet) 0 durata de usteptare ~i prinultima coloana (l octet) nivelul de prioritate. Modul de lucru al planificatorului detask-uri' (clerneutul central al unui cxccutiv de tip real) cstc urrnatorul: Illl:li scdcternuna gradul de prioritatc maxim din tabcla de task - uri (Tl). apoi tabcla cstcexplorata pas cu vas. Se trece la urmatoarea pozitic daca adresa cste vida. dadtask-ul nu este 'inca pregatit (indcxul de astcptarc neuul) ~i daca gradul de prioritatcnu este corespunzator. Executia task-ului estc initiat:a de cxcmplu printr-un J UM Pla adrcsa respective, iar suprimarea lui 'in Tf dupa executic se face stergand zonade. adresa, Ritmul i de cxccutie al intrcgului sistem de programc depindc decaracteristicile dinamice ale sisternului eondus ~i se rcglcaza prin intcrmecliulfrecventei de apel a rutinei de iutrerupcre hardware care dccrcrnentcaza coloanaindexului 'de asteptare din IT. Nu toatc flC sc pretcaza la structuri software de tipmulti-tasking .. In general, cele de 16 ~i 32 bit i se constituic ca resurse hardwarepentru executive de tip multi-tasking.

    Majoritatea mierocolltrolerclor permit programarea a 2 moduri dc lucru laputereredusa (Idle Mode ~i l'ower Dawn Mode), dll1d 0 parte din fUllctii suntdezactivate ~i consumul este mult redus. Accasta facilitate prclunge~tc sensibildurata de func[ionare 'in cawl alimcntarii de la baterii.

    Algor itmi ~iprocesoare de comanda 209o optiune hardware / software intalnita Ta multe - lOi estei.un timer de

    sllpraveghcr~ num it cf iine de paz a (WDT - Watchdog Timer),'Timerul,(intem sauextern) SC. mcarca cu 0 anurnita valoare si este comandata decrementareaCOI1\IIlUtulul cu un tact divizat din tactul sistem. Bucla program.este urmarita ditpunct dc, vedcl~e temporal Cand ajunge la zero continutul tim erului,t sistemul esrcset~t,_ :cl11nlhcaf~a acestei acjiuni ~ste aceea ca uncle module; program; (task-uri:~1I depa~[t 0 limita d~ tunp impusa ~l programul general, nu, mai; poate ~garantccOlltl~lllI S[Slel:luIUl. In mod normal, timerul respectiv estereincarcar de.icatr.planificator Ia mccputul ficcarci bucle ~i nu are ti rnp sa se goieasca.Evident. S(poatc ,It~cra cu ~'esctarca peri_odica a acestuia si sesizarea de.situatie a.l.lorm~ia;pnlum p lcr ca Ill SIStCIl111I,ofera protecpe nu nurnai la incident e .. software .leg ate deprogranic dar ~I la cfcctul asupra programuiui in execuue a. unor even imentcC:-;kIIlC goluri de teIlS[UI1[, uupulsuri parazite etc. jI \ ,I .. :'.' '.1 .11':,

    ,_ .~nclc I-tC potyatamai usor structund~ tip mlliti-tasking.avallp posibilitarc,opl;;lal~1 cu ~11acro-tllnqll (sau macro-servlcu). Macro-functia;se;cons.tituie ca. (l11~toda dc raspuns la Il1trerliperi, independenta de CPU, rani necesitatea ~al~ariircJac~~'11 rcgistrclor. S(; rcal izeaza astfel (intr-un timp scurt si tara operatii.in stivaII ansfcru l de OClC1[, cuvuite, blocuri de date la interfatas':riala saude la CAN Umcmoric.

    _ Exista Unila~i, ~arc poscda un'sistem de operare'p'e~~~,~~np (~I.l~: ~~i~r,~~o(., R fM U

  • 5/26/2018 Convertoare 40001

    6/44

    - = 2 : . . : 1 ' - ' O - _:;_,_A_I g_~_ri_tn_1_i-~i-'p_r_o_cesoaree comand~ __ _t , .l -;cinserarea unor puncte de opnre (breakpoint) pentru urmanre sau, , .idepanare. program;:; ' , . 1 - asamblare.onv line,i:dJ I Unele f lCau'insera t programul monitor In propriul ROM,d'''. t-Simulatoarele. - sunt. programe rulate pe un calculator pentru a modela till

    ~lC,.eventual ,1nainte -de .realizarea sa fizica. Exista si simulatoare Incorporatedispozitivelor logice-programabileIovnr-r). P entru u.C se utilizeaza simulato.ircspecifice (DeviceSpecificSimulotorv, in opozitie cu cele de lIZ general ((;encro/Purpose ,Simulator): Sunt simulate software registrele, memoria, unitatea deprocesare $ i toatecelelaltccomponente ale unui u.C . D up a incarcarca programuluiobiect.vca ';~itn'cazul rhonitoarelor, se poate urmari indcaproapc executarcaprogramului In:~msamblu;:pe zone; cu : puncte de o p ri re . I nt ra ri le ~ i i es ir il e s un t $ iele simulate Evident lucrul In acest mod nu are atribute de timp real. dcci rcd:'aproximativ.modul de lucrual ~lC; Avantajcle sunt legate de absenra unor clementehardware'siposibilitatea unor manipulari extrem de variate - lucru grcu de realizatlaun sistem fizic.- ;. '\ 'i', ,1 Ernulato'arelei ~ sunt instrurnente hardware asociate cu programe prin careun calculator+prin intermediul unor interfere (pod), este coneetat intr-un circuit pclocul in care ar trebui sa fie uC. Pod-ul asigura compat ib il it atea functionala ~Ifizica'(pinhi'p'iri)'euacesta. Functiile pe care le puteau realiza monitorul ~Is imulato rul sun t pos ibi le l i1s ii int r-un con text (mediu) mul t mai real ist .'I/,J'2.2.3UN.'MICROCONTROLER REPH.EZENTATIV - S O C 552'::' , '(pHiLIPS) .. .

    (:~; 1(, q I I ir ' ;e:: ~ > \ : : - 1'-IT I'-IT'Vali dare reset I I

    extern 1 ( :1 \ . ' 1 0 (3) I I CMO (R) II '

    Fig. 2.29 Structura timerului T2Utilizarca unor rL',\istre cu fuucti i spcciale (SFR) necesita cunoasterea elernentelor:

    - nu mcc rcgistrclor respective;- valoarca bin:lr5. la RESET sistem;- adrcsa registrului - daca asarnblorul nu il recunoaste dupa nume;- modu l de bascul are al bi til or. in special al fanioanelor (flag) de, intrerupere,d;lc:\ accsrca trcbui resetarc software (prin program) sau stergerea lor seface automat (hardware);

    - ordinca in care sc cornanda prin program, pentru un anume mod de lucru(lcgat in special de intrcrupcri) si daca trcbuie asigurate durate minime(delay) intre setari I rcsetari de biti

    E s te evident ca docurncntatia firmei producatoare a microcontrolerului estevitala pcntru realizarea unui program in li rnbaj de asamblare - [39].

    '

    Timer-u I watch-dogEsre un timer special care scmnaleaza 0 stare anormala de functionare prin

    c1ep5~irc;1 unci duratc admisibile a buelei program. Lucreaza ca un numarator(lc.k/l2) care trebuie reincarcat periodic de catre programul utilizator, la intervale

  • 5/26/2018 Convertoare 40001

    11/44

    . I ,l220 Algoriuui si procesoarc de comanda

    \ I. mal rnici dedit intervalul de garda (de securitate). Programatorul trcbuic sacunoasca foarte bine derularea temporala si ramificatiilc programului pcntru afolosi eficient acest timer.

    Tabelul2.2 Exernplu de utilizare a unor registrc pentru 0 baza de t imp prin T2

    I

    Ponderc biti B7 B6 H5 B4 1 3 3 1 3 2 l31 1 3 0Struc- T2 1S1 T2 IS0 T2E R T21 30 T2P I T2 1 '0 T2M S T2M Stur a I 0Select. Select. Va lid . Fl ag Select. Selecl.Z Semni- i nt r. l a intr . la R es et intr, factor factor S c I ce I. Se lec t0 fi ca tie dcp, de p. extern dcp. oe de surs[, ~tlrSaUM pe 16 pe 8 byte diviz .. diviz iiup uls impuls~ biV bi ti im puls imp uls

    1---. 1-----Cuvdut 0 I 0 0 I I [) Ibin ar EAi)- E SO- -jTTj'- --EX T- - lTri) -- '- I ': X ( I - - -truc- EA E SItu rn Va ho . ... ' . ..0 Semni- g en Z'C:j ficatie intr.

    ~ -- -X --- -r--'--Cuvant I X X X X X Xr: b inar3 ECT~- '-'---Ll Struc- E T2 E C M 2 E CM I ECMO E C T3 E C TI E C TOo :: : tur a- V alid. ' ... ... ...Iz Semni- T2~ ficatie X-------xuv iinl 1 X X X X X

    I Ibinar -----St ruc- PT 2 PCM 2 reM I reMO pen pen pe TI I'L :TOtura lIJ iv e l . .. ... ... ..Se rn ni- p rioril- ficatie intr,T2 x jC uvfi nt 0 X X X X X Xbinar

    2.2.3.5 Sistemul de intreruperiSursele de intrerupere (in nurnar de 15) sunt:

    - INTO, INTI: exteme (hard);- TO, TI, T2 depasiri;

    Algoritmi si procesoare de comanda '221.._ ..---------- .......:..::.:::.:=::.... .:..~:-=..::.:::..:...::::.:..::..::.==~-:--------:-~-CAN:- porturilc seriale [2C si UART;- T2: 3 de la cornparare, 4 de la captura; .i,,ll' 'J;J:ili

    1 ,1 J:l:rH:l' .;.Schema de principiu este prezentata 'ill fig. 2.30, Inil lte riorul eelor doua

    nivelc de priori tate cxista 0 prioritate prestabilitii> cea maiinalta 'este INTO;'iar: ceamai joasa cste depasirea la T2. 0 intrerupere de prioritate joasa (L) poate fiintrcrupta de una de tip inal t (H). 0 intrerupere H' nu poatefi Iutrerupta. 'Daca apardoua intreruperi de ;pnoritati diferite, este servita eea cu.prioritate: H: 'Dacal apar(sirnultan) G O U a intreruperi cu acelasi t ip de prioritat e.vse lapeJeazala'ordineaprioritaulor cab late (prcstabilita), Servirea unei intreruperi-Inseamna sal tuI la' 0adrcsa binc prccizata de constructor, unde trebuie depusarutinade tratare specifica.

    Ragistrupriorita\i

    I.Fig.2.30 Organizarea sistemului de intreruperi

    - un latch;- un buffer de intrar e :- un driver de ie sir e: . ~ . '.,' :,jiJ;.',,ft, r:I;.;i1,I?- circuitc peutru alternarea functiilor, Practic, pentru reducerea numi~l~l'd~conexiuni, toate porturile au cate doua functii. :.'::;;'1'.,;\; ::.) I.'),,., i':'.;U,Y. -

    , r fd:~Tll; .: i't.'~ J '..Jlf:.~d~ju

    Surss-----' Hard I I ~ .,I I

    SoB: - - - .JJ:-I ~oIIIII ,IIIIII -f--.---- I

    ./- ..Qo--I 0-.------ IVali dars

    indi vidual a Validarsglobala

    2.2.3.6 PorturilePorturile PO - P4 contin pcnt ru fiecare canal:

    H1SLIS

    ~ I

    \11 f.i ... .r: JI I lj

  • 5/26/2018 Convertoare 40001

    12/44

    .

    222 Algoritmi si procesoare de comanda-------~.------~-Exemplu:P4: - standard (port IIO);

    - comutari la modul de lucru cu comparare de la T2.P 3: - standard;

    - transmisieseriala, intreruperi externe, intrari TO, T i etc.~c ircuite pentru citire pin sau citire latch.

    ./.:;',~ '. i (;?,. ..' I ,~ . l,).',;r.Latch-ul corespunde unui bit din registrul SFR asociat. Uncle instructiunicitesc bitti'l din latch; a ltele de Ia pin. Un exemplu de structura a unui canal I/O' csteprezentat in fig. 2.3.1 :,Nutoate canalele por tu ri lor I / 0numcricc all acclasi tip depolarizare. De., 'aceea,t utilizarea corecta a porturilor neces ita consultarcadocumentatiei f irmei fumizoare ~ [391.

    Cite~te latch I~: 7 i1.

    .~i, ~ : . I ;

    Ma~stnla'interna D P3.x.. ' Latch

    L:' ,scr:ie:m ,dati:h: CL ' I

    Functii alternatel~ ie~il'e vcc

    Q

    Fig .2 .31 Circuitele asocia te unui canall 0Portul .serial UA~T este un port de comunicatic care lucreaza full - duplex(transmite ~l receptioneaza simultan) pe doua fi re. Se pot stabili rna i multe moduride lucm relative la:

    - structura cuvantului transmis (numar de biti, tip: date, start, stop, deparitate); .'

    - f ixarea vitezeide 't rans~isi~ (Baud Rate):- utilizarea conexiunilor TxD, RxD.

    2? 3._. . . ._._ Alg~0 ni si procesoare de comanda2.2.3.7 Setul de instructiuni rIMicrocontrolcrul ~OCSS2 foloseste acelasi set de instructiuni eu 805 I.

    Cirupclc de instructiuni sunt:- ariunct I ce:- logicc:- de trans fer:- de rami ficatie' / salt:- de operurc pe bit.

    Sc prezinta in continuare, sintetic, cele mai folosite instructiuni. Notatiile careintcrvin au urrnatoarele scmnificatii:RIl: rcgistrele R - R 7 din banca sclectatadirect: adrcsa unci locatii interne de 8 biti: RAM intern cu adrese 0-127 D

    sau SrRo locatio in RAM intern (0-255) adresata indirect prin R, sau RIdata (constanta) din campul unei instructiuni pc 8 biticonstanta pc 16 bit i d in campul unci inst ructiun iadresa de destinatie pe 16 bitiadrcsa de destinatic pc 1 I biti, in intcriorul aceleiasi pagini de 2 KBca pr imul octet d in inst ruct iunea urmatoareoctet el scmn ( 1 1 1 complement de 2) in gama -127, +128 pentrusalturi relativebit adresabil direct 11 1 RAM

    J nst ructiuni pentru oper atii aritmeticeA DD A .R n A=A+Rn

    A. direct A'' A + byteA, :(li Ri A =A + indirect RAMA, fi data A = A + data . ...

    ADDC - cu structurilc prccedente: adunare ell tr ansportSUBB 1\. Rn A = ,. A - valoare , e ll imprurnut

    A. directA. RiA, Ii dataARndirect: d , R iDPTRDEe Rnc li reeta ; Ri

    /(/) R ;:# data:# data 16adrle:~ Icl 1 I .

    ;i

    rd.bit

    INC .':ncrerncntarc Aceincrementare Rnbyte = byte + 1incrementare RAM indi rectDPTR =DPTR + 1dccrementarc

    '.J :.

  • 5/26/2018 Convertoare 40001

    13/44

    [ 2 2 4 Algoritmi si procesoare de couianda

    I I

    produs 8 biti diu Ace (tara scmn) Cll 8 biti din B (taraS(11111).in rezultatul pe 16 bit i, LSbyte ramfinc ill ACCiar MSbyte In registrul B.divizare Acc / B (octeti tara scmn). Partca intrcaga acatului sc se depune 111A iar partca intrcaga a rcstului III B.

    Instructiuni pentru oper ati i log iceANL A, Rn SI logic intre Acc s i Rn;ANL A, dircetSllogie intrc Acc ~i byte adresat direct;ANL A, (i~lRi $1 logic iutre Acc si RAM indirect:ANL A, #data Sl logic intre Ace ~i data;ANL direct, A SI logic intre byte direct ~i Ace;ANL direct, # data Sl logic intre byte direct si data imediata,ORL - cu structurile anterioare : SAU logic;XRL - cu strueturile antcrioare : XOR logic;CLR A stcrgc Ace;CPL A cornplementeaza Ace:RL, RR roteste spre stanga / drcapta continutul Ace:RLC, RRC similar dar prin fanionul CY;

    Instructiuni pentr transfer de dateMOY A, # data data -} Ace;MOY Rn, A Ace -} Rn;MOY Rn, direct byte direct -> RIl;MOY Rn, # data data -> Rn;MOY direct, A Ace -} byte direct;MOY direct, Rn Rn -} byte direct;MOY idirect, direct byte direct -~ byte direct;MOY direct, ({ f Ri RAM indirect -} byte direct;MOY direct, # Illata data -} byte direct:MOY @ ) Ri, A Ace -> RAM indirect;MOY @ Ri, direct byte direct -} RAM indirect;MOY @ Ri, # data data -} RAM indirect;MOY DPTR, # data 16 data 16 -} DPTR;MOY A, @ A+DPTR incarcare Ace Cll Ull octet de la ad res a ( (A) + (DPTR) );MOY A , @ A + PC . similar, dar adrcsa se formcaza adunand continutul PC

    incrcmcntat la adresa urrnatoarci instructiuni;RAM extern (adr.S biti) -} Ace;RAM extern (adr.I6 biti) -} Ace:Ace -} RAMextem (adr.S biti);Ace -> RAM extern (adr.Io biti);

    MUL ABDIY AB

    , I

    t I

    MOYX A,@RiMOYX A, @ DPTRMOYX @Ri,AMOYX C d ) DPTR, A

    depunere byte direct in stiva ~i,increl11entare SP .continutul var fului stivei.e;te'2it.it , ti~f~rat ll;'octetuldirect din instructiune ia r SP est~dee~~~entat;

    ~: ~:1ect ~ : c ~ ~ C : ) ~ ~ i~~~~:ba contil1u~rile~,l;tJr~i;(J,~if . : : .A, ((9 Ri Ac e AM ind irect i.;{:~~;;i \ -~,1 I t;~'1 .~A, (~ Ri comutarea tetradei inferioare intre' .Acc .cu cea--:Tl',;) i

    '.. dintr-o locatio RAM indirect adresatade.R] i,ti';.)..1i.Instrucpull/1 pentru operatii la nivel de bit ,II ,.;; ',t.' , 'II' ,,-. j'r(' . '. . ..- i' Jr r . sterge fanionul CY ; :'.,,': ,I, :.i, i 'I' ,.:-: /1;',,'bit stcrge bit direct; '., ii, . ,~ .., 'i,~'. d . '.l,.

    C seteaza faniouul CY :' :., i .'I :,,' ;-~; r';~.:::bit scteaza bit direct; , ,r;.;,. ;(;',1 ,i.. d.., . , '''1.;..1,'C eompiementcazii CY . . lid:: ,;n ',? ,, ;, I.,,:) ,II',lfll'bit complementeaza bi t direct; ';'.I.':;;'II.;'';C, bit Sl Intrc CY si bit direct, ultimul contine rezultat.. . ( IC, bit SAlJ, similar; : ::,', ,I; ,., .' ,.'C. bit bi t direct -} CY I, .'. ,' i, .,> lrei saltdaciiCY= 1', .'.,.j: ;f,: . ,f t, l.,},frei sa lt daca CY = 0 : . ' ; , ' : , 'ii,:, . .'i,rcl saltdacii.bitdire~t=l i , :;;L (i' IIIrei salt daca bit direct = 0: 1;:.:;'. + 1-,.;, ,.)bit, rei salt daca bit direct = I '~isterge bit direct, ..-ir.i:;:'/(, .

    Instructiuni pentru ramificapi pl'ogram .. ' .I:.1',; f;i,.. i,: i. 1(.'iI>A~ALL adelr 11 apel subrutina absoluta.t.: 'In:'q :,i, .'l:d:;II'q ,

  • 5/26/2018 Convertoare 40001

    14/44

    ., Aigoritmi si procesoare de comanda

    2.2.'fuNMICR.OCONTROLER DIN A IT-A GENERA TYE:/;j);'ipIC 16'C 7lX (Microchip Technology Inc)I. ,1d'Ji. .r. ,, 1(:

    . j. . ,,' :' ',I ' '2.2.4.1 Elemente'c'aracteristiceCodul 16C7lX desemneaza 0 familie de microcontrolcre de 8 bili, ieftine ~I

    performante,. In tehnologie CMOS rapida, cu putere redusa si CII convertoranalog-digital (ADC) -inclus. Bazate pe 0 arhitectur a Harvard, ell magistrateseparate pentru date (8 biti ) si pentru instrucriuni (14 biti), cu prelucr arc tippipeline (deci parale\ism partial) ~i folosind un set restrans de instructiuni (unitatecentr ala RISe - numai 35 de instructiuni), fata de microcontrolcrcle standardale c\asei de 8 bit i, PIC 16 C71X sunt de 4 ori mai rapide iar codul gcncrat pcntruprograme este de 2 ori mai compact. Majoritatea instructiunilor sunt executate intr-un singur ciclu masina.Elementele caracteristice:

    Pentru nueleuFrecventa maxima: 20 MHz;Stiva hardware cu 8 nivele;Adresare directa, indirecta ~i relativa:Reset la alimentare (Power-on Reser: POR);Protectie cod program;Mod ell putere redusa (SLEEP);Optiuni selectabile pentru oscilator;Alimentare 2,5 -- '6 Vcc;Capabilitate In curent: 25 mA;Disponibilitate pentru gama extinsa de temperatura;Consum redus (2mA15 V 14 MHz; 15 ~tA/3 V/32 kl-lz:

  • 5/26/2018 Convertoare 40001

    15/44

    -228 A lgoriLllli ~ip r oe cs o ar c d e eomamtlMCLR VDl>,VSS

    1 1

    WOTPORPOTDOROST Mag. date 1S

    AID TIMER 0 PORT B PORT A

    R B 1- 7 R B()IINT R A x -A NxFig. 2.33 Schema bloc a microcontrolcrclor PIC 16C7XX

    .1I 1ntr-o arhitectura tip Harvard, programele si datele sunt accesatc din I11CI110riisepa ra te prin magistrale distincte. lnstrucuunilc folosesc coduri IX: 14 bi~i , dcci desunt aduse spre prelucrare intr-un singur ciclu. Teluuca pipe-line, prinsuprapunerea etapelor de aducere (fetch) ~i executie, face ca toate instructiunilc(mai putin cele cu ramificatii) sa fie decodificate ~i executate intr-un siugur ciclumasina,

    Fisierele de registre si memoria de date sunt adresabilc direct sau indirect.Toate f isiercle de registre speciale (SFR) sunt ruapate 111 memoria RAiv1. Unitatcalogica ~i arit rne tica din CPU reali zcaza operatiilc aritmetice (adunare, scadere,deplasare biti) ~i I~gice de baza intrc operanzi din fisierul de lucru - W - ~i dinoricare alt registru. Procesorul este caracterizat printr-un set ortogonal (simctric) deinstructiuni, fiind posibi la operarea ill acelasi mod cu oricarc registru, frtrapreferin]e, Sc lucreaza In cod complement de 2. Rezultatclc opcratiilor afcctcazaurmatoarele f lag-ut i: C (Carry), DC (Digit carry), Z (Zero) din registrul STATUS..Un .ciclu masina dureaza 4 perioade de tact ale oscilatorului extern, frecvcntaacestuia divizata cu 4 fiind disponibila la pinul aSC2.

    1 J

    Organizarea memorieiDeoarece diferiti membrii ai familie i PIC IGCx.xx all volume diferitc dememorie, In continuare va fi referit ca reprezcntativ circui tul PIC [GC7l. Fig. 2.34

    reda structura rnemoriei de programe.

    Algoriuni si procesoare de comanda 22 (PC < 12: 0>0- 13. . ~STrVA nive l I

    STlVA nivel 8Vcctor/RESET 0000 Vector 1l1trcrupere 0004

    Memorie program 0005'on-chip I.03FF

    i: \ ' '' - ~ ' ' I .. ;1: ;.: r . ~I:~:> ' / : : t.: ~';{jrrCl{

    -'-dl; ; 1 . :; iP O ) r ~ ,':I~ ~;(1.;~n~j'..1~ .l~';l(';1:::,.':. _1; ~-l-'~}j':':tj:

    ~ .l,.:,',1;,;, ,:;:1:.' ~ ._Ar ,

    Fig. 2.34 Memoria de programe,h \'1' ._ < pentru;PIC:.I~ZV

  • 5/26/2018 Convertoare 40001

    16/44

    230 ; I Algoritmi si proeesoare de comandaC: Carry - transport de la MSB; la operatii de scad ere devine bit de imprumut activ

    pe zero.OPTION (adresa su, r s u Contine biti de control pentru configurarea prcscalerului TMRO / WDTintreruperea ex terna lNT, TMRO ~i iesirilc portului B.

    RfW - 1 RfW - 1 RfW - I RJW - lR fW - 1 RfW - 1 R/\y_= l _ r y w :J._IB i t 7 ' 1 .,+;, I . , I I ' I I - - - J u u o IRBPU r INTED. 'TOeS TOSE' PSA PS2 J~ PSt) IIRPBU - bit de validare pentrn rezistentele pull-lip ale portului B

    I: invalidare pull-up0: validare individuala prin va lori Ie latch - urilor portu lu i

    lNTEDG - selectere front act iv pentru intreruperel: intrerupere la front c rescator la pinul RBO / INT

    .,0: intrerupere la front descrescator la pinul RBO / TNTTO(~ selectie sursa clock .

    .1: tranzitie la pinul RA4 / TOCKI.' . -;; :. . . , . , . . . ~ . , d:... ~.. .. ,::i~ .~.W~~c.tdeJsi:lqins~r:uc~iune(CLKOUT).:rOSEf~~.~lectl_eJront . h i . , semnalele.pentru TMRO .\ > , :; l::tranzitie}alront descresca tor la .pinul RA4 / TOCKl:.' .' O:tranzitie lafront crescator la pinul RA4 / TOCKlPSA ~bit de asignare prescalerI: prescalerul este atr ibui t laWDT .

    0: prescalerul este atribuit timeruluiPS2, PS I,PSO - setare prescaler pentru TMRO si WDT.

    IN,1:CON'(ad~es~OBh, 8B 1 1 )Contine va lida ri si flag-uri pentru depasirc timer, schimbari la portul B ~i

    pinul de intrerupere extema.Porturile

    . ~ , P o ; i u I A t.~~HjJ .J_ , i,.5'.'',~' ~. Citirea registrului PORTA inseamna citirea star ii p inilor. Scrierca la p ort

    'inseamna scrierea in latch. Toate operatiile sunt de tip citi re - modificare inscricre,aceasta presupunand ca 0 scriere la port irnplica citirea pinului, modificarea valorii'~~~poi'crierea datei Inlach - ul pinului. Trei dintre pinii portului A sunI

    Algorililli ~iproccsoare de eomand?l .231mu lt .p lexati eu inuari analogice . Registrele implicate In utilizarca portului A sunt:POlnA, TRISAli ADCON I.

    Portul BPortul B cste bidirectional de S biti Sensul 1 / a este selectat prin registrul

    TRJSB Sctarea bitilor sii aducc pinii In stare de inalta impedant a iar stcrgerea lordc te rrui nri transferul giilor din latch - uri la pini . Toti pinii au 0 im pedant a mica,intcrnfi, de sarcina (week pull-up), programabila software. Prin stergerea bituluiIRfJPU din rcgistrul OPTION aceasta polarizare este realizata, La configurarea caiesirc, automat accasta polarizarc este eliminata ~i la fel la RESET. SFR implicate111 uti li zarca portului B sunt PORTB, TRISB si OPTION.

  • 5/26/2018 Convertoare 40001

    17/44

    ' .'232 Algoritmi ~i procesoat:e de cOIlla.J1d~ ._. .__._.

    , I

    la fiecare ciclu instructiune - 4 x Tck. La modu,l de. num~rare ::'MR,O cstcincrementat Ia fiecare front descendent de b. R.,If'Tirncrul PWRT intfirzie intrarea 'ill operare normala 0; durata' de 72m~delaPOR, uul izand un oscilator RC intern. .OST cste un timer care numara 102 4 perioade de la aSCI dupa ce PWRT

    estc terminat, nstcptandu-se astfcI stabilizarea circuitului 'de ceas .exteru.Modul de putere redusa (SLEEP) I 'j ': 'I, ,,:,': '.} I ,...

    . __ Intrarca In rcgim de putcrc rcdusa este realizata prin instructiunea SLEEP.\\ 0 I - daca este validat - va f sters, continuand sa functioneze. Bitul PD esrestcrs, bitul /TO cstc sctat iar drivcrul oscilatorului este deconcctat. Porturile'Vb isimen]: tl valorilc, Revcnirea din SLEEP sc realizcazji prin: _ ,.

    Reset extern la pinul IMCLR; .'i' )':'ilZcactivarca WDT (daca acesta a fost validat);Lntrer'tpcre la pinul INT, schirnbare la portul B sau intreruperi ale perifericelor(TMR I, ND eu tact RC) .

    . iProtej area codului

    . . ,Locatiilc de rnemoric 2000h - 2003h sunt rezervate pentru un+cod deIdcntlbcare (lD) El poate fi utilizat pentru 0 suma.rie, control.isau 'WI cod deidcntificarc ea atarc. Locajiile respective IlU sunt accesibile 1111 ' timp~l~operarii

  • 5/26/2018 Convertoare 40001

    18/44

    234norrnale dar sun t citibile si inscriptibile In timpul programarii I vc rif icar ii.

    Programarea seriala in circuit. Programarea In circuitul de aplicatic se face prin folosirca urrnatoarclor

    ~one~illrii:, date, ceas. rensiunea de programarc V pp, tensiunea de alimentarc V)I)simasa ... i;,. I': : ;::.;n),~t;' ~I . ',;:;2.2.4.3 .Setul de instructiuni

    .;. 'i.,. ; i r, ~1 '; \ 1)(1 ~ ., ',; lnstructiunile.microcontrolerului PIC J 6C7 J folos esc pcnr ru orCODE $ioperanzi 14 biti. I;' ,,' ,,o paite din instructiuni SUIltcu operare pe byte. Pentru accstea, f rcpr ezi ntareg;:st~l}i$ier'lItilizat iar.d locul depunerii rezultatului. Cfind d = n, rczultatul estcplasat IfIegistrul delucru, iar dad d = I, rezultatul este lasat 111 registrul spccificatde instructiune. Format:

    1-- - , - , --- 13 _ _ 8 \ - - , 7 Ci_Y

    ;' ' ,.OPCODE .. d [ f = : J'. ,:Alt~ i~~t~~ i~~i '~~ntde tipul eu oper arc pe bit. I n acest caz, b descmneaza

    b.itu~afectatoperatiei iar, f constituic localizarea bitului. Format:

    , A' treia categorie de instructiuni 0 constituie aceea a insrructiunilo r lit er-alesau de comanda.: La acestea, k este 0 valoare constanta sau literala pe l\ sau I Ibiti,'F,o)'111at:fiblj';1:; : ,. , .

    1(,: : .InstrucjiunileCxl.L sau GOTO:

    l-.el...c3--0-p-C-O-D-E-c:...ll-'-i....:l-O----k-'- ----J:.Alte notatii :

    ,; : W: registrul' de lucru (acumulator):\, .'. TOS':rv5.rful stivei,

    Toatc instruct iunile se efectucaza intr-un ciclu instructiunc (4 x Tck),' maiplq ill in cazul cand 'tcstclc de con di rii sunt adcvarate, sa u cand PC este modificatde catrc instructiunc. I n acestc cazuri, exccutia durcaza 2 cic1uri instructiune,

    Sctul de iustructiuni estc rcdat in tab. 2.4.Tnbelul 2.4 lnstructiunilc microcontrolerclor 16C7xx

    -----,--- Dcscriere Fanio ane Comen-1 - afectate tarii- -pe octet ~ ;I F e , , , w ' f C,DC,Y------__--- I~ ._ . _ ._ . ~ I log~J:_ltrc_~..J~ Z_____5_~.1li.e Z

    Sterge W Z-_ Cornplcmenteaza f ZDccremenreaza f Z

    I Dccrclllenteaza f, salt daca este 0-~--------------Incrcmcnteaza f Z.----.-~--.-.-------- ~crcl1lcr~teaza f, s,~t da.~ CS~~ 0_~~JJ.9g0-'~t:~_'Y~~__ . zMuta f{ln W sau f) Z_.---_Muta Win f._ - Nici 0 operatie. Rot~ sprc stanga prin Carry C-- Rotatie spre dreapta prin Carrv CScade W din f C,DC,Z._-c-----Comuta tetradele din f- - - J - . . .- - - - - .I___ ..?~_U excusiv intre W $i f Z

    ... ,pe bit ,

    Bitul b din registrul f este sters------ .J?i .~\U._~inegistrul f este setatSc tcstcaza bitul b din registrul f,

    sa It daca este stersDaca b=I. sc executa Iinstrucriunea urmaroare

    ~Dad b=O; in locul instruci iuni iurmatoarc se executa NOP._- _ . ,._ ...-._. _ _ ._-,._--

    ;-M~;noni~__gperan~ lnstructiuniI 'L _ /\DDWr f,I--~-----'- -- -- -----, AN OW \'-' f. LI-(~ii:-f -...[g~~ \V ~ = ~ _ = ~LCOMF~i DECF f cII-------~--- ..I . . I ? _ E S _ ~ ~ ?~~I INU' I.dI - - . . . -- ~ ~ -- . :. - .I ._ ' ~ ( : : ' :s . z i _ , . Q ., IORWF L dI ~- ~ f g ~ ~ ~ ~ , - -[NOP---i r z L'F ( ( 1 - - -iRRFf,d---[SUBWF f. dI= ~ ~ ~XJ:,A~I _ X QJ{\yF~~~II InstructiuniL - 'I nCF (bII~SF f. cI._. .__I I1TF SC f bIIj1- ... . __

    (

    \ 'I

    ~~ ._- -------

  • 5/26/2018 Convertoare 40001

    19/44

    Algoritmi si procesoarc de comanda _

    Se testeaza bitul b din registrul f,sal t daca este setat':tructiuni literale si de cornanda

    lANDLWkI

    rrO,/PD

    Aduna continut W cu k, rezultat In C, DC. ZWSl logic intre continut W ~i k, Zrezultat illWCALL k A el subrutina

    CLRWDT Ster c WDTGOTOk Sal t la adresa

    SAU logic intre W si k, rczulatat III Z~~~~~W~~~~~~- - - - - - - T- - - - - - ~- ~-~M~O~V~l~.W~k~-j~M~u~t,~a~c:::UV..::a~l~lt~lI~1: k . . : : l l : . : .l ~W ------r------.-- ._~R~E=:T~F~~IE~--+:R~e:..v:.:e:::ll::i:.:rc7_d~in:...l::.n:::t:..::re:.;:ru.:::Lc:_>I---e-:-~~-nrl---------RETLW k Registrul W este incarcat cu k. PC

    este incarcat cu varfu stivei (adresade revenire)

    IORLW k

    ~RE~=-T~U~R~N2-_--+~R.:::e::.:'v:.::e:.::[l::::il;;:e:..:d:::i::::l1:..:s;-:u:;:b:.:.r~u~til~Ji-'-~~-:-:7-lnm.--;rm----SLEEP lntrare In mod de uterc redusa rro, /PD_SUBLW k . Scade registrul W din k, rezultat In C, DC, Z = c~~W~~~ IXORLW k SAU EXCLUSIV intrc W si k, Z

    rezultat in W __ Jo instructiune speciala estc OPTION, care trausfera continutul W 111

    rezistrul OPTION' si TIUS f, care transfera continutul registrului de lucru In TRISf .Aceste doua instrucjiuni flU se rccornanda din motive de compatibilitatc a coduluicu versiuni ulterioare ale circuitului,o instructiune poate opera asupra unui rcgistru cu dcpunerca rczultatului tot inel. Acest lucru poa te f i uti de exernplu pentru testa rea registrului prin urmarireafanionului Z. Daca registrul respectiv este unul I/O, valoare folosita va fi cea de lapini. De exemplu, daca data din latch este 1 pcntru un pin configurat ca uurarc,daca un circuit extern aduce pinul la 0, data va fi scrisa apoi ca O.o buna parte din instructiunile pe octet si bit sterg prescalerul daca registrulimplicat este TMRO iar prcscalcrul i-a fost asignat lui.

    Toatc instructiunile pot avea eticheta

    Algoritmisi procesoarede comanda 237.------.-------=------ ----------~---:::.::...:..2.2.5IMI)LEMENTAREA UNUI ALGORITM'NUMERIC'DE f'REGLARE A POZITIEI CU MICROCONTROLER' ,II ,J 1: )1 :Se impune realizarea unui controler de pozitie In 10gica.prograqJ.atii, pentrusistemul de actionare electrica cu motor de curent continuu cu rotor disc descris.la

    2.1.5, beneficiind dc aparatul sistemic dezvoltat la, subcapit9t~t~lJ1l?n i.9nat ~(derczu ltatele simularii pe model. Aplicatia a fos t implementatape .:im::sistemjdedezvoltare cu nucrocontrolel~ul. 80C552 (Philips), ~flat,ln dotarea.l~~?ratorullih deCorncnzi Numcrice ~l Facultat ii de Electrornecanica din CraJRv,7:, ;,.,',,': ;) . 1 '

    2.2.5.1 Organizarea algor itmului pentru timp real _, . t' f :',.::1 -r i; , tPrincipiile de baza pentru irnplementare on-line a, algoritmului.suutLIITnatoarclc: . : 11 f . i

    - iuformatia de pozitie cstc prior itara ~imodificarea ei (pr imirea unui puisde la encoder) trebuie luata imediat inconsiderare printr-o Intreruperehardware; J . ~. '. , . .. .:- prclucrarilc pentru claborarca comenzii sunt ciclice durata unui ciclu fiindperioada de csantionare T; ; .. '. '~'i ;:~~~:... ,., . I ;

    , .'. . I- deoarccc pc 0 durata T sefac mai multe actualizari ale erorii de pozitie C a l c ,algoritmul va fi de tip strict cauzal, cu un timp mort dat de T. Comanda Ck~1sc dctermina In funcue de elcrnentele de la pasul anterior: .ck+1 =f(6.Nk'ak,ck) ' (2.208)

    i ~. f _ . : \ ~ __ , ~ ~' - , : ~ ' ~ : . '.. 0 \ .Elcmentel software caracteristice algoritmului d e timp realsunt redate infig. 2.36. Fig. 2.36a contine prelucrarile din programul principal (MAIN),.intreruptde rutinele INTO, lansata la fiecarc front descendent al impulsuri lor traductorului ~i .RT2 lansata prin software de catre timer-uI T2 care marcheaza perioada deqantionarc. t . - - ~ - .

    INTO, ilustrata ill fig. 2.36b, realizeaza : : l[,. 1 r. ,_ . J- decremcntarea eu 0 unitate a e rorii de pozitie la fiecare pylsJJRO; ;- incrcrnentarea lui liNk cu 0 unitate la fiecare puis TIRO; .- testarca conditiei de eroare de pozitie nula, moment in care est~ setat fanionul Fl.

    RT2 (fig. 2.36e) parcurge etapee:, . 0 . 'I :'1i,r ; ,ii ~'Jd- preluarea datelor finale de la perioada de esantionare (k-l) dintr-un buffer dedicatpentru utilizarea In algoritmul strict cauzal; .. ._- rcpornirea T2 pentru masurarea perioadei de esantionare.il F ~: ~~rII .- detcrrninarea vitezei; .' .. , ,C': .idlfi I; t.,, I; :.11' r;-: f:ln(): i'- ealcululul comenzii; ; I.. '.'It I:,'i {J i':: : '_ (j,:. ti:JH;,:,U .:il- prclucrarea comenzii calculate ~itrimiterea rezultatului in'exterior; , :- .:,, ):'.'/1I;.

  • 5/26/2018 Convertoare 40001

    20/44

    238 .1 ... Algoritmi ~iprocesoare de cornanda- salvarea unorvaloriin-zonealocate pentru analiza off-line:- actualizarea bufferelor cu.valori necesare algor itm ulu i.'J' ,j,,';'; .,;11;' STARTJ '.': ;.;: : jI',.-:J ' \11 ';:' .1\.', r. L 6'ltt'JI~'o~fi;cle'~tt .~) IJ,..'Pregatire.SFRJ:,' , .' ,I . : ' ,Golire:NVRAM, pentrufnreglstrarl on-line.Comanda iniliala'

    Validare fntreruoeri

    b_

    D.Nkbuffer'(-- D.Nk2 O' .k buffer ~ :::o~k

    Comanda trimisa 111~Ji,/ // Depozitare i

    In.... lI c:u,k, (0k: ','k - '. k out . il f

    Ck-l ~ Ckaut

    c.. Fig. 2.36Prelucrarile in tirnp real pentru algoritrnul de control a pozitiei

    , 1:',,'1 1 .:. . ;, i:~' JI } i: S . ~ ~ i I In 'fig. 2,37 se prezinta derularea temporala a task-urilor, evidcntiind

    prioritatea maxima a rutinei IN TO si necesitatea unei durate minime pentru aceastaPre\ucrarea comenzii Ck pentru obtinerea valorii Ckou, care este trimisa la porrul deiesire se refera la (fig, 2,38):

    A 1 mil mi ~ip roces oar e de comanclii

    - obtincrea unci corncnzi pentu iesirc de 8 biti, compatibila cu formatul referinteisursci care alimcntcaza clcmentul de execu]ic;- saturarea la valoarea ma xima care corespunde tensiunii norninalc;- adoptarea unei valori mini me pentru comanda, nurnita de prag, ce corespundedeplasarii sistcmului cu vitcza minim decelabila. Pcntru comanda intr-un cadran asistcmului de pozitionarc. acc.ist.i tchnica elimina comenzile care se situeaza subpragul de scnsibil itate al motorulu i electric -- I J 7], II Sl.

    'I 1'T

    Fig, 2.37 Distribuirca task-unlorde timp real

    T t < + ; . : . c . .t-~iI r--J r--; rLSE ,tno / / / t/ /) :' I)LG ~~,,;: : ; / , ; : (. 1 t..-,) f;/ ; ' ~0~ 0: t'\II\J; : // -;.>

    lL.A

    ~k out. IT Ii1.X . t ?

    C P J ~ ~ _ _ c - . , ~A ~i\1SB L SB

    /

    Fi~, 2.38 Procesarca comcnzii calculate de algoritmuJ de reglare '2.2.5.2 Progr nmul 'in limhaj de asamblareModulelc si comentarii lc clin programu I sursa prezentate 'in continJi~~' ~

  • 5/26/2018 Convertoare 40001

    21/44

    240 Algoriuui si proccsoarc de comaudailustreaza 0 midi par te din elementele practice legate de implcmcntarca on-line aalgoritmului.; INTO.- Rutina de intrerupere cxterna (hard) activata de encoderescg at intrOljmp rintrOcscg at rintrOusing 0 elr p 1 .2

    setb pl. lpush acemova,aekljnz eor2lmova,ackhjnz cor22mov stop,#Offhpop aceelr exOreticor22; dec aekhmov aekl.suffhljmp eor23

    cor2l: dee ackleor23: ine adnkelr pl.lmova,semafjz eor40setb p1.2

    cor40: pop acereti

    ; reset fortat fa nion rl2; marcaj pentru durata intreruperii initiate; test eroare pozitie nula; rutina decrementcaza eroarea de pozitic cu; 0 unitatc; set fanion STOP

    ; LSbyte er. poz. nul

    : LSbyte cr. poz. nenul

    ; preluat val. semafor

    1

    ; RT2cseg at rt2using 0 cplpl.O

    setb p1.2mov semat~#O1hmov adnkb.adnkmovadnk_lb,adnk_mov adl1k,#OOhmov aeklb,aeklmov aekhb.aekh

    ; TASK.I ; stergere T20V pentru relansare timer T esant.

    ; marcator perioada de esantiouare: marcator durata prclucrari algorim de reglarc: set bit SPA pentru combinate fan. rt2 - intrf

    ; go lire dnk pentru achizitie

    Algoriuni si proeesoare de comanda 241--------------__-------...:::.-----~---------------=~, TASK 2: inregistare eroare de pozitie ' . '. 1(>:,0[ '.J ' ,1. , ~ -,,: TASK 3 : forrnarc imagine viteza ( 8 b it i, in SI) - traduetor soft .;~' ,. lr. :;,; TASK 4: inregistrarc viteza i ,;'.:-...-';;f~;:i 'iti : .:, ,J.',Ji f:, ,ir: TASK 5 : calcul termen ckl .. ' ,II} '1\ '.,if; .., . i' 1':'-;:; ,; . ,I,~TASK 6 : calcul tennen comanda ck2 ,f ', i,ii:Il{'),:''' .~ :.., .d;:~ .;.: TASK 7 : calcul termon comanda ck3 '' i.. .,~,;:,;: . ' J '; ' : - s ;: .; ':' ,'.'I''o.' '; TASK S : calcul fin al comanda .: .';'\:;':;': , i , i i ...nih;\1: TASK 9 : procesare cornauda calculata: n.' I. ,,;r,\., I : :.lli .iI ;' .) '.:~'.;:iLl;'; TASK 10 : inrcgistrare cornanda real izata si test nedepasire zona rezervata 'un ij ;. r .Schema bloc ~in fig. 2.41 reda elemcntele constructive eS,enlia e a D Sl

    controlcrului C24x. In afara spatiului pentru date ~i adrese, ,,yu. magistralele 1 0d isunctc, cxista ull ai 3-lca spauu ~i0 magiWala dedicata., pen tr u illtI1iri ~ iesir(/i0) l3us-ul iutcrfctci extcrno, permite utilizarea / selectia unui mare ;null).iir d.peri fence. Accasta magistrala tiind mapata III zona de 'date }i~il1terfaqti.i. cimagistrala de date printr-uu modul sistem, toate ills,tructiunile care .opereaza IIspatiul datclor, opcrcaza de asemcnea asupra registrclor pcrifericelor:.' ..~ I

    . Scpararca zone lor de mcmor ie ~i posibrlitatea i transferurilos pc. i.nagjstral(distinctc fac posibilc prclucrari paralelc. De exemplu, in acelasi ciclu masina, $(ponte rcaliza 0 l11ultiplicare, adunarca unui produs anterior la ~acul~ulator ~zcncrarca unei noi adrcse. ~ ; :. :: > -,

    DARAJ'v1. scmnifica mcmorie RAM cu acces dual (Dual - Access RAM)JVlagistrakle de date si de programe sunt div izate in 6 magistrale interne, ~upa CWIurincaza: i Magistrala p eutru adrcse externe, in: ..'.'

    PA B - magistrala adreselor program, vehieulcazii adrese atat pentru citi[e ca.lsi pcntru scricre 111 memoria program; ' ; i \DRAB - magistrala adreselor pentru citire date, vehic\lleaz~ adrescpcntru citiri din memoria de date; i , : ~ 1 1DWAB - magistrala adreseior pentru scriere date, vehiculeazaj adrese pentruscrieri in memoria de date. ;;, , i ;.

    Magistrala pcntru dale cxtcrue, Ill: ... - ._ . lPRDB - magistrala pcntru citire :progrfllll,l', .. :~ehlculeaz~ codulillstruqiul1i1or, operanzi imediati de la memoria progni0.',I~. C~U; ' r -1D RDB - magistraJa pentru citire date, vehicuieaza. datele. di memoria dedate sprc CALU;;i unitatea aritmetid ell registre auxiliare; __ j .:DWEB - magist~ala pentru scrierca datelor~. ~e~~~cu,~~za s = . r t i i t .sprememoria de date cat ~I pentru cea de programe . t ', ' ~ lExistel1 a unor magistrate distincte DRAB si DWAB perl11i~elca~CPV sa

    poata scrie si sa citeasca date 111 acelasi ciclu masina, Fiecare modul figurat IIIschema bloc arc un spa tiu de adrese corespunzator. Pentru diferiji mernbri aifami liei C24x, inscrarea unor blocuri periferice implicii utilizareauneia 'sall' maimultor zone desemnate ca disponibile . Configurarea':modului de lucu pentrunu clcu sau periferice sc reali ze aza prin int errn edin a 67,de registre programabilede catc 16 biti. '.' Ul' .. :,( : 1.. '11.

    I

  • 5/26/2018 Convertoare 40001

    24/44

    ;' ' . 2 - . 4 . : . . : 6 o < - A....: 'g'-o _ ritmii p roces oare de com ~nd ii. , . _

    Ma: o :; slia1:~i' ,.;.

    program

    I. I I 0, . M a g i ;t r a l '~ :C :i > I, . r , '. , ~

    DillUUvl'::. .,. ,,~. , -> I r J i l ll:-: t ' 1 \ Zona dateCNF=O

    11 ;:. J , . ~ F l a s h f R O M ; DARAM ~,, 'I' ' :, (En

    :DARAM(B2)~ .. .rc 1-_' ,:-.- - - , - ; _ i : : . ; J : : ; .. I . . : , . : - -,

    SAR:.4lVlj. ~: :

    ~ , ::zona progr.] .Zona date~I _. . I J I I '

    Managereveniment e ~

    Generatori j ~ . : . IJ I .....14--4- . stan,.. ~ t e p t a r e 'Test l

    emulare

    vIaRi sIi1i:idate M o duls ster n

    f . . - . { ' Dispombil If . . . - . . I R - e g i s tf u Gomanctil.c-~T N D iR TI /' PLL J~I ADrO~ SPI IHSCI IH D ispo nibil IHomanCli1llJ~:3H D isponihil l'HI I 0nurnergH Disponibil If . c - - . j D i s p o 1 i bi l I..-.. j DisponihC ]~ Di sponibil J> '.' ~' ':-i~t~f4irna~stra1a

    ;':i i ~ ,.;;;. tL' . ''I ;; ...xternau: '.li., ' ' ',:1:,' , ,I ''',. 16 Hi+ / / ';:',1/, 1:J\().,:.;li/':,,' ,I / /,.. / ,,'_/ .. ' ; ':i:'.:II,j I ',,: .; Ma gistra la116 tth' '~ ., .: >,: .. : Magist rale extem e p eriferice, .,~:jr.LU ..V .:.' I.lt-' ,t1, ~,... ,} :Fig ': 2A Schema bloc a controlerelor DSP TMS 320C24x

    247 cPt:. prin structure ~i modul de lucru, estc in primul rand ounit ate putemicii dec11cIII Multipl icarca ell rezultat pc 32 de biti intr-un singur ciclu masina faceposil,oI:1 implcmcntarea comoda a unor algoritmi de convolutie, corelare si fil trarenumcrica. Tot CPU contine logica de generate a adreselor de date ~ide program.;\R;\U lucreaza 'in paralel cu CALU. ) ,

    Mcmmia cstc divizata In 4 zone selectabile:memoria program (64 kwords), continand instructiunile care urmeaza s A fiecxecuratc sau date necesare in t impul executiei programului;

    - memoria datelor locale (64 kw), rerinand datele folosite de instructiuni;- memoria datclor globale (J2 kw) care administreaza date 'in comun eu alte blocuri

    sau scrvcste ca spatiu de date suplimentar; .' ,- spauul [/0 (64 k\~') pcntru intcrfatarca cu perifcricccxterne, co ntinfind 'de;1';CmCI1Caregistre on-chip, , ,

    Rclativ la tipul memoriilor alocate acestor zone, intervine 0 oarecareflexihilitate software si hardware. Astfel, prin bitu CNF din registrul :STl,DARAM poate fi configurat In totalitate ca zona de date (CNF =0) sau, 0 parte estezona de date iar alta de programe (CNF =1). Selectare memoriei' pr'ograni illtTemtcrn ~i extem revine unui semnal la pin si tot hardware se prescrie un spatiu ,deadrcsc pentru memoria de date / program tIC In interior fie In exterior,

    Exccutia pr ogr amului este de tip pipeline, cu 4 etape care se pot siiprapune:aduccrc instructiune, dccodificare instructiune, aducere operar1d~iexecu ieinstructiunc Asa rezulta posibilitatea realizarii instructiunilor intr-nnsingur cicluma~in;'\ pe durata a 4 cicluri se prelucrcaza (In stad ii d iferite) 4 instructiuni.tStivaare X nivclc ~i anurnite instructiuni pot beneficia de 0microstiva (1 riivel) auxiliara.

    Functiilc sistem sunt:- rransfcml (~Iintrc magistrala de date a CPU si magistrala perifericelor (care poate' .11Ier~1ll un fact mai lent), monitorizat de modulul sistem; exista $ i blocuri - decxcmplu managerul de evcnimente - conectate d irect la magistrala CPU. . ,,' ''~

    - con figurari / status prin rcgistrele prograrnabilc: t - corurolul iutrcrupcrilor:- co ntrolul mo durilor de pu terc redusa, In numar de 4.

    lntr('rupcrile, III numar total de 31, pot fi softwaresau hardware, acesteadin urma exreme sau interne. 0intrerupere este fie mascabila fie nemascabila. Celemascabilc al I () nivele de prioritate. In afara acestora exista un i.ndice' de priori tateglobala.

    Rcsetarea procesorului sc face automat in situatiile:- intcrvcntic WDT ' ', '- reset soft wa re:- init ializare 1 3 concctarc sur~d de alimentare;- VI)jJ in 3r;lra pl ajci admisc;- adrcsa ilcgala:- semnal la pinul Reset.

    I II: '

    'i

    '- . . .it.. .

  • 5/26/2018 Convertoare 40001

    25/44

    Modulele periferice.: i. Managerul de evenimente (EY) este 0 structura co nplcxi, cu functii ~I~~~acteristici specifice pentru cornanda motoarclor electrice. In afara unor blocur:de utilitate generala (timere, unitati de capture, de compararc), se menyoneazamodulatorul PWM, cu 9 ies iri independentc, CIrcuit pcntru comanda PWMvectoriala (SY-PWM) ~i modulul de gene rare a timpilor de garda - ckmel:tespecifice comenzii convertoarclor statice de energic pentru actionari clcctricc. EYii sunt alocate 39 de registre de configurare I status.Pentru t imerele generale (GP) exista prescalere, posibilitatea de c~scadare pe'32 d~ biti, de oprire, de control a sensului de evolutie, de selectare a 'lllO?UIuIdenumara re (unica I continua), de corclarc cu startarca ADC ~l de gCllcran; a formclorde ~;lda i n rampa simctricc sau asimctricc . .

    Unitatilc de captura simple au asociatc catc 0 icsirc PWM rar cclc dublc catc2.ie~i ri PWM, Baza de timp este preluata de la GP. Circuitclc PWM con~l~generatoare de unda simetrica I asimetrica, unitatilc pentru tnnp i de gardaprogramabili (DB.U), blocul SY-PWM si modulul de icsrrc. Rczoluiia PWM cstcpe 1.6'bi~i. Reglajul DBU estc in plaja 0 - 204::\ cicli ceas CPU Blocurilc de rcsrrcgestioneaza logica de sclectie a nivelclor active la momcutclc de comutarc /comparare ~i fac fun ctii de set I reset, basculare si mcntinerc . .,. Blocul SY-PWM asigura 0modulate optirnizata, cu minirnizarea armonicilorcurentului 'in fazele motorului si 0 utilizare mai cficienta a sursci dccat modulareasi;1Usoidala. .2. Convertoarele ADC pot realiza couversii continue sau unicc, lausatcsoftware' sau hardware. Contin circuitcle S&H, un prescalcr pcntru tactul conversieisi depun rezultatele 111 unitati FIFO cu 2 nivcle (retin 2 rezultate).

    . 3 Modulul de interfatare / comunicatie seriala SCJ realizcaza rransrcrunseriale full-duplex Intre CPU' ~i perifericc asincrone cu rata variabila (prin 6 biti,de la 9,5 bps la 650 kbps pentru clock de 20 MHz) Are posibilitati de tcstarc acorectitudinii transfcrurilor. SCI lucreaza Cll formatul de date NRZ (non-return-to-zero). Ultimul bit din camp scrveste la distinctia adrese / date. Pcntru comu nica iiiintcrprocesor exista 2 protocoale spccificc.

    '. 4. Unitatca de interfatare serials eu perifericele (~Pl) este de fapt un portsil~cron serial rapid 1/ O. Servestc la cornunicatii eu pcrifcricc externc sau ell altccontrolere. Sc pot programa: lungimea cfimpul ui de date, rata de tar usfer (125selectii), 4 moduri de lucru pentru tact.

    5. Modulul WD / RTl arc fu ncti i de watchdog si sistcm de intrcruperc IIItimp real (Real Time Interrupt). WD intervine prin Reset la ramancrca in buclc sa~defectarea CPU. RTI opcreaza prin gencrarea unor intrerupcri periodice care pot IIvalidate sau uu prin software.6. Porturile I / 0 numerice contin 32 de canalc.

    7. Modulul PLL este uuitatca de sincronizare, Cll4 sctun de tactc.

    Algoriuui ~i procesoare de comanda 249Programarca procesoruluiSe pot utiliza 3 moduri de adresare:

    - adresare imcdiata, cu varianta de operand scurt, (pe 8, 9 ~;'dbi l)~i;~~ri~ta deoperand lung (pe 16 biri); , ,.. , ,,(, -. ,.n~ n '

  • 5/26/2018 Convertoare 40001

    26/44

    250 A l go ri tm i s i procesoare de comanda2 4 APLICA TII CU UN CONTROLER DSP,

    Aplicatiile descrise se refera la utilizarea kit-ului ~CK 240 al firmeiTecilno~Oft' S.'A:.'- [31];baZat peeontrolerul DSP TMS 320F240 (TexasInstruments) si aflatrr; dotarealaboratorului de Comenzi Numerice al Facultarii deElectromecanica di'n'Craiova - .

    2.4.1 ELEMENTE HARDWARE, Fig. 2.42 prezintacomponenta pla tforrnei experimentalc Un motor firaperii (PIITMAN 3441E023; 19,1 VDC; 9100 - 500), avand incorporat un encodercu 500 imp. / rot.~i 3 senzori Hall, este alimentat de la un invertor trifazat PWM(100 kl-lz). Curentii din coloane invertorului sunt rnasurati prin intermediu,1 unorsunturi ~isemnalele respective sunt conectate la intrarile convertorului ADC de laDSP, Acestacomunica prin SCl eu un calcula tor care se constituic ca un terminalirifeJiMrit.Un'blo6'de memorie adit ionala de 32 de kcuvinte poate fi ut iliza t pent ru

    dattsil'u ,programe,Platforma,mai continc clemente de concctica (incluzandrriaglstral'a DSP), cuartpentni circuitul de ceas, jumperi de configurarc hardware,LED-UTide semnalizare.

    . .If.J .. :/,~ I J ,:1.. .J\~ , :\

    Fig. 2.42 Elementele debaza ale kit-ului MCK 240

    Algoritmi ~iprocesoarc de eomandii 251Sunt utilizate urmatoarele resurse hardware ale controlerului DSP:

    - I ntc rf a] a S C T (pcntrn comunicatie):--ADC pentru masurarea curcntilor motorului;- Bloeul PWM ell timerul T l , pentru generarea impulsurilor cu modulatie(simetrica) in latime;- Timcrul T2 pentru generarea perioadelor de esantionare pentru buc1ele deeurent ~ivitcza;- lntcrfata E,lEP pcntru masurarea pozitiei pe baza impulsurilor de laencoder;- GrIO, ClI 3 b i ri p cnt ru intrarile de la senzorii Hall;- Bloeu I de intreruperi RTf, pentru:- Transmisic - receptie;- Contr .) eonversie ND;

    - Moniiorizare rut ine de lntrcrupere asociate buclelor- de curent ~1vitcza (T2 comparare).

    2.4.2 ELF:MENTE SOFTWAREPlatforma MCK 240 arc integrate clementelc software in pachetul MCWIN,ell rularc sub Windows, continand: program monitor (rcsponsabil de exploatareaunor resursc de baza tip ice ~i de comunicatia prin SCI eu PC), evaluator al

    procesorului (ell acccs Ia 0 parte din blocurile hardware periferice ale DSP-ului),un set de instrumcntc grafice pentru analiza miscarii si programe aplicative.Structura fU 1e ionali software pcntru aplicatii de control a miscarii cste ilustrata 111fig 24:i.Mocllli comunicatic

    Comcnzi miscarc .. - [ -------I-:--b .'--:--~ i'- ---- -..----., ntrepretor rm ~1 rmscare .--..-------.-~------------:--:~------ Parametri miscare IGc n crater referin la I . , . . . , . -',-----------------.----~--...._.-.....:.---

    ____._~~~~~i~i~~~otor ~[ __ Comanda motor~.:----~-,--:-:--~---)--.-------------i Referinta curent / camp J .'Rcferinta r WM .._jf----------------~-~-- -~---------

    _..._~?~1~

  • 5/26/2018 Convertoare 40001

    27/44

    \252 Aigonuni si procesoare de comanda

    Structura sistemica asociata aplicatiei este redata de fig. 2.44Vas , Sen z( t'i

    L * v* 7 - r . : H ~ 1. Regul~:or~\ Regulatorj-+ comutapel~ invertor -.,..BLD~-P'0lMtensiuru * ~l/it eza curent P4 L_AImas r \\(nc ),-- 'Ia ;J Comllta~e I ,, ,I curent I' ,. _ t Ib ,Estimator -'de vit ez a f .c - - - - - - - - - - - - -. - - - - - - , - - - - *, y C f if ; \f ~ -Jt-

    t - -

    F' 0 2 44 Schema de rcglare pentru comanda motorului fara periiI ,. .. S asoara 2 curenti statoriei - ia , ib utilizati pentru calculul curcntului

    : em. _ i ~zitia rotorului, 111 confonnitate cu informalllc de lacontlllu.uHeclll11vMaloedllu\n~c:re e~tc comandat motorul sincron trifazat autoptolat cstcsenzoru a. c . ftwar t de tiuul PI-. 'I' . de c c Ambele regulatoarc lmplcmentate so twarc sun ct.~1l111:; ~:U~~:ica fr~cventa de e~antiol1are a buclci interioare (de curc,nt) cstc mai.~~r t~ Blocul de com~tatie al tensiunilor rcalizeaza calculul referintclor de

    n ica a. e faze a licate invertorulu'. Iesirile PWM cu compararc din DS~ sunttenslw;: ~u ace;tc Preferill~e. Din invertorul trifazat, yractic, III llOdul. ~~.. slln~cor~la . . . . arc Comulatia accstora se face pentru ficcare sector de~g~I~:~~z~r~~~r:~~~I~~~~e rial . in aplica~ie, vitcza se estil1~eaza ~a ~ne;'em~ntddc.. d . din inforrnatia de la encoder - calc mal simpla dccat cva uarca 111POZ1t1e, eCI I . ll ..,informatia de la serrzoru Hall. .,., . Q I 'i u I':;Toate calculele matematice sunt rcalizate III tormat. lraeIOIMI_ .-, cd'biti Ius unul cntru semn), mai putin 0 parte din rezultate l~tcrmcdtalC tip pro us.' (p. Pl' d feri te care foloscsc forruatul .J I + 1 biti. Paramctrn~I valonle gcneratoru UI e re enn, . . . 'I '. ,,' I .:d l t fiecare bucla sunt factorul de proportlOnahtate, factoru intcgr a ~le reg arc pen ru '_perioada de e~antionare: kp, kj, T. Formatul lor este de asemcnca Q 1).

    2.4.3 REZULATE EXPERIMENTALE) 1 Aplieatia a avut In vedere cazurile: . . x .tahograln'a dreptunghiulara de I cad ran Cl durata ~c,300 Il1S,ill gOI_~1 sarcina;

    tahograma cu rarnpe si reversare, Cl aceeasi durata, In gol ~l.Sa1c~na. _lmaginea refcrintelorsi a paginilor ecran asociatc cstc redata de fig. 2.4)

    Algoritmi si procesoare de comandax

    ~ l~crDO lJ tion 1 . ., . .. _ . . . 0 _ _ __

    ;~Fig. 2.45 Referinte de test pentru viteza ,', . .. ~;; i\t ' f ;'1 ,;'Fig. 2.46 coniine inregistrarile pentru variatia marimilor caracteristice ill

    cazul tahogramei dreptunghiulare la functionare In gol (a) si respectiv In sarcina(b) Fig. 2.47 rcda dct al ii pentru intervalele de pornire ~i respectiv opr ite < eaceleiasi tahograme, c o * este reprezentat cu linie continua subtire, c o cut lilliecontinua groasa, i* eu liuie intrerupta subtire si i cu lil lie intrerupta groasa .Paramctrii buclelor de reglare sunt:Buehl de viteza: Bucla de eurent:.. ,1; I)' .i i.;..:. ,.1K I' =< )75 Kp =0, 233K,=118 KI=O18T ~ l ms T= O,ims

    Marcajul valorilor de viteza se face pe ordonata ill stanga,in pulsuri encoderimp iar a celor pcntru curent In dreapta, Mareajul timpului se.face In .milisecunde -.Diferentclc a. - b. IlU sunt sesizabile pe palierul stabilizatal vitezei. '~a pornire,sarcina atenucaza micile oscilatii dar l~ oprire efeetul esteaproape contrar datoritaincrtici mecanice asociatc sarcinii. Inregistrarile de la , fig.: 2.47 se irefera lafunctionarca in sarcina. Sc poate evalua durata regimurilor respective; cca 20 ms.Constanta mecanica proprie a motorului este de 8,6 ms. . ~.' .' .. ~ ~,

    Fig. 2.48 ilustreaza evolutia sistemului la comanda dupa a doua tahograma,III gol (a.) si respcctiv in sarcina (b).' . ..~ - r . j : _ , . _ fin fig. 2.48 c. s-au modificat perioadele de esantionare la jumatate, Rentru

    cazul tahogramci eu reversare, la aceeasi parametri PI . Este evidenta comportareamai proasta, desi esantionarile sunt cu frecventa mai ridicata=Cauza este=datade'faptul ca T se constituie ca un parametru de acordare suplimentar, valori (chiarfoarte mici) neadccvate putaud duce si la ililstabili~t~.: II,}' 'i' ;.:i:~Uil

  • 5/26/2018 Convertoare 40001

    28/44

    254L .A ~lg~ o~ r~i l~m~i~~~ iJP~ r~o~c .':es~o~a'_ '_ r.':.e~ d~e~c::'O:..'.m:'.a~ 1~ld~3~

    ~i-----fiI.:~~~~-~.-~. '.. ...~ ..~ .__ ~._ ~ .._ J l G O: I w , ,.. . .''''. . - I '1O '1-_ 1~ _ --__ 0) ::- - ,- : -t--~---I------- -.----.- .------- 1i: ,.,'-~(;/.' 'ii. ,.. .'.... tn ~ ' ' ' ' ' H... -A_111~~~~~~~~~~ ~ ~)~~~~~~~~~~~~~~ ~ I.:~~'---rc:...:.:..--....:...l___-~-~-+-----__t-------fI\\\--.--- -- :',/.? ------ ...l J .. 1 -':Jn~=----'----;,7k,,-:-'-----~_;;'

  • 5/26/2018 Convertoare 40001

    29/44

    256 A l g o ri t m i s i p r o e e s o a r e d e c om an d a

    CAPITOLUL 2.5 ELEMENTE DE LOGICA FUZZYB a z e l e logicii fuzzy au fost puse de Lofti Zadeh In 1965 prin lucrarea

    Fuzzy Sets. Desi acum teoria fuzzy l~i gasestc locul 'in aproape toate domcuiile,'ill momentul aparitiei conceptului de tratare n u a n t a t a a cunostintelor multi auafirmat ca aceasta idee nu poate trai.

    In ciuda tuturor prezicerilor pcsimistc Zadeh ~I-a continuat ccrcctarilcprovocdnd prin articolclc sale si alti oamcni de ~tiin a. ell toate ca fundamcntelccomenzii fuzzy au fost puse tot de Zadeh, p rimul regulator fuzzy care fun ctionaimpecabil ~i care s-a considerat ca a fost user de proicctat a fost rcalizat ~Iexperimcntat 111 laborator de Mamdani si Assilian.

    De prima implicate III industric s-au facut vinova]i Holmblad ~IOstergaard prin implerncntarca unui regulator fuzzy 'intr-un malaxor de cuncut. Auurrnat apoi 0 seric de aplicatii ale logicii fuzzy. matcrializatc mai ales III Japonia.culminand e u darca 1 1 1 fo los in ta a mctroului din Sc nda i III 1991- eel m a i mod ernmetrou din lume,

    Modul de t ratare a cunostintelor, foarte apropiat de eel uman, a dctcrm inatchiar dezvoltarea unor tehnici conexe de modelarc ~i prelucrarc a cuuostintclor. Unex ernp lu foarte bun 'il constituie tchn icil c neuro-fuzzy care pc lang{l fap tul C:l scbucura de avantajclc pe care Ie preziuta logica fuzzy, permit instruirca coutrolerclorfu2;ZY. 0 alta tehnica in care conceptul fuzzy joaca un rol din cc \11 ec malimportant este rnodelarea controlerelor utilizand algoritmi genctici

    2.5.1 MULTIMI VAGIin teoria multimilor clasice , 0 submul timc A a un ci multimi ncv id c X (X cstc

    numit multime de referinta, univers, uuiversul discursului sau referential) SI;defineste eu ajutarul functiei sale caracteristicc X A care asociaza ficcarui clement xE X a valoare de ~devar exprimata pnntr-un element din multimea {O , I}, Functiacaracteristica poate fi reprezentata ca 0 multime de pcrcchi ordonatc eu exact 0pereche pentru fiecarc x E X.

    De fapt, funcpa caracteristica descrie apartenenta llcta a unui clement dinmultimea de referinta la 0 submultime a acesteia. Acest lueru devine evident dacamultimea {O, I} este suplinita de multirnca {nu apartine, aparrinc}

    Mult irnil e vagi (fuzzy) sunt 0 gcncralizare a cclor clasicc ~i sunt definiteasemanator; locul functiei caracteristice cste luat de functia de apartencnta.

    Def. Fie X 0 multime nevid a, 0 multime vagd A definita pc X estecaracterizata prin functia sa de apartenenta

    fJ.A : X ~ [0, I], (2.209)

    - -- . _ _ . A ~ lg : : '. .: } o :. : .r .: . : it . : . :m . : : i. 2 ~ : : . i . : p . : . : r o ~ c : : : :e : : : s o ~ a ~ r ~ e ~ d ~ e . . ' : c ~ o ~ l I ~ l a ~ n ~ d ~ a_ _ _ ' 2 . i i 5 1care cxprima gradul de apartencnta al elementelor x E X JaA.:: ,d t.' ,'I;o multirnc vaga este descrisa complet printr-un set de tupluri de forma

    A = {(x, ~ l A (X ) I x EX} (2.210:. .' ,S p~eiti~aJea U~lC~ rnuitirni vagi se face fie cu: aj~to~l formei anal iti ce ~tunc P\. :I de apar tcncnta tic direct, pnu scrierea sub forma

    ~~,~li(x)A = L- __ J_; Xi E X, X finita, II =cardinalullui X- . ,1 = 1 ,'j , ,. 1 , ; \ ~sau A = f ~l(X) , p t. X infinita.X x r, .(~:21).'Celc 1I1~1I uulizato functii sunt celc de tip trapez 'd' 'I '(' .: d i : ~c '1 .: I' I ' . 01 a care pot egcnera II

    111:\.:.11 I~IUI~gIU ar~), cxpoucnual ~i sigmoidal. [14]. Forma allaliti~i a accstorrprccum ~I repi ezcntanlc grafice sunt cxpuse ill tabelul 2.5.. 't-

    Tabelul 2.5 Functii de apartcnenta uzualc 'r'--'~~~~~~~~I~:o~r~n-l=a~a~l~la~IC-I~t~ic-:'~a~~~~=--~--= = = = = = = = = = ~ : : ~ ~ ~ ~ ~ ~ ~ ~ '= ' ' ~ := ~ . ~ ~ ~I~:----.J Forma grafica

    1 0 pt.x:S;asaux2d 'jI pt. b:o ; x s Ct~Il'el. =.0 I x -.:....~pt.a

  • 5/26/2018 Convertoare 40001

    30/44

    258 Algoritmi si procesoarc de comanda

    , . ,Forma analitica I~----=--===:::::::-----~----- igm ==

    ,I ( , pt. a S x s bo pt. x sa - 2e

    r . t - : . ' , ; : 'sau x\~ b+ 2d~ .05. (x - a + 2cr c-

    05. (x - b - 2d)2~ d2

    ; 1 L 6 ,5 ' (a - ~X)2

    pt. a - 2c

  • 5/26/2018 Convertoare 40001

    31/44

    26 0 Algoritmi ~iprocesoare de comauda

    ~~re ~~tisf~ce propnetatile:c(O)=I~ic(l)=O: . unctii dcb e [0 1 1 ' daca a < b atunci c(a) ? : : c(b), undc a ~l b suut fuuctu ca, .apartcnena:{a=-l-A(~)

    . b=-l-B(x)

    Sunt uti lizate In special fuuctii c din clasa Sugeno 13\c- '(a) =_1- a : fv E (- I, (0)

    ,~' 1 + A . U(2225)

    ' ? i din clasa Yager l13) Icw(a)=(I-a W ) W ; WE (O,co).o proprietate important5. a. mul~imilor vagi rczulta din def1l1i~ia accstora ~l

    din definitia reuniunii si a intersects(2.227)

    Def. (I) nornui triunghiu[arii (t - norma) este 0 functieT: [0, 1] x [0,.1J -+ [0, 1] (22 2~ )

    ..care satisface proprieta ile:1. T(x, y) =T(y, x) - cOlllutativitate;. . .2. 'T(x, T(y, z)) = = T(T(x, y), z) - asoctatlvltatc; .3. T(x, y) ~ T(x', y') dad x ~ x' si y ~ y' - monotorue:4. T(x, 1)=x, \jx [0, 1]- 1 estc element ncutru

    ~ .orrna) cste 0 functieDef. 0conorma triul1ghiularii (t - conorma sau s - 11 ,S : l e i , 1] x [0, 1 1 -+ [0, IJ (2229)

    Algoritmi ~i pr oc esoa re de comanda 2 6 1care satisfacc proprietaulc:

    l. Sex, y) = = S(y, x) - comutativitate; i I, '.' 1 1 ...,1 \J.:, (, -: ,'jt, I' I, y2. Sex, S(y, z = S(S(x, y), z) - a sociativitate; . i.q:~JIi(l3. Sex, y) ~ Stx', y') daca x::; x' si y::; y' - monotonic;4 . Se x, 0) = = x, V x [0 , IJ - 0 cste element neutru,

    , ' . \ t : ,(1Poruind de la definitia t-normei ~i a t-conormei se pot imagina 0 i nf in it at e deastfcl de fun cti i (exemple In tabelul 2.6 ) [4 ] , [9J, [11], [1 2), > [1 4 ], [ 21 ], [29]. :S-aucrcat cluar clase (Frank) din care prin particularizare rezulta ap licatii d e acest fel.. - , \ ' 0 u.

    Tabelul 2.6 t-110r1llCsi t-conorme uzuale , ,f-----Dc;llllllirc . .t-norma .... -' '.~:,:,4 ':'-'.tt:~ononlla.i - l l ] l J e h ..minrx, y) -'; ,' . 'max.(x.;y) ;r:t~:.:?~;;',';;{eptt -Probabilist t ' :C o 'x y . , x +Y - Xy;'fNt-;. . ,~,r C1 : , , , W i C , maxtx + y - 1, 0) min(x .f.Y;I) ( ,'- ~ _ _ _ W C be~ _ _ _ mintx, y) dad max(x, y) =1 .; maxtx, y) dad. min(x, y) = 0o altfel o ' 1 altfel1 5 Hamacher xy/('y+( l-y)(x+y-xy; (x+y-Xd -y)~?){(l-(I-y)xy):y?:: O y?: : . ' , . '.1 6 Dubois si xy/maxfx, y, u); (x+y-xy-minfx.y.], -o. p, \a'{( I-I cad, ~ QE (0, I) x;t~Y,a.);' \/ .. , ;. .....i o.E (0, 1)I--I 7 Frank 1 0 g s L 1+(s'-I)(s)-I)/(s-I);. I:log,[l-l;(s :~-:I)(s ;-.1)/{s,l)]; I . I ~\ .1- '- _ f :> ,SE (O, co) SE (O,CO ) ,. .I 8 Dombi II{ I +[(x-l_l)A+(y.l_l/tA}; 1 1 { 1+[(x l-lrA+(yl-lrA];::~J ;fU;i fvE (O , co) . AE(Q , ?::~j:f;~;~f1\\h':,~:,L.,l;d ,, J i .~ 9 lYager ' ,I-mi.1l{I,[(l-x)+(I-yrJ '}; min[I,(x~+y~)~{W]; .' :J. It .Ii''I__._l . WE (0, 0: ... 'W E ( O;' 0: q. \\l~- ' . l t{. ,i.ji:{;( :ft{~'f,'I~, {Ji i, ~lii'

    Folosind t - norrnelc ~i t - conormele se pot generaliza definipile reun iun ii siintcrsectici mu ltimiior vagi::;.

    h -. -, 0 ' ~t ~ 2.230)l '~,;1:, J . . f 1 J j ;~t:;j.

    Def. Produsul cartezian. a doua multimi vagi A si B definite-pe' X este relatiabinara .,

    . J

    \ \

  • 5/26/2018 Convertoare 40001

    32/44

    .A l go ri tm i s i .p r oc e so ar e d e c om a nd a

    (A x B)(u, v) =mi n {Atu), B(v)} ; v (u, v) X x Y (2231)In figura 2.49 este prezenta t pentru exemplificare produsul cartezian a doua

    multimi n. '1'.,' Axe

    0.8

    0.4

    o. 100100

    '0 0,.~ ; :. '. (/ . ;, . . . j 'j ./ ',Fig.'2.49 Reprezentarea grafica a produsului cartezian

    . ' Seeonsideri muljimilede referinta X ~j Y :[1 lnbf. 0 rekuie vugaRJtntre X si Y exprima legaturi gr aduale int re elernentcleacestor multimi, -Aceste legaturi de tip tuplet pot fi descrise ell ajutorul produsuluicarteziari. i , ; , , 'i ; i ~ ,. I n cazul In caret X ~i'Y sunt finite, 0 relauc vaga intrc ccle douri muliimipoate fi descrisa printr-o matrice care.se numeste matrice de relatie.

    Def. Inversa unei relatii vagi R intre X ~iY este 0 relar ic vaga descmnaraprin RI intre Y ~lX definita prin . (

    VX E X, VY E Y, flW I (y, x) = flR (x, y)ii':, Def. Prin compunerea a doua rela tii vagi R I p e X x y ~l R :, pe Y x 1cobtine relatia vaga

    (223 3)

    >,t,Algoritrni ~iprocesoare d e e om a = n= d::. :.a~ --,-~263'tio 'operator de componere pc X x Z de functic de apartcnenta

    ill'(X, Y) = sup (min ( f l R I (x. v). flR, (y, zj}, v (x. Y) E X x Z.v~y - (2.234)Accasta dctiniue corcspunde compozitiei de tip rnax - min care este eel

    1l1:l1 des utili1.;l t:]DeL Rclatia R pe X x X sc numcste simctricii daca

    Del' . 0 re la jie R d ef in it a pe X x X este reflexivd dacaDel'. 23 0 relatie R pe X x X este tranzitiva dad

    . (2235)

    (2.236) :.

    (2.237) ,~I, in pa rticular , R cste tranrltiva max - min daca se utilizeaza compozitia max-11I11l : l rclruiilor vagi

    \j (x, 1.) ('; X X. ~ll(X, v)?: s up l 11 in (~ lR ( x, y), ~lR(Y , zj).':l E Y

    2.5.4 IMPLICANTJ VAGJ

    (2.238)

    11 \ l ogic a c la sic a im pl ic atia CC:l mai u t il i za t a III rationamentclc propozitionale1)():lIC 1 '1 dl ~SCnS;- \ cu ajutorul concctivclor SA U, NU sub forma

    ;\ _..) B ~c .. ,A V 8, (2.239)'uncle A si B sunt doua propozitii ale carer valori de adevar apartin multimii(~ldevar:1t.. fals]

    Ca ~i mulj.milc vagi, implicaniii vagi sun t 0 extensie, 0 generalizare a celordin log ica clasica

    in logica fuzzv implicantii se Impart 111 mai mul te clase [J I], [13].A. (,1((s1I implicantilor SX _ ..> \ o S(n(x), v) .': . I(2.240)

  • 5/26/2018 Convertoare 40001

    33/44

    26 4 Algoriuni si procesoare de comanda

    unde S este 0 t-conomli ~in este 0 negatie pe [O, I]Aceasta clasa deriva din forrnalismul boolean amintit anterior - rclat in(2.239).

    B. Clasa implicall{ilor Rx -} y = = sup{z: E O [0, 1] \ T(x, z:)::;y}. (2.241 )

    C I mplicanti t-normiiX-4, 'T(x, y). (2.242)

    unde Teste 0 t-norma.

    1 Tabelul2.7 [r np lica nti vagi uzuali [4 \, 19] , [11] , 1. 12], LI 41 , l21] , l29\Nume Implicant (x -4 v ;:: .. ) ___ C~asa __ ~1 Mamdani min (x, y) t-norrnu I2 Larsen xv t-norrna3 Lukasiewicz: ruin (I, l-x+v) S4 Brouwer - G odel { 1 pent ru x :: ; y R

    yaltfel5 Gaines { J pcntru x ::;y R

    1 _ Y / x altfel -6 Kleene - Dienes ma x (I-x , Y ) S --7 Reichenbach 1 - x + x v ~S .--

    1\l3

    } Obs. lmplicantul Reichenbach cste intalnit ~i sub dcnurmrca Klecnc - Dienes- Lukasiewicz. 2.5.5 VARlABILE LlNGVlSTlCE. MODIFLCATORl

    \ iDef. 0 variabild iingvisticci este un cvadruplet de fo rrua (T, G, X, M) unde:

    Teste multimea de valori pc care le poatc lua variabila lingvistica:G este regula de generare a elementclor lui T;X este universul pe care estc dcfiuita variabila lingvistica;M este regula semantica care lcaga fiecare valoare lingviSlica din T CL l omultimc vaga din X.

    Algoriuui si proccsoarc de comanda 265M ultimca valorilor pc care le poate lua 0 variabila lingvistica poate fi

    dczvoltata priu utilizarca unor operatori de modelare:norrnalizar e: NORM

    f'NUJUvl(A)(X) = f.lA (X) / sup (flA (X) );;\.EX

    (2.243 )1-

    {2.244), .. ,.I

    J . (2.245)\

    conccntrarc: CONC

    dilatarc: OI L

    intensificarc: 1 Tf 2f l~ pcntru -LA (x) < 0,5 . r, : :ll- 2(1- flA (x)2 pentru flA (x ),~ ,Q ,5 ;t8P . c , . ' ; ; ) ; , { i: t . . \ . l (2.::6)

    cxtcnsificarc EXT ',l ~ ' : - ~ X )pentru flA (X)

  • 5/26/2018 Convertoare 40001

    34/44

    : : . 2 6 - ' = ' . -' = '6 ~ A ~ lg ~ o _ = _ n _ t ~ n _ ll ~ ~ i - - . p ~ r_ = _ o _ = _ c e s o a r ee c o m a n d a

    1 ' 1 1 -r :0.8 0 .8 0 t / 1 \ \, ' (j 0.6 0 .6 05 Ii \ \0.4 0. 4 1/ \\04 i i \' II \ I0.2 0.2 n ~,/I \ \- - 'r' \'0 0 o -- - - - - - LI

    A foarte A mai mu l+ ~;\U rnaiputin A/ /\ \ -l -.- 7tf\-- - - - 10.8 / l \ \0.8 0.8 l/ \1 / \ \ I / .6 0.6 06 I I:,0.4 0.4 \I / 0.4 i1f 1 / ;~0.2 0.2 I 0.2 1 \, '0 0 0 I , . \\promrntat A grosier A mJ1 rnult A

    Fig. 2.50 Efectul aplicar ii unor modificatori lingvistici. 2.5.6 RATIONAMENTUL FUZZY2.5.6.1 Propozitii fuzzy

    r- '. 'Propoziti ile vagi leaga variabilele Iingvistice de etichetele vagi (numite ~iconstante vagi, tenneni vagi sau notiuni vagi) definite pentru variabilelc respective.Propozit ii le vagi reprezin ta baza logicii si rarionamentului fuzzy. Ca ~I IIIlogica iclasica, propozit iile pot fi combinate f o l o s i n d conective de tipul Sl ~ISAU',,' .De' asemenea.: pot fi folositi modificatori lingvistici pentru mode.areactichetelor lingvistice-asignare'unor variabile dintr-o propozitie sau un set depropozitiivagi. ,,:Ji , : , 1,; '.: ( ,Conectivele vagi ','SI si SAD sunt implementate prin t-norme. respectiv r-

    conorme. Cele inai'utilizate c o n e c t i v e sunt cele d e tipul:

    _ _ _ _ ~ .. _ . ~ _ ~ ~ _ _ . . . _ A I ~ it m i si procesoare de comanda 267uncle a ~ib sunt grade de apartenenta

    Elccrul apJiC:lrii acestor conective estc sensibil diferit (fig. 251), perceprialor ducand la nu an] c lin gvistice de as emenea dife ri te ,

    :;1 -- - - - ..,-u '. -- . --.---.-~ -,- _L_. __ ..J

    SAU

    I , - - - - ~ - -e l Lu ---...... :.-----

    r---~---,,,---1--------

    D .5 .. -/:- - --I 'i ' :

    (J J . . ' , L

    05

    Luteh 1.11kasIOWIC7. probabilistFil~. 2.51 Mu ltinulc obtinutc in 1In11

  • 5/26/2018 Convertoare 40001

    35/44

    268 Algoriuui si procesoarc de coruanda

    I I' Ele sunt tot de tipul D A CA ., : ,. R eg ulile vagi sunt 0 gencralizare a ce or c asicc.- ATUN C1 si pot fi expnmate sub fo rma

    DA CA (II estc A ll) c- . c- (1 cste A ,,)

    unde:

    t

    k este nu marul regulii;I, sunt in traril c sistcmu lu i fuzzy;

    - 0 sunt ies iri le si sternului fuzz y: . . . ,. ,, ' r- ' A ~p si n, sunt multirni vagi definite pc LU ~ l;~ ~Sll l:~ CX ~~SP(;dIV 'I.

    . Concctivelc - < > si . sunt, In general, d~ tipul ~l ~l SA U .Cca mai u tilizata forma particulanzata cstcDA C A (II cste Au) SI (II estc Ad

    JATUNCI (0cstc Bk).

    (2250)

    (2251 )

    pnn func] ii de apartcncnta, regu la va go.Cfind Au. Ak2 si B, se ideniificapoate fi reprczentata sub fo rma

    sau-l Rk (x I , x2, y) = = T[ (T(j; A kl (x , ). flA u (x 2, -lBk (Y

    1unde Tr cstc un implicant vag ~i T 0 t-norma.

    (2252)

    (2253)

    2 5 6 3 Agreuarea rezulilor vagi 0 b'. bi . se t de n;gu Ii vagi iutr-oA -e gul l'lor vagi rep rczuit a co m inarea unuiregarea I >

    s ingur ar elat ief ll zzy. . - ' N -'l I' . zi paralelc ficcarc avfind prcrnisaSetul de rcgul i vagi consta III r rcgu 1 vag. ,bazata pc Nx variabile

    I, tI I tI II , Il

    ... si (vNv. es te ANv. ,I) ATUNCI (y estc 81)A C A (XI es te A 1.l) ~i y .AL TFEL

    (2.254)

    Algorilllli ~i procesoare de comanda 26 9AL TFELDA C A (XI este A uJ si ' si (xN xAL T FEL este AN , ~k ) A TUNCI (y este Bk)

    . ' \1.., ,1111AL TFEL

    i I - 1D A C A (XI este AI. N, ) ~i ... ~i (xN x este ,Al'/x,N, ) f } . u > n J ~ s J ~ ) ~ X l f . J l ~ i ~ N ; , ~ ,; _t lwtr .~ ;, ~r'~.~~:~rf~'~~~;;';~fj~.t;..-:~~

    Pcntru implicatiih, care deriva di n conjunctia clasica, operatorul de agregarecstc disjuuctia. .',., ',J--', jJ ,'I '/ il'.ti

    In cazul color N, regul i va gi rk rcp rez en ta te p ri n re lt iil eR k, relatia rczultatadill agr.::garca accstora cste . i.; ;) ' _ ;

    IN

    ', I,fl , ,

    I I ,, r iAgrcgan::a rclatiilor vagi caud functiile implicant deriva din implicantiiclasici cstc n.:al iza t1i pr in cO lljl lnq ic

    I f . \ I;r: (2.256)i' . ,_'2.5,6.4 Modus ponens si modus tol\ens generalizat ';, ~ ).Modus ponens gene ral iza t - M P G - (Zadeh,' 1973) repr ezinra gener~liz~rca

    infcrcurci modus ponens din logica clasica, Modus ponens clasic (MP) poate ficnuutat pcntru doua propozipi p ~iq sub forma I ' . . ,) I,'(.D A CA~IA TUN C I

    P -4q cste A DE V A R A TA .P cste A DE V A R A T A .q cste A DE V A R A TA . ',i

    1': i.; .I: :,il'.. . .. f . ~ - 1. , :

    G cne rali zarca accstui principiu conduce la urmatoarea sc hema de 'inferenti' F. , .J.:,. I 1';1.. i I.) .-: 'J ~ > :

    R egula vag.': DA C AFuncjii de apancncntaFaptulobscrvat:Funcjia de aparteuctl i'i:C ouclu zia:Functia de apartenenta:eu

    A TUN CI . Y 'e~te: B: ;'.' ,)i. ff;' I ..~I d'~I','I,;:( ': ,; )l~..._i~ i f ;

    x este A-lAx esteA'-lA '

    .. ye steB ''n\1 --lA'

    . ;/1 ' .) 11.\lfi ..J;) ~ J

  • 5/26/2018 Convertoare 40001

    36/44

    270 Algoritmi $i procesoare de comanda\:j ye Y, fl.B (Y) =max T (~LA' (x), ~lR(X, y))

    J . -,.~. ;', :. XEXunde: Y este universul pe care estc definita multimea B;

    .X estc universul pe care este definita multimea A;. Teste un operator t-norma ales astfel incat daca fl.;\' = fli\ atunci ~llr = fl.1

    ~,Ca'~imodus' porieris, modus tollens poate fi gencralizat.Modus tollens clasic - MT:

    DACA p -+ q este ADEV ARATAq -este FALSApeste FALSi\.si -:j I. ~ , 11 ..ATUNCI,r;. ',Modus tollens generalizat (MTG):DACA x este A ATUNCI Y este By este B : ; I), /'.:,x este A','P~~t:U-rezolvarea MTG poate fi folosita regula compozitionala de infercnta

    A'=R. B' (2257)unde R este relatiavaga reprezentata prin regula fuzzy ,i,., ' '~ .J ' j ,

    )lr,,I)(1 ~\l ~) 1:1 ; '\,I~ i :, :- ';, DACA x este A ATUNCI y este B.2.5.7 CONTROLERE VAGI

    .-Comanda in logica fuzzy consta in aplicarea regulii compozitionale deinferenta. Pentru aceasta intrarile intr-un controler fuzzy' trebuie prelucrate Insensu .'ln~adrarii ,lor in, seturi vagi si determinarea gradelor de apartcnenta laace*e~'. De ''ase~enea; iesirile (care' dupa infercnra sunt grade de apartenenta la,anumite multimi vagi) trebuie transpuse In marimi specifice mediului condus

    ~~ Schema structural a a umu controler fuzzy (FLC - Fuzzy LogIC Controller)tine';Ceci,urmatoarele blocuri (fig. 2.53):.' , ~\ blocde fuzificare;

    -'.bloc de inferenta;~ ; b r o c '~ d e 'defuzificare.~J.~~

    BlIZa de cunostinte

    Proces condus Fig. 2.53 Schema bloc a unui controler fuzzy,

    In anurnite situatii se prefera ut ilizarea unor tabele de reguli - LUT (Look-Up Tab le) In locul contr ole ru lui fuzzy prezentat, op erat iil e on-line constand Incuantificarcn inuarilor si, eventual, efectuarea unei interpolari. Astfel, schema bloc:1 contr olcrului fuzzv ponte fgencralizata 1 7] , 1 14].

    2.5.7. I FuzificnrcaDel'. LJn(zlZlficarur cste 0 transforrnare din multimea numerelor x ' E Xc Rn

    (iJllrarilc in controlcrul vag, R - multimea numerelor reale) intr-o multime vaga A'dcfinita pe X,

    Sun definite foartc multe aplicatii fuzificator , insa, prin folosireaunora -de cxcmplu fuzificatorul singleton (2.258) - se simplifica foarte muIt calculele Inctapa de infcrcnta

    . _ f I daca x =x' ,fl,\(x)-j .10daca x = F x' (2.258)

    y cste BIy este B 2

    n (2 .25,? )

    2.S. 7.2 Motorul de inferentaSc co nsidcra urmatoa rea schema de in fe renta

    RI DACAR 2 DACAFa pt obscrvat:

    X cste AI.I sixIcstc Au ~iXI cstc x, ~i

    Xl este A2 .1 ATUNClX2 cste A2.2 ATUNCIX2 este X'2

    . 1~

    \I

  • 5/26/2018 Convertoare 40001

    37/44

    , ~2~7~2~ A_ l ~g ~o _ r i _ u _ n _ i ~~ i ~p _ r_c e s o ~a ~r ~c ~d ~C ~C ~O~l n =W~l ~d ~a _v cste \ :S 'Consecinta:Infereuta Mamdani

    I n cazul infcrcntci Mamdani (fig, 2,54) implica~iao p c r a t o r u l mi n i m , Pentru fiecare dintrc relatiile RI ~I R2sc poate sene

    vaga estc modclata ell

  • 5/26/2018 Convertoare 40001

    38/44

    274 Algorilmi ~i procesoare de comand~a , ::::-L A (x'j }: ~lA , I(X' 2)1.1 -.0-2:::: -L A I.2 (x' , ). -L A 2.2 (x'~ )

    (226:-\)

    deci (22(i9)B'I ==al 1\ BIB'2 ==a2 1\ B2.

    , Pentru intregul s is tem rezultaB'=B'I v B'2==(al 1\ BI)v (a~1\ B2)''.',,1 i:';J Ic' \,~.' 1 < ' ,

    (2270)

    B

    1~ ~X2Fig. 2.56 Inferen a Larsen, 1 ','2.5.7.3 Defuzifidrea .

    fuzif -, \ inta procesul de selectie din multimc:1 fuzzy infcr,;Il\i:lt:1-:De ZI icarea reprezi .'B' a unui element reprezentativ yo .' fu: B' defmir:1.Def. De/uzijicatorul este 0 transformarc dintr-o 1l1ll1'pI11C ULZ) ,pe universul Y al ie~irlic~~trolerului vag, Intr-o valoare yo E Y

    Cele mal: utilizate defuzificatoare sunt: rdefuzificatoru centroid;__, defuzificatorul ::bisectoare;7 ~.' : . defuzificatotul maximum.Defuzificatoru\ centroid .

    , r a. Centru\:degreutate (COG - Centre Of Gravlty) .. '~'A . . fu if I' te data de centrul de grcutatc al 111111\1111\1rczultatc: lesirea de. Zl icatoru U1, es . rc'i nurma mferentei

    '. , .: . -; ~ .. . . .. . . . .:

    \1I

    1Ii

    . . . , . . ._ _ . ~ lgori \J l1i ~iproces?are de cornanda _ 275

    ~i~ln'(~i )'Y'). ifl fl' (\' i)

    (2.271)

    sal. pcntru 0 \ ari.uie continuaf U' (\') . Y . d yyyo = . - - . - -- ~ - -

    J flr i' (5')' dyy(2.212)

    undc:Y csre univcrsul pc can; sunt definite multimile vagi de iesire;v, v, sunt clemente ale lui Y.

    -- l{- l xtc mull imea vaga rezultata dupa infercnta. .., ,, . 0 J, . lMetoda COG estc cea mai utilizata metoda avand avantaiul e a este intuitivd,

    Dczavantajul mctodci cousta In complexitatea calculelor implicate careeste relativridicata.

    Centrul de grcutntc al unicatelor (COGS - Centre Of Gravity methodfor Singleton) ,Daca multuuilc de apartenenia ale concluziei sunt de tip unicat vag, atunci

    icsirea cstc LPB'(Sj)Sj ' .-~ ,(2.173). L Jj P 1$' (s j )

    undc Sj cste pozitia' unicatului vag i iar ~ITl'(Si) gradul lui de apartenenta lamultimca n

    Defuzificatoml bisectoare (BOA - Bisector Of Area)Dcrerminarca iesirii defuzificatorului consta In gasirea unui punct Y E Y care

    impartc mul\ill lca 3 III doua suprafetc de arii egale. . .M ax

    v, = - {\ i J flB' (y)dy = f ~lH'(y)dy } (2.274)Mill Y

    undc M ill si Max sunt limitelc universului iesirii.Complcxiratea metodci estc rclat:iv ridicata ~i nu este plauzibila dedit In,.

    cazul ill care multimea B' arc suportul convex. Acest dezavantaj poate fi observat -:~el mai usor III cazul III care multimile vagi ale concluziei sunt doua unicate vagi.,;,;'In accst caz oricarc punct din univcrs situat intre cele doua multimi vagi satisfae 'rclatia (2.274), deci iesirea defuzificatorului In astfel de cazuri este chiar nedefinifDefuzificatorul maximum , .,,;.\;~1'I n c;17Ii1 dcfuzificatorului maximum iesirea este data' de 'p;ln~tel~Jt~'g~a:I - I . . '. ;, ,J.. .., I Iue apartencnta ee mal marc. . * . ,Fie .' q

    ------ -- ----- ~ ~ ---- -- --,- -- ----------

  • 5/26/2018 Convertoare 40001

    39/44

    ~ 2 C 7 7 J 6 ~ ----}.A~Ig,~o~r~it~lill~~:;;~ilP~r~oc~e~s~o~a::rc~d~c-.::c:.:::O~m~a:.:I~\d:::.;\=--.-.(2.275 )

    ,

    YM=={YEY\\J.B -(Y)== sup \J.B \Z )} ,ZEY.' .; (LM - Leftmost Maximum)Cel mal IllICmaxllll

    Vo == inf YM- yeY . ). . (RM - Rivhtmost MaximumCel mal marc ma:xlln Y o == sup YM. yeYMedia maximclor (22n)

    (2276)

    (2.277)

    n y.Vo == -..- ~ni=l

    unde n estc cardinalul multimi Y M. .., de resursc ncccsare calcululuiMctodcle LM ~i RM au avantajul uuui nunun I e ;_,:l., 2.5.8 PROCESOARE FUZZY

    :,., . _ . , ~ .' c ot face si hardware. cu ajutorul proc~soardor'. . Toate nrelucrank 111 vagi S P d d fir Adaptive 1 O( T /C \4.)1.\441l' AL?20 pro us e lima ~ t: > : :.fuzzy. Un astfel de pl:ocesor cstc_ - 57) estc un proccsor fu zzy cu ~. mtran ~\ :,.' Mlcr