Đồ án Thiết kế hệ thống hiển thị nhiệt độ, đồng thời kết hợp đều khiển một số thiết bị dân dụng

Với sự phát triển không ngừng của khoa học kỹ thuật, đặc biệt là ngành điện tử đã ứng dụng rất nhiều trong công nghiệp. Trong lĩnh vực điều khiển, từ khi công nghệ chế tạo loại vi mạch lập trình phát triển đã đem đến các kỹ thuật điều khiển hiện đại có nhiều ưu điểm hơn so với việc sử dụng các mạch điều khiển lắp ráp bằng các linh kiện rời như kích thước nhỏ, giá thành rẻ, độ làm việc tin cậy, công suất tiêu thụ nhỏ.

Ngày nay, trong lĩnh vực điều khiển đã được ứng dụng rộng rãi trong các thiết bị, sản phẩm phục vụ cho nhu cầu sinh hoạt hàng ngày của con người như các loại máy tự động, đồng hồ báo giờ, các loại đèn quang báo, . đã giúp cho đời sống cuả chúng ta ngày càng hiện đại và tiện nghi hơn.Với những kiến thức học được trên giảng đường, và tìm đọc trong sách và trên mạng Internet, chúng em chọn đề tài là thiết kế hệ thống hiển thị nhiệt độ, đồng thời kết hợp đều khiển một số thiết bị dân dụng.

 

 

