Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica
ARHITECTURI DE COMANDA NUMERICA FOLOSITE IN SISTEMELE DE ACTIONARI ELECTRICE

ARHITECTURI DE COMANDA NUMERICA FOLOSITE IN SISTEMELE DE ACTIONARI ELECTRICE


ARHITECTURI DE COMANDA NUMERICA FOLOSITE IN SISTEMELE DE ACTIONARI ELECTRICE

1. Cerintele structurii hard

Este de dorit ca proiectantii de sisteme de comanda, sa fie in stare sa studieze problemele ridicate de diferitele metode de implementare posibile, sa poata realiza programe pentru procesoarele utilizate si sa efectueze singuri experimentari cu sistemele gandite si realizate, pentru a obtine in final un sistem de comanda performant. Acest lucru este necesar, deoarece adesea se intampla ca munca sa fie impartita intre teoria de comanda si proiectantul de sistem pe de o parte, respectiv procesorul utilizat, electronica folosita si programatorul pe de alta parte. Evident, rezultatele obtinute in acest caz nu sunt dintre cele mai bune, pentru ca in timpul proiectarii sistemului de comanda, se pierd din vedere unele dintre problemele legate de metoda de implementare numerica aleasa.

Un al doilea aspect la fel de important, al proiectarii si realizarii unui sistem de comanda, il reprezinta alegerea structurii hard adecvate. De aceea este recomandabil a nu se construi un hard pana nu se stabileste ce structura, respectiv dimensiune de hard este necesara si suficienta. Din practica in proiectare, s-a observat ca de cele mai multe ori, primele estimari privind dimensiunile si complexitatea resurselor de sistem sunt eronate, necesitand corecturi ulterioare. Se poate eventual studia implementarea dorita pe diferite modele de hard si cu diferite variante de soft. Doar dupa o validare experimentala a solutiei propuse, se poate trece la 'croirea' efectiva a hard-ului.



Cand un circuit integrat, sau un set de circuite este selectat pentru a se realiza implementarea unui sistem de comanda, exista mai multe criterii relevante ce trebuiesc luate in considerare. Prioritatea unuia sau a altuia dintre ele, depinde direct si de tipul aplicatiei. intr-un fel va arata un hard pentru incercari diverse de laborator si intr-un altul cel ce va fi folosit intr-o aplicatie cu caracter industrial.

O solutie des intalnita in practica, este alegerea ca 'gazda' a sistemului de comanda a unui calculator personal PC-AT. Astfel, se poate face o dezvoltare convenabila a mediului sistemului si se poate realiza o comanda centralizata pentru mai multe aplicatii. Magistrala calculatorului, nu va fi folosita si pentru semnalele de intrare/iesire ale sistemului de comanda.

Placa de baza. Desigur, ea reprezinta punctul cheie al bard-ului sistemului de comanda (comanda numerica). Diferitele campuri de aplicatii reclama utilizarea unor procesoare diferite. In principiu acestea pot fi:

. microprocesoarele de uz general care permit realizarea unei implementari si testari usoare, la un pret convenabil. Pot fi folosite microprocesoare ca Intel 80186/80187, care nu au fost folosite in realizarea de calculatoare personale, sau pot fi folosite chiar microprocesoare din aceasta ultima. categorie, precum Intel 80486 DX2/80486 DX4. Sisteme de acest tip exista deja realizate si pot fi completate cu placi de interfatare cu procesul. Astfel, ele prezinta avantajul ca sunt usor de programat in limbaje de nivel inalt (HLL, -High Level Langauges), permit obtinerea unei bune viteze de calcul pentru aplicatii industriale destul de complexe, dar nu suficient de buna pentru comanda unor sisteme rapide, cum ar fi sistemele de pozitionare spre exemplu.

. microcontrolerele. Termenul de microcontroler este folosit in general pentru microprocesoare pe un singur cip, ce sunt proiectate a fi folosite ca procesoare dedicate. Ca exemple de microcontrolere pot aminti: Intel 8096, Texas Instruments TMS370 si Motorola 68200. Cu aceste circuite se pot implementa foarte usor comenzi secventiale, se pot genera unde modulate in latime sau frecventa, se pot realiza conversii AID, numaratoare si altele. Este interesant de notat ca microcontrolerul 8096 este o evolutie a unui circuit comandat de firma Ford Motor's, deci un circuit 'aparut la cerere'.

