Đồ án Thiết kế hệ thống đo nhiệt độ cảm biến LM35

Chân 15 và chân 16: ghi là A và K. Nó là anot và katot của một con led dùng để sáng LCD trong bóng tối, chúng ta có thể không nối, nếu sử dụng nối chân 15 với trở 220 or 330 ôm lên VCC, chân 16 nối đất. + Các lệnh của LCD có thể chia thành 4 nhóm như sau: các lệnh về kiểu hiển thị. VD: Kiểu hiển thị (1 hàng / 2 hàng), chiều dài dữ liệu (8bit/4 bit) Chỉ định địa chỉ RAM nội. Nhóm lệnh truyền dữ liệu trong RAM nội. + Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị, mỗi khi có lệnh ghi vào RAM (điều này giúp chương trình gọn hơn). + Với mỗi lệnh LCD cần một khoảng thời gian để hoàn tất, thời gian này có thể khá lâu đối với tốc độ của MPU, nên ta cần kiểm tra cờ BF hoặc đợi. + Tuy trong sơ đồ khối của LCD có nhiều khối khác nhau, nhưng khi lập trình điều khiển LCD ta chỉ có thể tác động trực tiếp được vào 2 thanh ghi DR và IR thông qua các chân DBx, và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữ 2 thanh ghi này.