doc20 trang | Chia sẻ: oanh_nt | Lượt xem: 1040 | Lượt tải: 1download
Nội dung tài liệu Đồ án Thiết kế hệ thống hiển thị nhiệt độ, đồng thời kết hợp đều khiển một số thiết bị dân dụng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC Nhận xét của giáo viên hướng dẫn…………………………………….. Lời mở đầu…………………………………………………………….. Phần I: Dẫn Nhập……………………………………………………… Đặt vấn đề. Mục đích và yêu cầu. Giôùi haïn ñeà taøi. Phần II. Cơ sở lý thuyết……………………………………………….. Giới thiệu vi xử lý PIC 16f877A , cảm biến nhiệt LM35, các IC sử dụng trong mạch. Phần III: Thiết kế và thi công…………………………………………. Chương I: Thiết kế mạch Sơ đồ khối. Nguyên lý hoạt động của các khối. Sơ đồ nguyên lý. Chương II: Thi công mạch. Dụng cụ sử dụng. Quá trình thi công. NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN. …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… Chữ ký của giáo viên hướng dẫn: LÔØI MÔÛ ÑAÀU Với sự phát triển không ngừng của khoa học kỹ thuật, đặc biệt là ngành điện tử đã ứng dụng rất nhiều trong công nghiệp. Trong lĩnh vực điều khiển, từ khi công nghệ chế tạo loại vi mạch lập trình phát triển đã đem đến các kỹ thuật điều khiển hiện đại có nhiều ưu điểm hơn so với việc sử dụng các mạch điều khiển lắp ráp bằng các linh kiện rời như kích thước nhỏ, giá thành rẻ, độ làm việc tin cậy, công suất tiêu thụ nhỏ. Ngày nay, trong lĩnh vực điều khiển đã được ứng dụng rộng rãi trong các thiết bị, sản phẩm phục vụ cho nhu cầu sinh hoạt hàng ngày của con người như các loại máy tự động, đồng hồ báo giờ, các loại đèn quang báo,….. đã giúp cho đời sống cuả chúng ta ngày càng hiện đại và tiện nghi hơn.Với những kiến thức học được trên giảng đường, và tìm đọc trong sách và trên mạng Internet, chúng em chọn đề tài là thiết kế hệ thống hiển thị nhiệt độ, đồng thời kết hợp đều khiển một số thiết bị dân dụng. PHAÀN I Dẫn Nhập I. Đặt vấn đề. Cùng với sự phát triển của khoa học và công nghệ, các thiết bị điện tử đã, đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả trong hầu hết các lĩnh vực khoa học kỹ thuật cũng như trong đời sống xã hội. Việc gia công, xử lý các tín hiệu điện tử hiện đại đều dựa trên cơ sở nguyên lý số. Vì các thiết bị làm việc dựa trên cơ sở nguyên lý số có ưu điểm hơn hẳn so với các thiết bị làm việc dưạ trên cơ sở nguyên lý tương tự, đặc biệt là trong kỹ thuật tính toán. Sự phát triển mạnh mẽ của công nghệ điện tử đã cho ra đời nhiều vi mạch số cỡ lớn với giá thành rẻ và khả năng lập trình cao đã mang lại những thay đổi lớn trong ngành điện tử. Mạch sử dụng vi đều khiển ở những mức độ khác nhau đã đang thâm nhập trong các lĩnh vực điện tử thông dụng và chuyên nghiệp một cách nhanh chóng. Các trường kỹ thuật là nơi vi đều khiển thâm nhập mạnh mẽ và được học sinh, sinh viên ưa chuộng do lợi ích và tính khả thi của nó. Vì thế sự hiểu biết sâu sắc về lập trình vi đều khiển là không thể thiếu đối với sinh viên ngành điện tử hiện nay. Nhu cầu hiểu biết về lập trình và ứng dụng vi đều khiển và đặc biệt là vi đều khiển PIC vào cuộc sống không chỉ riêng đối với những người theo chuyên ngành điện tử mà còn đối với những cán bộ kỹ thuật khác có sử dụng thiết bị điện tử. II.Mục đích yêu cầu. Söï caàn thieát,quan troïng cuõng nhö tính khaû thi vaø lôïi ích cuûa maïch soá cuõng chính laø lyù do ñeå choïn vaø thöïc hieän ñeà aùn “thieát keá maïch hiển thị nhiệt độ” nhaèm öùng duïng kieán thöùc ñaõ học veà kó thuaät mạch và kỹ thuật soá vaøo thöïc teá. III.Giôùi haïn ñeà taøi. Do đều kiện còn thiếu tài liệu cũng như linh kiện để thi công mạch điện nên nhóm thực hiện chỉ thiết kế mạch hiển thị nhiệt độ đơn giản ,gọn nhẹ . PHAÀN II Cơ SởLý Thuyết I.VI ĐỀU KHIỂN PIC I.1.Khái quát PIC(Programmable Intelligent Computer ) là dòng vi điều khiển của MICROCHIP đang được sử dụng phổ biến trong các ứng dụng dân dụng và công nghiệp bởi những đặc tính ưu việt của nó. Hơn nữa việc lập trình cho PIC lại khá đơn giản bởi số mã lệnh ít, có nhiều công cụ hỗ trợ lập trình bằng ngôn ngữ cấp cao như C. Hiện tại PIC có các dòng 8bit và 16bit. Trong báo cáo này ta quan tâm đến PIC 8 bit cụ thể là PIC16F877A - một vi điều khiển với tất cả đặc trưng cơ bản của PIC. Tại sao dùng PIC Ta từng sử dụng họ 8051 và thấy được tính hữu dụng của nó qua các ứng dụng cơ bản, đơn giản. Tuy nhiên đối với các ứng dụng phức tạp, đòi hỏi tốc độ, mức độ tích hợp cao thì bản thân 8051 khó đáp ứng được ( hoặc ta phải đầu tư thêm chi phí cho việc xử lí ngoại vi,…). PIC thì khác, hãy xem bảng so sánh sau : STT Chức năng PIC16F877A AT89C51 1 I/O 5 Ports 4 Ports 2 Flash Memory 8k 4k 3 EEPROM 256bytes - 4 Timer 3 2 5 Interrupts 15 4 6 ADC 8 channel 10 bit - 7 PWM 2 - 8 Comparator 2 - 9 Instruction set 35 >100 10 Truyền thông SUART,I2C,MSSP,PSP UART Bảng II.1: Bảng so sánh chức năng của PIC16F877A và AT89C51 Khả năng tích hợp cao của PIC mang lại sự đơn giản nhưng hiệu quả trong thiết kế và lập trình. Tuy vậy PIC không phải là tất cả, khi làm một sản phẩm, tính kinh tế là quan trọng, sử dụng loại vi điều khiển nào mang lại hiệu quả cao nhất là tùy thuộc vào người thiết kế. I.2. Cấu trúc PIC : I.2.1 Sơ đồ khối *Hình dưới đây minh họa một số PIC và sơ đồ chân PIC16F877A. Hình II.1 : Một số IC PIC thông dụng Hình II.2 : Sơ đồ chân của pic 16F877A I/O Ports : PIC16F877A( gọi tắt là PIC) có 5Port A,B,C,D,E với các đặc điểm cơ bản như sau PORT A: - 6bit - I/O - Ngõ vào, điện áp tham chiếu cho ADC - Clock input PORT B: - 8bit - I/O - Ngắt ngoài PORT C: - 8bit - I/O - CCP/PWM output - Timer Clock output - Truyền thông PORT D: - 8bit - I/O - Truyền thông song song (network) PORT E: - 3bit - Ngõ vào AD - Truy xuất bộ nhớ ngoài(WR/RD) Timers : PIC có 3 timer, timer0, timer1, timer2. Tần số Clock ngõ vào lớn nhất có thể bằng ¼ tần số thạch anh, tần số xung ngõ vào timer có thể được chia nhỏ hơn bằng cấu hình phần mềm. TIMER0/COUNTER - 8 bit - Có thể cấu hình tần số Clock ngõ vào (prescale) - Sử dụng Clock từ Xtal hoặc Clock bên ngoài - Ngắt sảy ra khi tràn timer ( FFh -00h) TIMER1/COUNTER1 - 16bit - Ngắt sảy ra khi timer tràn (FFFFh-0000h) TIMER2/COUNTER2 - 8bit - Thường sử dụng cho hoạt động PWM - Có thể cấu hình tần số clock ngõ vào ( prescale) ADC : - ADC với độ phân giải 10 bit - Có thể cấu hình tần số chuyển đổi, kênh chuyển đổi, điện áp tham chiếu bằng phần mềm. - Cấu hình ngắt khi chuyển đổi xong Hình II.3 : Sơ đồ cấu tạo cổng ADC của Pic I.2.2 Cấu trúc địa chỉ ô nhớ và các thanh ghi I.3. Tập lệnh PIC: Để lập trình cho PIC, có thể chọn những ngôn ngữ lập trình khác nhau như ASM, CCS C, HT-PIC, pascal, basic,...Khi viết bằng CCS C thì dịch ra file.hex có dài hơn so với khi viết bằng ASM. Hai ngôn ngữ CCS C và HT-PIC được ưa chuộng hơn cả, CCS C dễ học, gần gũi với ASM còn HT-PIC là dạng ANSI C. II.CẢM BIẾN NHIỆT LM35 Cảm biến nhiệt được tích hợp trong IC, là một tích hợp nhận tín hiệu nhiệt độ chuyển thành tín hiệu điện dưới dạng dòng điện hay điện áp. Dựa 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 độ.đo tín hiệu điện ta biết được giá trị 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 chất bán dẫn.Bằng sự phá vỡ các phân tử, bức 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 sự xuất hiện các lỗ trống.Làm cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo quy luật hàm mũ với nhiệt độ . LM35 Là cảm biến nhiệt độ có thể hoạt động đến 1500c. Cứ tăng 10c, điện áp ra tăng 10mv Các tính chất của LM35: +chia độ trực tiếp theo 0c +Độ chính xác ban đầu là 10c +Trở kháng động <1Ω +Tầm nhiệt độ rộng, đo từ 00c→150 0c +Tần biến thiên điện áp ứng với nhiệt độ tư 0→1000c là 1v LM35 có 3 chân. Chân 1(Vs) là chân cấp nguồn dương Vcc. Chân 2(GND) là chân nối mass. Chân 3(Vout) là chân xuất điện áp sau khi chuyển đổi từ nhiệt độ sang. III.Giới thiệu về các IC sử dụng trong mạch. III.1. IC chốt dữ liệu 74HC573: a) Đại cương: Là vi mạch chốt dữ liệu được dùng trong trường hợp muốn giữ lại dữ liệu cần thiết ở ngõ ra, dùng tiết kiệm cổng xuất dữ liệu cho vi xử lý. IC có 8 ngõ vào dữ liệu và 8 ngõ ra để xuất dữ liệu. Ngõ vào 3 trạng thái có 1 D_flip flop để chốt, lưu giữ tín hiệu. Chân 11 ở mức cao dữ liệu được truyền qua, khi chân 11 ở mức thấp thì dữ liệu được chốt ở lối ra cua IC. Chân OE được nối mass. b)Hình dáng và sơ đồ chân IC74HC573: Hinh 4:Hình dáng và sơ đồ chân của IC 74573 c) Sơ đồ logic và bảng trạng thái. Hình 5: Sơ đồ logic của IC 74573 Sơ đồ cấu trúc của IC74573, sự hoạt động của IC được thể hiện ở bảng sự thật Hình 6: Bảng trạng thái của IC74HC573 III.2. IC Hiển thị led 7segment 7447. a. Đại cương IC 7447 giải mã BCD sang mã Led 7 đoạn. Để IC hoạt động ta kết nối chân 16 (Vcc) với nguồn 5 V, chân số 8 với đất. Ngõ vào có 4 chân là 7,1,2,6 tương ứng với A,B,C,D trong đó mức ý nghĩa giảm dần từ A đến D. Kết nối các ngõ ra A,B,C,D của IC với chân out của vi xử lý. Các chân LT, BI/RBO, RBI không cần kết nối. Nếu ta dùng Led 7 đoạn kiểu cathod chung thì mỗi ngõ ra của IC 7447 cần kết nối với các cổng đảo trước khi đến các chân của Led. Giải quyết điều này bằng cách sử dụng thêm IC 7404.Dễ thấy IC này được tích hợp 6 cổng đảo. b)Hình dáng và sơ đồ chân IC c) Sơ đồ logic và bảng trạng thái        Đây là IC khá đơn giản dùng để chuyển tín hiệu dạng số nhị phân ở ngõ vào sang mã 7 đoạn, dễ thấy IC này hoạt động ở tích cực mức thấp. Do đó ta có bảng chân thực sau: BCD inputs Segment outputs Display A B C D a b c d e f g 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 2 0 0 1 1 0 0 0 0 1 1 0 3 0 1 0 0 1 0 0 1 1 1 1 4 0 1 0 1 0 0 1 0 0 1 0 5 0 1 1 0 1 1 0 0 0 0 0 6 0 1 1 1 0 0 0 1 1 1 1 7 1 0 0 0 0 0 0 0 0 0 0 8 1 0 0 1 0 0 0 1 1 0 0 9 IV. Led 7 đoạn. Dùng để hiển thị các số thập phân, nhị phân. Có hai loại cơ bản là: led 7 đoạn có anot chung (hình a), và led 7 đoạn có katot (hình b) chung. Tùy theo yêu cầu mà ta sử dụng. Ha.Led 7 đoạn Anot chung Hb. Led 7 doạn Katot chung Phần III Thiết Kế Và Thi Công I.SƠ ĐỒ KHỐI VÀ NGUYÊN LÝ HOẠT ĐỘNG I.1. Sơ đồ khối của mạch: PIC 16F877A Hiển Thị Ra LED 7 Đoạn Chuyển Gía Trị Đọc Được Sang Gía Trị Nhiệt Độ Chuyển Đổi ADC Khối Cảm Biến LM35 I.2. Nguyên lý hoạt động : Cảm biến LM35 quy đổi trực tiếp sự thay đổi nhiệt độ môi trường thành sự thay đổi của điện áp. VD: với nhiệt độ phòng là 250C thì ở ngõ out của LM35 sẽ có điện áp là 250mV Với vi đều khiển PIC 16f877A có tích hợp sẵn bộ chuyển đổi ADC, nên tín hiệu lấy từ cảm biến được đưa trực tiếp vào vi đều khiển. PIC sẽ chuyển đ ổi giá trị đọc được thành giá trị nhị phân. Trong mạch này ta chọn bộ ADC 10 bit. Quá trình chuyển đổi như sau: ADC 10 bit tương ứng giá trị là 1023 Ta chọn VEF=5V =5000mV Vậy 5000mV ứng với 1023 khoảng LM35 chuyển đổi 10C tương ứng với 10mV Suy ra 5000mv tương ứng với 5000C 5000C ứng với 1023 ?0 --------------- giá trị bộ ADC đã chuyển đổi (VALUE) Vậy ta có công thức chuyển đổi như sau: Độ C = (VALUE*500)/1023 Giá trị độ C được chuyển sang mã BCD và được xuất ra ngoài thông qua IC chốt 74HC573 và IC giải mã 7447 để hiển thị ra led 7 đoạn. II. Giải thuật chương trình II.1. Sơ đồ khối chương trình: BEGIN LẤY MẪU NHIỆT ĐỘ CHUYỂN ĐỔI ADC VÀ CHUYỂN SANG GIÁ TRỊ NHIỆT ĐỘ HIỂN THỊ II.2. Chương trình giải thuật: #include #include #device adc=10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9) float DO_C; int16 bien,hang_don_vi,hang_chuc; int16 led_h,led_l,value; int8 const a[10]={0,1,2,3,4,5,6,7,8,9}; void TAO_MA_BD(); void XUAT_LED(); void BAO_DONG(); //----------------------------------------------------------------- void main() { trisa = 0xFF; trisb = 0x01; trisd = 0x00; // Khoi tao che do cho bo ADC trong PIC setup_adc_ports(AN0); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); delay_us(10); // Lay mau nhiet do lan dau tien value=read_adc(); delay_ms(10); DO_C = (float)(VALUE * 500)/1023; TAO_MA_BD(); // XUAT_LED(); delay_ms(100); // Cap nhat nhiet do while(1) { output_b(0x00); value = read_adc(); delay_us(10); DO_C = (float)(VALUE * 500)/1023; output_d(0x00); TAO_MA_BD(); if( led_h >=4) BAO_DONG(); if( led_h <=1) BAO_DONG(); XUAT_LED(); } } //====================================================== //Chuyen dang ma de xuat ra led 7 doan void TAO_MA_BD() { if(DO_C >= 10) hang_chuc = 1; if(DO_C >= 20) hang_chuc = 2; if(DO_C >= 30) hang_chuc = 3; if(DO_C >= 40) hang_chuc = 4; if(DO_C >= 50) hang_chuc = 5; if(DO_C >= 60) hang_chuc = 6; if(DO_C >= 70) hang_chuc = 7; if(DO_C >= 80) hang_chuc = 8; if(DO_C >= 90) hang_chuc = 9; if(DO_C < 10) hang_chuc = 0; bien = hang_chuc*10 ; hang_don_vi = (DO_C - bien); led_h = a[hang_chuc]; led_l = a[hang_don_vi]; } //====================================================================== // Dung 74hc573 chot du lieu de tiet kiem cong void XUAT_LED() { output_high(pin_d0); output_c(led_h); output_low(pin_d0); output_high(pin_d1); output_c(led_l); output_low(pin_d1); delay_ms(100); } // NEU NHIET DO CAO HON HOAC THAP HON NHIET DO QUY DINH SE GOI BAO DONG VOID BAO_DONG() { output_high(pin_b0); output_high(pin_b0); } III. SƠ ĐỒ NGUYÊN LÝ

Các file đính kèm theo tài liệu này:

  • docban_in_cuoi_cung_8367.doc
Tài liệu liên quan