Sunteți pe pagina 1din 19

Stand experimental pentru studiul sistemelor de conducere distribuit a proceselor

Obiectivele lucrarii
Realizarea unei platforme didactice bazata pe microcontrollere low cost pentru studiul sistemelor distribuite de conducere a proceselor (DCS) Sistematizarea cunostintelor legate de implementarea hardware si software a principalelor componente ale unui DCS.

Problematica abordata
PLC sau RTU
SENZORI SI CIRCUITE DE CONDITIONARE

Achizitie si transmisie date

ELEMENTE DE EXECUTIE

Control in timp real

HMI

PLC sau RTU

CONTROL LA NIVEL DE SUPERVIZARE

SENZORI SI CIRCUITE DE CONDITIONARE

Achizitie si transmisie date

ELEMENTE DE EXECUTIE

Control in timp real

Pornind de la structura generala a unui DCS, lucrarea de fata isi propune sa descrie solutii de implementare a principalelor componente ale acestuia, folosind microcontrollere low cost.

PROCES

PROCES

FIELDBUS

Problematica abordata
Proiectarea unui senzor inteligent de temperatura, Proiectarea unui actuator digital cu motor electric, Implementarea unor regulatoare digitale P, PI, PID pentru controlul temparaturii, Implementarea unui protocol de comunicatie compatibil cu sistemele SCADA uzuale (MODBUS RTU), Implementarea unui micro PLC Proiectarea unei interfete HMI folosind aplicatia Winlog Lite (Sielco Sistemi)

Punctul de plecare
S-a pornit de la un modul hardware cu microcontrollerul Atmel ATMEGA16 S-a folosit mediul de dezvoltare software CodeVision AVR pentru scrierea programelor (in limbaj C) si aplicatia software de tip HMI Winlog Lite pentru ilustrarea functiilor de conducere la nivel de supervizare (SCADA)

Implementarea unui senzor inteligent de temperatura


Precizare: Calificativul inteligent cu referire la senzori nu are in vedere atribute de inteligenta artificiala. Desemneaza senzori care au facilitati de autodiagnostic, autocalibrare, si functii de transmisie digitala a informatiei masurate catre o unitate de prelucrare a datelor.

Senzorul LM35H si conectarea la microcontroller


TO-46 +Vs Vo
GND

VEDERE DINSPRE TERMINALE

LM35H este un traductor de temperatura semiconductor, care functioneaza liniar in domeniul -55 grade Celsius pana la +150 grade Celsius. Se comporta ca o sursa de tensiune care genereaza 10mV/grad C. Se conecteaza la o intrare analogica a microcontrollerului.

Implementarea software
Principalele task-uri: - Citirea informatiei analogice de la LM35H - Filtrarea eventualelor perturbatii (prin citiri repetate si mediere) - Transmisia datelor catre o unitate de prelucrare folosind protocolul MODBUS RTU.

Implementarea protocolului MODBUS RTU


-Accesul la bus este ierarhizat MASTER-SLAVE (un singur MASTER pe bus) -Fiecare unitate SLAVE are un identificator unic -Delimitarea pachetelor de date se face prin timpi de pauza (fara activitate pe bus). -Structura generala a pachetelor este:
SLAVE ADDRESS un octet FUNCTION CODE un octet DATA FIELD Maxim 251 octeti CRC doi octeti

Citirea informatiei de la senzor cu MODBUS RTU


PACHETUL EMIS DE MASTER
FIRST REG.
Number of regs

SLA 01
FC=0x03 Read Holding Registers

FC 03

CRC

Hi Lo Hi Lo 00 05 00 01 94 0B

PACHETUL DE RASPUNS DE LA SLAVE


Register DATA

SLA 01

FC 03

Byte count 02

CRC

Hi Lo 55 37 C6 C2

S-a implementat doar functia cu FC=0x03 (Read Holding Registers) limitand la 1 numarul de registre care pot fi citite cu o singura comanda.

Proiectarea unui positioner unghiular cu servomotor de curent continuu


Un positioner unghiular este un dispozitiv care controleaz (in bulca inchisa) poziia unghiular unui element de execuie (de obicei o valv) In exemplul considerat, miscarea mecanica a elementului de executie este controlata de un motor de curent continuu.

Positioner unghiular cu servomotor de curent continuu comanda motorului


+VM

Modul de functionare al puntii H:


S3

OUT2 OUT1

S1

Microcontroller
PWM2 PWM1

M
S2 S4

Sensul de rotatie a motorului se alege comandand perechile de switch-uri (S1-S4), respectiv (S2-S3)

Positioner unghiular cu servomotor de curent continuu citirea pozitiei unghiulare

M1

M
M2

Citirea pozitiei unghiulare a elementului de executie se face cu ajutorul unui potentiometru cuplat la axul motorului ca in figura.

Positioner unghiular cu servomotor de curent continuu Schema completa


Puntea H este realizata cu tranzistoare MOSFET Cele doua potentiometre din figura (P10 si P11) sunt folosite respectiv pentru definirea valorii prescrise a pozitiei si pentru citirea valorii curente a pozitiei unghiulare.

Positioner unghiular cu servomotor de curent continuu Implementarea software


Se citesc tensiunile analogice de pe cursoarele celor doua potentiometre (Vprescrisa si Vmasurata) Se calculeaza eroarea de reglaj e=VprescrisaVmasurata Daca e>0 se comanda deplasarea motorului spre dreapta, daca e<0 spre stanga. Daca e are o valoarea apropiata de zero se comanda oprirea motorului. Datorita frecarilor din sistemul de demultiplicare mecanica, nu e necesara o secventa de decelerare. Este, de fapt, un regulator bipozitional cu histerezis.

Implementarea unor regulatoare digitale de temperatura cu microcontroller -hardware


Senzorul folosit este circuitul LM35H (IC1) Elementul de executie (incalzitorul) este un bec cu incandescenta (LMP1) controlat de o iesire PWM Valoarea prescrisa setata cu potentiometrul P3

Implementarea unui regulator proportional de temperatura cu microcontroller - software


Vout = K p (T p Tm ) e(t ) = T p Tm Vout = K p e(t )
e(t)

Se masoara Tp si Tm Se calculeaza eroarea e(t) si valoarea de iesire Vout Valoarea Vout se scrie direct in PWM
t

T Tp Tss

ess(t)=Tp-Tss

Afisarea Tp si Tm se face cu ajutorul interfetei seriale. Studentii pot observa prezenta erorii stationare si influenta Kp.

Tm t
ti tj

Implementarea unui regulator PI de temperatura cu microcontroller software


Vout = K p e(t ) + K i 1 e(t )dt t j t i ti
tj

ek = e(t i + kt ) t j t i = Nt 1 1 N e(t )dt = ek t = t j ti N t k =1 ti


tj

Din relatiile alaturate se observa ca integrala se poate aproxima ca fiind media ultimelor N valori ale erorii de reglare. Implementarea software necesita un timer care defineste intervalul Delta_t intre doua citiri. Valorile calculate ale erorii sunt stocate intr-un buffer cu N locatii. Calculul integralei se rezuma la calculul mediei pe buffer.

e
k =1

Va multumesc!

S-ar putea să vă placă și