Tải bản đầy đủ (.docx) (31 trang)

BÀI TẬP LỚN VI XỬ LÝ TRONG ĐO LƯỜNG VÀ ĐIỀU KHIỂN ; Tống THị Lý

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 31 trang )

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



- Khối hiển thị: Hiển thị nhiệt độ đặt và nhiệt độ hiện tại của lò ấp.

i


2.2 Phần cứng:
2.2.1 Tính chọn thiết bị của hệ thống:
1. Vi điều khiển 8051:

AT89S51-24PU DIP40
Tính năng:
- Tính toán các phép toán logic
- Lập trình điều khiển nhiều thiết bị
- Dùng trong các mạch điều khiển
Thông số kỹ thuật:
- Điện áp 4 đến 5.5V
- Tần số Hz đến 33Mhz
- 2 Timer/Counters 16-bit
- 6 ngắt: Reset, ngắt ngoài 0, Timer 0, ngắt ngoài 1,Timer 1, ngắt truyền thông
- Giao tiếp UART
- Đóng gói DIP40
2. Cảm biến nhiệt độ DS18B20

i


DS18B20 là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân, đóng gói dạng TO-92 3 chân
rất nhỏ gọn.
DS18B20 giao tiếp thông qua giao thức 1 dây dẫn với vi xử lý.

Đặc điểm chính của DS18B20 như sau:
- Điện áp nuôi từ 3V đến 5.5V
- Cung cấp nhiệt độ với độ phân giải 12bit.
- Ngưỡng nhiệt độ rộng: -10°C đến 125°C
- Sai số cho phép: ±0.5°C
3. Màn hình LCD:

Màn Hình LCD 1602
Thông số kỹ thuật:
- Điện áp hoạt động 5V
- Kích thước 80x36x12.5 mm
- Chữ đen,nền xanh lá
i


- Hiển thị tối đa 16 ký tự trên 2 dòng
4. Thạch anh 12MHz

i


5. Điện trở

6. Điện trở thanh 10 k

7. Nút nhấn 2 chân

8. Tụ điện

i



9. Relay 12V 5 chân.

Thông số kỹ thuật:
- Điện áp điều khiển 12V
- Dòng điện cực đại 10A
- Thời gian tác động 10ms
- Thời gian nhả hãm 5ms
- Nhiệt độ hoạt động -45 đến 75 độ
10.Bóng đèn sợi đốt 40W

Điện áp hoạt động 220V/50Hz
11. Nguồn 12V

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
Stop

Đ

j++

Int j=0

S

j < 125
Đ

i

j++


Stop


Stop

i < t Start

Int i=0
Start
i
Int
Int
i=0
i=0
Start
Start

2. Lưu đồ hàm trễ us:
Start

Int i=0

S

Stop

iĐ

i++

3. Lưu đồ giao tiếp IC DS18B20:

Start

Khởi tạo DS18B20

Khởi tạo DS18B20

Ghi lệnh 0xCC truy cập
đến bộ nhớ DS18B20

Ghi lệnh 0xCC truy cập
đến bộ nhớ DS18B20

Ghi lệnh 0x44 bắt đầu
chuyển đổi nhiệt độ

Ghi lệnh 0xBE đọc kết
quả vừa đo được
Đọc 2 byte chứa kết quả
đo
Cập nhật kết quả đo lên
LCD
i


i


4. Lưu đồ màn hình LCD:

-


Lưu đồ ghi lệnh
trên LCD

Lưu đồ ghi dữ liệu
trên LCD

Start

Start

Chọn thanh ghi lệnh
(RS=0)
Nạp mã lệnh
Tạo sườn lên kích
hoạt LCD

END

-

Chọn thanh ghi dữ
liệu (RS=1)

-

Nạp dữ liệu

-


Tạo sường lên kích
hoạt LCD

-

Tạo trễ

END

Lưu đồ ghi kí tự
trên LCD

Start

-

Ghi lệnh đưa con trỏ
đến vị trí cần ghi kí
tự

-

Ghi kí tự vào vị trí
con trỏ trỏ đến

END

Lưu đồ ghi chuỗi
kí tự trên LCD


Start

Char *s

END

While(*S)

Ghi kí tự vào vị trí con
trỏ trỏ đến

S++

i


×