Documente Academic
Documente Profesional
Documente Cultură
Matlab Simulink
SIMULINK este o unealtă Matlab folosită pentru modelare, simulare și analiză. În mod normal o
simulare este realizată aproape instantaneu, putându-se analiza evoluția datelor doar la final. Dar ce se
întâmplă atunci când modelul depinde de un stimul extern mediului de simulare fiind constrânși de
exemplu de asteptarea unui flux de date de la un semnal generat de către un dispozitiv hardware
separat? Simularea nu mai poate fi efectuata instantaneu. Cei de la MathWorks s-au gandit la acest
lucru și pun la dispozitie posibilitatea de Real-Time Synchronization ce sincronizeaza ceasul Simulink cu
ceasul de timp real al computerului (RTC).
Scopul proiectului este generarea unui semnal dreptunghiular, avand factor de umplere variabil,
cu ajutorul portului Parallel și calcularea frecventei unui semnal receptionat pe unul dintre pinii aceluiași
port.
1. Utilitare necesare
În parcurgerea proiectului se va utiliza mediul de dezvoltare Matlab Simulink. Este necesară una
din versiunile 2013 sau 2014.
Pentru a putea rula o simulare în timp real trebuie instalat pachetul Real-Time Target. Acest
lucru se face introducând în Command Window-ul Matlab instrucțiunea rtwintgt -setup.
Pachetul poate fi instalat doar dacă Matlab a fost deschis în modul administrator.
În modelul astfel creat se va construi schema ce va conține atât partea de generare a semnalului
dorit și ce va fi trimis la ieșire pe unul dintre pinii portului paralel, cât și partea de captare a semnalului
primit pe un alt pin al portului și măsurarea frecvenței acestuia.
Pentru comunicarea cu portul paralel se folosesc elemente din biblioteca Desktop Real Time a
Simulink-ului. Digital Input returnează semnalul primit pe unul dintre pinii portului. În schemă pinul 10
este setat ca pin de intrare. Semnalul generat de PWM este emis pe pinul 2 al portului paralel cu
ajutorul blocului Digital Output.
3. Testarea modelului
Pentru a putea vedea cum funționează modelul este nevoie de un osciloscop digital și de un
generator de semnal. Dispozitivul Analog Discovery pune la dispoziție ambele facilități. Analizorul se
conectează la un sistem de calcul printr-un cablu usb, iar pentru configurare se folosește softul
WaveForms al celor de la Digilent.
Fig. 11 Analizor digital Analog Discovery Fig. 12 Schema pinilor pentru Analog Discovery
Firul negru al analizoruli digital (marcat cu săgeată în jos) se conectează la un pin de masă al
portului paralel, iar la pinul 2 al acestuia se conectează firul portocaliu (canalul 1+). După deschiderea
aplicației WaveForms se selectează utilitarul Scope, se dă run și se configurează baza de timp, offsetul și
range-ul canalului pe care se face citirea semnalului generat pe portul paralel astfel încât semnalul
captat să fie ligibil.
Fig. 13 Semnal dreptunghilar cu factorul de umplere 37% afișat pe Scope-ul Simulink
În figurile de mai sus sunt reprezentarea din simulare și semnalul real citit de analizorul logic
pentru un semnal dreptunghiular cu frecvența de 1000 Hz și factor de umplere 37%. După cum se
observă în Figura 13 informațiile obținute la ieșirea din portul paralel au frecvența de 1 kHz și factorul de
umplere 30.1%. Cel din urmă este este diferit fată de cel dorit dar suficient de apropiat ca valoare.
Se observă că și în acest caz frecvența obținută este exact 1 kHz, în schimb factorul de umplere
este un pic diferit avand valoarea de 69.96%, valoare destul de apropiată de cea dorită.
În ambele cazuri am obținut valori exacte pentru frecvența semnalului (1000Hz) și factori de
umplere cu erori de maxim 14% din valoarea dorită.
Următorul pas este să se verifice dacă un semnal dreptunghiular obținut de la generatorul digital
este citit corect de la intrarea prin portul paralel.
Pentru acest lucru, unul din firele negre ale analizorului (marcat cu săgeată în jos) se va conecta
la unul din pinii de masă ai portului paralel, iar firul roz cu alb (pinul digital 12) se va conecta la pinul 10
al portului paralel. Se deschide WaveForms și se selectează utilitarul Patterns. Aici se adaugă, apăsând
pe semnul plus verde din partea stângă, pinul digital pe care se dorește generarea semnalului și se
configurează pattern-ul pentru obținerea unui semnal dreptunghiular cu frecvența de 400 Hz conform
imaginii de mai jos.
Se apasă butonul Run atât pentru generatorul de semnal cât și pentru modelul Simulink și se
urmârește semnalul citit de la portul paralel cu ajutorul Scope-ului. Frecvența acestuia este afișată pe
Display.
Se observă că valoarea afișată pe Display pentru frecvența semnalului nu este departe de 400 Hz
ceea ce înseamnă ca modelul este suficient de precis.
În imaginile următoare sunt semnale citite de la generator în timp real având frecvența de
1000Hz dar factori de umplere diferiți.