Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vậnhành và sử dụng được lại là một điều rất phức tạp.. Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kếđ
Trang 2Phụ Lục
LỜI MỞ ĐẦU 2
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.1 Giới thiệu chung về mạch 4
1.2 Linh kiện sử dụng trong mạch 4
1.3 Các khối , công dụng chức năng của của các khối 5
1.4 Nguyên lý hoạt động của mạch 14
CHƯƠNG 2 VẼ MẠCH MÔ PHỎNG TRÊN PROTEUS ,CHẠY MÔ PHỎNG 15
2.1 Mô phỏng trên proteus 15
2.2 Mạch in 16
CHƯƠNG 3 VIẾT CODE VÀ NẠP CODE CHẠY MẠCH THỰC 17
3.1: Code 17
3.2 Mạch thực 19
TÀI LIỆU THAM KHẢO 20
Trang 3LỜI MỞ ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thếgiới của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn Sựphát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặcđiểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rấtcần thiết góp phần cho hoạt động của con người đạt hiệu quả cao
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vậnhành và sử dụng được lại là một điều rất phức tạp Các bộ vi điều khiển theothời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh,
từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi saunày là 64 bit Điện tử đang trở thành một ngành khoa học đa nhiệm vụ Điện tử
đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông –lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằngngày
Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kếđiện tử Với môn học Vi điều khiển này, em đã quyết định nhận làm đồ ánthiết kế mạch đo nhiệt độ dùng IC LM35
Đồ án được chia làm 2 chương lớn:
Chương 1: Cơ sở lý thuyết.
Chương 2: Vẽ mô phỏng và chạy mô phỏng trên proteus
Chương 3 : Viết code và nạp code chạy mạch thực
Trong suốt thời gian thực hiện đề tài, chúng em đã gặp một số vướng mắc về
lý thuyết và khó khăn trong việc làm sản phẩm Tuy nhiên, em đã nhận được sự giải
đáp và hướng dẫn kịp thời của thầy Đào Hiếu, sự góp ý kiến của các bạn sinh viên
trong lớp Em xin chân thành cảm ơn và mong muốn nhận được nhiều hơn nữa sự giúp đỡ, chỉ bảo của thầy và bạn trong các đồ án sau này
Trang 4Chương 1 Cơ sở lý thuyết
1.1 Giới thiệu chung về mạch
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àyrấ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 sinhhoạt hàng ngày Bắt nguồn từ mục đích đó, em đã thiết kế một mạch cảm ứngnhiệt độ và hiển thị ra LCD sử dụng vi điều khiển PIC 16F877A và linh kiệncảm ứng nhiệt độ LM35 Nhiệt độ là một thông số phổ biến và rất được quantâm trong thực tế nói riêng và trong kĩ thuật nói chung, việc cảm ứng nhiệt độ vàhiển thị rất hữu ích và không khó thực hiện Nhóm em chọn các linh kiện khôngquá phức tạp và khó sử dụng như PIC 16F877A, màn hình LCD 16x2 , cảm biếnnhiệt LM35 có khả năng cảm biến tốt và dễ tìm mua
Để bắt đầu vào làm mạch này, chúng em trải qua quá trình tra cứu sách
vở, tài liệu thư viện, các trang web, cho nhóm em cách nhìn tổng quan vềmạch của nhóm cần tìm hiểu và nắm những gì cho mạch của mình Từ đó em rút
ra được những khái niệm cần nắm để thực hiên mạch là:
- Chức năng ADC của PIC ứng dụng trong mạch
- Cách sử dụng LCD, giao tiếp giữa PIC và LCD
-Tụ, điện trở, biến trở, nút bấm.,led,…
1.3 Các khối , công dụng chức năng của của các khối
Trang 51.3.1 Pic16F877A
Có thể nói, hiện nay vi điều khiển đã rất phổ biến ở Việt Nam, vàđược ứng dụng rất nhiều Hiện nay có các họ vi điều khiển nổi tiếng như Ätmel,Intel, hang Motorola, hãng Microchip (PIC) Nhóm em chọn PIC cho việc làmquen với vi điều khiển bởi vì PIC là họ vi điều khiển mạnh, giàu tài nguyên vềphần cứng, được hỗ trợ nhiều tài liệu từ hãng sản xuất, và có nhiều tập lệnh đểlập trình Hiện nay, PIC được hỗ trợ rộng rãi từ cộng đồng và chúng ta dễ dàng
tự học PIC thông qua các trang web như
www.diendandientu.com, www.picvietnam.com,
Cụ thể nhóm em chọn PIC 16FS77Ä của hãng Microchip Đây là dòngPIC phổ biến, giá thành rẻ, có đầy đủ tính năng cơ bản của PIC, đơn giản chongười mới bắt đầu học, có nhiều tài liệu để tham khảo và học tập Pic được tíchhợp nhiều thiết bị ngoại vi nên dẫn đến thiết kế mạch đơn giản
a) Cấu trúc tổng quát PIC 16F877A
- 40 pins gồm tổng cộng 5 port (Port Ä có 6 pins , port B, C, D có S pins, và port E có 3 pins)
đủ cho hầu hết các ứng dụng thông thường
Sơ đồ chân pic16f877a như hình vẽ
Trang 6sơ
Trang 7b) Ứng dụng vào mạch cảm biến nhiệt độ:
Đối với mạch nhóm thực hiện, PIC 16F877A chủ yếu được khai thác ở tính năngADC, timer 8 bit, timer 16 bit Vì vậy những tính năng ưu việt khác của PIC 16F877Anhóm em xin được phép không đề cập
- ADC (Analog to Digital Converter) dùng để biến đổi một tín hiệu điện ápAnalog vào một chân nào đó của PIC, biến đổi nó qua giá trị số (Digital) bằng cách so sánhvới một điện áp tham chiếu (Reference Voltage) Điện áp tham chiếu có thể là điện ápVDD (điện áp nguồn) hoặc điện áp tham chiếu được đưa vào một chân khác
- PIC 16F877A có 10 bit chuyển đổi A/D => Giúp chúng ta không phải mất 1
bộ chuyển đổi.(dẫn đến kết nối dây sẽ trở nên đỡ phức tạp)
- Sử dụng các Timer:
+Timer0: 8 bit của bộ định thời, bộ đếm với hệ số tỉ lệ trước
+Timer1: 8 bit của bộ định thời, bộ đếm với hệ số tỉ lệ trước, có khả năng tăng trong khi ở chế độ Sleep qua xung đồng hồ được cung cấp bên ngoài
+Timer2: 8 bit của bộ định thời, bộ đếm với 8 bit hệ số tỉ lệ trước, hệ số
1.3.2 LCD
Thiết bị hiển thị LCD được sử dụng trong rất nhiều các ứng dụng của vi điều khiển.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ự đadạ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 giaothức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ Trong mạch nàynhóm em sử dụng LCD 16X2, đây là loại LCD được sử dụng phổ biến trong cả côngnghiệp và đời sống
Cấu trúc sơ lược LCD16x2:
LCD là linh kiện hiển thị được sử dụng phổ biến trong mạch vi điều khiển, khả năng hiển thị khá đa dạng Trên màn hình LCD, thông tin được hiển thị trên hai dòng, mỗi dòng 16 kí tự Sau đây là tên các chân và cộng dụng của chúng trong loại LCD này
Trang 8Bộ nhớ LCD gồm 3 bộ nhớ: DDRAM, CGRAM, CGROM Trong đó chức năng từng bộ nhớ như sau:
+ Nếu số các kí tự trên một dòng lớn hơn 16, tất cả các kí tự sẽ được nhớ lại nhưng chỉ có
16 kí tự được nhìn thấy trên màn hình Để nhìn thấy các kí tự còn lại phải dùng lệnh dịch
*CGROM: Chứa một bản đồ, địa chỉ các kí tự có thể thể hiện ra màn hình đã được địnhsẵn
*CGRAM: Cho phép tạo và hiển thị các kí hiệu, kí tự không có sẵn trong CGROM
Giao tiếp giữa PIC và LCD:
Khối màn hình hiển thị LCD được kết nối với vi điều khiển
- Trong mạch, vi điều khiển giao tiếp với LCD theo chế độ 4 bits
- Sử dụng 4 chân D4, D5, D6, D7 của LCD truyền dữ liệu
- Dữ liệu truyền tới LCD theo quy ước bit cao truyền trước, bit thấp truyền sau
- Kết nối LCD và vi điều khiển như sau:
Trang 94 dây mặc định Một biến trở cũng được nối vào LCD nhằm điều chỉnh độ phân giải.
Trang 101.3.3 LM35
+ Chân 1 : Chân nguồn đầu vào Vcc
+ Chân 2 : Chân đầu ra Vout
+ Chân 3 : Chân nối GND
Cảm biến 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 Chúng cũng không yêu cầu cân chỉnh ngoài vì vốn chúng đã
được cân chỉnh.
Đặc điểm chính của cảm biến LM35:
+ Điện áp đầu vào từ 4V đến 30V
+ Độ phân giải điện áp đầu ra là 10mV/ độ C
+ Độ chính xác cao ở 25 độ C là 0.5 độ C
+ Trở kháng đầu ra thấp 0.1 cho 1mA tải
Dải nhiệt độ đo được của LM35 là từ -55 độ C - 150 độ C với các mức điện áp ra khác nhau.Xét một số mức điện áp sau :
- Nhiệt độ -55 độ C điện áp đầu ra -550mV
Trang 131.3.6 Khối nạp và khối dao động
Trang 14Khối nạp code cho pic
1.4 Nguyên lý hoạt động của mạch
Khối nguồn sẽ cấp điện áp chuẩn 5V cho LM35 LCD PIC và Reset hoạt động
Cảm biến Lm35 đo nhiệt độ môi trường sau đó gửi dữ liệu tới pic16F877A thông qua 1 đường truyền duy nhất ( chân 2 của Lm35 tới chân 2 RA0 của pic 16F877A)
Pic sẽ xử lý dữ liệu và hiển thị nhiệt độ lên LCD thông qua code mình đã nạp
Trang 15Chương 2 Vẽ mạch mô phỏng trên proteus ,chạy mô phỏng
2.1 Mô phỏng trên proteus
Trang 162.2 Mạch in
Trang 17Chương 3 Viết code và nạp code chạy mạch thực
3.1: Lưu đồ thuật toán và Code
Lưu đồ thuật toán
Bắt đầu
Nhiet do la:
Hiện kí tự :
“SV:N.T.SONLop:TDHAK58
Trang 18unsigned int giatriAdc;
unsigned int dienap ;
unsigned char Nhietdo;
char A[4];
LCD_Init();
Lcd_Cmd(_LCD_CURSOR_OFF); Lcd_out(1,1,"SV:N.T.SON" );
Trang 19giatriAdc = ADC_Read(0);
dienap= 5000.0f/1023*giatriAdc; Nhietdo = dienap / 10;
Trang 203.2 Mạch thực
Trang 22Tài liệu tham khảo
• http: //www.picvietnam.com
• http: //www.diendandientu.com
• http: //www.dientuvietnam.net
• http://en.wikipedia.com