Mách đieău khieơn motor kéo:

Một phần của tài liệu Đồ án tốt nghiệp: Lý thuyết mạch điện (Trang 38)

Mách đieău khieơn motor kéo được dùng đeơ đieău khieơn cho motor kéo bánh xe quay theo những tôc đoơ khác nhau tuỳ vào xung đưa ra ở các chađn ngõ ra PA0, PA1 cụa IC 8255A.

Hình 4.10: Sơ đoă mách đieău khieơn motor kéo.

Motor được chĩn là lối có đieơn áp 6V, dòng khođng tại là đo được là 150mA. Do đó, BJT được chĩn phại thoạ mãn các yeđu caău sau:

- Vce > 6V.

- Ic > 5.150 = 750 mA. - Vbe > 5V.

Dựa vào các yeđu caău tređn ta chĩn BJT là lối D882 có các thođng sô sau:

Motor R1 2,2k 6V D882 PA0,1

Đeơ BJT dăn bão hoà khi có xung dương đưa vào ngõ vào cụa mách đieău khieơn motor kéo thì đieău kieơn sau phại thoã mãn:

) ( 9 , 0 160 150 min mA I I C B     Chĩn IB = 2mA. ) ( 15 , 2 2 7 , 0 5 1 1       k I V V R B Logic   Chĩn R1 = 2,2k 4.2.3. Mách bàn phím:

Mách bàn phím goăm có 3 phím bâm được bô trí như hình sau:

Hình 4.11: Bieơu dieên bàn phím.

Hai phím 1 và 2 dùng đeơ nhaơp thời gian vaơn hành cụa xe, phím sô 1 dùng đeơ nhaơp chữ sô hàng chúc, phím sô 2 dùng đeơ nhaơp chữ sô hàng đơn vị, phím Go/Stop dùng đeơ kích khởi xe chuyeơn sau khi đã nhaơp thời gian vaơn hành từ bàn phím hay làm cho xe ngừng hốt đoơng trong quá trình vaơn hành.

Hình 4.12 : Sơ đoă mách bàn phím.

Ứng với tráng thái ân phím hay nhạ phím ta sẽ có các mức đieơn áp khác nhau được đưa vào coơng PC cụa chip 8051 đeơ từ đó thực hieơn các nhieơm vú khác nhau như nhaơp thời gian vaơn hành cụa xe, kích khởi xe hốt đoơng hay dừng hốt đoơng cụa xe trong khi đang vaơn hành.

Đieơn trở R được tính chĩn baỉng cách chĩn tín hieơu đưa vào các chađn cụa 8051 có dong 2mA. ) ( 5 , 2 2 5 2      R Vcc k  Chĩn R = 2,2k . 4.2.4. Mách cạm biên:

Mách cạm biên goăm hai boơ cạm biên đaịt ở dưới xe, hốt đoơng dựa tređn nguyeđn taĩc thay đoơi đieơn trở cụa quang trở khi cường đoơ ánh sáng chiêu vào quang trở thay đoơi.

5V R 2,2k S PC5..7 Go/Stop 1 2

Hình 4.13 : Bieơu dieên boơ phaơn cạm biên.

Hình 4.14: Sơ đoă mách cạm biên.

Khi led chiêu ánh sáng xuông sàn, nêu gaịp vùng màu tôi thì phaăn lớn ánh sáng sẽ bị hâp thú neđn cường đoơ ánh sáng phạn xá đaơp vào beă maịt quang trở là bé làm cho quang trở có đieơn trở lớn, do đó đieơn áp tái cực B cụa BJT nhỏ hơn V neđn BJT ngưng dăn, tín hieơu lây ra tái cực C cụa BJT ở mức logic 1. Ngược lái, khia ánh sáng chiêu xuông sàn gaịp vách traĩng thì cường đoơ ánh sáng phạn xá đaơp vào beă maịt quang trở lớn hơn neđn quang trở có đieơn trở nhỏ hơn, đieơn áp tái cực B cụa BJT lớn hơn V, BJT dăn bão hoà, neđn tín hieơu lây ra tái cực C ở mức logic 0. Các tín hieơu này được đưa vào chađn PC3 và PC4 cụa 8051, dựa vào đó mà 8051 sẽ đieău khieơn vaơn tôc cụa các motor kéo bánh xe cháy đúng theo vách traĩng đã kẹ dưới sàn.

4.2.5.Mách đèn báo hieơu:

Mách đèn báo hieơu được sử dúng đeơ baơt đèn báo hieơu khi xe gaịp tín hieơu dừng tređn đường đi, tín hieơu này ứng với cođng vieơc mà nó phại làm tái moêi đieơm dừng tređn loơ trình cụa nó. R1 2,2k 6V LED R2 390 C1815 PA2 R1 330 C1815 LED 5V R2 4,7k VR PC3,4 Boơ phaơn cạm biên

Mách đèn báo hieơu goăm moơt led đieơm, được nôi vào mách khuyêch đái dùng transistor trường, tín hieơu đieău khieơn đưa vào mách khuyêch đái được lây từ ngõ ra PA2 cụa IC 8255A.

Khi chađn PC3 và PC4 cụa chip 8051 cùng nhaơn được tín hieơu mức 0 từ hai boơ cạm biên đaịt dưới xe, chip 8051 sẽ xử lý và xuât tín hieơu mức 1 ra chađn PA2 cụa IC 8255A. Tín hieơu này làm cho BJT dăn bạo hoà, dòng từ nguoăn sẽ đoơ qua led, đieơn trở R2 qua BJT xuông mass, làm cho led phát sáng. Ngược lái, khi ít nhât 1 trong 2 chađn PC3 và PC4 nhaơn

được tín hieơu mức 1 từ hai boơ cạm biên, chip 8051 sẽ xuât tín hieơu mức 0 ra chađn PA2 cụa IC 8255A, tín hieơu này làm cho BJT ngưng dăn, led taĩt.

Các linh kieơn trong mách tređn được tính toán và chĩn như sau:

- Chĩn nguoăn cung câp Vcc = 6V.

- Chĩn led đieơm là lối có dòng IL = 10 mA, sút áp tređn led VL = 2V. - BJT được chĩn phại thoạ mãn các yeđu caău sau:

+ Vce > Vcc = 6V. + Ic > IL = 10 mA. + Vbe > Vlogic1 = 5V.

Chĩn BJT là lối C1815, có các thođng sô như sau:

P F T Vcbo Vceo Vebo Ic hfe C1815 400 80 125 60 50 5 150 250

Tính chĩn đieơn trở R2 :

Khi BJT dăn bạo hoà, đieơn áp đát tređn R2 : VR2 = Vcc - VL - Vces ) ( 38 , 0 10 2 , 0 2 6 2          k I Vces V Vcc R L L  Chĩn R2 = 390 . Tính chĩn đieơn trở R1:

Đieău kieơn đeơ BJT dăn bạo hoà khi tín hieơu đieău khieơn đưa vào mách khuyêch đái có đieơn áp 5V là: ) ( 04 , 0 250 10 min mA Ic IB      Chĩn IB = 2mA. ) ( 15 , 2 2 7 , 0 5 1 1        k I V V R B bes Logic  Chĩn R1 = 2,2k .

5.1. CHƯƠNG TRÌNH CHÍNH:

5.1.1. Lưu đoă:

5.1.2. Giại thích:

Đaău tieđn gĩi chương trình con Init đeơ thiêt laơp chê đoơ hốt đoơng cho IC 8255A, các boơ định thời 0, 1 và tráng thái các biên ban đaău.

Sau đó, gĩi chương trình con Display đeơ hieơn thị thođng báo sẵn sàng nhaơn dữ lieơu được nhaơp vào từ bàn phím.

Gĩi chương trình con Keyscan đeơ chờ nhaơn moơt phím. Sau khi moơt phím được ân

chương trình sẽ kieơm tra xem tráng thái chađn P1.7 cụa chip 8051 có ở mức thâp khođng, nêu

Gĩi CT con Init đeơ thiêt laơp chê đoơ hốt đoơng cho 8255, các Timer và tráng thái các biên ban

đaău

Gĩi CT con Display đeơ hieơn thị thođng báo sẵn sàng nhaơn dữ lieơu từ bàn phím. Gĩi CT con Keyscan đeơ chờ nhaơn phím

Gĩi CT con Run đieău khieơn xe vaơn hành trong khoạng thời gian được lưu trong biên Num 1.

S

P1.7 = 0?

(Go/Stop) Đ

START

Gĩi CT con Indec đeơ nhaơp thời gian vaơn hành cụa xe vào biên Num1.

Go/Stop được ân, chương trình chính sẽ gĩi chương trình con Run đeơ đieău khieơn xe cháy trong khoạng thời gian dược lưu trong biên Num1, thời gian này được tính baỉng phút. Khi thời gian vaơn hành cụa xe baỉng khođng chương tình sẽ quay trở lái gĩi chương trình Display và tiêp túc thực hieơn cođng vieơc như tređn.

5.2. CHƯƠNG TRÌNH INIT THIÊT LAƠP CHÊ ĐOƠ HỐT ĐOƠNG CHO CÁC VI MÁCH VAØ TRÁNG THÁI BAN ĐAĂU CHO CÁC BIÊN: VAØ TRÁNG THÁI BAN ĐAĂU CHO CÁC BIÊN:

5.2.1. 1. Lưu đoă:

5.2.2. Giại thích:

Chương trình con Init có nhieơm vú thiêt laơp cho IC 8255 hốt đoơng ở chê đoơ 0, các coơng PA, PB, PC ở tráng thái xuât dữ lieơu, boơ định thời 0 được thiêt laơp hốt đoơng ở chê đoơ2, boơ định thời 1 hốt đoơng ở chê đoơ 1, gán các biên Keybuf, Keybuf1, Keybuf2, Keybuf3, Num1 có giá trị ban đaău baỉng khođng,xoá bit tráng thái bàn phím Keybit. Sau đó trở veă chương trình chính.

INIT

Khởi táo Timer 0 và Timer 1 Khởi táo 8255 (PA, PB, PC : out)

Khởi táo các biên ban đaău RET

5.3.1. 1. Lưu đoă:

5.3.2. Giại thích:

Khi chương trình đĩc phím Keyscan được gĩi, nó sẽ kieơm tra xem bit tráng thái bàn phím Keybit đã được laơp chưa, nêu đã được laơp nghĩa là đã nhaơn phím thì chương trình này được kêt thúc và trở veă chương trình chính. Trường hợp bit tráng thái Keybit chưa được laơp thì chương trình sẽ laăn lượt kieơm tra tráng thái các chađn P1.5, P1.6, P1.7. Nêu cạ ba chađn P1.5, P1.6, P1.7 đeău ở mức 1 nghĩa là khođng có phím nào được ân, chương trình Keyscan sẽ kêt thúc và trở lái chương trình chính. Trường hợp 1 trong các chađn đó tác đoơng mức khođng thì sẽ kieơm tra xem chađn nào tác đoơng mức khođng trước thì bit tráng thái Keybit sẽ được

KEYSCAN Keybuf = 1 Keybit = 1 Keybuf = 3 Keybit = 1 Keybuf = 2 Keybit = 1 Đ Đ Đ Đ Đ S S S S S RET P1.7 = 0? Keybit = 1? P1.5 = 0? P1.6 = 0? P1.5,6,7 = 1?

Sau đó, kieơm tra xem cạ ba chađn P1.5, P1.6, P1.7 đã trở veă mức 1 chưa hay nói cách khác là phím đã được nhạ chưa nêu khođng còn phím nào được ân thì chương trình sẽ kêt thúc, còn nêu có ít nhât 1 trong ba phím còn được ân thì chương trình sẽ quay trở lái tiêp túc kieơm tra cho đên khi tât cạ các phím đeău được nhạ mới kêt thúc chương trình.

5.4. CHƯƠNG TRÌNH DISPLAY HIEƠN THỊ LED 7 ĐỐN:

5.4.1. Lưu đoă:

5.4.2. Giại thích:

Chương trình con Display được dùng đeơ hieơn thị led đốn khi nó được gĩi. Đaău tieđn, địa chư cụa led 1 (địa chư coơng PB cụa 8255) được đưa vào con trỏ dữ lieơu DPTR bởi leơnh MOV. Sau đó ghi dữ lieơu ở ođ nhớ Led1 ra địa chư được lưu trong con trỏ dữ lieơu DPTR, noơi dung cụa ođ nhớ Led1 là mã hieơn thị led 7 đốn cụa ođnhớ thứ Keybuf1 trong bạng Table, mã này được lưu vào biên Led1 trong quá trình thực hieơn chương trình con Indec. Quá trình hieơn thị led 2 hoàn toàn tương tự như quá trình hieơn thị led 1. Khi đã hieơn thị xong led 2 chương trình được kêt thúc và trở lái chương trình chính.

DISPLAY

DPTR trỏ đên địa chư cụa led 1 (6001H) Ghi dữ lieơu ở ođ nhớ Led1 ra địa chư này

DPTR trỏ đên địa chư cụa led 2 (6002H) Ghi dữ lieơu ở ođ nhớ Led2 ra địa chư này

THAƠP PHAĐN:

5.5.1. Lưu đoă:

5.5.2. Giại thích:

Chương trình NumDecChar được sử dúng mã hoá moơt sô thaơp phađn có hai chữ sô thành hai ký tự dáng sô thaơp phađn đeơ hieơn thị ra hai led 7 đốn.

Đaău tieđn, đưa sô thaơp phađn caăn mã hoá vào thanh ghi A, và sô 10 vào thanh chứa B baỉng leơnh MOV. Tiêp theo ta thực hieơn leơnh DIV đeơ chia noơi dung trong thanh ghi A cho noơi dung trong thanh chứa B, kêt quạ thu được là kêt phaăn nguyeđn được lưu trong thanh ghi A, còn phaăn dư được lưu trong thanh chứa B. Sau đó, ta đưa mã hieơn thị led 7 đốn ở ođ nhớ thứ A trong bạng Table vào thanh ghi R1 và mã hieơn thị led 7 đốn ở ođ nhớ thứ B trong bạng Table vào thanh ghi R2. Sau khi hoàn tât các cođng vieơc tređn chương trình kêt thúc và trở veă thực hieơn tiêp các leơnh sau leơnh gĩi chương trình này.

NumDecChar

Đưa sô caăn chuyeơn vào A Đưa 10 vào B

Chia A cho B

R2 = ođ nhớ thứ A trong bạng Table R1 = ođ nhớ thứ B trong bạng Table

5.6. CHƯƠNG TRÌNH CON RUN ĐIEĂU KHIEƠN XE CHÁY:

5.6.1. Lưu đoă:

5.6.2. Giại thích:

Khi chương con Run đieău khieơn xe được gĩi, đaău tieđn nó kieơm tra xem thời gian vaơn RUN

Khởi đoơng Timer 0

Khởi đoơng Timer 1 Khởi đoơng motor kéo

RET Dừng 3s, baơt đèn báo hieơu Cháy 1s, taĩt đèn báo hieơu Num1 = 0 S Đ P1.7 = 0? (Go/stop) S S S S S Đ Đ Đ Đ Đ Num1 = 0? P1.3 = 0? Cạm biên (4) P1.4 = 0? Cạm biên (5) Taíng tôc bánh xe (2) Giạm tôc bánh xe (3) P1.4 = 0? Cạm biên (5) Giạm tôc bánh xe (2) Taíng tôc bánh xe (3) Num1 = 0?

Taĩt motor kéo R6 = 15 R7 = 60 TF1=1? Giạm R6 R6 = 0? Giạm R7 R7 = 0? S Đ S Đ S Đ Giạm Num1

các giá trị 70 và15. Sau đó, khởi đoơng các motor kéo làm cho xe cháy tới. Trong quá trình cháy tới 8051 kieơm tra xem phím Go/Stop có được ân khođng, nêu được ân thì nó gán cho biên Num1 giá trị 0, giá trị này sẽ được chương trình kieơm tra sau đó, khi kieơm tra đúng là Num1 baỉng 0 thì chương trình sẽ taĩt các motor làm cho xe dừng lái roăi kêt thúc chương trình. Trường hợp phím Go/Stop khođng được ân thì 8051 sẽ tiêp túc kieơm tra tráng thái cụa các boơ phaơn cạm biên nôi với các chađn P1.3 và P1.4 cụa nó. Các khạ naíng có theơ xạy ra ứng với moêi tráng thái khác nhau cụa các boơ cạm biên được chư rõ dưới đađy:

- Trường hợp ngõ ra cạ hai boơ cạm biên đeău ở mức 1 thì xe sẽ tiêp túc chuyeơn đoơng với vaơn tôc khođng đoơi.

- Trường hợp ngõ ra cụa 1 trong hai boơ cạm biên ở mức 0 thì bánh xe ở phía beđn boơ cạm biên đó sẽ giạm tôc đoơ quay, đoăng thời tôc đoơ quay cụa bánh xe ở phía beđn kia sẽ taíng leđn nhaỉm làm cho xe tiêp túc di chuyeơn đúng hướng cụa nó. - Trường hợp ngõ ra cạ hai boơ cạm biên đeău ở mức 0 thì xe sẽ dừng lái trong ba

giađy và baơt đèn báo hieơu, sau đó tiêp túc cháy trong 1 giađy mà khođng quan tađm đên tín hieơu cụa các boơ cạm biên. Sau đó, hốt đoơng cụa xe trở lái như mođ tạ ở tređn.

Trong quá trình hốt đoơng 8051 sẽ luođn kieơm tra tráng thái cờ tràn cụa boơ định thời 1, sau 15 laăn tràn tức là ứng với 1 giađy nó sẽ giạm R7 moơt đơn vị, sau 60 laăn giạm giá trị R7 tức là ứng với 1 phút, biên Num1 sẽ giạm giá trị đi 1, quá trình hốt đoơng cụa xe tiêp túc như dieên ra như tređn cho đên khi giá trị lưu trong biên Num1 baỉng 0 thì dừng lái. Chương trình kêt thúc và trở lái chương trình chính.

5.7. CHƯƠNG TRÌNH INDEC NHAƠP VAØO MOƠT SÔ THAƠP PHAĐN:

5.7.1. Lưu đoă:

5.7.2. Giại thích:

Chương trình con Indec được sử dúng đeơ nhaơn vào moơt sô thaơp phađn hai chữ sô từ bàn phím, đoăng thời lưu vào 2 biên Led1 và Led2 mã hieơn thị led 7 đốn cụa hai chữ sô thaơp phađn đó.

Đaău tieđn, chương trình sẽ kieơm tra xem biên Keybuf có phại chứa giá trị 1 khođng, nêu phại nghĩa là phím 1 được ân, nêu khođng phại nghĩa là phím 2 được ân. Trường hợp phím 1 được ân thì chữ sô hàng chúc chứa trong biên Keybuf1 được taíng leđn 1 nêu nó chưa baỉng 9, còn nêu nó đã baỉng 9 thì gán nó baỉng 0, sau đó mã hieơn thị led 7 đốn cụa chữ sô

INDEC S Đ Keybuf = 1? Đ Đ S S

Taíng Keybuf2 theđm 1

Keybuf1 = 0

Taíng Keybuf1 theđm 1

Keybuf1 = 9? Keybuf2 = 9?

Num1 = Keybuf1 x 10 + Keybuf2

RET

Keybuf2 = 0

Lưu mã hieơn thị led 7 đốn cụa sô Keybuf1 vào biên led 1

Lưu mã hieơn thị led 7 đốn cụa sô Keybuf2 vào biên led 2

được ân thì quá trình nhaơn phím và lưu mã hieơn thị led 7 đốn cụa chữ sô hàng đơn vị cũng dieên ra hoàn toàn tương tự như tređn. Sau khi đã hoàn tât các cođng vieơc tređn chương trình kêt thúc và trở veă lái chương trình gĩi nó đeơ thực hieơn các leơnh tiêp theo.

PHÚ LÚC

I. CHƯƠNG TRÌNH NÁP CHO 8051:

;====================================================== ; Khai bao cac bien su dung trong RAM noi cua 8051

;====================================================== ;Bo nho RAM noi. Dia chi byte: 30h-7fh

led1 equ 30h ;bien luu du lieu de hien thi led1 led2 equ 31h ; bien luu du lieu de hien thi led2 duty equ 32h

dutyC equ 33h

keybuf equ 34h ;ma ban phim skeybuf equ 35h

keybuf1 equ 36h keybuf2 equ 37h keybuf3 equ 38h temp data 40h

num1 data 43h ;bien luu thoi gian van hanh keybit bit 00h ;bit trang thai ban phim run bit 01h ;bit trang thai motor PAout equ 6000h ;dia chi cong PA cua 8255 addled1 equ 6001h ;dia chi cua led1

addled2 equ 6002h ;dia chi cua led2

;====================================================== ; Chuong trinh chinh

;====================================================== Org 2000h

START: acall Init

S_loop: mov DPTR,#Table ;hien thi tin hieu san sang mov A,#10

mov Led1,A mov Led2,A

acall Display ;hien thi tin hieu san sang S_read: acall Keyscan ;cho nhan phim

Một phần của tài liệu Đồ án tốt nghiệp: Lý thuyết mạch điện (Trang 38)

Tải bản đầy đủ (PDF)

(71 trang)