Tải bản đầy đủ (.pdf) (33 trang)

Báo cáo cuối kỳ môn học vi xử lý (có kèm Code và sơ đồ mô phỏng Proteus)

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.05 MB, 33 trang )

BỘ GIÁO DỤC VÀ ĐẠO TẠO
ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠ KHÍ CHẾ TẠO MÁY

MÔN HỌC: VI XỬ LÝ

BÁO CÁO
ĐỀ TÀI
ĐO ĐỘ ẨM NHIỆT ĐỘ VÀ CẢM BIẾN ÁNH SÁNG HIỂN
THỊ LÊN LCD, ĐIỀU KHIỂN BẬT TẮT MOTOR, ĐÈN

Giáo viên hướng dẫn: THẦY NGUYỄN THANH NGHĨA
Sinh viên thực hiện: Nguyễn Hảo Anh

19146151

Lê Nguyễn Quốc Trung 19146288
Đỗ Xuân Phương

15146086


MỤC LỤC
PHẦN 1: MỞ ĐẦU ..................................................................................................2
1.1

Lý do chọn đề tài .........................................................................................2

1.2

Mục tiêu ........................................................................................................2



1.3

Giới hạn đề tài..............................................................................................2

PHẦN 2: CƠ SỞ.......................................................................................................3
2.1

PIC16F887 ....................................................................................................3

2.1.1

Tổng quát về cấu trúc của PIC16F887................................................3

2.1.2

Sơ đồ chân của PIC16F887 ..................................................................5

2.1.3

Một số phần mềm lập trình cho vi điều khiển PIC ............................5

2.2

LCD 16x2......................................................................................................6

2.2.1

Thông số kỹ thuật..................................................................................6


2.2.2

Sơ đồ khối...............................................................................................7

2.2.3

Sơ đồ chân ..............................................................................................8

2.3

Cảm biến nhiệt độ và độ ẩm DHT22 .........................................................9

2.3.1

Giới thiệu................................................................................................9

2.3.2

Thông số kỹ thuật..................................................................................9

2.3.3

Kích thước và sơ đồ chân ...................................................................10

2.3.4

Mơ tả cách thức hoạt động .................................................................10

2.4


Quang trở ...................................................................................................13

2.4.1

Giới thiệu..............................................................................................13

2.4.2

Cấu tạo .................................................................................................13

2.4.3

Nguyên lý hoạt động ...........................................................................14

2.5 Module điều khiển động cơ L298N ...................................................15
2.5.1 Giới thiệu ...........................................................................................15
2.5.2 Nguyên lý hoạt động .......................................................................16
2.5.3 Thông số kỹ thuật ............................................................................17
2.5.4 Sơ đồ nguyên lý ................................................................................18
2.5.5 Đấu nối mạch điều khiển động cơ DC L298N .........................19


PHẦN 3: THIẾT KẾ MẠCH ................................................................................20
3.1 Sơ đồ khối ......................................................................................................20
3.2 Lưu đồ giải thuật ..............................................................................................21
3.3 Thiết kế proteus ............................................................................................22
3.4 Chương trình .................................................................................................23
PHẦN 4: TÀI LIỆU THAM KHẢO ....................................................................31



PHẦN 1: MỞ ĐẦU
1.1 Lý do chọn đề tài
Với sự phát triển vượt bậc của các ngành khoa học kỹ thuật và điều khiển tự động
kéo theo sự phát triển của các ngành công nghiệp và đặc biêt là ngành cơng nghiệp
Robot. Sự phát triển này giúp chúng ta có thể thay thế các hệ thống điều khiển cơ
khí thơ sơ bằng các hệ thống tự động giúp an toàn, chính xác và độ hiệu quả cao hơn
cũng như giúp giảm bớt chi phí nhân cơng. Giúp cho xã hội chúng ta ngày càng phát
triển và văn minh hơn. Vì vậy nhóm em lựa chọn đề tài “Đo nhiệt đơ độ ẩm, tín hiệu
ánh sáng”.

1.2

Mục tiêu

