Đề tài Thiết kế bộ đo và khống chế nhiệt độ hiển thị trên máy tính
Mục lục
Nhận xét của giáo viên hướng dẫn 1
Mục luc 3
Phần I: Giới thiệu đề tài
1. Đặt vấn đề 4
2. Mục đích thực hiện đề tài 4
3. Phương hướng giaỉ quyết 5
Phần II: Nội dung 6
1.Cơ sở lý thuyết chung 6
2.Quy trình thiết kế bài toán thực tế 8
Phần III:
Ưu nhược điểm,ứng dụng và hướng phát triển 26
Phần IV:
Tài liệu tham khảo 27
Phần i: giới thiệu đề tài
1.Đặt Vấn Đề:
Ngày nay với sự phát triển của nghành vi điện tử, kỹ thuật số các hệ thống điều khiển dần được tự động hóa, Với những kỹ thuật tiến tiến như vi xử lý, vi mạch số được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ , với tốc độ xử lú chậm chạm ít chính xác được thay thế bằng các hệ thống điều khiển tự động với các lệnh chương trình đã được thiết lập trước.
Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay . vệc đo và khống chế nhiệt tự động là một yêu cầu hết sức cần thiết và quan trọng. Vì nếu nắm bắt được yêu cầu đo và khống chế nhiệt độ tự động, thì có nhiều phương pháp để nghiên cứu khỏa sát vi điều khiênt 8051 nhóm thực hiện nhận thấy rằng : ứng dụng vi điều khiênt 8051 vào việc đo và khống chế nhiệt độ tự động là phương pháp tối ưu nhất. Vì vậy nhóm chúng em tiến hành thực hiện việc khảo sát và ứng dụng vi điều khiển vào mạch đo và khống chế nhiệt độ.
2.Mục đích thực hiện đề tài:
Nếu như những kiến thức ký thuyết là điều kiện cần thì thực hành lắp ráp mạch thật là điều kiện đủ. Nó đem lại rất nhiều lợi ích cho chúng em:
-Chúng em có thẻ đưa những kiến thức lý thuyết khô khan vào thực tế để có thể đánh giá một cách khách quan cơ sở lý thuyết.
-Từ những gì chúng ta đã làm được tư đó rút ra những kinh nghiệm cho quá trình làm lần sau và xa hơn là các quá trình sản xuất công nghiệp sau này.
-Để làm được một mạch thật hoàn chỉnh chúng em phảI trảI qua rất nhiều khâu. Qua đây chúng em có một cách nhìn tổng quát cho một dây chuyền sản xuất các ứng dụng của ngành điện tử.
Chính những lợi ích đó cũng là những mục đích mà nhóm sinh viên chúng em mong muốn đặt được.
3.Phương Hướng Giải Quyết:
Để thực hiện được các chức năng trên hệ thống được chia thành hai phần là cứng và phần mềm với các giải pháp giải quyết như sau:
a)Giải pháp phần cứng:
Phần cứng được xây dựng trên cơ sở giao tiếp với máy tính qua cổng COM nên tốc độ truyền dữ liệu cũng rất cao. Tuy nhiên, có một khó khăn duy nhất khi giao tiếp với máy tính là mức logic ở bộ vi điều khiển và ở cổng COM của máy tính khác nhau. Để khắc phục điều nay chúng ta sử dụng vi mạch MAX232 nhằm chuyển đổi mức điện áp giữa hai chuẩn.
Do vậy chức năng chính của phần cứng bao gồm các khối sau:
-Bộ phận lấy tín hiệu cần khảo sát đó là nhiệt độ môi trường thông qua cảm biến LM35.
-Bộ phận chuyển đối tương tự sang số, đưa vào vi xử lý.
-Bộ phận xử lý tín hiệu số và xuất ra cổng nối tiếp.
-Bộ phận truyền thông với máy tính.
-Ngoài ra còn có một khối điều khiển và hiển thị như Nút Nhấn và LED.
b).Giải Pháp Phần Mềm:
Phần mềm đo và điều khiển nhiệt độ hiển thị bằng tiện ích của Windows dựa trên phần cứng hệ thống và cấu trúc máy tính.
Chương trình phần mềm thực hiện giao tiếp với người dùng và giao tiếp với phần cứng
34 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 4147 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế bộ đo và khống chế nhiệt độ hiển thị trên máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CNHN – KHOA ĐIỆN TỬ
========****========
BÁO CÁO
MÔN: VI ĐIỀU KHIỂN
Đề Tài: Thiết kế bộ đo và khống chế nhiệt độ hiển thị trên máy tính.
Giáo viên hướng dẫn: Vũ Thị Thu Hương
Nhóm thực hiện: Nguyễn Văn Hà ( 0341050467)
Đào Bá Cảnh
Đinh Văn Khoản
Lớp: Điện tử 3 – K3
========== Hà Nội Tháng 6/ 2011 ===========
NhËn xÐt cña gi¸o viªn híng dÉn
NhËn xÐt cña gi¸o viªn híng dÉn
Môc lôc
NhËn xÐt cña gi¸o viªn híng dÉn 1
Môc luc 3
PhÇn I: Giíi thiÖu ®Ò tµi
1. §Æt vÊn ®Ò 4
2. Môc ®Ých thùc hiÖn ®Ò tµi 4
3. Ph¬ng híng giaØ quyÕt 5
PhÇn II: Néi dung 6
1.C¬ së lý thuyÕt chung 6
2.Quy tr×nh thiÕt kÕ bµi to¸n thùc tÕ 8
PhÇn III:
¦u nhîc ®iÓm,øng dông vµ híng ph¸t triÓn 26
PhÇn IV:
Tµi liÖu tham kh¶o 27
PhÇn i: giíi thiÖu ®Ò tµi
1.§Æt VÊn §Ò:
Ngµy nay víi sù ph¸t triÓn cña nghµnh vi ®iÖn tö, kü thuËt sè c¸c hÖ thèng ®iÒu khiÓn dÇn ®îc tù ®éng hãa, Víi nh÷ng kü thuËt tiÕn tiÕn nh vi xö lý, vi m¹ch sè … ®îc øng dông vµo lÜnh vùc ®iÒu khiÓn, th× c¸c hÖ thèng ®iÒu khiÓn c¬ khÝ th« s¬ , víi tèc ®é xö ló chËm ch¹m Ýt chÝnh x¸c ®îc thay thÕ b»ng c¸c hÖ thèng ®iÒu khiÓn tù ®éng víi c¸c lÖnh ch¬ng tr×nh ®· ®îc thiÕt lËp tríc.
Trong qu¸ tr×nh s¶n xuÊt ë c¸c nhµ m¸y, xÝ nghiÖp hiÖn nay . vÖc ®o vµ khèng chÕ nhiÖt tù ®éng lµ mét yªu cÇu hết søc cÇn thiÕt vµ quan träng. V× nÕu n¾m b¾t ®îc yªu cÇu ®o vµ khèng chÕ nhiÖt ®é tù ®éng, th× cã nhiÒu ph¬ng ph¸p ®Ó nghiªn cøu kháa s¸t vi ®iÒu khiªnt 8051 nhãm thùc hiÖn nhËn thÊy r»ng : øng dông vi ®iÒu khiªnt 8051 vµo viÖc ®o vµ khèng chÕ nhiÖt ®é tù ®éng lµ ph¬ng ph¸p tèi u nhÊt. V× vËy nhãm chóng em tiÕn hµnh thùc hiÖn viÖc kh¶o s¸t vµ øng dông vi ®iÒu khiÓn vµo m¹ch ®o vµ khèng chÕ nhiÖt ®é.
2.Môc ®Ých thùc hiÖn ®Ò tµi:
NÕu nh nh÷ng kiÕn thøc ký thuyÕt lµ ®iÒu kiÖn cÇn th× thùc hµnh l¾p r¸p m¹ch thËt lµ ®iÒu kiÖn ®ñ. Nã ®em l¹i rÊt nhiÒu lîi Ých cho chóng em:
-Chóng em cã thÎ ®a nh÷ng kiÕn thøc lý thuyÕt kh« khan vµo thùc tÕ ®Ó cã thÓ ®¸nh gi¸ mét c¸ch kh¸ch quan c¬ së lý thuyÕt.
-Tõ nh÷ng g× chóng ta ®· lµm ®îc t ®ã rót ra nh÷ng kinh nghiÖm cho qu¸ tr×nh lµm lÇn sau vµ xa h¬n lµ c¸c qu¸ tr×nh s¶n xuÊt c«ng nghiÖp sau nµy.
-§Ó lµm ®îc mét m¹ch thËt hoµn chØnh chóng em ph¶I tr¶I qua rÊt nhiÒu kh©u. Qua ®©y chóng em cã mét c¸ch nh×n tæng qu¸t cho mét d©y chuyÒn s¶n xuÊt c¸c øng dông cña ngµnh ®iÖn tö.
ChÝnh nh÷ng lîi Ých ®ã còng lµ nh÷ng môc ®Ých mµ nhãm sinh viªn chóng em mong muèn ®Æt ®îc.
3.Ph¬ng Híng Gi¶i QuyÕt:
§Ó thùc hiÖn ®îc c¸c chøc n¨ng trªn hÖ thèng ®îc chia thµnh hai phÇn lµ cøng vµ phÇn mÒm víi c¸c gi¶i ph¸p gi¶i quyÕt nh sau:
a)Gi¶i ph¸p phÇn cøng:
PhÇn cøng ®îc x©y dùng trªn c¬ së giao tiÕp víi m¸y tÝnh qua cæng COM nªn tèc ®é truyÒn d÷ liÖu còng rÊt cao. Tuy nhiªn, cã mét khã kh¨n duy nhÊt khi giao tiÕp víi m¸y tÝnh lµ møc logic ë bé vi ®iÒu khiÓn vµ ë cæng COM cña m¸y tÝnh kh¸c nhau. §Ó kh¾c phôc ®iÒu nay chóng ta sö dông vi m¹ch MAX232 nh»m chuyÓn ®æi møc ®iÖn ¸p gi÷a hai chuÈn.
Do vËy chøc n¨ng chÝnh cña phÇn cøng bao gåm c¸c khèi sau:
-Bé phËn lÊy tÝn hiÖu cÇn kh¶o s¸t ®ã lµ nhiÖt ®é m«i trêng th«ng qua c¶m biÕn LM35.
-Bé phËn chuyÓn ®èi t¬ng tù sang sè, ®a vµo vi xö lý.
-Bé phËn xö lý tÝn hiÖu sè vµ xuÊt ra cæng nèi tiÕp.
-Bé phËn truyÒn th«ng víi m¸y tÝnh.
-Ngoµi ra cßn cã mét khèi ®iÒu khiÓn vµ hiÓn thÞ nh Nót NhÊn vµ LED.
b).Gi¶i Ph¸p PhÇn MÒm:
PhÇn mÒm ®o vµ ®iÒu khiÓn nhiÖt ®é hiÓn thÞ b»ng tiÖn Ých cña Windows dùa trªn phÇn cøng hÖ thèng vµ cÊu tróc m¸y tÝnh.
Ch¬ng tr×nh phÇn mÒm thùc hiÖn giao tiÕp víi ngêi dïng vµ giao tiÕp víi phÇn cøng
PhÇn II. Néi dung
I.C¬ së lý thuyÕt chung :
§Ó thùc hiÖn phÐp ®o cña mét ®¹i lîng ®¹i lîng nµo ®ã th× tïy thuéc vµo dÆc tÝnh cña ®¹i lîng cÇn ®o, ®iÒu kiÖn ®o còng nh ®é chÝnh x¸c theo yªu cÇu c¬ sá cña hÖ thèng ®o lêng kh¸c nhau .
1.S¬ ®å cña mét hÖ thèng ®o lêng tæng qu¸t
Khèi chuyÓn ®æi
A/D
Vi điều khiển
HiÓn thÞ
Cảm biến nhiệt
1.1 Cảm biến nhiệt: Dùng để đo nhiệt độ
1.2.Khèi chuyÓn ®æi:
Lµm nhiÖm vô nhËn trùc tiÕp c¸c ®¹i lîng vÊt lý ®Æc trng cÇn ®o vµ biÕn ®æi thµnh c¸c ®¹i lîng vËt lý thèng nhÊt (dßng ®iÖn hay ®iÖn ¸p) ®Ó tÝnh to¸n cho thuËn lîi.
1.3.Vi điều khiển : cã nhiÖm vô tÝnh to¸n biÕn ®æi tÝn hiÖu nhËn ®îc tõ bé chuyÓn ®æi sao cho phï hîp víi c¸c yªu cÇu cô thÓ hiÖn kÕt qu¶ ®o cña bé chØ thÞ.
1.4.Khèi hiÓn thÞ: Nhận tín hiệu từ vdk va hiển thị kết quả đo
2.HÖ thèng ®o lêng sè:
§èi tîng cÇn ®o lµ c¸c ®¹i lîng vËt lý dùa vµo c¸c ®Æc tÝnh cña ®èi tîng cÇn ®o mµ ta chän lo¹i c¶m biÕn cho phï hîp ®Ó biÕn ®æi th«ng sè ®¹i lîng
vËt lý cÇn ®o thµnh ®¹i lîng ®iÖn, sau ®ã ®a vµo c¸c m¹ch chÕ biÕn tÝn hiÖu ( gåm: c¶m biÕn, hÖ thèng khuªch ®¹i, xö lý tÝn hiÖu)
Bé chuyÓn ®åi sang sè ADC lµm nhiÖm vô biÕn ®æi tÝn hiÖu tîng tù sang sè vµ kÕt nèi víi vi x lý.
Bé vi xö lý cã nhiÖm vô thùc hiÖn nh÷ng phÐp tÝnh vµ xuÊt ra nh÷ng lÖnh trªn c¬ së tr×nh tù nh÷ng lÖnh chÊp hµnh ®· thùc hiÖn tríc ®ã.
Bé dån kªnh t¬ng tù vµ bé chuyÓn ADC ®îc dïng chung cho tÊt c¶ c¸c kªnh. D÷ liÖu nhËp vµo bä vi sö lý sÏ cã tÝn hiÖu chän ®óng cña nã qua qu¸ tr×nh tÝnh to¸n ®Ó sã kÕt qu¶ cña ®¹i lîng cÇn ®o.
3.C¸c ph¬ng ph¸p ®o nhiÖt ®é:
§o nhiÖt ®é lµ ph¬ng thøc ®o lêng ®iÖn, ®o nhiÖt ®é ®îc chia thµnh nhiÒu d¶i:
+§o nhiÖt ®é thÊp
+ §o nhiÖt ®é trung b×nh
+ §o nhiÖt ®é cao
ViÖc ®o nhiÖt ®é ®îc tiÕn hµnh nhê c¸c dông cô hç trî chuyªn biÖt nh:
+ CÆp nhiÖt ®iÖn
+ NhiÖt kÕ ®iÖn kÐ lim lo¹i
+ NhiÖt ®iÖn trë kim lo¹i
+ NhiÖt ®iÖn trë b¸n dÉn
+ C¶m biÕn th¹ch anh
ViÖc sö dông c¶m biÕn IC c¶m biÕn nhiÖt ®Ó ®o nhiÖt ®él lµ mét ph¬ng ph¸p th«ng dông ®îc nhãm trong bµi nµy, nªn ë ®©y chØ giíi thiÖu vÒ IC c¶m biÕn nhiÖt ®é.
3.1. Nguyªn lý ho¹t ®éng cña IC c¶m biÕn nhiÖt ®é :
IC ®o nhiÖt lµ mét m¹ch tÝch hîp nhËn tÝn hiÖu nhiÖt ®é chuyÓn tÝn hiÖu ®iÖn díi d¹ng dßng ®iÖn hay ®iÖn ¸p. Dah vµo ®Æc tÝnh rÊt nh¹y c¶m cña c¸c b¸n dÉn víi nhiÖt ®é , t¹o ra ®iÖn ¸p hoÆc dßng ®iÖn tØ lÖ thuËn víi nhiÖt ®é tuyÖt ®èi . §o tÝn hiÖu ®iÖn ta biÕt ®îc gi¸ trÞ cña nhiÖt ®é cÇn ®o. Sù t¸c ®éng cña nhiÖt ®é t¹o ra ®iÖn tÝch tù do vµ c¸c lç trèng trong c¸c chÊt b¸n dÉn . B»ng sù ph¸ vì c¸c ph©n tö, bøt c¸c electron thµnh d¹ng tù do di chuyÓn qua vïng cÊu tróc m¹ng tinh thÓ t¹o ra sù xuÊt hiÖn c¸c lç trèng. Lµm cho tû leej ®iÖn tö tù do va lç trèng t¨ng lªn theo qui luËt hµm mò víi nhiÖt ®é.
II.Quy tr×nh thiÕt kÕ bµi to¸n thùc tÕ
1.Ph©n tÝch bµi to¸n :
Bµi to¸n ®Æt ra lµ thiÕt kÕ m¹ch ®o vµ khèng chÕ nhiÖt ®é . §Ó thùc hiÖn ®îc ®iÒu nµy th× hÖ thèng ph¶I ®¶m b¶o c¸c yªu cÇu sau:
-Sè lîng ®Çu vµo/ra sè:
-Sè ®µu vµo/ ra tîng tù:
-Sè lîng bé ®Õm /®Þnh thêi:
-Dung lîng bé nhí ch¬ng tr×nh:
-Bé nhí d÷ liÖu cÇn thiÕt :
-Giao tiÕp víi m¸y tÝnh do ®ã ph¶i sö dông truyÒn th«ng RS232
2. c¸c khèi chøc n¨ng :
C¶m biÕn nhiÖt dé : dïng ®Ó ®o nhiÖt ®é hiÖn t¹i trong lß nhiÖt.
Khèi biÕn ®æi A/D: cã nhiÖm vô sè hãa tÝn hiÖu cña c¶m biÕn nhiÖt ®Ó da vµo bé vi ®iÒu khiÓn –lµ n¬i cµi ®Æt thuËt to¸n ®iÒu khiÓn vµ khèng chÕ nhiÖt ®é.
Khèi vi ®iÒu khiÓn (MCU): cã nhiÖm vô thùc hiÖn c¸c chøc n¨ng m· hãa hîp thµnh vµ gi¶i m·.
3.NhiÖm vô cña tõng khèi:
3.1. C¶m biÕn nhiÖt:
Víi nhiÖt ®é khèng chÕ tõ 30 ®é ®Õn 130 ®é, ta chon sö dông c¶m biÕn nhiÖt dé b¸n dÉn th«ng dông lµ vi m¹ch LM35 cña h·ng National Semiconductor.
Vi m¹ch c¶m biÕn nhiÖt LM35cã ®Æc ®iÓm sau:
chuÈn hãa theo thang ®o nhiÖt ®é Cesius;
®Çu ra tuyÕn tÝnh 10mV/C;
D¶i ®iÖn ¸p lµm viÖc từ 4V ®Õn 30V;
Dßng tiªu thô nhá cì 60 microampe, nªn nhiÖt tù táa rÊt nhá hÇu nh kh«ng ¶nh hëng ®Õn kÕt qu¶ ®o.
Sai sè nhá, chØ kho¶ng 0.5 ®é C.
S¬ ®ß m¹ch c¶m biÕn ®îc cho h×nh díi.
S¬ ®ß c¶m biÕn nhiÖt ®é LM35.
3.2. M¹ch biÕn ®æi A/D: Cã nhiÖm vô biÕn ®æi ®iÖn ¸p t¬ng tù từ c¶m biÕn nhiÖt thµnh tÝn hiÖu sè ®Ó göi ®Õn vi ®iÒu khiÓn. §Ó lùa chän sö dông c¸c vi m¹ch A/D ngêi ta thêng c¨n cø vµo 2 th«ng sè chÝnh lµ :
- §é ph©n gi¶i hay sè bÝt ®Çu ra, sè bÝt ra cña ADC quyÕt ®Þnh ®Õn ®é chÝnh x¸c cña ph¸p biÕn ®æi, sè bÝt cµng lín cµng lín sai sè lîng tö cµng nhá.
- Tèc ®é biÕn ®æi ®îc tÝnh b»ng sè mÉu hoµn thµnh trong mét gi©y( samples/s), nã tØ lÖ nghÞch víi thêi gian hoàn thiÖn viÖc biÕn ®ái mét mÉu.
- Trong øng dông ®iÒu khiển nhiÖt ®é, nhiÖt ®é lµ mét ®¹i lîng biÕn ®æi chËm nªn ta chän vi m¹ch biÕn ®æi A/D th«ng dông trªn thÞ trêng lµ ADC0804.
ADC0804 lµ bé A/d 8 bÝt ®ñ ®¸p øng ®îc yªu cÇu vÒ ®é chÝnh x¸c ®Æt ra. ADC0804 cã c¸c ®Æc ®iÓm sau:
- §Çu ra ®îc ®Õm b»ng c¸c cæng 3 tr¹ng th¸i nªn cã thÓ ghÐp trùc tiÕp vµo bus d÷ liÖu mµ kh«ng cÇn m¹ch ®Ö d÷ kiÖu ë ben ngoµi ;
- Thêi gian biÕn ®æi câ 100 micro/mÉu;
- Kh«ng cÇn hiÖu hcinhr ®iÓm 0;
- Khi ®iÖn ¸p nguån nu«i lµ 5V th× tÝn hiÖu ®µu vµo cùc ®¹i lµ 5V;
- tÊt c¶ c¸c tÝn hiÖu ®Òu t¬ng thÝch møcTTL;
- Dßng tiªu thô nhá, cì 1.9ma.
H×nh dois m« t¶ m¹ch A/D øng dông vi m¹ch ADC0804 ®Ó ®o nhiÖt ®é tõ LM35.
S¬ ®å m¹ch biÕn ®æi A/D
M¹ch nµy gåm hai phÇn chÝnh :
-phÇn t¬ng tù : Víi d¶i nhiÖt ®é tõ 0 ®é ®ªn 128 ®é th× ®iÖn ¸p ra cña LM35laf tõ 0 ®Õn 1.28V, ®iÖn ¸p nµy ®îc ®a ®Õn lèi vµo IN+, cong lèi vµo IN- ®îc nèi ®Êt . Víi ®iÖn ¸p vµo cùc ®¹i lµ 1.28V th× ®iÖn ¸p chuÈn Vref ®îc ®Æt lµ 0.64V, viÖc ®iÒu chinht Vref ®îc thùc hiÖn bëi biÕn trë vi chØnh VR. Khi ®ã nÕu nhiÖt dé lµ 0 ®é C th× ®iÖn ¸p IN+ lµ 0V, ®Çu ra Dout lµ 00000000, vi ®iÒu khiÓn nhËn ®îc gi¸ trÞ lµ 0; Khi nhiÖt ®é lµ 128 ®é C th× ®iÖn ¸p IN+lµ 1.28V, ®Çu ra Dout lµ 11111111, vi ®iÒu khiÓn nh¹n ®îc gi¸ trÞ t¬ng øng lµ 255.
-PhÇn giao tiÕp víi vi ®iÒu khiÓn: §Ó thùc hiÖn giao tiÕp víi vi ®iÒukhiÓn cÇn c¸c tÝn hiÖu sau :
+TÝn hiÖu chän vi m¹ch biÕn ®æi t¬ng tù sè CS_ADC, tÝch cùc thÊp., ®îc da tõ m¹ch gi¶ m· ®Þa chØ tíi. Khi CS_ADC=0 th× ADC0804 ®îc chän, chuÈn bÞ cho viÖc ®äc sã liÖu tõ ADC .
+ TÝn hiÖu ra lÖnh cho ADC0804 b¾t ®Çu biÕn dæi WR_ADC, tÝch cùc møc thÊp , ®îc ®iÒu khiÓn trùc tiÕp bëi vi ®iÒu khieenr, khi WR_ADC chuyÓn tõ 1 xuèng 0 th× ADC b¾t ®Çu qu¸ tr×nh biÕn dæi.
+ TÝn hiÖu b¸o kÕt thóc biÕn ®æi ADC_OK , tÝch cùc thÊp , ®îc nèi víi ch©n INTR(interrup) cña ADC0804, mçi khi ADC0804 hoµn thµnh viÖc biÕn ®æi cho mét mÉu nã b¸o hiÖu cho bªn ngoµi b»ng mét møc logics 0 ë ch©n nµy . TÝn hiªu nµy ®îc göi tíi vi ®iÒu khiÓn ®Ó v¸o cho vi ®iÒu khiÓn biÕt ADC ®· biÕn ®æi song ; ®Ó kh«ng ph¶i hái vßng th× tÝn hiÖu nµy ®îc ®a tíi mét ®Çu vµo ng¾t ngoµi cña vi ®iÒu khiÓn , mçi khi ADC biÕn ®æi xong sÏ g©y ra mét ng¾t vi ®iÒu khiÓn , vi ®iÒu khiÓn sÏ chuyÓn sang ch¬ng tr×nh con phôc vô ng¾t ®Ó ®äc sè liÖu tõ ADC.
+ TÝn hiÖu ®äc sè liÖu RD_ADC, tÝch cùc thÊp , sau khi nhËn biÕt ADC ®· biÕn ®æi xong bëi møc logics 0 ë ADC_OK, vi ®iÒu khiÓn thùc hiÖn viÖc lÊy sè liÖu b»ng cach chuyÓn tÝn hiÖu RD_ADC cuèng møc thÊp, tÝn hiÖu nµy ®îc nèi víi ch©n RD cña ADC, lóc nµy c¸c cæng ®em 3 tr¹ng th¸i ë ®Çu ra Dout cña ADC0804 më , kÕt qu¶ biÕn ®æi ®îc ®a kªn bus d÷ liÖu .
3.2 Khèi vi ®iÒu khiÓn:
IC AT89S52:
So đồ chân :
Cấu tạo IC có:
CPU( CPU centra lprocessing unit):
8- bit data bus; 16- bit address bus; không gian địa chỉ 64Kbyte
Thanh ghi tích lũy A;
Thanh ghi tích lũy phụ B;
Đơn vị logic học (ALU);
Thanh ghi từ trạng thái chương trình;
Bốn băng thanh ghi;
Con trỏ ngăn xếp
Bộ nhớ (Memory):
Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash, ghi xóa hàng nghìn lần.
Bộ nhớ dữ liệu( dạng SRAM) gồm 256 byte (chứa ngăn xếp – Stack)
Vùng thanh ghi có chức năng đặc biệt SFR (Special Funtion Register).
Bộ UART, có chức năng truyền nhận nối tiếp.
3 bộ Timer/Counter 16 bit thực hiện chức năng định thời và đếm sự kiện.
Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.
Bộ lập trình (ghi chương trình lên Flash ROM) cho phép người sử dụng có thể nạp các chương trình cho chíp mà không cần các bộ nạp chuyên dụng.
4 cổng xuất nhập song song 2 chiều 8- bit với 32 chân.
Port 0( P0.0=>P0.7)
Port 0 gồm 8 chân, ngoài chức năng xuất nhập, port 0 còn là bus đa hợp dữ liệu và địa chỉ( AD0-AD7), chức năng này sẽ được sử dụng khi AT89S52 giao tiếp với các thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ, mạch PIO…
Port 1( P1.0=>P1.7)
Chức năng duy nhất của Port 1 là chức năng xuất nhập cũng như các Port khác. Port1 có thể xuất nhập theo bit và theo byte.
Port 2( P2.0=>P2.7)
Port 2 ngoài chức năng là cổng vào/ra như Port 0 và Port 1, Port 2 còn là byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài.
Port 3( P3.0=>P3.7)
Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng riêng, cụ thể như sau:
Bit
Tên
Chức năng
P3.0
RXD
Dữ liệu nhận cho Port nối tiếp
P3.1
TXD
Dữ liệu truyền cho Port nối tiếp
P3.2
INT0
Ngắt ngoài 0
P3.3
INT1
Ngắt ngoài 1
P3.4
T0
Ngõ vào của Timer/counter0
P3.5
T1
Ngõ vào của Timer/counter1
P3.6
/WR
Xung ghi bộ nhớ dữ liệu ngoài.
P3.7
/RD
Xung đọc bộ nhớ dữ liệu ngoài.
Chân /PSEN (pin 29): là chân điều khiển đọc chương trình ở bộ nhớ ngoài.
Chân ALE (pin 30): ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi điều khiển. Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như 7473.
Chân /EA (pin 31): Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài. EA=1 thì thực hiện chương trình trong RAM nội. EA=0 thực hiện ở RAM ngoài.
RST( Reset: pin 9): Ngõ vào reset trên chân số 9. khi RST=1 thì bộ vi điều khiển sẽ được khởi động lại thiết lập ban đầu.
XTAL1, XTAL2 (pin 18, 19): Hai chân này được nối song song với thạch anh tần số max=33 Mhz. Để tạo dao động cho bộ vi điều khiển.
Vcc,GND: cung cấp nguồn nuôi cho bộ vi điều khiển cấp qua chân 20 và 40.
Cổng Vào Ra Nối Tiếp(Serial Port)
Tổng quan:
8051 có 1 cổng vào ra nối tiếp(UART)
Tín hiệu liên quan:RxD(P3.0, chân số 10) va TxD(P3.1, chân số 11)
Dữ liệu đi và về hoàn toàn độc lập với nhau, do đó có thể truyền nhận đồng thời, và cổng nối tiếp có đặc tính như vâyj được gọi là song công(Full duplex)
Các thanh ghi liên quan:
Dữ liệu nhận về thong qua RxD, tới 1 thanh ghi chức năng đặc biệt(8-bit) tên là SBUF
Dữ liệu truyền thong qua TxD, từ 1 thanh ghi chức năng đặc biệt(8-bit) cũng tên là SBUF
Thanh ghi điều khiển SCON:
SM0-SM1
0-0=mode0:chế độ đồng bộ 8 bit,clock =1/12 Fosc
0-1=mode1:chế độ dị bộ 8-bit, clock thay đổi được tùy ý
1-0=mode2:chế độ dị bộ 9-bit,clock= 1/64 Fosc hoặc 1/32 Fosc
1-1=mode3:chế độ dị bộ 9-bit,clock thay đổi được tùy ý
SM2:bit cho phép chế độ gioa tiếp đa vi xử lý(multimicroprocessor),mode 2 hoặc mode3.Trong các chế độ thong thường,SM2=0.
REN:bit cho phép nhận dữ liệu nếu ghi vào đó giá trị logic 1.Giá trị logic 0 tại bit này sẽ”khóa cổng “ với các dự lieuj gửi đến.
TB8:bit dữ liệu thứ 9 phát đi trong các chế độ truyền nhận 9-bit(mode 2 và 3)
RB8: bit dữ liệu thứ 9 nhận về trong các chế độ truyền nhận 9-bit(mode 2 và 3)
TI:cờ báo ngắt truyền ,khi =1 báo hiệu rằng 1 khung dữ liệu (8 hay 9 bit tùy chế độ) đã được truyền xong. Cờ này không tự động xóa về 0 khi chương trình phục vụ ngắt thực hiện.User phải xóa bằng lệnh.
RI:cờ báo ngắt nhận,khi =1 báo hiệu rằng 1 khung dữ liệu (8 hay 9-bit tùy chế độ) đã được nhận về đầy đủ,Cờ này không tự động xóa về 0 khi chương trình phục vụ ngắt thực hiện.User phải xóa bằng lệnh
Với cổng nối tiếp các bit dữ liệu được truyền lần lượt trên cùng 1 đường tín hiệu thay vì truyền cùng một lúc trên các đường tín hiệu khác nhau.Thông thường thì việc truyền dữ liệu bằng cổng nối tiếp phải tuân theo một cơ chế, một giao thức hay một nguyen tắc nhất định .Có thể kể ra một số giao thức như SPI,I2C,SCI..
Cổng nối tiếp có 2 kiểu truyền dữ liệu chính:
Truyền đồng bộ(synchronous):thiết bị truyền và nhận đều dung chung một xung nhịp (clock)
Truyền dị bộ(asynchronous):thiết bị truyền và thiết bị nhận sử dụng hai nguồn xung nhịp riêng .Tuy nhiên hai nguồn xung này không đươc khác nhau quá nhiều
Xung nhịp là yếu tố không thể thiếu trong truyền dữ liệu nối tiếp và nó có vai trò xác định giá trị của bit dữ liệu
Cổng nối tiếp có thể có một trong các tính năng sau:
Đơn công:thiết bị chỉ có thể hoặc truyền hoặc nhận dữ liệu
Bán song công:thiết bị có thể truyền và nhận dữ liệu nhưng tại một thời điểm có thể làm 1 trong 2 việc đó
Song công:thiết bị có thể truyền và nhận dữ liệu đồng thời
Thanh ghi điều khiển TMOD(Sử dụng cho timer/counter 0 và timer/counter 1):
GATE: bit quy định yếu tố cho phép timer/counter đếm hay dừng. Nếu GATE=0, timer/counter sẽ đếm hay dừng phụ thuộc vào trạng thái bit TRx (thanh ghi TCON). Nếu GATE=1, timer/counter sẽ đếm nếu bit TRx=1 (thanh ghi TCON) và tín hiệu ngắt ngoài INTx ở mức cao. Trong trường hợp này, nếu TRx-0 hoặc tín hiệu ngắt ngoài INTx ở mức thấp, timer/counter sẽ dừng đếm.
C/T: bit lựa chọn xung nhịp đưa vào đếm. Nếu C/T = 0, xung nhịp đưa vào đếm chính là xung nhịp của CPU (lúc này gọi là bộ định thời – timer). Nếu C/T = 1, xung nhịp đưa vào đếm là xung nhịp lấy từ bên ngoài vào qua tín hiệu T0 và T1 (lúc này gọi là bộ đếm sự kiện – counter).
M1:M0 0:0 = Mode 0: timer/counter 13bit ghép bởi :
0:1 = Mode 1: timer/counter 16bit ghép bởi :
1:0 = Mode 2: timer/counter 8bit, đếm bằng TL,khi tràn tự động nạp TH vào TL.
1:1 = Mode 3: TL0 là timer/counter 8bit, sử dụng các bit điều khiển của timer0.
TH0 là timer 8bit, sử dụng các bit điều khiển của timer 1. Timer 1
không hoạt động ở chế độ này.
- Thanh ghi TCON (Sử dụng cho timer/counter 0 và timer/counter 1):
TF1: Cờ ngắt của timer/countet 1, khi =1 báo hiệu rằng timer/counter 1 đã đếm vượt quá trị lớn nhất mà nó có thể biểu diễn (255 đối với chế độ 8bit và 65535 đối với chế độ 16bit).
TR1: bit cho phép timer/counter 1 hoạt động đếm hoặc dừng.
TF0: Cờ ngắt của timer/countet 0, khi =1 báo hiệu rằng timer/counter 0 đã đếm vượt quá trị lớn nhất mà nó có thể biểu diễn (255 đối với chế độ 8bit và 65535 đối với chế độ 16bit).
TR0: bit cho phép timer/counter 0 hoạt động đếm hoặc dừng.
IE1: Cờ ngắt của ngắt ngoài 1.
IT1: Bit cho phép chọn loại ngắt ngoài cho INT1.
IE0: Cờ ngắt của ngắt ngoài 0.
IT0: Bit cho phép chọn loại ngắt ngoài cho INT0.
Vi ®iÒu khiÓn lµ n¬i thùc hiÖn thuËt to¸n ®iÒu khiÓn , bao gåm c¸c chøc n¨ng :m· hãa, hîp thµnh, gi· . Ngoµi ra ®Ó cã thÓ giao tiÕp ®îc víi ngêi sö dông th× ta cÇn ph¶i bæ sung:
-HÑ thèng phÝm bÊm chøc n¨ng ®Ó ngêi sö dông sã thÓ ®Æ nhiÖt ®é trùc tiªp
-Cæng giao tiep víi PC, ®Ó tõ PC ng¬i sö dông cã thÓ gi¸m s¸t hoat déng cña hÖ thèng .
S¬ ®å khèi cña vi ®iÒu khiÓn
Trong khèi ®iÒu khiÓn chóng t«i sö dông c¸c linh kiÖn sau :
+Vi ®iÒu khiÓn 89S52.
+Vi m¹ch MAX 232 lµm nhiÖm vô ghÐp nèi vi ®iÒu khiÓn víi PC qua cáng RS232.
3.3TruyÒn th«ng víi m¸y tÝnh qua cæng nèi tiÕp:
Bé vi diÒu khiÓn AT89S52 cã kh¶ n¨ng giao tiÕp víi thÕ giíi bªn ngoµi qua cæng nèi tiÕp. VÊn ®Ò nµy duy nhÊt khi giao tiÕp víi m¸y tÝnhlaf møc logics ë bé vi ®iÒu khiÓn vµ cæng COM cña m¸y tÝnh kh¸c víi nhau, cô thÓ nh sau:
So s¸nh ®iÖn ¸p ë c¸c møc logics gi÷a RS232C vµ TTl
§èi tîng
Møc logic
Møc ®iÖn ¸p t¬ng øng
Cæng COM
(Møc RS232)
1
-12 V ®Õn -3V
0
+3V ®Õn +12V
Vi ®iÒu khiÓn
(Møc TTl)
1
+5V
0
0V
Kh¾c phôc ®iÒu nµy, chóng ta sö dông vi m¹ch MAX232 ®Ó chuªnr ®æi møc ®iÖn ¸p gi÷a hai chuÈn. Vi m¹ch nµy cã chøa hai bé chuyÓn møc gia vi ®iÒu khiÓn víi m¸y tÝnh qua cæng RS232 sö dông vi m¹ch ®æi møc MAX232.
H×nh vÏ(TruyÒn th«ng qua cæng nèi tiÕp)
Nh vËy thøc chÊt cña viÖc truyÒn th«ng qua cæng nèi tiÕp thùc lµ viÖc truyÒn m· ASCII cña ký tù. Trong ch¬ng lËp tr×nh cho vi ®iÒu khiÓn ®Ó göi cho m¸y c¸c ký tù tõ ‘0’ ®Õn ‘9’ ta ph¶I truyÒn m· ASCII cña chóng lÇ lît tõ 0x30 ®Õn 0x39.
§Ó kiÓm tra xem m¸y tÝnh cã nhËn ®îc c¸c ký tù nµy hay kh«ng, ta ph¶I cho m¸y tÝnh thi hµnh ch¬ng tr×nh nhËn sè liªu qua cæng nèi tiÕp. Ch¬ng tr×nh nµy cã thÓ viÕt b»ng ng«n ngx lËp tr×nh Basis, Pascan, C, C++… Trong Windown cã cung cÊp x¾n cho chóng ta mét c«ng cô truyÒn tin qua c«ng nèi tiÕp lµ Hyper Terminal.
C¸ch më ch¬ng tr×nh nay nh sau:
Tõ menu chän Start / programs/ Acessoties /Communication / Hyper Terminal.
Sau ®ã nhËp kÕt nèi, chän cæng nèi tiÕp vµ thiÕt lËp c¸c t«ng sè cho cæng nèi tiÕp. Lu ý r»ng c¸c th«ng sè nµy ph¶i gèng c¸c th«ng sè ®· thiÕt lËp chho cæng nèi tiªp cña vi ®iÒu khiÓn.
Chọn tóc độ truyền như đã đặt trước: 9600
Cuèi cïng ta cã của sổ hiển thị nh h×nh díi ®©y:
T¹i dÊu nh¾c con trá sÏ hiÓn thÞ c¸c ký tù nhËn tõ cæng nèi tiÕp. Tïy c¸c ch¬ng tr×nh cô thÓ mµ mµn h×nh hiÓn thÞ c¸c th«ng sè t¬ng øng
MẠCH NGUYÊN LÝ:
MẠCH IN:
LËp tr×nh cho vi ®iÒu khiÓn:
Code:
#include
#include
#include
void Donhiet (void);
void Truyen (void);
void Khongche (void);
void Kiemtraphiman (void);
float nhiet;
unsigned int gt_so,nhiet_thuc,nhiet_dat,j;
sbit led_xanh =P1^0;
sbit led_do =P1^1;
sbit led_vang =P1^2;
sbit nhan_tang =P1^3;
sbit nhan_giam =P1^4;
sbit intr_adc =P1^5;
sbit wr_adc =P1^6;
sbit rd_adc =P1^7;
void tre( unsigned int n)
{
unsigned int i;
for(i=0;i<=n;i++);
}
void main (void) //chuong trinh chinh
{
SCON=0x52; // Port noi tiep che do 1 REN=1,TI=1
TMOD=0x20; //time 1 che do 2 8bit
TH1=TL1=-3; //tao toc do baud la 9600
TR1=1;
nhiet_dat=0;
P2=0xff;
nhiet_dat=40;
while(1)
{
Kiemtraphiman();
Donhiet();
tre(100000000);
}
}
void Kiemtraphiman (void) // chuong trinh kiem tra phim an
{
nhan_tang=0;
if(nhan_tang==1)
{
++nhiet_dat;
if(nhiet_dat>=90) //khong che nhiet dat<= 90C
nhiet_dat=90;
}
nhan_giam=0;
if(nhan_giam==1)
{
--nhiet_dat;
if(nhiet_dat= 5C
nhiet_dat=5;
}
}
void Donhiet(void) //chuong trinh do nhiet
{
rd_adc=0; // Tin hieu doc so lieu
wr_adc=0;// bat dau bien doi
for(j=1;j<=3;++j);
wr_adc=1;
while(intr_adc); cho bien doi xong
gt_so=P2;
nhiet=(float)(gt_so*128)/255;
nhiet_thuc=(int)(nhiet);
Truyen();
Khongche();
}
void Khongche(void) // chuong trtinh khong che nhiet do
{
if(nhiet_thuc==nhiet_dat) //led vang sang
{
led_vang=0;
led_xanh=1;
led_do=1;
}
if(nhiet_thuc>nhiet_dat) //led xanh sang
{
led_xanh=0;
led_do=1;
led_vang=1;
}
if(nhiet_thuc<nhiet_dat) // led do sang
{
led_do=0;
led_xanh=1;
led_vang=1;
}
}
void Truyen(void) //chuong trinh truyen nhiet do len may tinh
{
printf("NHIET DO DO DUOC LA :%d\t\n\n",nhiet_thuc);
printf("NHIET DO DAT LA :%d\t\n\n\n",nhiet_dat);
tre(100000000);
}
iII: kÕt luËn vµ híng ph¸t triÓn
1.Ưu điểm:
- Mạch đo khá chính xác.
- Chạy ổn định.
- Linh kiện dễ tìm và thông dụng
2.Nhược điểm:
- Khi kết nối với máy tính người dùng phải có kiến thức về máy(phàn mềm Hyper Terminal). Không như hiển thị trên led 7 thanh hay LCD
- Hệ thống kết nối phức tạp
3.Tính thực tế:
Bộ đo nhiệt này có thể sủ dụng đẻ đo nhiệt độ trong các lò nhiệt và đưa ra cảnh báo khi nhiệt vượt mức cài đặt…..
4. Hướng cải tiến, phát triển:
Có thể lắp thêm chuông để có thể đưa ra cảnh báo. Khi nhiệt đã vượt mức khống chế thì kích hoạt chuông điện kêu.
IV.tµi liÖu tham kh¶o
1. VI §IÒU KHIÓN CÊU TRóC – LËP TR×NH Vµ øng dông
Kiều Xuân Thực- Vò ThÞ Thu H¬ng
NXB §¹i Häc C«ng NghiÖp Hµ Néi
2. -§o lêng vµ ®iÒu khiÓn m¸y tÝnh - Ng« Biªn TËp
NXB khoa häc vµ kü thuËt - 1999
3. S¬ ®å ch©n linh kiÖn b¸n dÉn- d¬ng minh trÝ
NXB khoa häc vµ kü thuËt - 1997.
4. Sæ tay tra cøu IC sè IC CMOS- NguyÔn Đ×nh B¶o
NXB Thèng kª.
5. VI ĐIỀU KHIỂN VỚI LẬP TRÌNH C – Ngô Diên Tập
Các file đính kèm theo tài liệu này:
- Thiết kế bộ đo và khống chế nhiệt độ hiển thị trên máy tính.doc