§å ¸n m«n häc Vi xö lÝ. §iÒu khiÓn ®éng c¬ bíc theo nhiÖt ®é. Môc lôc. 1 2 3 4 1.Më ®Çu. -Giíi thiÖu chøc n¨ng hÖ thèng: Trong ®å ¸n nµy, chóng ta sÏ nªu ra mét ph¬ng ¸n (trªn lÝ thuyÕt) m«®un ®iÒu khiÓn tù ®éng ®éng c¬ bíc theo nhiÖt ®é. Tèc ®é ®éng c¬ t¨ng khi nhiÖt ®é t¨ng vµ tèc ®é ®éng c¬ gi¶m khi nhiÖt ®é gi¶m. §©y lµ mét ®å ¸n c¬ b¶n nhÊt trong viÖc ¸p dông kÜ thuËt vi xö lÝ trong ®o lêng vµ ®iÒu khiÓn. Gi¶ sö kho¶ng biÕn thiªn nhiÖt ®é lµ T1->T2 (T1
Bé c¶ m biÕ
K§ ®Ö m vµo
B iÕn ®æ i CLK
§ éng c¬ bíc
8
K§ CS §C
Cæng //
T°
CP U
H×nh: S¬ ®å khèi hÖ thèng ®iÒu khiÓn motor bíc theo nhiÖt ®é.
Ph¬ng ph¸p vËn hµnh: Bé c¶m biÕn gåm 8 ®Çu vµo sÏ ghi l¹i sù thay ®æi nhiÖt ®é cña nguån nhiÖt vµ chuyÓn vÒ ®¹i lîng ®iÖn. Khèi khuÕch ®¹i ®Öm vµo khuÕch ®¹i tÝn hiÖu nhËn ®îc tõ c¶m biÕn vµ chuÈn ho¸ theo yªu cÇu cña bé biÕn ®æi AD. Bé biÕn ®æi AD chuyÓn tÝn hiÖu Analog thµnh tÝn hiÖu Digital ®a vµo 8255. 8255 lµ IC hç trî lËp tr×nh giao tiÕp víi CPU th«ng qua cæng song song. TÝn hiÖu nhËn ®îc sÏ ®îc xö lÝ vµ cÊp tÝn hiÖu ®iÒu khiÓn ®éng c¬. Th«ng qua cæng song song vµ 8255, tÝn hiÖu ®iÒu khiÓn ®îc khuÕch ®¹i c«ng suÊt lµm quay ®éng c¬. Khèi CLOCK cung cÊp xung chuÈn ®Ó ®iÒu khiÓn tèc ®é ®éng c¬ vµ cung cÊp xung nhÞp cho bé biÕn ®æi AC. 3.S¬ ®å nguyªn lÝ tõng khèi c¸c kÕt nèi: a)Bé c¶m biÕn vµ khuÕch ®¹i ®Öm vµo: U U2
Kho¶ng tuyÕn tÝnh U1 T ° T1
T2
H×nh: §Æc tuyÕn mét ®Çu c¶m biÕn. KÝ hiÖu: T°
Bé khuÕch ®¹i ®Öm vµo ®a kho¶ng gi¸ trÞ (U1,U2) vÒ kho¶ng gi¸ trÞ (0,5V) cho phï hîp víi kho¶ng ®iÖn ¸p cña bé ADC. Nh
vËy, ®iÖn ¸p ®Çu ra tõ 0→5V sÏ tØ lÖ thuËn víi nhiÖt ®é ®Çu vµo cña bé c¶m biÕn.
+ T°
-
Ura (0 ®Õn5V)
H×nh: S¬ ®å mét bé khuÕch ®¹i ®Öm vµo. Do yªu cÇu cña kho¶ng nhiÖt ®é cÇn ®o thêng lín h¬n kho¶ng tuyÕn tÝnh cña mét ®Çu c¶m biÕn nªn ta ph¶i kÕt hîp nhiÒu ®Çu c¶m biÕn tuyÕn tÝnh ë c¸c kho¶ng nhiÖt ®é kh¸c nhau. Chän kho¶ng lµm viÖc trªn ®Æc tuyÕn cña c¸c c¶m biÕn gièng nhau ∆T.
U
...........
T° T0
∆T
C¶m biÕn thø 1
∆T
T1
T2
C¶m biÕn thø
2
Tn-2
∆T
Tn-1 ∆T
T n
C¶m biÕn thø C¶m biÕn n-1 thø n
H×nh: Lµm viÖc víi 8 ®Çu c¶m biÕn.
b)CÊu tróc cæng song song: Cæng song song (LPT) cã 25 ch©n, trong ®ã cã 17 ch©n cã t¸c dông. ë ®å ¸n nµy chóng ta sö dông cæng LPT1 cã ®Þa chØ c¬ së 378h. Cæng LPT ®îc giao tiÕp th«ng qua 3 thanh ghi.
H×nh: S¬ ®å ch©n cña cæng song song LPT. Thanh ghi sè liÖu (®äc vµ ghi), ®Þa chØ 378h TÝn D7 D6 D5 D4 D3 D2 hiÖu Ch©n 9 8 7 6 5 4 sè Thanh ghi tr¹ng th¸i (chØ ®äc), ®Þa chØ 379h TÝn BUSY PE SLCT ACK ERROR hiÖu Ch©n 11 10 12 13 15 Thanh ghi ®iÒu khiÓn, ®Þa chØ 37Ah TÝn X X X X SLCTIN hiÖu Ch©n ----17
D1
D0
3
2
X
X
X
--
--
--
INIT
AFD
STR
16
14
1
c)Bé biÕn ®æi AD (ADC) vµ IC hç trî lËp tr×nh 8255A. Sau khi ph©n tÝch yªu cÇu cña tÝn hiÖu Analog cÇn biÕn ®æi, ta chän IC ADC 0808 (ADC 0809) lµ IC 8bit vµ 8 ®Çu vµo Analog.
§Ó gi¶m bít c«ng viÖc cho bé vi xö lÝ trong viÖc ®iÒu khiÓn vµo ra cho ADC, ta ghÐp nèi ADC víi cæng song song qua 8255A. 8255A ®îc thiÕt lËp ë chÕ ®é vµo ra c¬ së (mode 0). Trong mode 0, ta cã 4 cæng lµm viÖc ®éc lËp lµ PA,PB,PCH,PCL cã thÓ vµo hoÆc ra tuú ý.
CÊu tróc ADC 0808 (ADC 0809)nh sau.
Xung CLK gi÷ nhÞp (200kHz -1Mhz)
CLK
ChuÈn ®iÖn thÕ d¬ng ChuÈn ®iÖn thÕ ©m
VRef(
8bit output
V +)Ref(Star t ALE )
Chèt ®Þa chØ A2A1A0
EOC
='1': ®· chuyÓn ®æi xong
8 kªnh Analog vµo
B¾t ®Çu chuyÓn ®æi
OE A2 A1 A0
3 bit chän kªnh Analog
H×nh: CÊu tróc ADC0808(0809).
Mét chu kú lµm viÖc cña ADC:
H×nh: Mét chu kú lµm viÖc cña ADC0808(0809)
GhÐp nèi gi÷a 8255A vµ ADC:
8bit output
PA0-PA7
A0
PC0
A1
PC1
A2
PC2
S tart ALE OE ADC
RD WR
PC4 PC5 8255A
H×nh: S¬ ®å ghÐp nèi gi÷a ADC vµ 8255A PA: lÊy d÷ liÖu tõ ADC 0808 (ADC 0809) PC0, PC1, PC2: cæng ®iÒu khiÓn ®Þa chØ cho ADC. PC4: ®iÒu khiÓn chèt ®Þa chØ cña kªnh hiÖn hµnh vµ b¾t ®Çu biÕn ®æi ADC. PC5: chèt ®Þa chØ ®Çu ra ®Ó 8255A ®äc. (Kh«ng dïng PC3 ®Ó ®éc lËp viÖc ®iÒu khiÓn ®Þa chØ cho cæng PCL) d)GhÐp nèi 8255A víi ®éng c¬ bíc: CÊu tróc cña ®éng c¬ bíc:
A B A',B',C',D' C D
H×nh: CÊu tróc cña motor bíc. Ho¹t ®éng cña ®éng c¬ bíc: C¸c cuén d©y ®îc cÊp dßng theo mét vßng trßn, mçi chu k× cÊp dßng ®éng c¬ quay ®îc 1 vßng. AA'
BB'
t
CC'
t
DD '
t
t H×nh: Ho¹t ®éng cña tõng cuén d©y trong motor bíc.
A
B
C
D
QA
QB
Step
QC
QD 12V
H×nh: S¬ ®å nguyªn lÝ cña khèi khuÕch ®¹i c«ng suÊt ®éng c¬. Bé khuÕch ®¹i c«ng suÊt sö dông 1 transitor c«ng suÊt cho mçi cuén d©y: "ABCD"= "0001" → "0010" → "0100" → "1000" → "0001" ...... → "ABCD" thùc hiÖn lÖnh dÞch 4 lÇn, ®éng c¬ quay 1 vßng. Gi¶ sö ®éng c¬ quay 1000vßng/phót ®Õn 10000vßng/phót trong kho¶ng T1 ®Õn T2. Ta cã c«ng thøc: ∆n=k∆T n1=1000vßng/phót = 16,6vßng/gi©y → "ABCD" quay16,6x4lÇn = 66,4lÇn/gi©y. Víi xung nhÞp = 17,4kHz → cø 17,4kHz/66.4=262 xung =∂1 "ABCD" quay 1 lÇn. n2=10000vßng phót, t¬ng tù trªn, 26 xung =∂2 "ABCD" quay 1 lÇn.
Khi nhiÖt ®é biÕn thiªn tõ T0 ®Õn T8, th× biÕn chØ b¸o nhiÖt ®é VT biÕn thiªn tõ 000.0000.0000b ®Õn 8x255=2040=111.1111.1000b. →1/26-1/262=kx2040 → k=1.69.10-5 Khi ë nhiÖt ®é TX → 1/∂ - 1/262 = 1,69.10-5x(VT-0) ∂= 59172/(VT+227). Nh vËy, víi tÇn sè xung lµ 17,4kHz th× cø ∂ xung th× "ABCD" quay 1 lÇn. e)GhÐp nèi gi÷a khèi ®éng c¬ vµ 8255A:
PB PB 0 PB 1 PB 2
A B C D
3
8255A
Step motor block
H×nh: GhÐp nèi gi÷a 8255A vµ ®éng c¬ bíc. PB dïng ®Ó ®iÒu khiÓn ®éng c¬, sö dông 4 bit PB0 ®Õn PB3. f)KÕt nèi gi÷a cæng song song vµ 8255A:
D0D7
8bit DATA
RD
D0D7 STR
WR /CS nèi ®Êt v× chip lu«n ®îc chän.
/C S
A0
AFD
A1
INIT
8255 A
Cæng song song
H×nh: KÕt nèi gi÷a cæng song song vµ 8255A. g)M¹ch t¹o xung CLOCK 8254 vµ ghÐp nèi víi ADC vµ cæng song song
XTAL 15MHZ
PCLK
fXTAL/6 = 2,5MHz
8284
+5V
Rese t
+
10k C 10uF
/RES F/C
Reset: Dïng reset l¹i 8255A khi khëi ®éng.
CSYNC
H×nh: M¹ch t¹o xung CLK 2,5MHz dïng th¹ch anh. - F/C: khi nèi ®Êt dïng th¹ch anh trong lµm xung nhÞp. - CSYNC: lèi vµo cho xung ®ång bé tõ bªn ngoµi, nÕu dïng th¹ch anh trong th× ph¶i nèi ®Êt. - /RES: ch©n khëi ®éng, nèi víi m¹ch RC ®Ó tù khëi ®éng. §èi víi ®èi tîng ®iÒu khiÓn lµ ADC vµ Stepmotor th× tÇn sè cña CLK kh«ng cÇn lín l¾m. §èi víi ADC cÇn tÇn sè CLK lµ 200Khz1MHz. Stepmotor cÇn TS kho¶ng 1KHz, ta dïng thªm c¸c bé chia tÇn. §Ó ®¬n gi¶n cho thiÕt bÞ, ta chØ chia tÇn cho ADC, cßn
Stepmotor ta dïng mét biÕn ®Õm lín ®Ó chia tÇn vµ ®iÒu khiÓn. S¬ ®å nguyªn lÝ bé chia tÇn 12.
74LS92
f
MR1 MR2 CP0 CP1
Q3 Q2 Q1 Q0
f /12
H×nh: S¬ ®å nguyªn lÝ bé chia tÇn 12. Mét chu kú lµm viÖc cña ADC:
S¬ ®å khèi m¹ch CLK cã chia tÇn:
CLK 2.5MHz
Chia 12
Chia 12
CLKA=208kH z
CLKB=17,6kH z
H×nh: S¬ ®å khèi m¹ch chia tÇn tõ 2,5MHz xuèng 208kHz vµ 17,6kHz. S¬ ®å ghÐp nèi gi÷a CLK víi ADC vµ VXL th«ng qua cæng song song.
CLKB CLKA Rese t
17.4kH
/ERROR
200kHz
R eset 8255A
SLCT
CLK ADC EOC
Cæng song song EOC='1': ADC ®· chuyÓn ®æi xong
H×nh: S¬ ®å ghÐp nèi gi÷a CLK víi c¸c IC 8255A, ADC vµ cæng song song. 4)§o¹n m· ch¬ng tr×nh: a)C¸c chÕ ®é cña 8255A vµ cæng song song: 8255A lµm viÖc ë mode 0 (vµo ra c¬ së) ThiÕt lËp mode cho 8255A: CWR (A0='1',A1='1') 1 0 0 §iÒu Chän mode 0 khiÓn cho nhãm A cÊu (gåm PA vµ h×nh PCH) 8255 A
1 PA nhËn d÷ liÖu
0 PCH xuÊt d÷ liÖu
0 Chän mode 0 cho nhãm B (gåm PB vµ PCL)
0 PA xuÊt d÷ liÖu
C¸c ch©n chøc n¨ng míi cña cæng song song: Thanh ghi sè liÖu (®äc vµ ghi), ®Þa chØ 378h TÝn hiÖu D7 D6 D5 D4 D3 D2 Chøc n¨ng ®Þa chØ D7 D6 D5 D4 D3 D2 cho 8255A
0 PCL xuÊt d÷ liÖu
D1
D0
D1
D0
Thanh ghi tr¹ng th¸i (chØ ®äc), ®Þa chØ 379h TÝn BUSY ACK PE SLCT ERROR hiÖu Chøc ---EOC CLK(200kHz n¨ng (ADC) ) Thanh ghi ®iÒu khiÓn, ®Þa chØ 37Ah TÝn X X X X SLCTIN hiÖu Chøc n¨ng
--
--
--
--
--
X
X
X
--
--
--
INIT
AFD
STR
A1 (8255 A)
A0 (8255 A)
RD ,
WR(82 55A)
M« h×nh ph¬ng ph¸p thu thËp nhiÖt ®é: T 0
S0
T 1
S1
T 2
S2
T 3
S3
T
S4
T
4
5
S5
T 6
S6
T 7
S7
T 8
T°
TX H×nh: M« h×nh ph¬ng ph¸p thu thËp nhiÖt ®é.
Mçi c¶m biÕn Si (i=0,7) trong kho¶ng nhiÖt ®é Ti ®Õn Ti+1 qua bé khuÕch ®¹i ®Öm vµo chuÈn Ura tuyÕn tÝnh theo nhiÖt ®é trong kho¶ng 0-5V, qua ADC biÕn thiªn tõ 0000.0000b ®Õn 1111.1111b. Nh vËy, khi nhiÖt ®é m«i trêng TX trong kho¶ng Ti ®Õn Ti+1, c¸c c¶m biÕn S0 ®Õn Si-1 ®Òu cho gi¸ trÞ 1111.1111b, c¸c c¶m biÕn Si+1 ®Õn S7 ®Òu cho gi¸ trÞ 0000.0000b, cßn c¶m biÕn Si cho gi¸ trÞ trung gian gi÷a 0000.0000b vµ 1111.1111b. LÊy tæng c¸c gi¸ trÞ nµy, ta biÕt ®îc gi¸ trÞ tuyÕn tÝnh theo Tx.
b)Lu ®å thuËt to¸n ch¬ng tr×nh: Begin LËp mode 0 cho Cho ®éng c¬ khëi ®éng
ADC biÕn ®æi xong §äc nhiÖt ®é §Õm xung ®ång hå
§ñ xung cho ®éng c¬ nh¶y Cho ®éng c¬ nh¶y 1 bíc
Chó thÝch: - Sau khi ch¹y ch¬ng tr×nh, hÖ thèng sÏ lµm viÖc liªn tôc ®Õn khi t¾t nguån cung cÊp. c)§o¹n m· ch¬ng tr×nh:
TITLE Chuong trinh dieu khien dong co buoc theo nhiet do .MODEL SMALL .STACK 100H .DATA CWR DB 90h; 10010000b gi¸ trÞ thiÕt lËp mode cho 8255A TGDL DW 378; §Þa chØ thanh ghi d÷ liÖu cæng song song TGDK DW 37A; §Þa chØ thanh ghi ®iÒu khiÓn cæng song song TGTT DW 379; §Þa chØ thanh ghi tr¹ng th¸i cæng song song VT DW 0; khëi t¹o gi¸ trÞ 0 cho biÕn chØ b¸o nhiÖt ®é Delta DW 26; biÕn ®iÒu khiÓn tèc ®é ®éng c¬ quay DW 00010001b; biÕn ®iÒu khiÓn ®éng c¬ quay demxung DW 0; biÕn ®Õm xung CLK Daucambien DB 0; biÕn chøa sè liÖu ®Çu c¶m biÕn hiÖn thêi temp DB 0; .CODE MAIN PROC OUT TGDK,111b; yªu cÇu thanh ghi CWR chuÈn bÞ nhËn dl OUT TGDL,CWR; thiÕt lËp mode cho 8255A OUT TGDK,011b; yªu cÇu PB chuÈn bÞ nhËn d÷ liÖu OUT TGDL,quay; cho ®éng c¬ b¾t ®Çu khëi ®éng vonglap IN AH, TGTT; lÊy thanh ghi tr¹ng th¸i AND AH,10000b; chän ra bit 4 (bit EOC cña ADC) CMP AH,10000b; so s¸nh víi 1 JNE ADCchuaxong; nÕu kh«ng =1 (ADC biÕn ®æi cha xong) th× cha ;®äc nhiÖt ®é. CALL Docnhietdo; nÕu =1 (ADC ®· biÕn ®æi xong) th× ®äc nhiÖt ®é ADCchuaxong: CALL Demxungclk; gäi thñ tôc ®Õm xung CLK CMP demxung,delta; so s¸nh biÕn ®Õm xung víi biÕn ®iÒu khiÓn tèc ®é JNE khongquay; nÕu cha ®Õm ®ñ th× cha cho ®éng c¬ nh¶y tiÕp CALL Quaydongco; nÕu ®· ®ñ th× cho ®éng c¬ nh¶y tiÕp MOV demxung,0; reset l¹i biÕn ®Õm xung khongquay: JMP vonglap;
Docnhietdo PROC NEAR OUT 37A, 101b; yªu yªu cÇu PC chuÈn bÞ nhËn d÷ liÖu OUT 00100000b; yªu cÇu ADC chèt ®Þa chØ ra. OUT 37Ah, 000b; yªu cÇu PA chuÈn bÞ xuÊt d÷ liÖu IN AX, 378h; nhËn chØ b¸o nhiÖt ®é tõ ®Çu c¶m biÕn ADD VT, AX; céng gi¸ trÞ vµo biÕn nhiÖt ®é INC Daucambien; CMP daucambien 8; JNE alabel; MOV daucambien,0; b¾t ®Çu l¹i tõ ®Çu c¶m biÕn 0 ADD VT,227; MOV AX,59712; MOV DX,0; DIV VT; MOV delta,AX; suy ra delta=59712/(VT+227) MOV VT,0; khëi t¹o l¹i biÕn chØ b¸o nhiÖt ®é alabel: RET Quaydongco PROC NEAR OUT TGDK,011b; yªu cÇu PB chuÈn bÞ nhËn d÷ liÖu ROL quay; OUT TGDL, quay; cho ®éng c¬ quay theo biÕn ®iÒu khiÓn quay RET Demxungclk PROC NEAR IN AH, TGTT; lÊy thanh ghi tr¹ng th¸i vµo AH AND AH,1000b; lÊy riªng bÝt 3 (bit CLK) CMP temp,AH; so s¸nh tr¹ng th¸i tríc vµ tr¹ng th¸i míi cña CLK JE boqua; nÕu kh«ng cã gi kh¸c th× bá qua CMP temp,1; nÕu kh¸c th× kiÓm tra biÕn tr¹ng th¸i tríc JNE khongdem; nÕu tr¹ng th¸i tríc kh¸c 1(=0) th× kh«ng ®Õm INC demxung; nÕu tr¹ng th¸i tríc = 1 (xung CLK nh¶y tõ 1 xuèng 0) th× ;®Õm. khongdem: MOV temp,AH boqua: RET MAIN ENDP END MAIN