. procesoare numerice de semnal. In prezent exista o familie intreaga de astfel de circuite disponibile. Alegerea trebuie facuta in functie de cerintele sistemului si performantele dorite a fi obtinute. Dupa cum reiese si din figura 1, arhitectura DSP-urilor a cunoscut modificari importante, de fapt perfectionari plus completari cu implementari de noi functiuni. Daca spre exemplu primul procesor al firmei Texas Instruments, TMS320C10 continea doar unitatea CPU, RAM pentru date, ROM pentru programe si porturi I/O, unul dintre ultimele procesoare in virgula fixa venit in cadrul familiei, TMS320C53, contine unitatea CPU, RAM pentru date si pentru programe, ROM pentru programe, porturi I/O, ceas programabil, port serial full-duplex, optiune pentru Boot ROM, posibilitate de a adresa un spatiu mai mare de memorie exterioara si altele. Adaugand la toate aceste aspecte si faptul ca timpul pe ciclu instructiune a fost micsorat de la 160 ISOfU la 25ps, ne putem da seama cat de larga este gama de procesoare de semnal disponibile la aceasta ora.

Pentru comunicatia dintre DSP si calculatorul 'gazda' trebuie prevazut un bloc de memorie tampon de tip RAM (RAM mailbox). Facilitatile de control ale intreruperilor sunt destul de limitate in cazul procesoarelor DSP. In aceste conditii este necesar a se prevede un hard suplimentar, care sa poata permite programului. aplicatiei sa depisteze rapid cine a cerut o intrerupere si sa stabileasca matricea prioritatii de tratare a intreruperilor, daca este cazul.

  Fig. 1

Perifericele. Numarul si complexitatea acestora depinde direct de natura aplicatiei. Intotdeauna, pentru sistemele de actionare electrica este nevoie de o placa specializata in achizitia de date (convertoare AID). Dar, in aceeasi masura este nevoie si de convertoare DIA, pentru semnalele de iesire din sistem. Pentru a putea micsora la maximum posibil intarzierile din buclele de control, este nevoie ca semnalele de iesire sa fie livrate imediat ce informatia a fost prelucrata. Deci se impune a se lucra fie cu niste convertoare DIA rapide, fie cu o memorie tampon RAM rapida, organizata pe principiul FIFO. Cele mai des folosite convertoare sunt cele pe 12 biti, dar, acolo unde este nevoie de o precizie deosebita, ca in sistemele de pozitionare de exemplu, se impune lucrul cu convertoare pe 16 biti. De la caz la caz trebuie analizata si necesitatea prezentei inaintea convertoarelor AID a filtrelor anti-aliasing. Daca sunt folosite convertoare AID cu aproximatii succesive, atunci este nevoie si de un circuit S&H (Sample and Hold). Uneori, in sistemele de comanda ale actionarilor electrice, daca se au in vedere intarzierile ce se produc datorita prezentei circuitelor S&H, se poate renunta la folosirea lor, dar lucrul este posibil numai sub controlul direct al sistemului ierarhic superior de comanda, sistemul 'gazda'. Circuite S&H performante sunt destul de scumpe, deci trebuie avut in vedere permanent compromisul pret - performante.

In cazul sistemelor de pozitionare. sau al actionarii robotilor industriali, traductoarele de pozitie pot oferi informatia sub forma numerica. Atunci ea este preluata fie paralel daca numarul bitilor este mic, fie printr-o interfata seriala rapida daca informatia furnizata este pe mai mult de 16 biti. Informatia de pozitie care este primita  sub forma de cod Gray, poate fi transformata in cod binar prin doua metode: soft, sau cu ajutorul unui mic hard specializat.

Experienta in proiectarea de sisteme de comanda pentru actionarile electrice de mare putere si a sistemelor de comanda pentru roboti industriali, a aratat ca pentru punerea in functiune, pentru monitorizarea, intretinerea, sau depanarea unor astfel de sisteme, este necesar a se prevede un display grafic si o tastatura. de control. Cu ajutorul display-ului se poate vizualiza comportarea intregii actionari, sau numai anumiti parametri selectabili si modificabili cu ajutorul tastaturii de control.


