PIC16F84 MK-də analoq siqnallarının hasil edilməsi.

Презентация:



Advertisements
Похожие презентации
PIC16F84 MK-də analoq siqnallarının hasil edilməsi.
Advertisements

Транксрипт:

PIC16F84 MK-də 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 üçün analoq siqnalını hasil etmək əlavə sxem qoşulmaqla pilləvari müqavimətlərdən və OA(Operational Amplifier)-dən ibarət dövrə qurulmalidir RB3 RB2 RB1 RB0 +5V J3J3 V analçıx J1 0 J1 3 J0J0 R R0/8 R0 RB=0 halında: J 0 = J 1 = J 2 = J 3 = J mak ; J1 0 = J1 1 = J1 2 = J1 3 =0. RB=1 halında : J 0 = J 1 = J 2 = J 3 =0; J1 0 = J1 1 = J1 2 = J1 3 = J1 mak. PIC16F J in R0/2 R0/4 OA J in =(RB(i)xJ1 0 ) V aalçıx =kxR ə x J in RəRə

PİC-nin çıxışına DAC çipi qoşmaqla analoq çıxış siqnallarının hasil edilməsi 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. FOSCLK=4MHs halında TMR0 tam TO müddəti maksimal qiyməti 65.5 ms olduğundan V analout siqnalının dəyişməsi,adətən çıxışa qoşulan ossilloqraf vasitəsilə müşayət edilir. TMR0-nın T TMR)CLK sayma periodu DAC mikrosxemində hər bir V analout qiymətinin hasil edilmə (çevrilmə) müddəti T çevrilmə ilə uzlaşdırılmalıdır. V analçıx.... RB7 RB0.... PIC16F84 RA4/ T0CK1 +5V C R 8 bitl DAC T çevrilmə ossilloqraf

PİC-nin giriş tezliyinin DAC-nin gecikməsinə əsasən təyini TMR0-nın sayma siqnalları mənbəyi kimi daxili əmrlər dövrü seçildiyi, TMR0 prim =00H və PIC16F84 üçün ən kiçik FOSCLK=4MHs halında T TMR0CLK =T instr xPSV ifadəsinə və PSV=256 halında TMR0CLKmak=1mks x256=256mks olacaqdır. T DACçevr >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. Verilmiş T DACçevr =4ms və PSV=256 halında xarici siqnalların periodu T xarici = 1/16mks60KHs ;T= 4ms/256=16mks və F xarici =1/ T xarici =1/16mks 60KHs olur. F xarici =60KHs halında TMR0 delaymak =(256-0)xPSV/F extern = 256x256/60x10 3 1s; T analoutmak = TMR0 delaymak =1s;F analoutmin =1Hs; 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

PİC16F84-nin çıxışında xətti artan siqnalların hasil edilməsi DAC mikrosxemində çevrilmə müddətinin qimətinin nəzərə alındığı proqramda TMR0-nın quqrulmasının və onun məzmununun DAC-ə verilməsinin blok-sxemi 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. V analçıx Xətti impulslar T ana l çıx =1s;F analçıx =1HsT analçıx 2.55V Xətti siqnalların hasil edilməsi Por tB OUT,RA4/TOCK1 –IN; CLR PortB TMR0 qurulması: T0CS=1,T0SE=1,PSV=256,PSA=0 in OPOTION TMR0=00H saymağa başlayır TMR0(0-7) –dan RB(0-7) Ötürmə TO olmasını yoxla TMR0(0-7)=FFH no END yes RB(0-7)=0

PİC16F84-nin çıxışında xətti artan və azalan(mişarvari) siqnalların hasil edilməsi TMR0 vasitəsilə xətti artan və azalan kodlardan istifadə etmək olar 00H vəziyyətindən başlayaraq artma istiqamətində sayan TMR0 –nın cari qiymətləri PORTB-ə çıxarılır və oradan da osiiloqrafa ötürülür TO vəziyyətindən sonra taymer yenidən saymağa başlayanda PORTB-ə 255-TMR0 qiyməti çıxarılır TMR0 ikinci dəfə TO vəziyyətinə gəldikdə 1 ədəd mişarvari siqnal çıxışda hasil edilmiş olacaqdır PİC-nin çıxışında çoxsaylı impulsların alınması üçün bu proses təkrar edilməlidir TMR) taymeri elə quqrlmalıdır ki, T analçıx =2xTMR0 dolma olsun. V analout 2.55V T analçıx

PİC16F84-nin çıxışında xətti artan və azalan(mişarvari) siqnalların hasil edilməsi alqoritmi PortB –ni OUT et ; xarici TOCK siqnallarını vermək üçün RA4 –IN et ; CLR PortB; 10 ədəd mişarvari impuls üçün lokal dəyişən n=10 et TMR0 qurmaq ; OPTION reg.-də PSV=256;PSA=0;T0SE=1;T0CS=1 et TEST:i=n yes no END i=i+1 RB(0-7) =TMR0(0-7) TEST:TMR0=FFH no yes TMR0-da saymanı yenidən başla :TMR0(0-7)=00H RB(0-7) =256-TMR0(0-7) TEST:TMR0=FFH noyes

PIC16F84-nin çıxışında SİN-dalsiqnalların hasil edilməsi SİN-nın tam 1 dövründəki qiymətləri alt proqramda qeyd etməli Hər dəfə alt proqram çağrılanda SİN-nın növbəti qiyməti RETLW (Return with literal in accumulater) əmri ilə main proqrama qaytarılır Main proqramda W-nin cari qiyməti PORTB-ə çıxarılır 2.55V FFH 5V V analout 0V 00H 1.28V 80H Bu qiymətlər alt proqrama daxil edilir

SİN-dalsiqnalların hasil edilməsi alqoritmi PortB –ni OUT et ; SİN-nın dövr ərzindəki qiymətləri və dalğaların sayı üçün n və m lokal dəyişənləri daxil et of i=i+1 W –danPORTB-ə ötür DAC-nin çevrilməsi qədər gecikmə TEST : dövrdəki qiymətlərin sayı i =n no yes Test : dalğaların sayı J-=m Yeni dövrün başlanğıcı i =0 END Call altprogram; Altproqramda RELW – ilə SİN-nın növbəti qiyməti main proqrama ötürülür j=j+1 yes no

TMR0 ilə PWM (Puls-Wide Modulation ) siqnalların yaradılması PWM siqnalların zaman parametrlərini (davamiyyət və fasilə) dəyişməklə düzbucaqlı impulsların orta səviyyəsini tənzimləmək olar V çıxorta =V max x T dav / T dövr T dav –impulsun davamiyyət müddəti, T dövr –impulsun dövrü T dav =50% x T dövr ; T fas =50% x T dövr ;V çıxorta =50% xV max V outmax =5V halında V çıxorta =5x50%=2.5V V çıx 5V T davr T fas T dövr 5V V çıx T dav T fas T dav =75% x T dövr ; T fas =25% x T dövr ;V çıxcorta =75% xV max ; V outmax =5V halında V çıxorta =5x75%=3.75V