doc35 trang | Chia sẻ: tueminh09 | Ngày: 26/01/2022 | Lượt xem: 1661 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế hệ thống đo nhiệt độ cảm biến LM35, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI MỞ ĐẦU Nhiệt độ là tín hiệu vật lý mà ta thường xuyên gặp trong đời sống sinh hoạt hằng ngày cũng như trong kĩ thuật và công nghiêp. Việc đo đạc nhằm xác định chính xác giá trị của nhiệt độ theo các thang đo từ lâu đã trở thành một vấn đề mà cả những nhà khoa học hàng đầu thế giới cũng như những người dân thuộc nhiều lĩnh vực đều quan tâm; chính vì lẽ đó những phương xác đo đạc ngày một nhiều hơn và chính xác hơn. Hiện nay, việc sử dụng cảm biến nhiệt độ trong khối ngành công nghiệp và cả dân dụng ngày càng phỏ biến và mang lại hiệu quả cao. Đồ án “Thiết kế hệ thống đo nhiệt độ” này nhóm em sử dụng cảm biến LM35 với mục đích nhằm nghiên cứu về các phương pháp đo nhiệt độ và thực hiện thiết kế một thiết bị đo và hiển thị nhiệt độ tự động, chính xác. Đồ án gồm: Chương 1: Nguyên lý hoạt động của hệ thống vi điều khiển Xây dựng mục tiêu và sơ đồ khối của vi điều khiển Pic Nguyên lý hoạt động của hệ thống Chương 2: Tính chọn linh kiện sử dụng trong hệ thống 2.1 giới thiệu các linh kiện được sử dụng trong mạch 2.2 tính toán inh kiện trong hệ thống Chương 3: Mô phỏng hệ thống 3.1 thiết kế mạch nguyên lý 3.2 chạy mô phỏng bằng phần mềm ứng dụng Proteus Chương 4: Chế tạo mạch thực tế 4.1 thiết kế mạch in 4.2 Lắp đặt thiết bị và hoàn thiện mạch 4.2 chạy mạch và đánh giá kết quả Nhóm em xin chân thành cảm ơn thầy Lê Tiến Dũng đã dành thời gian hướng dẫn trong suốt quá trình thực hiện đề tài này. Vì là sinh viên nên những kết quả nghiên cứu được trong đồ án không tránh khỏi những sai sót, nhóm em mong nhận được sự góp ý của thầy cô giáo để có thể hoàn thiện kiến thức của mình. CHƯƠNG I NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG ĐO NHIỆT ĐỘ Mục tiêu và sơ đồ khối của hệ thống đo nhiệt độ dùng Pic Một số loại cảm biến đô nhiệt độ Nhiệt điện trở kim loại Đối với nhiệt điện trở kim loại thì viêc chế tạo nó thích hợp hơn cả là sử dụng các kim loại nguyên chất như : plantin, đồng, niken. Để tăng độ nhạy cảm nên sử dụng các kim loại có hệ số nhiệt điện trở càng lớn càng tốt. Tuy nhiên tùy thuộc vào khoảng nhiệt độ cần kiểm tra mà ta có thể sử dụng nhiệt điện trở loại này hay loại khác. Cụ thể nhiệt điện trở chế tạo từ dây dẫn bằng đồng làm việc trong khoảng nhiệt độ -500C ÷ 1500C. Nhiệt điện trở từ dây dẫn plantin làm việc trong khoảng nhiệt độ -1900C ÷ 6500C. Cấu trúc của nhiệt điện trở kim loại bao gồm: dây dẫn mảnh kép đôi quấn trên khung cách điện tạo thành phần tử nhạy cảm, nó được đặt trong chiếc vỏ đặc biệt có các cực đưa ra. Giá trị của nhiệt điện trở từ 100C÷ 1000C. Ưu điểm: + Việc sử dụng nhiệt điện trở kim loại để đo nhiệt độ cao rất tin cậy, đảm bảo độ chính xác đến 0.010C và sai số không quá 0,5% đến 1%. + Vật liệu chế tạo tương đối đơn giản. Nhược điểm: + Kích thước của nhiệt điện trở kim loại lớn nên hạn chế việc sử dụng nó để đo nhiệt độ ở nơi hẹp. + Do là kim loại nên sau 1 thời gian chúng sẽ dễ bị oxy hóa, gây ảnh hưởng đến độ nhạy của chúng. Nhiệt điện trở bán dẫn Nhiệt điện trở được chế tạo từ vật liệu bán dẫn, chúng được sử dụng trong hệ thống tự động kiểm tra và điều khiển. Nhiệt điện trở bán dẫn được chế tạo từ hợp kim của đồng – măng gan hoặc coban. Loại này hoàn toàn trái ngược với nhiệt điện trở kim loại, khi nhiệt độ tăng thì điện trở của chúng lại giảm khoảng nhiệt độ đo của chúng thường dao động trong khoảng từ -600C ÷ 1800C. Ưu điểm: + độ chính xác khá cao + kích thước nhỏ nhẹ, giúp nó làm việc ở những nơi chật hẹp Nhược điểm: + chế tạo phức tạp Một số phương pháp đo nhiệt độ Đo nhiệt độ bằng phương pháp cặp nhiệt điện Bộ cảm biến cặp nhiệt ngẫu là 1 mạch có 2 dây dẫn. chỗ nối giữa 2 dây dẫn này được hàn với nhau. Chiều của dòng điện phụ thuộc vào nhiệt độ tương ứng của mỗi hàn. Nếu để hở một đầu thì giữa 2 cực xuất hiện 1 suất điện động nhiệt. như vậy bằng cách đo sdd ta có thể tìm được nhiệt độ của đối tượng đó. Đo nhiệt độ bằng hỏa kế quang học Nguyên lý làm việc của hỏa kế quang học là dựa trên các hiện tượng bức xa của các vật thể ở nhiệt độ cao, chúng dựa trên ánh sáng, bức xạ nhiệt của vật phát ra mà tính được nhiệt độ của vật. Đo nhiệt độ bằng IC Các IC này làm việc bằng cách tìm mỗi quan hệ giữa đại lượng nhiệt độ đầu vào và đại lượng ( điện áp, dòng điện) đầu ra. Các cảm biến này tạo ra các giá trị điện áp hay dòng điện tỷ lệ tuyến tính với nhiệt độ đầu vào,vì vậy đo tín hiệu điện đầu ra sẽ biết được nhiệt độ đầu vào. Nó có ưu điểm là vận hành đơn giản, tuy nhiên phạm vi đo nhiệt độ giới hạn từ -500C ÷ 1500C. đặc tính của một số loại ic thông dụng AD 590 + ngõ ra là dòng điện + độ nhạy 1A/10K + nguồn cung cấp 4-30V + phạm vi sử dụng -550C ÷ 1500C Họ LM35, LM135, LM235, LM335 + ngõ ra là điện áp + độ nhạy 10mV/0C + nguồn cung cấp 5-30V + phạm vi sư dụng: LM335: -100C ÷ 1250C LM235: - 400C ÷ 1400C LM135: - 550C ÷ 2000C LM35: - 550C ÷ 1500C Mục tiêu và sơ đồ khối của mạch đo nhiệt độ dùng Pic Mục tiêu Ngày nay việc sử dụng các thiết bị điện tử phục vụ đời sống hằng ngày rất phổ biến. Trong đó ta có thế kể đến các thiết bị cảm ứng và hiển thị các thông số môi trường phục vụ nhiều mục đích khác nhau nhằm tạo sự tiện lợi trong sinh hoạt hằng ngày. Bắt nguồn từ mục đích đó, nhóm em đã thiết kế một mạch cảm ứng nhiệt độ và hiển thị ra LCD sử dụng vi điều khiển pic 16F877A và cảm biến nhiệt độ LM35. Mục tiêu của mạch giúp chúng ta biết được : Chức năng ADC của PIC ứng trong mạch Cách sử dụng LCD, giao tiếp giữa LCD và PIC Cách sử dụng cảm biến Tới việc đầy đủ các công cụ để làm mạch ( viết code, mô phỏng bằng proteus, vẽ layout, test mạch thử vv..) Làm ra mạch thực tế. Sơ đồ khối của hệ thống đo nhiệt độ dùng Pic 16F877A Cảm biến siêu âm Hiển thị LCD Nguồn Nuôi Nút Bấm LED Báo PIC 16F877A Rơ le + Khối LM35: là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Nhiệm vụ của khối này là nhận trực tiếp đại lượng vật lý (nhiệt độ) đặc trưng cho đối tượng cần đo biến đổi đại lương vật lý này sang đại lương vật lý khác (điện áp) để thuận tiện cho việc tính toán. + Khối chuyển đổi ADC: Có nhiệm vụ nhận tín hiệu điện từ khối LM35 sau đó chuyển thành tín hiệu số, để từ đó mã hóa ra LCD. + Khối LCD: có chức năng hiển thị nhiệt độ của đối tượng cần đo sau khi nó nhận tín hiệu từ khổi giải mã LCD. + Nút Bấm: có chức năng cho hệ thống hoạt động và dừng để xem nhiệt độ tạm thời Nguyên lý hoạt động của hệ thống đo nhiệt độ Khi cho cảm biến vào vật cần đo nhiệt độ, đầu ra của cảm biến LM35 cho ta 1 điện áp tuyến tính với nhiệt độ đầu vào, tín hiệu điện này được đươc vào trong PIC16F877A, trong PIC có bộ chuyển đổi ADC nó sẽ thực hiện viêc chuyển tín hiệu tương tự (điện áp) sang tín hiệu số, rồi từ đó qua bộ giải mã led LCD sẽ giải mã tín hiệu số thành tín hiệu điện đưa ra cho LCD hiển thị. CHƯƠNG 2 TÍNH CHỌN LINH KIỆN TRONG HỆ THỐNG 2.1 Giới thiệu các linh kiện trong hệ thống 2.1.1 Giới thiệu Pic 16F877A sơ đồ chân Pic 16F877A PIC là viết tắt của “Programable Intelligent Computer” có thể tạm dịch là máy tính thông minh khả trình” do hãng Genenral Instrument  đặt tên cho vi điều khiển đầu tiên của họ là PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay. Pic 16F877A là dòng Pic phổ biến nhất hiện nay (đủ mạnh về tính năng, có 40 chân, bộ nhớ đủ cho hấu hết các ứng dụng thông thường) cấu trúc tổng quát của Pic16F877A: 8K plash Rom 368 byte Ram 256 byte EEPROM 5 port (A, B, C, D, E) vào ra với tín hiệu độc lập. 2 bộ định thời 8 bit (timer0 và timer 2) 1 bộ định thời 16 bit (timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng (Sleep Mode) với xung clock bên ngoài 2 bộ CCP (Capture/Compare/PWM) 1 bộ biến đổi AD 10 bit với 8 ngõ vào 2 bộ so sánh tương tự (Compartor) 1 bộ định thời giám sát (Watchdog Timer) 1 cổng song song 8 bit với các tín hiệu điều khiển 1 cổng nối tiếp 15 nguồn ngắt Nạp chương trình bằng cổng nối tiếp ICSP (In-Circuit Serial Programming) Được chế tạo bằng công nghệ CMOS 35 tập lệnh có độ dài 14bit Tầng số hoạt động tối đa 20MHz Để Pic hoạt động ta cần cấp nguồn cho Pic, ngoài ra có thể thêm vào bộ dao động thạch anh, và nút reset. Sơ đồ chân của pic 16F877A Tổ chức bộ nhớ vi điều khiển Đây là vi điều khiển họ PIC16Fxxx với tập lệnh gồm 35 lệnh với độ dài 14bit. Mỗi lệnh đều được thực hiện trong 1 chù kỳ xung clock, tốc độ hoạt động tối đa cho phép là 20MHz vời 1 chu kỳ lệnh là 200ns. Bộ nhớ chương trình 8Kx 14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 vời 33 pin I/O. Các đặc tính ngoại vi của các khối chức năng Timer0: Bộ đếm 8 bit với bộ chia tầng 8 bit. Timer1: Bộ đếm 16 bit với bộ chia tầng,có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep. Timer 2:Bộ đếm 8 bit với bộ chia tầng số,bộ postcaler. Hai bộ capture,so sánh,điều chế độ rộng xung. Các chuẩn giao tiếp nối tiếp SSP (Synchronous serial port),SPI và I2C. Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. Cổng giao tiếp song song PSP( Parallel Slave Port) với các chân điều khiển RD, WR, CS ở bên ngoài Các đặc tính Analog 8 kênh chuyển đổi ADC 10 bit. 2 bộ so sánh. Các cổng nhập/xuất của Pic 16F877A Cổng xuất nhập chính là phương tiện mà vi điều khiển dùng để tương tác với thế giới bên ngoài. Sự tương tác này rất đa dạng và thông qua sự tương tác đó, chức năng của vi điều khiển được thể hiện rõ ràng. Vi điều khiển PIC 16F877A có 5 cổng xuất nhập PORTA, PORTB, PORTC, PORTD và PORTE. PORT A (RPA) bao gồm 6 I/O đây là các chân 2 chiều có thể xuất và nhập, chức năng xuất nhập được điều khiển bởi thanh ghi TRISA (địa chỉ 85h). Muốn xác lập 1 chân trong thanh ghi TRISA là input ta “set” bit tương ứng trong thanh ghi TRISA và mún có 1 chân output ta “clear”bit tương ứng trong thanh ghi. Thao tác này hoàn toàn tương tự với PORT và các thanh ghi điều khiển tương ứng.Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào Analog, ngõ vào xung clock Timer0 và ngõ vào của bộ giao tiếp MSSP.Các thanh ghi TRISA bao gồm: PORTA (địa chỉ 05h): chứa giá trị các chân I/O trong PORTA TRISA (địa chỉ 85h): điều khiển xuất nhập. CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh. CVRCON (địa chỉ 9Dh): thanh ghi điều khiển bộ so sánh điện áp. ADCON1 (địa chỉ 9Fh): thanh ghi điều khiển ADC. PORTB (RPB) bao gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là TRISB. Bên cạnh đó có 1 số chân của PORTB dùng để nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau. PORTB còn liên quan đến ngắt ngoại vi và Timer0. PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình.Các thanh ghi PORTB bao gồm: PORTB (địa chỉ 06h,106h): chứa giá trị các chân trong PORTB. TRISB (địa chỉ 86h,186h): điểu khiển xuất nhập. OPTION_REG (địa chỉ 81h,181h): điểu khiển ngắt ngoại vi toàn bộ Timer0. PORTC (RPC) gồm 8 chân I/O,thanh ghi điều khiển xuất nhập tương ứng là TRISC, bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, Timer1, bộ PWM, và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART. Các thanh ghi điều khiển: PORTC (địa chỉ 07h):chứa giá trị các chân trong PORTC. TRISC (địa chỉ 87h):điều khiển xuất nhập. PORTD (RPD) gồm 8 chân I/O,thanh ghi điều khiển xuất nhập tương ứng là TRISD, PORTD còn là cổng xuất dữ liệu của chuận giao tiếp PSP. Các thanh ghi: Thanh ghi PORTD (địa chỉ 08h): chứa giá trị các chân trong PORTD TRISD (địa chỉ 88h) điều khiển xuất nhập PORTE (RPE) gồm 3 chân I/0,thanh ghi điều khiển xuất nhập tương ứng là TRISE. Các chân PORTE có ngõ vào analog, bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP Các thanh ghi: PORT (địa chi 09h) chứa giá trị các chân trong PORTE. TRISE (địa chỉ 89h) điều khiển xuất nhập và xác lập các thông số cho chuẩn PSP. ADCON1 thanh ghi điều khiển khối ADC. Timer1 là bộ định thời 16 bit, giá trị của 2 timer 1 sẽ lưu vào 2 thanh ghi (TMR1h và TML1R), cờ ngắt timer 1 là bit TMR 1IF, bit điều khiển của Timer1 là TMR1IE. Tương tự như Timer0,Timer1 cũng có 2 chế độ hoạt động: chế độ định thời (timer) với xung kích là xung clock của oscillator( tầng số bằng ¼ tầng số của oscillator) và chế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cần đếm lấy từ bên ngoài. Các thanh ghi liên quan đến timer1 bao gồm: INTCON(0BH, 8BH, 10BH, 18Bh) cho phép ngắt hoạt động( GIE và PEIE) IR1( địa chỉ 0CH) chứa cờ ngắt timer1(TMR1IF) PIE1( địa chỉ 8CH) cho phép ngắt timer1(TMR1IE) TMR1L( địa chỉ 0Eh) chứa giá trị 8 bit thấp của bộ đếm timer1. TMR1H( địa chỉ 0Eh) chứa giá trị 8 bit cao của bộ đếm timer1. T1CON( địa chỉ 10H) xác lập các thông số cho Timer1 Bộ chuyển đổi ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa 2 dạng tương tự và số. PIC16F877A có 8 ngõ vào analog gồm RA4, RA3, RA2, RA1, RA0, RE2, RE1, RE0. Hiệu điện thế chuẩn VREF có thể được lựa chọn là VDD, VSS hay hiệu điện thế chuẩn được xác lập trên 2 chân RA2 và RA3. Kết quả chuyển đổi từ tín hiệu tương tự sang tín hiệu số 10 bit số tương ứng và lưu trên 2 thanh ghi ADRESH:ADRESL. Khi không sử dụng bộ chuyển đổi ADC, các thanh ghi này có thể sử dụng như các thanh ghi thông thường khác. Cần chú ý là có 2 cách lưu kết quả chuyển đổi AD, việc lựa chọn cách lưu được điều khiển bởi ADFM và được minh họa cụ thể trong hình sau: 2.1.2 Khối cảm biến Để đo lường nhiệt độ có thể sử dụng nhiều loại cảm biến khác nhau, mỗi loại có ưu điểm riêng phù hợp với từng yêu cầu riêng. Đối với đề tài này chỉ đo nhiệt độ môi trường bình thường nên sử dụng LM35 là tối ưu nhất vì: đây là loại cảm biến có độ chính xác cao tầm hoạt động tuyến tính từ 00C – 1280C, tổn hao công suất thấp. Cảm biến nhiệt LM35 có vai trò đo nhiệt độ môi trường sau đó truyền tín hiệu đo được cho Pic dưới dạng điện áp, nhiệt độ tăng hay giảm 10C thì LM35 cũng tăng hay giảm 10mv theo 10C. LM35 có 3 chân,2 chân cấp nguồn (chân 1:cấp nguồn từ 4V – 20V, chân 3 nối GND) 1 chân xuất điện áp ra tùy theo nhiệt độ (chân 2). Các đặc tính kỹ thuật khác: LM35 có dãi nhiệt từ -550C đến 1500C, độ chính xác 1.50C, đầu ra 10mv/10C. Dòng LM35 là dòng mạch tích hợp cảm biến chính xác nhiệt độ, có điện áp ra tỷ lệ thuận với nhiệt độ, do đó có lợi thế hơn so với cảm biến nhiệt độ tuyến tính hiệu chuẩn như (0K) chẳng hạn nhưng dùng không phải trừ đi 1 lượng lớn hằng số điện áp từ đầu ra để phân chia thang nhiệt độ thuận tiện hơn. LM35 không cần hiệu chỉnh hay chỉnh sửa để đưa về nhiệt độ chính xác như 1/40C nhiệt độ ở trong phòng và 3/40C ở trong khoảng -550C đến 1500C. Sai số thấp vì được vi mạch điều chỉnh. Trở kháng đầu ra của LM35 thấp, đầu ra tuyến tính và hiệu chỉnh chuẩn xác giúp đọc và kiểm soát mạch dễ dàng. Nó được sử dụng với nguồn 1 chiều, chỉ sử dụng 60µA từ nguồn nên nhiệt độ vi mạch tăng rất ít, thấp hơn 0,10C trong không khí. 2.1.3 Khối hiển thị LCD LCD (Liquid Crystal Display) còn gọi là màn hình tinh thể lỏng là loại thiết bị hiển thị cấu tạo bởi các tế bào (các điểm ảnh) chứa tinh thể lỏng có khả năng thay đổi tính phân cực của ánh sáng và do đó thay đổi cường độ ánh sáng truyền qua khi kết hợp với các kính lọc phân cực. Chúng có ưu điểm là phẳng, cho hình ảnh sáng, chân thật và tiết kiệm điện. Ngày nay thiết bị hiển thị LCD được sử dụng trong rất nhiều các ứng dụng của VĐK. LCD có rất nhiều ưu điểm so với các dạng hiển thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa) dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ . . . Tổng quan về LCD Hình dạnh và kích thước. Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình là loại LCD thông dụng. Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển bên trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự và đặt tên như hình : Bảng chức năng các chân Một số chú ý : + Chân 15 và chân 16: ghi là A và K. Nó là anot và katot của một con led dùng để sáng LCD trong bóng tối, chúng ta có thể không nối, nếu sử dụng nối chân 15 với trở 220 or 330 ôm lên VCC, chân 16 nối đất. + Các lệnh của LCD có thể chia thành 4 nhóm như sau: các lệnh về kiểu hiển thị. VD: Kiểu hiển thị (1 hàng / 2 hàng), chiều dài dữ liệu (8bit/4 bit) Chỉ định địa chỉ RAM nội. Nhóm lệnh truyền dữ liệu trong RAM nội. + Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị, mỗi khi có lệnh ghi vào RAM (điều này giúp chương trình gọn hơn). + Với mỗi lệnh LCD cần một khoảng thời gian để hoàn tất, thời gian này có thể khá lâu đối với tốc độ của MPU, nên ta cần kiểm tra cờ BF hoặc đợi. + Tuy trong sơ đồ khối của LCD có nhiều khối khác nhau, nhưng khi lập trình điều khiển LCD ta chỉ có thể tác động trực tiếp được vào 2 thanh ghi DR và IR thông qua các chân DBx, và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữ 2 thanh ghi này. 2.2 Tính toán linh kiện trong hệ thống 2.2.1 LM35 Dựa vào những đặc điểm của LM35 đã nêu trên ta tính toán nhiệt độ đầu ra của LM35. việc đo nhiệt độ dùng LM35 ta tính bằng cách. LM35 → ADC → VI ĐIỀU KHIỂN͢͢ Như vậy ta có U = t*K trong đó : U là điện áp đầu ra t là nhiệt độ môi trường cần đo K là hệ số nhiệt độ của LM35 10mV/0C. Giả sử điện áp Vcc cấp cho LM35 là 5V, dùng ADC 10 bit vậy bước thay đổi của LM35 là 5/1024, giá trị ADC đo được t = giá trị ADC/2048. Sai số của LM35 : Tại 0° C thì hiệu điện áp của lm35 là 10mV Tại 150° C thì hiệu điện áp của lm35 là 1500mV 2.2.2. Máy biến áp : Ta chọn máy biến áp có các thông số hoạt động sau : Thông số điện áp : 220V/12V, để thuận tiện ta chọn loại máy biến áp có chia thành nhiều dải điện áp khác nhau như “ 5v,9v,12v” Dòng điện cho phép ở cuộn thứ cấp 12V là 2.5A 2.2.3. Tính chọn cầu diod. Ở đây vì công suất của mạch nhỏ nên ta chọn loại cầu diod cỡ 2-3A. Ta chọn Diode cầu 2A. 2.2.4 Tính chọn thạch anh. Để tốc độ xử lý của PIC 16F877A được nhanh nhất,ta chon thạch anh loại 20MHz. Chức năng : Thạch anh dùng để tạo ra khối dao động, và tần số dao động được ghi trên lưng thạch anh.Trong điện tử  đa phần để tạo tần số đươc ổn định vì tần số của thạch anh tạo ra ít bị ảnh hưởng bởi nhiệt độ hơn là các mạch dao động RC. Trong vi điều khiển bắt buộc phải có thạch anh, vì khi xét chi tiết thì vi điều khiển có CPU, timer, CPU bao gồm các mạch logic và mạch logic muốn hoạt động cũng cần có xung clock, còn timer thì cũng cần phải có xung để đếm. Tùy loại vi điều khiển mà bao nhiêu xung clock thì ứng với 1 chu kì máy, và với mỗi xung clock thi vi điều khiển sẽ đi làm 1 công việc nhỏ ứng với lệnh  đang thực thi 2.2.5 Led đơn. Định nghĩa : LED, viết tắt của Light-Emitting-Diode có nghĩa là “đi-ốt phát sáng”, là một nguồn sáng phát sáng khi có dòng điện tác động lên nó. Được biết tới từ những năm đầu của thế kỷ 20, công nghệ LED ngày càng phát triển, từ những diode phát sáng đầu tiên với ánh sáng yếu và đơn sắc đến những nguồn phát sáng đa sắc, công suất lớn hay phát ra các tia hồng ngoại hoặc tử ngoại ta chọn 3 đèn led : xanh, đỏ và vàng để báo ở 3 mức nhiệt độ thấp, trung bình, cao. 2.2.6 Tính chọn điện trở. Chọn điện trở cho led báo nguồn và led báo trạng thái: Ta có : dòng qua led là 15mV,điện áp rơi trên led là 2V. giá trị R =220 Chọn R=220.Hình 2.24 Điện trở trong mạch reset, chon R=10K 2.2.8 LM7805: Giới thiệu : Với những mạch điện không đòi hỏi độ ổn định của điện áp quá cao, sử dụng IC ổn áp thường được người thiết kế sử dụng vì mạch điện khá đơn giản. Các loại ổn áp thường được sử dụng là IC 78xx, 79xx, với xx là điện áp cần ổn áp. Ví dụ 7805 ổn áp 5V, 7808 ổn áp 8V, 7812 ổn áp 12V hay ổn áp điện áp âm có 7905 ổn áp điện áp -5V, 7912 ổn áp -12V.  Họ 78xx là họ cho ổn định điện áp đầu ra là dương. Còn xx là giá trị điện áp đầu ra như 5V, 6V... Họ 79xx là họ ổn định điện áp đầu ra là âm. Còn xx là điện áp đầu ra như: -5V, -6V Sự kết hợp của hai con này sẽ tạo ra được bộ nguồn đối xứng. Về mặt nguyên lý nó hoạt động tương đối giống nhau. Bây giờ ta xét từng IC 78xx, 79xx Hình 2.20 LM7805 Cổng Header. Định nghĩa : Dùng để kết nối đầu ra của máy biến áp với mạch n guồn và cung cấp nguồn cho vi điều khiển,LCD. Hình 2.21 Header CHƯƠNG 3 Call hien thi led MÔ PHỎNG HỆ THỐNG 3.1 THIẾT KẾ MẠCH NGUYÊN LÝ 3.1.1 Sơ đồ thuật toán -thuật toán ngắt -cài đặt LCD 3.1.2 chương trình #INCLUDE P16F877A.INC __CONFIG _HS_OSC & _WDT_OFF&_LVP_OFF #define LCD_D4 PORTB, 0 #define LCD_D5 PORTB, 1 ; 4 data lines #define LCD_D6 PORTB, 2 #define LCD_D7 PORTB, 3 #define LCD_RS PORTD, 4 ; 0 = nhan lenh tu vdk, 1 = nhan ki tu tu vdk de hien thi #define LCD_E PORTD, 6 ; 1 to send data ;khai bao bien cblock 0x20 vong1,vong2, thap, cao, a, hc, hangchuc, so, dv, counta,countb,count1,dem, LCD_tam, D0,D1,D2,LCDTmp, n1, n2,led,led1 endc ;chi dan bien dich org 0x00 goto main org 0x04 movwf n1 swapf status,w movwf n2 ;chuyen sang bank mot de lay so lieu thanh ghi adresl roi gan cho thanh ghi thap bsf status,5 movf adresl,w ;chuyen ve bank khong bcf status,5 movwf thap movf adresh,w movwf cao ;khoi tao ban dau so bang 0 clrf so ;kiem tra bit dau tien cau thanh ghi cao btfss cao,0 goto $+3 movlw d'64' movwf so ;vao chuong trinh chia bit tim nhiet do yeu cau call timdegree ;goi call chia so de ta tim duoc hang chuc(hc) va hang don vi(dv) call chiaso movf hc,w movwf hangchuc ;day la chuong trinh con chia so timdegree movlw d'4' subwf thap,f btfsc status,c goto $+2 goto $+3 incf so,f goto $-5 return ;ket qua cua phep tinh uoc dua vao so chiaso clrf dv clrf hc movlw d'10' subwf so,f btfsc status,c goto $+2 goto $+3 incf hc,f goto $-5 movlw d'10' addwf so,w movwf dv return bcf pir1,adif swapf n2,w movwf status swapf n1,w retfie ; chuong trinh chinh main ;chuyen sang bank1 bsf status,5 movlw b'00000100' movwf option_reg clrf trisd clrf trisb bsf pie1,adie ;cai dat thanh ghi adcon1 movlw b'10000001' movwf adcon1 bcf status,5 bsf intcon,gie bsf intcon,peie bcf pir1,adif clrf portd ;da chuyen sang bank0 ;cai dat adcon0 movlw b'10000001' movwf adcon0 ;bat dau ghi du lieu batdau call lcdinit ; khoi tao lcd start bsf adcon0,2 ; hien thi lcd hienthi movlw 0x01 call LCDADD_line1 movlw 'D' call LCDSEND movlw 'O' call LCDSEND movlw ' ' call LCDSEND movlw 'A' call LCDSEND movlw 'N' call LCDSEND movlw ' ' call LCDSEND movlw 'V' call LCDSEND movlw 'D' call LCDSEND movlw 'K' call LCDSEND movlw 0x02 call LCDADD_line2 ; nhay den dia chia 0x05 movlw 'n' call LCDSEND movlw 'h' call LCDSEND movlw 'i' call LCDSEND movlw 'e' call LCDSEND movlw 't' call LCDSEND movlw ' ' call LCDSEND movlw 'd' call LCDSEND movlw 'o' call LCDSEND movlw ':' call LCDSEND movlw ' ' call LCDSEND movf hangchuc,w addlw d'48' call LCDSEND ; viet ki tu "a" movf dv,w addlw d'48' call LCDSEND movlw d'223' call LCDSEND movlw 'C' call LCDSEND GOTO start ; khoi tao chuc nang lcd lcdinit bsf STATUS, 5 ;Bank 1 bcf LCD_RS bcf LCD_E bcf LCD_D4 bcf LCD_D5 bcf LCD_D6 bcf LCD_D7 bcf STATUS, RP0 ;Bank 0 call delay_1ms bcf LCD_RS ; Set command mode bcf LCD_E bsf LCD_D4 bsf LCD_D5 bcf LCD_D6 bcf LCD_D7 call PULSE call delay_1ms call PULSE call DELAY_40us call DELAY_40us call PULSE ; gui lenh de chon che do 4 bit dau tien bcf LCD_D4 call PULSE ; Function set ; Format: xxxDNFxx D: 1= 8-bit, 0= 4-bit (use 4-bit!) movlw b'00101000' ; N: 1= 2 lines, 0= 1 line call LCDSEND ; F: 1= 5x10 font, 0= 5x8 font ; Display control ; Format: xxxxxDCB D: Display on(1)/0ff(0) movlw b'00001100' ; C: Cursor on(1)/0ff(0) call LCDSEND ; B: Blink on(1)/0ff(0) ; Entry mode set ; Format: xxxxxxIS I: 1= Increment counter, 0= Decrement counter movlw b'00000110' ; S: 1= "Accompanies display shift" call LCDSEND ; Cursor or display shift ; Format: xxxxSRxx S: 1= Display shift, 0= Cursor move movlw b'00010000' ; R: 1= Shift right, 0= Shift left call LCDSEND movlw b'00000001' ; Clear screen call LCDSEND bsf LCD_RS ; Set data mode RETURN ;************************************************************* ; Moves "cursor" ;************************************************************* LCDADD_line1 bcf LCD_RS ; Command mode iorlw 0x80 ; Goto DDRAM adress call LCDSEND bsf LCD_RS ; Data mode call delay_1ms ; Takes a couple of ms RETURN LCDADD_line2 bcf LCD_RS ; Command mode iorlw 0xC0 ; Goto DDRAM adress call LCDSEND bsf LCD_RS ; Data mode call delay_1ms ; Takes a couple of ms RETURN ;************************************************************* ; Sends contens of W to display ;************************************************************* LCDSEND ; Sends character in W to lcd. Does not alter RS line! movwf LCDTmp bcf LCD_D4 bcf LCD_D5 bcf LCD_D6 bcf LCD_D7 btfsc LCDTmp, 7 bsf LCD_D7 btfsc LCDTmp, 6 bsf LCD_D6 btfsc LCDTmp, 5 bsf LCD_D5 btfsc LCDTmp, 4 bsf LCD_D4 call PULSE bcf LCD_D4 bcf LCD_D5 bcf LCD_D6 bcf LCD_D7 btfsc LCDTmp, 3 bsf LCD_D7 btfsc LCDTmp, 2 bsf LCD_D6 btfsc LCDTmp, 1 bsf LCD_D5 btfsc LCDTmp, 0 bsf LCD_D4 call PULSE return ;************************************************************* ; Pulse enable line ;************************************************************* PULSE ; Pulse Enable. bsf LCD_E nop ; Increase the delay here if you get nop ; problems with high clock speed nop ; Probably not needed since nop ; 1 instruction @10MHz = 400ns bcf LCD_E call delay_1ms call delay_1ms return ;************************************************************* ; Clears display ;************************************************************* LCDCLR ; clears the entire display bcf LCD_RS ; Set command mode movlw b'00000001' ; Clear screen call LCDSEND bsf LCD_RS ; Set data mode return ;************************************************************* ; 1ms delay. ; Modify this to match your processor speed. ; ;************************************************************* delay_1ms movlw d'100' movwf tmr0 bcf intcon,tmr0if btfss intcon,tmr0if goto $-1 return ;************************************************************* ; 40us delay. ; Modify this to match your processor speed. ; ;************************************************************* DELAY_40us ;Thoi gian 1 CK lenh=0,2us movlw d'250' movwf tmr0 bcf intcon,tmr0if btfss intcon,tmr0if goto $-1 RETURN End 3.2 chạy mô phỏng bằng phần mềm proteus Chương 4

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

  • docdo_an_thiet_ke_he_thong_do_nhiet_do_cam_bien_lm35.doc