Các thành viên trong nhóm đã thảo luận và thống nhất nghiên cứu, thiết kế mạch mô
phỏng.
Các vấn đề nghiên cứu: Cảm biến nhiệt độ độ ẩm DHT22, vi điều khiển PIC 16F887,
quang trở, cấu tạo và nguyên lý hoạt động.
Thiết kế mạch: Mạch mô phỏng, chương trình, sơ đồ khối và lưu đồ giải thuật.

1.3

Giới hạn đề tài

Vì tình hình dịch bệnh phức tạp nên điều kiện kinh tế còn chưa ổn định, phải học
online q trình học gặp nhiều khó khăn hơn. Nên nhóm chỉ có thể nghiên cứu và
thực hiện đề tài bằng cách mô phỏng chưa thể thực hiện bằng mô hình thực tiễn.
Cũng như kiến thức vẫn cịn bị giới hạn nên bài có phần thiếu sót, mong thầy thơng
cảm.


2


PHẦN 2: CƠ SỞ
2.1

PIC16F887

2.1.1 Tổng quát về cấu trúc của PIC16F887
PIC16F877A là một Vi điều khiển PIC 40 chân và được sử dụng hầu hết trong các
dự án và ứng dụng nhúng. Nó có ba bộ định thời trong đó có 2 bộ định thời 8bit và
1 bộ định thời là 16 Bit. Nó hỗ trợ nhiều giao thức giao tiếp như giao thức nối tiếp,
giao thức song song, giao thức I2C. PIC16F877A hỗ trợ cả ngắt chân phần cứng và
ngắt bộ định thời.

3


8K x 14 bits/word Flash ROM.
368 x 8 Bytes RAM.
256 x 8 Bytes EEPROM.
5 Port xuất/nhập (A, B, C, D, E) tương ứng 33 chân ra.
2 Bộ định thời 8bit Timer 0 và Timer 2.
1 Bộ định thời 16bit Timer 1, có thể hoạt động ở chế độ tiết kiệm năng lượng
(SLEEP MODE) với nguồn xung clock ngoài.
2 Bộ Capture/ Compare/ PWM. (Bắt Giữ/ So Sánh/ Điều Biến Xung)
1 Bộ biến đổi Analog to Digital 10 bit, 8 ngõ vào.
2 Bộ so sánh tương tự (Compartor).
1 Bộ định thời giám sát (Watch Dog Timer).
1 Cổng giao tiếp song song 8bit.

1 Port nối tiếp.
15 Nguồn ngắt (Interrupt).
Chế độ tiết kiệm năng lượng (Sleep Mode).
Nạp trương trình bằng cổng nối tiếp (ICSP™) (In-Circuit Serial Programming™
-)
Tập lệnh gồm 35 lệnh có độ dài 14 bit.
Tần số hoạt động tối đa 20 MHz.

4


2.1.2 Sơ đồ chân của PIC16F887

2.1.3 Một số phần mềm lập trình cho vi điều khiển PIC
Hiện nay có rất nhiều phần mềm có thể lập trình cho vi điều khiển PIC, trong đó có
những cái tên nổi bật và được biết đến rộng rãi như: CCS C Compiler, Mikro C Pro
for PIC, MPLAB X IDE, HITECH.

5


2.2

LCD 16x2

Thiết bị hiển thị LCD (Liquid Crystal Display) đượ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ẻ.


2.2.1 Thơng số kỹ thuật
LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông s.
ã

LCD 16ì2 cú 16 chõn trong ú 8 chõn d liệu (D0 – D7) và 3

chân điều khiển (RS, RW, EN).


5 chân cịn lại dùng để cấp nguồn và đèn nn cho LCD 16ì2.

ã

Cỏc chõn iu khin giỳp ta d dàng cấu hình LCD ở chế độ lệnh

hoặc chế độ dữ liệu.


Chúng cịn giúp ta cấu hình ở chế độ đọc hoặc ghi.

LCD 16×2 có thể sử dụng ở chế độ 4bit hoặc 8bit tùy theo ứng dụng ta
đang làm.

6


2.2.2 Sơ đồ khối

7



2.2.3 Sơ đồ chân