Desigur ca spectrul aplicatiilor industriale este larg si este destul de dificil a definii exact toate cerintele unei structuri hard cat mai adecvate scopului propus. Totusi, in acest paragraf s-a incercat a se 'creiona' cateva din problemele cheie ce trebuiesc avute in vedere la realizarea hard-ului.

Limbaje de programare

Pentru o durata importanta de timp, limbajul de programare de asamblare (ASM - Assembler) a fost singura varianta posibila in cazul procesoarelor numerice de semnal. Limbajul ASM nu este potrivit implementarilor de sisteme de comanda rapide. Unele dintre DSP-uri prezinta arhitecturi si seturi de instructiuni ce sunt mai usor de folosit decat cele ale microprocesoarelor de uz general, facand limbajul ASM neatractiv. Intre timp au aparut limbaje de nivel inalt, HLL (High Level Language), dar exista probleme in generarea unui cod optim, comparabil cu cel obtinut de un programator ASM cu experienta.

S-a observat ca o solutie foarte buna se obtine atunci cand sunt folosite generatoare de cod. Este indicat a se genera automat cod DSP cu ajutorul unui model de sistem de comanda, atata timp cat se permite legarea acestuia cu parti ce nu pot fi produse automat si sunt executate 'de mana' (hand coded), sau nu sunt critice pentru sistem si sunt produse de un compilator HLL. Un generator de cod poate efectua optimizari, care altfel nu pot fi obtinute cu ajutorul unui limbaj de nivel inalt de uz general si al compilatorului sau. Furnizarea codului este facuta atunci cand se cunosc valorile numerice ale marimilor procesului, tipul si dimensiunile sistemului de Comanda (vezi figura 2).

Un generator de cod lucreaza in doua etape: mai intai se realizeaza o reprezentare intr-un limbaj intermediar derivat dintr-un model, ca apoi aceasta reprezentare sa fie compilata in cod ASM. Limbajul intermediar este facut pentru procesoarele de semnal care lucreaza in virgula fixa, iar ele prezinta si un mecanism de lucru cu perifericele I/O. Acum sunt disponibile compilatoare ce convertesc descrierile de hard facute cu un limbaj HLL (Pascal sau C de exemplu), intr-un cod specific procesoarelor DSP. In aceste conditii, generarea automata a codului pare sa fie viabila si se pot obtine aproximativ aceleasi performante cu cele obtinute de un programator cu experienta ce realizeaza o 'codare de mana'.

Pentru procesoarele ce lucreaza in virgula mobila (floating point DSPs), programarea este mult usurata datorita aritmeticii folosite, a arhitecturii si a setului de instructiuni aferent.

Exista disponibile sl limbaje de nivel inalt pentru procesoare numerice de semnal, numite DSPL (pentru procesorul TMS320C25 si pentru familia de procesoare TMS320C1X spre exemplu), dar acestea au fost realizate avand in vedere o anumita aplicatie. Cu toate acestea, limbajul realizat nu este foarte dependent de structura hard-ului, cel putin in ceea ce priveste nucleul sau de baza. Fiecare compilator DSPL poate suporta diferite variante de hard, dar toate organizate in jurul unui aceluiasi procesor. Trebuie a nu fi uitat faptul ca fiecare limbaj DSPL este marit sau micsorat in functie de dimensiunea hard-ului. Descrierea hard-ului este utila compilatorului pentru a putea cunoaste spatiul de adresare folosit pentru alocarile de date si program, care sunt conexiunile dintre intrarile logice si variabilele de iesire, de ce canale fizice //O dispune sistemul, dimensiunea stivei de lucru si altele. Compilatorul DSPL genereaza fisiere sursa in limbaj de asamblare, pe care apoi utilizatorul le poate optimiza, daca doreste. Dupa asamblarea programului, el poate fi implementat pe hard si rulat in functie de complexitatea programului aplicatiei, compilatorul DSPL poate prelucra de la cateva sute, pana la cateva mii de linii de cod pe minut, pentru niste calculatoare personale obisnuite.

3. Exemplu de arhitectura hard / soft pentru un sistem de actionare electrica

Actionarile de curent continuu sunt inca destul de des intalnite in practica. Dar datorita performantelor fara precedent oferite de procesoarele numerice de semnal, aceasta situatie tinde sa se schimbe, realizandu-se tot mai multe sisteme de actionari electrice de curent alternativ. Cu ajutorul DSP-urilor se pot depasi vitezele de calcul chiar si ale celor mai rapide microprocesoare pe 32 de biti, se pot implementa structuri deosebit de complexe si toate la un pret mai mic.

