BÀI TẬP LỚNVI XỬ LÝ TRONG ĐO LƯỜNG VÀ ĐIỀU KHIỂNĐại học Công Nghiệp Hà Nộigiáo viên Tống Thị LýChương 1: Tổng quan về các dòng vi điều khiển41.1 Tổng quan về các dòng vi điều khiển đang sử dụng trên thị trường:41.1.1 Vi điều khiển là gì ?41.1.2 Vi điều khiển 805141.1.3 Vi điều khiển PIC51.1.4 Vi điều khiển AVR61.1.5 Vi điều khiển ARM61.1.6 So sánh sự khác nhau chính của các chip:7Chương 2: Thiết kế mạch điều khiển sử dụng vi điều khiển 805192.1 Tổng quát92.1.1 Giới thiệu đề tài:92.1.2 Tổng quan một lò ấp trứng đơn giản:92.1.3 Yêu cầu của một lò ấp trứng:92.1.4 Các biến cần điều khiển và yêu cầu của biến điều khiển:102.1.5 Sơ đồ khối của hệ thống:102.2 Phần cứng:112.2.1 Tính chọn thiết bị của hệ thống:112.2.2 Mạch Sơ đồ nguyên lý:152.3 Phần mềm:172.3.1 Danh mục các việc vi điều khiển cần làm:172.3.2 Xác định cấu trúc chương trình và phân bố công việc vào từng chương trình:182.3.3 Lưu đồ thuật toán cho các chương trình192.3.4 Chương trình trên C22Chương 3: Mô phỏng hệ thống trên phần mềm Proteus273.1 Mô phỏng trên proteus273.2 Thiết kế mạch in trên altium designer28Chương 4: Phân tích và nhận xét kết quả31
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI —KHOA ĐIỆN— BÀI TẬP LỚN VI XỬ LÝ TRONG ĐO LƯỜNG VÀ ĐIỀU KHIỂN ĐỀ TÀI: Đo và điều khiển nhiệt độ buồng ấp trứng gà hiển thị LCD STT Giáo viên hướng dẫn :Tống Thị Lý Lớp :Điện 1 Sinh viên thực hiện :Nhóm 3 Họ và tên Mã sinh viên Hà Nội: 2019 i Muc lục Chương 1: Tổng quan về các dòng vi điều khiển .4 1.1 Tổng quan về các dòng vi điều khiển đang sử dụng trên thị trường: 4 1.1.1 Vi điều khiển là gì ? 4 1.1.2 Vi điều khiển 8051 4 1.1.3 Vi điều khiển PIC 5 1.1.4 Vi điều khiển AVR 6 1.1.5 Vi điều khiển ARM .6 1.1.6 So sánh sự khác nhau chính của các chip: .7 Chương 2: Thiết kế mạch điều khiển sử dụng vi điều khiển 8051 9 2.1 Tổng quát 9 2.1.1 Giới thiệu đề tài: 9 2.1.2 Tổng quan một lò ấp trứng đơn giản: 9 2.1.3 Yêu cầu của một lò ấp trứng: 9 2.1.4 Các biến cần điều khiển và yêu cầu của biến điều khiển: 10 2.1.5 Sơ đồ khối của hệ thống: .10 2.2 Phần cứng: 11 2.2.1 Tính chọn thiết bị của hệ thống: 11 2.2.2 Mạch Sơ đồ nguyên lý: .15 2.3 Phần mềm: 17 2.3.1 Danh mục các việc vi điều khiển cần làm: 17 2.3.2 Xác định cấu trúc chương trình và phân bố công việc vào từng chương trình: 18 2.3.3 Lưu đồ thuật toán cho các chương trình 19 2.3.4 Chương trình trên C 22 Chương 3: Mô phỏng hệ thống trên phần mềm Proteus .27 3.1 Mô phỏng trên proteus .27 3.2 Thiết kế mạch in trên altium designer .28 Chương 4: Phân tích và nhận xét kết quả 31 i Lời nói đầu Ngày nay, các bộ vi điều khiển đang có ứng dụng ngày càng rộng rãi trong các lĩnh vực kỹ thuật và đời sống xã hội, đặc biệt là trong kỹ thuật tự động hóa và điều khiển từ xa Giờ đây, với nhu cầu chuyên dụng hóa, tối ưu hóa (thời gian, không gian, giá thành), tính bảo mật, tính chủ động trong công việc … ngày càng đòi hỏi khắt khe Việc đưa ra công nghệ mới trong lĩnh vực chế tạo mạch điện tử để đáp ứng những yêu cầu trên là hoàn toàn cấp thiết mang tính thực tế cao Ngày nay, nền kinh tế ở vùng nông thôn đô thị đang được đẩy mạnh phát triển Việc chọn đề tài thiết kế mạch điều khiển nhiệt độ trong lò ấp trứng với mục đích góp phần nghiên cứu phát triển ngành nghề đang được sử dụng khá phổ biến Đề tài gần gũi với đời sống và có đóng góp lớn cho việc phát triển kinh tế xã hội đặc biệt là nền kinh tế nông thôn i Chương 1: Tổng quan về các dòng vi điều khiển 1.1 Tổng quan về các dòng vi điều khiển đang sử dụng trên thị trường: 1.1.1 Vi điều khiển là gì ? Một bộ vi điều khiển có thể so sánh với một máy tính độc lập nhỏ; nó là một thiết bị cực kỳ mạnh mẽ, có khả năng thực hiện một loạt các tác vụ được lập trình sẵn và tương tác với các thiết bị phần cứng bổ sung Được đóng gói trong một mạch tích hợp nhỏ (IC) có kích thước và trọng lượng thường không đáng kể, nó đang trở thành bộ điều khiển hoàn hảo cho robot hoặc bất kỳ máy nào cần một số loại tự động hóa thông minh Một bộ vi điều khiển duy nhất có thể đủ để quản lý một robot di động nhỏ, máy giặt tự động hoặc hệ thống bảo mật Một số bộ vi điều khiển chứa bộ nhớ để lưu chương trình sẽ được thực thi và rất nhiều dòng đầu vào / đầu ra có thể được sử dụng để hoạt động chung với các thiết bị khác, như đọc trạng thái của cảm biến hoặc điều khiển động cơ 1.1.2 Vi điều khiển 8051 Vi điều khiển 8051 là một họ vi điều khiển 8 bit được Intel phát triển vào năm 1981 Đây là một trong những họ vi điều khiển phổ biến đang được sử dụng trên toàn thế giới Bộ vi điều khiển này còn được gọi là hệ thống trên một chip vì nó có 128 byte RAM, 4Kbyte ROM, 2 Timers, 1 cổng nối tiếp và 4 cổng trên một chip CPU cũng có thể hoạt động cho 8 bit dữ liệu tại một thời điểm vì 8051 là bộ xử lý 8 bit Trong trường hợp dữ liệu lớn hơn 8 bit, thì nó phải được chia thành các phần để CPU có thể xử lý dễ dàng Hầu hết các nhà sản xuất có chứa 4Kbyte ROM mặc dù số lượng ROM có thể vượt quá 64 K byte i 8051 đã được sử dụng trong một số lượng lớn các thiết bị, chủ yếu là vì nó dễ dàng tích hợp vào một dự án hoặc tạo ra một thiết bị Sau đây là các lĩnh vực chính của trọng tâm: Quản lý năng lượng: Các hệ thống đo lường hiệu quả tạo điều kiện thuận lợi trong việc kiểm soát việc sử dụng năng lượng trong nhà và các ứng dụng sản xuất Các hệ thống đo lường này được chuẩn bị có khả năng bằng cách kết hợp các vi điều khiển Màn hình cảm ứng: Một số lượng lớn các nhà cung cấp vi điều khiển kết hợp khả năng lập trình cảm ứng trong thiết kế của họ Các thiết bị điện tử cầm tay như điện thoại di động, phương tiện truyền thông và thiết bị chơi game là ví dụ về màn hình cảm ứng dựa trên vi điều khiển Ô tô: 8051 tìm thấy nhiều giải pháp ngành ô tô Chúng được sử dụng rộng rãi trong các xe hybrid để xử lý các biến thể động cơ Hơn nữa, các chức năng như kiểm soát hành trình và hệ thống chống bó cứng phanh đã được chuẩn bị có khả năng hơn với việc sử dụng vi điều khiển Thiết bị y tế: Các thiết bị y tế có thể di chuyển như máy đo huyết áp và glucose sử dụng vi điều khiển sẽ hiển thị dữ liệu, do đó cung cấp độ tin cậy cao hơn trong việc cung cấp kết quả y tế 1.1.3 Vi điều khiển PIC Bộ điều khiển giao diện ngoại vi (PIC) là bộ vi điều khiển được phát triển bởi Microchip, bộ vi điều khiển PIC rất nhanh và đơn giản để thực hiện chương trình khi chúng ta đối chiếu các bộ vi điều khiển khác như 8051 Dễ dàng lập trình và giao tiếp với các thiết bị ngoại vi khác PIC trở thành bộ vi điều khiển thành công PIC là một bộ vi điều khiển bao gồm RAM, ROM, CPU, bộ đếm thời gian, bộ đếm, ADC (bộ chuyển đổi tương tự sang số), DAC (bộ chuyển đổi kỹ thuật số sang tương tự) Vi điều khiển PIC cũng hỗ trợ các giao thức như CAN, SPI, UART để giao tiếp i với các thiết bị ngoại vi bổ sung PIC chủ yếu được sử dụng để sửa đổi kiến trúc Harvard và cũng hỗ trợ RISC (reduced instruction set computer) theo yêu cầu trên RISC và Harvard, chúng ta có thể chỉ đơn giản là PIC nhanh hơn các bộ điều khiển dựa trên 8051 được chuẩn bị từ kiến trúc Von-Newman 1.1.4 Vi điều khiển AVR Bộ vi điều khiển AVR được phát triển vào năm 1996 bởi Tập đoàn Atmel Thiết kế cấu trúc của AVR được phát triển bởi Alf-Egil Bogen và Vegard Wollan AVR lấy tên từ các nhà phát triển của nó và là viết tắt của vi điều khiển Alf-Egil Bogen Vegard Wollan RISC, còn được gọi là Advanced Virtual RISC AT90S8515 là bộ vi điều khiển ban đầu dựa trên kiến trúc AVR, mặc dù bộ vi điều khiển đầu tiên tung ra thị trường thương mại là AT90S1200 trong năm 1997 Vi điều khiển AVR có sẵn trong ba loại TinyAVR: – Bộ nhớ ít hơn, kích thước nhỏ, phù hợp chỉ dành cho các ứng dụng đơn giản hơn MegaAVR: – Đây là những thiết bị phổ biến chủ yếu có dung lượng bộ nhớ tốt (lên tới 256 KB), số lượng thiết bị ngoại vi sẵn có cao hơn và thích hợp cho các ứng dụng từ đơn giản đến phức tạp XmegaAVR: – Được sử dụng trong thương mại cho các ứng dụng phức tạp, cần bộ nhớ chương trình lớn và tốc độ cao 1.1.5 Vi điều khiển ARM Bộ xử lý ARM cũng là một trong những họ CPU dựa trên kiến trúc RISC (máy tính tập lệnh giảm) được phát triển bởi Advanced RISC Machines (ARM) ARM tạo ra bộ xử lý đa lõi RISC 32 bit và 64 bit Bộ xử lý RISC được thiết kế để thực hiện một số lượng nhỏ hơn các loại hướng dẫn máy tính để chúng có thể hoạt động ở tốc độ cao hơn, thực hiện thêm hàng triệu phép tính mỗi giây (MIPS) Bằng cách loại bỏ các i phép tính không cần thiết và tối ưu hóa các lộ trình, bộ xử lý RISC mang lại hiệu suất vượt trội tại một phần nhu cầu năng lượng của quy trình CISC (tính toán tập lệnh phức tạp) Bộ xử lý ARM được sử dụng rộng rãi trong các thiết bị điện tử của khách hàng như điện thoại thông minh, máy tính bảng, máy nghe nhạc đa phương tiện và các thiết bị di động khác, chẳng hạn như thiết bị đeo Do tập lệnh được giảm xuống , chúng cần ít bóng bán dẫn hơn, cho phép kích thước nhỏ hơn của mạch tích hợp (IC) Bộ xử lý ARM, kích thước nhỏ hơn giảm độ khó và chi phí điện năng thấp hơn khiến chúng phù hợp với các thiết bị ngày càng thu nhỏ i 1.1.6 So sánh sự khác nhau chính của các chip: i Chương 2: Thiết kế mạch điều khiển sử dụng vi điều khiển 8051 2.1 Tổng quát 2.1.1 Giới thiệu đề tài: Đề tài thiết kế mạch sử dụng vi điều khiển điều chỉnh nhiệt độ trong lò ấp trứng Trong các lò ấp trứng gia cầm, yêu cầu cần phải cung cấp lượng nhiệt đầy đủ và liên tục thì khả năng và sắc xuất trứng nở của lò mới cao Nếu trong quá trình ấp mà mất nhiệt thì trứng dễ bị hỏng Mục tiêu nâng cao tỉ lệ nở của trứng do vậy cần phải có hệ thống kiểm soát xem lò có được cung cấp nhiệt dầy đủ và ổn định không Mạch dùng vi điều khiển có thể đáp ứng được các yêu cầu này Hiện nay các máy ấp trứng công nghiệp cũng dùng cách này VÌ vậy chúng em xin thiết kế hệ thống đo và điều khiển nhiệt độ cho mộ lò ấp trứng đơn giản sử dụng vi xử lý 8051 2.1.2 Tổng quan một lò ấp trứng đơn giản: Để làm được một máy ấp trứng chúng ta cần những thiết bị sau: 1 Bộ điều khiển nhiệt độ 2 Một bóng đèn 40W 3 Một thùng xốp dài 60cm, rộng 45cm, cao 40cm 4 Một quạt thông gió loại nhỏ 5 Một ca đựng nước i 2.1.3 Yêu cầu của một lò ấp trứng: Để tạo ra một máy ấp trứng gà cần đáp ứng các yêu cầu sau: - Đảm bảo nhiệt độ thích hợp (37-38OC ) và ổn định - Đảm bảo độ ẩm từ 50-80% - Đảm bảo thông gió thoáng khí nơi tủ ấp - Đảm bảo đảo trứng thường xuyên (1-3h 1 lần) 2.1.4 Các biến cần điều khiển và yêu cầu của biến điều khiển: Với một lò ấp trứng ta cần điều khiển 2 thiết bị chính là quạt thông gió và bóng đèn để cấp nhiệt cho lò ấp - Bóng đèn cung cấp nhiệt cho lò ấp: được điều khiển bằng vi xử lý Bóng đèn cần được bật khi nhiệt độ trong lò ấp chưa đạt tới nhiệt độ đặt, và bóng đèn sẽ tắt khi nhiệt độ trong lò ấp vượt quá nhiệt độ đặt - Quạt thông gió: quạt sẽ được bật liên tục khi hệ thống hoạt động để lưu thông khí và hơi ẩm đi toàn bộ lò ấp 2.1.5 Sơ đồ khối của hệ thống: Khối cảm biến nhiệt độ Vi điều khiển Mạch điều khiển nhiệt độ Khối hiển thị - Khối cảm biến nhiệt độ: khối này có chức năng đo nhiệt độ bên trong lò ấp trứng sau đó đưa vào vi điều khiển - Vi điều khiển: Đọc giá trị nhiệt độ từ cảm biến xử lý thông tin để đưa ra khối hiển thị và mạch điều khiển nhiệt độ - Mạch điều khiển nhiệt độ: Điều khiển quạt thông gió và bật tắt bóng đèn để giữ nhiệt độ lò ấp luôn nằm trong khoảng setpoint i Điện áp vào 220 VAC Điện áp ra 12 VDC Dòng 5A 2.2.2 Mạch Sơ đồ nguyên lý: Bắt đầu Định nghĩa các biến, khởi tạo cài đặt các thông số LCD, DS18B20 Đọc nhiệt độ đặt Đọc giá trị nhiệt độ của cảm biến DS18B20 i Hiển thị nhiệt độ đặt cà nhiệt độ đo được ra LCD Ngừng cấp nhiệt No Yes Nhiệt độ < nhiệt độ đặt 1 độ cấp nhiệt Mạch trên Proteus i i 2.3 Phần mềm: 2.3.1 Danh mục các việc vi điều khiển cần làm: - Cấu hình vi điều khiển - Cấu hình LCD - Cấu hình DS18B20 - Đọc nhiệt độ từ DS18B20 - Thiết lập nhiệt độ đặt khi có ngắt - Hiển thị nhiệt độ và nhiệt độ đặt ra màn hình LCD - Đưa tín hiệu ra điều khiển bật tắt mạch gia nhiệt Lưu đồ chung cho vi điều khiển 8051: Start - Cấu hình VĐk Cấu hình LCD Cấu hình DS18B20 Cấu hình các tài nguyên khác - Khởi tạo LCD - Khởi tạo DS18B20 - Hàm delay - While(1) - Đọc nhiệt độ từ DS18B20 Hiển thị ra LCD S Ngắt ? Đ Thực hiện chương trình ngắt i 2.3.2 Xác định cấu trúc chương trình và phân bố công việc vào từng chương trình: Power on (Reset) - Cấm tất cả các ngắt Khởi tạo ngăn xếp Khởi tạo các ngoại vi Khởi tạo các biến số hằng số Cho phép ngắt Chương trình khởi tạo Đợi ngắt INT EX0 … Chương trình ngắt … Nhiệm vụ: Thực hiện công việc cài đặt nhiệt độ đặt cho lò ấp … RET 1 i SBR0 SBR1 SBRn … … … … … … … … RET RET RET … … Các chương trình con thực hiện nhiệm vụ - Tạo hàm delay - Giao tiếp vi điều khiển với LCD - Giao tiếp vi điều khiển với IC DS18B20 2.3.3 Lưu đồ thuật toán cho các chương trình 1 Lưu đồ hàm trễ ms: Start Int i=0 S i