Trong 16 chân của LCD được chia ra làm 3 dạng tín hiệu như sau: Các chân cấp
nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là Vdd nối với nguồn +5V. Chân
thứ 3 dùng để chỉnh contrast thường nối với biến trở.
Các chân điều khiển: Chân số 4 là chân RS dùng để điều khiển lựa chọn thanh ghi.
Chân R/W dùng để điều khiển quá trình đọc và ghi. Chân E là chân cho phép dạng
xung chốt.
Các chân dữ liệu D7÷D0: Chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ
liệu giữa thiết bị điều khiển và LCD.

8


2.3

Cảm biến nhiệt độ và độ ẩm DHT22

2.3.1 Giới thiệu
Cảm biến độ ẩm và nhiệt độ DHT22 Temperature Humidity Sensor sử dụng giao
tiếp 1 Wire dễ dàng kết nối và giao tiếp với Vi điều khiển để thực hiện các ứng
dụng đo nhiệt độ, độ ẩm môi trường, cảm biến có chất lượng tốt, kích thước nhỏ
gọn, độ bền và độ ổn định cao.

2.3.2 Thông số kỹ thuật
Nguồn sử dụng: 3~5VDC.
Dòng sử dụng: 2.5mA max (khi truyền dữ liệu).
Đo tốt ở độ ẩm 0-100%RH với sai số 2-5%.