In cele ce urmeaza este prezentat un exemplu de arhitectura hard / soft al unui sistem de comanda a unei actionari de curent alternativ cu viteza variabila.

Descrierea arhitecturii hard. In figura 3 este prezentata schema bloc a unui sistem de actionare de curent alternativ.

Fig. 3

Comanda sistemului este implementata cu ajutorul unui procesor numeric de semnal TMS320C14. Sistemul de comanda este monitorizat de un sistem ierarhic superior, in cazul de fata un calculator personal, cuplat prin intermediul unei legaturi seriale, tip RS-232-C Standard.

Placa DSP a fost gandita a fi o placa de sine statatoare, cu posibilitatea utilizarii ei si in cadrul altor aplicatii industriale. Ea este prevazuta cu un convertor AID si legatura seriala cu calculatorul si poate fi completata la nevoie cu memorie suplimentara pentru date si instructiunile programului de lucru. Procesorul TMS320C14 are memorie RAM 256 cuvinte de 16 biti pentru date si un ROM de 4 kcuvinte de 16 biti pentru program. El mai este prevazut si cu porturi I/O, ceas programabil si ceas watch-dog-timer.

Hard-ul aditional este compus din trei module principale:

modulul de comanda al invertorului, care este o interfata intre placa DSP si invertorul PWM. Schema de principiu a placii este prezentata in figura 4.

interfata cu traductorul de pozitie. Semnalele primite de la traductor sunt introduse intr-un bloc de detectare a sensului de rotire a motorului, iar mai departe iesirea acestuia este preluata de un numarator. Direct de la traductor, el primeste prin intermediul unei porti SAU, un puls index. Acesta apare o singura data pe o rotatie completa si este folosit pentru resetarea numaratorului. Cea de-a doua intrare a portii logice o reprezinta semnalul de RESET ce vine de la placa de baza. Iesirea numaratorului este conectata la un latch de iesire, a carui selectie reprezinta chiar adresa acestui modul.

convertorul AID. Pentru aceasta implementarea s-a folosit un circuit specializat al firmei Burr Brown, ADC 80 care este 'mapat in memoria DSP-ului. Conversia se face pe 12 biti si poate fi startata fie cu ajutorul decodificatorului de adrese, folosind o adresa suplimentara, fie cu ajutorul unui numarator auxiliar. Selectarea optiunii este facuta de pe aceasta placa. Uneori este nevoie si de o scalare a marimilor de intrare pe aceasta placa. Ea se poate realiza foarte simplu cu ajutorul unor amplificatoare operationale.

Fig. 4

Traductorul de pozitie furnizeaza semnalele. necesare interfetei specializate. Acestea sunt doua semnale defazate cu 90° si inversele lor. In plus este transmis si un puls index (puls de referinta).

Descrierea softului. Pachetul de programe necesar unei astfel de aplicatii este in general structurat dupa cum urmeaza:

programul de initializare a sistemului. El este rulabil o singura data la punerea in functiune a sistemului, sau la o eventuala resetarea a sa;

programul principal de lucru. Acest program, sau mai corect spus pachet de programe trebuie sa contina:

programul principal de comanda si control a intregului sistem de actionare electrica in bucla inchisa;

programele de comanda a invertorului PWM;

subrutinele de tratare a

intreruperilor,

subrutine de calcul a timpilor corespunzatori numaratoarelor din figura 4 (placa de interfatare dintre invertorul PWM si procesorul de semnal);

programe de test al hard-ului aplicatiei. Ele au rolul de a testa fiecare componenta a structurii hard. Programele pot fi rulate fie la cerere (de la un pupitru de comanda sau un sistem ierarhic superior), fie dupa executia programului principal, de lucru, pe perioada ramasa libera dintre doua esantionari ale semnalelor achizitionate din sistem, dupa ce programul principal a terminat job-ul;

tabele de date si tabele de cautare (look-up tables).

Tot acest pachet de programe are o structura modulara, oferind o mare flexibilitate sistemului si putand fi cu usurinta completat cu noi subrutine, tabele de date. Programul principal se poate chiar modifica fara a necesita o modificare a hard-ului.

