PİC16Fxx mikrokontrollerində analoq siqnallarının hasil edilməsi
Xətti dəyişən siqnalların yaradilması.PIC16F84 MK-nin daxilində RAÇ (DAC-Digital-Analog Convertor) modulu olmadığından qurğunun çıxışında analoq siqnalını əlavə sxemqoşulmaqla hasil etmək üçün pilləvari müqavimətlərdən və OA(Operational Amplifier)-dən ibarət dövrə qurulmalidir (Şək.4.28a).Adətən ayrıca DAC mikrosxemi MK-nın çıxış portuna birləşdirilir(Şək.4.28b). Şək.4.28a-da RB(0-3) xətlərinə bağlanmış dövrədə pilləvari müqavimətlərin qiymətləri RB(0-3) bitlərinin çəki əmsallarına uyğun olaraq R0, R0/2,R0/4,R0/8 kimi götürülmüşdür.(+5V–R- (R0/2i)-OA) dövrəsi üzrə axan J1i cərəyanının qiməti RB(i) çıxışının vəziyyətindən asılıdır.Belə ki,RB(i)=”0” olanda J1i minimal və (+5V–R- RB(i)) dövrəsinin cərəyanı Ji isə maksimal olur. RB(i)=”1” halında isə J1i maksimum və Ji minimum qiymətləri alır.OA-nın giriş cərəyanı Jgir=∑(RB(i)xJ10) –nın qiymətinə görə OA-nın çıxışında Vanalout siqnalının qiyməti hasil edilir.RB(0-3) kodlarına uyğun olaraq Vanalout siqnalının qiymətləri cədvəl 4.2-də verilmişdir.
8 bitli DAC mikrosxemindən istifadə etməklə qurğunun çıxışında hasil edilən Vanalout siqnalının (0-2.55)V dəyişməsi şək.4.28b-dəki sxem üzrə izlənilə bilər.Burada lampanın işıqlanma müddətinin maksimal qiyməti FOSCLK=4MHs halında 65.5 ms olur.Odur ki, Vanalout siqnalının dəyişməsi,adətən çıxışa qoşulan ossilloqraf vasitəsilə müşayət edilir. DAC-nin girişinə 00H-FFH intervalında ardıcıl artma istiqamətində dəyişən kodun verilməsi üçün MK-nın daxilindəki TMR0 taymerindən istifadə etmək olar.Lakin bu halda TMR0-nın sayma tezliyi DAC mikrosxemində hər bir Vanalout qiymətinin hasil edilmə (çevrilmə) müddəti ilə uzlaşdırılmalıdır.Şək.4.28-də verilən ifadəyə görə TMR0-nın sayma siqnalları mənbəyi kimi daxili əmrlər dövrü seçildiyi halda PIC16F84 üçün ən kiçik FOSCLK=4MHs və TTMR0CLK=Tinstr xPSV ifadəsinə əsasən TMR0-da sayma periodunun maksimal gecikməsi PSV=256 halında TMR0CLKmak=1mks x256=256mks olacaqdır.TDACdlay>256mks halında isə TMR0 taymerinin say mənbəyi kimi RA4/TOCK1 girişınə bağlanmış aşağı tezlikli RC dövrəsi seçilməlidir.
Məsələn, TDACdelay=4ms hal üçün
TTMR0CLK=Textern x PSV; TTMR0CLK=4ms və PSV=256 halında
Textern=4ms/256=16mks;Fextern=1/16mks ≈60KHs;TMR0ilkin=00H isə
Yəni çevrilmə müddəti 4ms olan DAC və TMR0 vasitəsilə maksimal olaraq 1s müddətində xətti dəyişən analoq siqnallarını almaq olar(şək.4.29a). DAC mikrosxemində çevrilmə müddətinin göstərilən qimətinin nəzərə alındığı proqramda TMR0-nın quqrulmasının və onun məzmununun DAC-ə verilməsinin blok-sxemi şək.4.29 b-də verilmişdir.Burada qırıq xətlərlə göstərilən əlavə keçidlərin hesabına minimal tezliyi 1Hs olan mişarvari siqnallar hasil etmək olar.
MK-nin çıxışında xətti artıb-azalan periodik siqnalları(şək.4.30a) şək.4.28b-də verilən sxem üzrə hasil etmək olar.Bunun üçün xarici siqnal mənbəyi ilə sayan TMR0 taymerinin PSV=256,TMR0ilkin=00H,T0CS=1,T0E=1,PSA=0 parametrləri ilə qurulması və TMR0-nın məzmununun PortB-yə 10 period ərzində çıxarılması alqoritminin blok-sxemi şək.4.30b-də göstərilmişdir.
PIC16F84 MK üzərindəki qurğunun çıxışında sin-dal siqnalların hasil edilməsi.
Çıxışına DAC qoşulmuş PIC16F84 vasitəsilə SİN-dal siqnalların alınması üçün TMR0-dan istifadə edilmir,çünki burada artıq xəttilik pozulduğundan DAC-nin girişindəki kodların dəyişmə addımı bərabər deyildir.Bunun əvəzində DAC-nin girişinə veriləcək kodlar ardıcıllıği xüsusi cədvəl üzrə alt proqramdan ötürülür. PIC16F84-nin əmrlər sisteminə daxil olan RETLW xxH (return with literal in W) vasitəsilə hər dəfə alt proqramdan qayıdış zamanı RB-yə yüklənəcək növbəti XXH kodu əsas proqrama W vasitəsilə ötürülür. Sin-danın amplitud qimətləri 2.55V olmaqla tam periodu yaratmaq üçün tələb olunan kodlar ardıcıllığı alt proqramdakı cədvəldə(TABLO) nəzərdə tutulmuşdur.Bu alqoritmin blok-sxemi şək.4.31-də verilmişdir.
Bu, periodik düzbucaqlı impulsların davamiyyəti və fasilə müddətti parametrlərinə görə orta qiymətli analoq siqnalının alınması üsulu olub,əsasən elektromexaniki qurğuların idarə edilməsində,aşağı tezlikli səs siqnalının yaradılmasında tətbiq edilir. Zaman parametrləri Tdav,Tfas,Tper olan periodik düzbucaqlı siqnallar aparatla (PWM modulu),yaxud proqramla MK-nın çıxış portunda yaradılır. Qiyməti Vanalout=V çıxmakx%Tdavam kimi təyin edilən analoq siqnalı isə bu pota bağlanan bir neçə bənddən ibarət RC süzgəci vasitəsilə hasil edilir (şək.4.32). PIC16F84 –nin daxilində PWM modulu olmadığından onun çıxış potunda Tdav,Tfas parametrli periodik düzbucaqlı siqnallar proqramla hasil edilir.Bu halda zaman intervallarına uyğun gecikmə alt proqramından,yaxud TMR0 taymerindən istifadə etmək olar.Şək.4.33 a) və b)-də bu üsullarla PIC16F84 –nin RB(0) portunda Tdav,Tfas parametrli periodik düzbucaqlı siqnallarin alınması üçün proqramların blok-sxemləri göstərilmişdir.
PIC16F84 MK-nin girişinə təsir edən analoq siqnalının çevrilməsi.
PIC16F84 –nin daxili strukturunda ADC modulu olmadığına görə anloq siqnalının məntiqi minimal və maksimal(“1”/”0”) qiymətlərinin təsirini MK-nın girişinə potensiometr vasitəsilə vermək olar(şək.4.34a).Potensiometrdən verilən Vpoten siqnalın qiyməti girişə qoşulmuş voltmeterin göstəişi ilə izlənilir. Vgir-nin qiyməti “1” -ə uyğun səviyyədə olanda RB0 portuna bağlanmış LED-nin vəziyyəti yanılı, bundan aşağı səviyyədə isə sönülü olacaqdır.Analoq-rəqəm çevrilməsi üsulu verilmiş analoq qiymətinin ardıcıl dəyişən kodların analoq ekvivalenti ilə müqayisəsinə əsaslanır. PIC16F84 MK-nın giriş portuna bağlanmış dəyişən müqavimətin qiymətinə uyğun çıxışda kodun alınması üçün şək.4.34b-dəki sxemdən istifadə edilir.Burada potensiometr və C kondensatorundan ibarət dövrənin M nöqtəsindəki potensial MK-nın RA0 portuna təsir edir.C-nin dolma əyrisinin meyl bucağı R-nin qiymətindən asılı olaraq dəyişir və nəticədə V flash gərginliyinə qədər C-nin yüklənmçəsi müddəti T yük də R-ə mütənasib olaraq dəyişəcəkdir (şək.4.34c).Yəni kəsilməz dəyişən R-nin hər bir cari qiymətinə qarşı T yük müddətini qoymaq olar. T yük intervalının koda çevrilməsi üçün MK daxilindəki TMR0 taymerindən istifadə edildiyi proqramın blok-sxemi şək.4.35-də verilmişdir. Burada TMR0 taymeri elə qurulmalıdır ki,T TMR0 dolma>> T yük .Əks halda RA0 girişinə V flash gərginliyi təsir edənə qədər taymer dolmuş olacaqdır. V flash qiyməti məntiqi “1”-ə ekvivalent olan giriş gərginliyidir.