Đo tốt ở nhiệt độ -40 to 80°C sai số ±0.5°C.
Tần số lấy mẫu tối đa 0.5Hz (2 giây 1 lần)
Kích thước 27mm x 59mm x 13.5mm (1.05" x 2.32" x 0.53")
4 chân, khoảng cách chân 0.1''.

9


2.3.3 Kích thước và sơ đồ chân

2.3.4 Mơ tả cách thức hoạt động
Cảm biến áp dụng kỹ thuật thu thập tín hiệu kỹ thuật số và cơng nghệ cảm biến độ
ẩm độc quyền, đảm bảo độ tin cậy và ổn định của nó. Các phần tử cảm biến của nó
được kết nối với chip đơn 8 bit.
Mọi cảm biến của mơ hình này đều được bù nhiệt độ và hiệu chuẩn trong buồng hiệu
chuẩn chính xác và hệ số hiệu chuẩn được lưu dưới dạng chương trình trong bộ nhớ
OTP, khi cảm biến phát hiện, nó sẽ trích dẫn hệ số từ bộ nhớ.
Khi vi điều khiển gửi tín hiệu bắt đầu, cảm biến chuyển trạng thái. Khi vi điều khiển
kết thúc việc gửi tín hiệu khởi động, cảm biến sẽ gửi tín hiệu phản hồi của dữ liệu
40bit phản ánh độ ẩm và nhiệt độ tương đối đến vi điều khiển. Nếu khơng có tín hiệu
khởi động từ vi điều khiển, cảm biến sẽ khơng cung cấp tín hiệu phản hồi cho vi điều
khiển. Một tín hiệu khởi động cho một dữ liệu phản hồi từ cảm biến phản ánh độ ẩm

10


và nhiệt độ tương đối. Cảm biến sẽ chuyển sang trạng thái chờ khi quá trình thu thập
dữ liệu kết thúc nếu nó khơng nhận lại tín hiệu bắt đầu từ vi điều khiển.

Đầu tiên ở trạng thái tự do bus dữ liệu ở mức điện áp cao. Khi giao tiếp bắt đầu vi

điều khiển sẽ kéo bus dữ liệu xuống thấp và giữ ở đó từ 1 đến 10 ms để đảm bảo
rằng cảm biến có thể phát hiện tính hiệu của vi điều khiển. Sau đó vi điều khiển sẽ
kéo lên mức cao và đợi ở đó 20 đến 40 µs chờ phản hồi của cảm biến.
Khi cảm biến phát tín hiệu khởi động, bus dữ liệu sẽ được kéo xuống ở mức thấp
khoảng 80 µs làm tín hiệu phản hồi, sau đó bus dữ liệu cảm biến được kéo lên 80 µs
để chuẩn bi gửi dữ liệu đi.

Khi cảm biến gửi tín hiệu đền vi điều khiển, mỗi bit truyền với mức điện áp thấp kéo
dài 50 µs, độ dài của mức điện áp cao sau quyết định là “0” hoặc “1”.

11


12


2.4

Quang trở

2.4.1 Giới thiệu
Quang trở còn được gọi là điện trở quang, photoresistor, photocell là một
trong những linh kiện được tạo bằng một chất đặc biệt có thể thay đổi điện
trở khi ánh sáng chiếu vào. Về cơ bản, bạn có thể hiểu nó là một tế bào
quang điện được hoạt động dựa theo nguyên lý quang dẫn. Hay có thể hiểu
nó là một điện trở có thể thay đổi được giá trị theo cường độ ánh sáng.
Quang trở được sử dụng nhiều trong các mạch cảm biến ánh sáng, đèn
đường, báo động ánh sáng, đồng hồ ngoài trời, …

2.4.2 Cấu tạo

Quang trở gồm các màng kim loại được đấu nối với nhau thơng qua các
đầu cực.
Thành phần chính để tạo nên quang trở đó chính là Cadmium Sulphide
(CdS) được sử dụng là chất quang dẫn, thường không chứa hoặc có rất ít
các hạt electron khi khơng được ánh sáng chiếu vào.
Linh kiện này được thiết kế theo cách cung cấp diện tích tiếp xúc tối đa
nhất với 2 màng kim loại và được đặt trong một hộp nhựa có thể giúp tiếp
xúc được với ánh sáng và có thể cảm nhận được sự thay đổi của cường độ
ánh sáng.

13


2.4.3 Nguyên lý hoạt động
Quang trở được là bằng chất bán dẫn có trở kháng rất cao và khơng có một
tiếp giáp nào. Trong bóng tối, quang trở thường có điện trở lên vài MΩ.
Cịn khi có ánh sáng chiếu vào thì giá trị điện trở có thể giảm xuống mức
một cho đến vài trăm Ω.
Khi ánh sáng lọt vào quang trở, các electron sẽ được giải phóng và độ dẫn
điện sẽ được tăng lên. Tùy thuốc vào chất bán dẫn mà các quang trở sẽ có
những phản ứng khác nhau với các loại sóng photon khác nhau.

14


2.5 Module điều khiển động cơ L298N
2.5.1 Giới thiệu
Module điều khiển động cơ (Motor Driver) sử dụng chip cầu H L298N giúp điều
khiển tốc độ và chiều quay của động cơ DC một cách dễ dàng, ngồi ra module
L298N cịn điều khiển được 1 động cơ bước lưỡng cực. Mạch cầu H của IC L298N

có thể hoạt động ở điện áp từ 5V đến 35V.
Module L298N có tích hợp một IC nguồn 78M05 để tạo ra nguồn 5V để cung cấp
cho các thiết bị khác.
Các chân tín hiệu:




1. DC motor 1 “+” hoặc stepper motor A+.
2. DC motor 1 “-” hoặc stepper motor A-.
15


















3. 12V jumper – tháo jumper ra nếu sử dụng nguồn trên 12V. Jumper này

dùng để cấp nguồn cho IC ổn áp tạo ra nguồn 5V nếu nguồn trên 12V sẽ
làm cháy IC Nguồn.
4. Cắm dây nguồn cung cấp điện áp cho motor vào đây từ 6V đến 35V.
5. Cắm chân GND của nguồn vào đây.
6. Ngõ ra nguồn 5V, nếu jumper đầu vào không rút ra.
7. Chân Enable của Motor 1, chân này dùng để cấp xung PWM cho motor
nếu dùng VDK thì rút jumper ra và cắm chân PWM vào đây. Giữ nguyên
khi dùng với động cơ bước.
8. IN1.
9. IN2.
10. IN3.
11. IN4.
12. Chân Enable của Motor 2, chân này dùng để cấp xung PWM cho
motor nếu dùng VDK thì rút jumper ra và cắm chân PWM vào đây. Giữ
nguyên khi dùng với động cơ bước.
13. DC motor 2 “+” hoặc stepper motor B+.
14. DC motor 2 “-” hoặc stepper motor B-.

2.5.2 Nguyên lý hoạt động









OUT 1, OUT 2 là hai đầu ra tương ứng khi kết nối động cơ 1.
OUT 3, OUT 4 là hai đầu ra tương ứng khi kết nối động cơ 2.

Trên mạch có các chân ENA, IN1, IN2, IN3, IN4, ENB với các chức năng
điều khiển tương ứng với hai động cơ kết nối với hai vị trí OUT 1,2 và OUT
3,4.
ENB: Có chức năng điều khiển tốc độ động cơ khi kết nối vào hai vị trí
OUT 3, OUT 4.
ENA: Có chức năng điều khiển tốc độ động cơ khi kết nối vào hai vị trí
OUT 1, OUT 2.
IN1, IN2, IN3, IN4: Là chân kết nối tín hiệu với VĐK như Arduino,… để
điều khiển động cơ xoay.
Nguyên tắc hoạt động của IN1, IN2 và IN3, IN4 như sau: Cấp tín hiệu vào
IN1 và IN2 chênh lệch nhau, mức cao/thấp điều khiển động cơ dừng/quay
(có 2 TH cấp là: IN1-cao, IN2-thấp và IN1-thấp, IN2-cao). Cấp tín hiệu vào
IN1 = IN2 thì động cơ dừng quay. Tương tự với cặp còn lại là IN3 và IN4
đều hoạt động tương tự như vậy.

Tóm tắt qua chức năng các chân của L298:
16







4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10,
12 của L298. Đây là các chân nhận tín hiệu điều khiển.
4 chân OUTPUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân
INPUT) được nối với các chân 2, 3, 13, 14 của L298. Các chân này sẽ được
nối với động cơ.
Hai chân ENA và ENB dùng để điều khiển các mạch cầu H trong L298. Nếu