Pentru a putea lua o decizie cat mai corecta privind structura hard adecvata aplicatiei in discutie, se pot folosi modelele de comportare a procesoarelor numerice de semnal. In schimbul realizarii unui prototip de hard, proiectantii de sisteme de comanda numerice implementate cu DSP-uri, se folosesc de soft pentru a putea evalua proiectarea corecta a hard-ului. Subsistemele pot fi simulate simplu si rapid, reducand astfel timpul de realizare si costul dezvoltarii de placi pentru sistem. De exemplu, se poate folosi modelul de comportare DSP de tip magitrala-functionala (Bus-functional DSP behavioral model). Acest model este prezentat schematic in figura 5.

Fig. 5

Foarte utile in implementarile sistemelor de comanda cu ajutorul DSP-urilor sunt programele furnizate de firmele producatoare de astfel de circuite:

Programele de asamblare si editare de legaturi (assembler / linker). Asamblorul traduce codul limbajului sursa in cod obiect executabil, iar celalalt program permite conceperea si implementarea unui program sub forma unor module separate, care apoi urmeaza a fi legate, completand programul;

Programul de simulare. In regimul de depanare, cu ajutorul acestui program, utilizatorul poate sa urmareasca starile procesorului simulat folosind codul obiect furnizat de programele anterioare;

Programele de dezvoltare de sistem (SWDS - Software Development System). Ele permit o simulare a procesului in timp-real. De asemenea se pot folosi puncte de intrerupere a programului, se pot asocia date cu variabile de intrare/iesire, precum si alte facilitati.

Nota: Arhitecturile comenzilor numerice ce vor fi prezentate in paragrafele urmatoare se bazeaza pe modelul matematic al invertorului descris in Anexa 1.

4. Dispozitiv de comanda implementat cu memorii ERPROM si circuite integrate MSI

Dispozitivul de comanda a unui invertor, fie el de tensiune sau de curent, din cadrul unui sistem de actionare electrica cu masina asincrona, poate fi realizat cu performante general bune cu ajutorul circuitelor integrate MSI si LSI.

Prin dispozitiv de comanda a unui invertor, se intelege dispozitivul care realizeaza interfata dintre un dispozitiv de comanda superior si blocul de transmitere a impulsurilor la tiristoarele principale si de stingere ale acestuia. Dispozitivul de comanda superior, de preferinta numeric, are rolul de a preseta valorile necesare pentru tensiunea la bornle masinii. Cat timp frecventa de comutare pentru invertor este limitata, trebuie facut un compromis prin adaptarea rezolutiei unghiului fazorului spatial al tensiunii, la frecventa de lucru. Dispozitivul de comanda are rolul de a preseta amplitudinea si unghiul pentru tensiunea ceruta precum si domeniul de lucru pentru frecventa. In figurile urmatoare, pentru valorile presetate, impuse, sau de referinta s-a folosit asteriscul. Domeniul de frecventa se imparte de regula intr-o zona de valori coborate (pana la 20 Hz), unde vectorul de intrare poate fi procesat ca un vector constant si o zona de valori ridicate, unde mai multe modele complicate de comutere, ce depind direct de valoarea frecventei, sunt programate si memorate.

In figura 6 este prezentat dispozitivul de comanda implementat cu memorie ERPROM si circuite integrate MSI:

Dupa cum se vede din figura 6, un buffer receptioneaza valoarea amplitudinii. semnalului de intrare (7 biti), un semnal de 12 biti reprezentand valoarea unghiului si un semnal de 2 biti pentru definirea zonei de lucru a frecventei. Din cei 12 biti care definesc valoarea unghiului, 4 sunt folositi pentru determinarea sectorului de 30° (exista 12 sectoare), iar ceilalti 8 biti pentru determinarea unghiului din interiorul sectorului (precizia determinarii este de 30° / 28 = 0,117°}. Informatia preluata de la buffer-ul de intrare este procesata diferit in concordanta cu zona frecventei de lucru.

Infonnatia S pe 4 biti care defineste sectorul de lucru intra si in Blocul 3 (decodificatorul), bloc ce primese de asemenea inca un semnal de 6 biti de la Blocul 1 (pentru frecvente joase), sau de la Blocul 2 (pentru fecvente inalte). Acest ultim semnal pe 6 biti, SC, reprezinta starile de comutare discrete.

Blocul 1 din figura 6 este prezentat in detaliu in figura 7.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.