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.
35 trang |
Chia sẻ: tueminh09 | Ngày: 26/01/2022 | Lượt xem: 2138 | Lượt tải: 4
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:
- do_an_thiet_ke_he_thong_do_nhiet_do_cam_bien_lm35.doc