ở mức logic “1” (nối với nguồn 5V) thì cho phép mạch cầu H hoạt động, nếu
ở mức logic “0” thì mạch cầu H khơng hoạt động.

2.5.3 Thơng số kỹ thuật


Driver: L298N tích hợp hai mạch cầu H.



Điện áp điều khiển: +5V ~ +12 V.



Dịng tối đa cho mỗi cầu H là: 2A.



Điện áp của tín hiệu điều khiển: +5 V ~ +7 V.



Dịng của tín hiệu điều khiển: 0 ~ 36Ma.



Cơng suất hao phí: 20W (khi nhiệt độ T = 75 °C).





Nhiệt độ bảo quản: -25°C ~ +130.
Kích thước: 43x43x27mm.



Cơng suất tối đa: 25W 1 cầu (lưu ý cơng suất = dịng điện x điện áp nên áp
cấp vào càng cao, dịng càng nhỏ, cơng suất có định 25W).

17


2.5.4 Sơ đồ nguyên lý

18


2.5.5 Đấu nối mạch điều khiển động cơ DC L298N

Điều khiển chiều quay với L298:


Khi ENA = 0: Động cơ khơng quay với mọi đầu vào.



Khi ENA = 1:

- INT1 = 1; INT2 = 0: động cơ quay thuận.
- INT1 = 0; INT2 = 1: động cơ quay nghịch.

- INT1 = INT2: động cơ dừng ngay tức thì.
(tương tự với các chân ENB, INT3, INT4).

19


PHẦN 3: THIẾT KẾ MẠCH
3.1 Sơ đồ khối

20


3.2 Lưu đồ giải thuật

21


3.3 Thiết kế proteus

22


3.4 Chương trình
//LCD module connections
#define LCD_RS_PIN

PIN_E0

#define LCD_RW_PIN


PIN_E1

#define LCD_ENABLE_PIN PIN_E2
#DEFINE LCD_DATA0

PIN_D0

#DEFINE LCD_DATA1

PIN_D1

#DEFINE LCD_DATA2

PIN_D2

#DEFINE LCD_DATA3

PIN_D3

#define LCD_DATA4

PIN_D4

#define LCD_DATA5

PIN_D5

#define LCD_DATA6

PIN_D6


#define LCD_DATA7

PIN_D7

//End LCD module connections

//MOTOR connection
#DEFINE IN1

PIN_A2

#DEFINE IN2

PIN_A3

#DEFINE IN3

PIN_A4

#DEFINE IN4

PIN_A5

//end MOTOR connection

//ANH SANG
#DEFINE IND
#DEFINE OUTD


PIN_B0
PIN_A0

//END

23


×