Báo cáo bài tập lớn môn Vi xử lý
1
Báo cáo bài tập lớn môn Vi xử lý
Lời mở đầu
Trong cuộc sống hiện đại ngày nay các ứng dụng về điều khiển tự động
đang trở thành gần gủi với hầu hết mọi ngời. Là một sinh viên khoa Điện tử
viễn thông sau khi đà học xong môn Vi xử lý chúng em thiết nghĩ mình có
thể làm một số ứng dụng nhỏ về áp dụng những kiến thức về Vi xử lý và các
Vi điều khiên thông dụng. Đề tài của bọn em là dựa vào sự biến đổi cđa nhiƯt
®é ®Ĩ ®a ra tÝn hiƯn ®iỊu khiĨn tèc độ của động cơ bớc thông qua một Vi
điều khiển thông dụng.
Chúng em xin chân thành cám ơn thầy Phạm Ngọc Nam đà hết lòng
giúp đỡ bọn em trong việc hoàn thành đề tài này.
Chơng I
Mở đầu
I. Đặt vấn đề
2
Báo cáo bài tập lớn môn Vi xử lý
Ngày nay với sự phát triển của công nghệ vi điện tử các hệ thống điều
khiển dần dần đợc tự động hoà. Với những kỹ thuật tiên tiến nh vi xử lý, vi
điều khiểnđđợc ứng dụng vào các lĩnh vực điều khiển thì các hệ thống điều
khiển cơ khí thô sơ, với tốc độ xử lý chậm ít chính xác đợc thay thế bằng các
hệ thống điều khiển tự động với các lệnh chơng trình đà đợc thiết lập trớc.
Trong quá trình sản xuất ở các nhà máy, xí nghiệp,việc đo và khống chế
nhiệt độ tự động là một yêu cầu hết sức cần thiết và quan trọng. Vì nếu nắm
bắt đợc nhiệt độ làm việc của hệ thống, dây chuyền sản xuất đ,giúp ta biết
đợc tình trạng làm việc của các yêu cầu và có những xử lý kịp thời để tránh
h hỏng và giải quyết các xự cố xảy ra.
Để đáp ứng đợc yêu cầu đo và không chế nhiệt độ tự động, thì có nhièu
phơng pháp để thực hiện. Nghiên cứu khảo sát các vi xử lý và vi ®iỊu khiĨn,
nhãm chóng em ®· thÊy r»ng viƯc khèng chÕ nhiệt độ bằng động cơ bớc có
nhiều u điểm nh: dễ dàng điều khiển vận tốc động cơ để khống chế nhiệt độ
nhờ vào quạt gióđ
Do trong điều kiện hạn chế về kinh tế, thời gian và trình độ nên nhóm
chúng em chỉ dừng lại ở việc mô phỏng điều chỉnh vận tốc động cơ tự động
theo nhiệt độ môi trờng và phần nhiệt độ môi trờng này đợc hiện thị thông
qua Led 7 thanh.
II. Mục đích Thiết kế
- Phát huy những thành quả ứng dụng của vi điều khiển và vi xử lý tạo
ra những sản phẩm tiên tiến có độ tích hợp cao về công nghệ.
- Việc thực hiện đề tài này giúp chúng em đợc tiếp cận với thực tế, phát
huy những kiến thức đà đợc học trong môn Vi xử lý.
- Qua đây có thêm nhiều kinh nghiƯm gióp Ých sau khi ra trêng cã thĨ
tham gia ngay vào các hoạt động sản xuất trong xà hội.
III . Giới thiệu về nội dung đề tài
1. Đề tµi
3
Báo cáo bài tập lớn môn Vi xử lý
Điều khiển tốc độ động cơ theo sự biến đổi của nhiệt độ môi trờng
2. Chức năng của hệ thống
- Đo, xử lý và hiện thị nhiệt độ của môi trờng thông qua hệ thống LED7
thanh.
- Điều khiển tốc độ động cơ bớc theo nhiệt độ của môi trờng. Khi nhiệt độ
tăng thì vận tốc động cơ (cánh quạt ) tăng và khi nhiệt độ giảm tốc độ giảm.
Động cơ có khả năng đảo chiều quay để phục vụ nhiều mục đích khác nhau.
Chơng II
Thiết kế
i. Nhiệm vụ thiết kế
- Thiết mạch đo nhiệt độ và điều khiển động cơ bớc theo nhiệt độ sử
dụng máy tính .Vậy ta cần trình tự thiết kế nh sau :
+ Mạch cảm biến
+ Bộ chuyển đổi số tơng tự
+ Mạch Vi điều khiển
+ Bộ giải mà địa chỉ và hiện thị nhiệt độ thông qua LED7
+ Thiết kế khối công suất cho động cơ
+ Viết chơng trình điều khiển
I.
Sơ đồ khối hệ thống
4
Báo cáo bài tập lớn môn Vi xử lý
Nhit
mụi
trng
Sensor
ADC
ng
c
Bc
Vi iu
khin
Hin
th
Khi
Cụng
sut
x
(1) Bộ cảm biến ghi lại sự thay đổi nhiệt độ của nguồn nhiệt và chuyển
về đại lợng điện.
(2) Bộ biến đổi ADC chuyển tín hiệu Analog thành tín hiệu Digital đa
vào Mạch ghép nối .
(3) Khối Vi điều khiển cã nhiƯm vơ nhËn tÝn hiƯu sè tõ khèi ADC và đa
vào xử lý cho ra tín hiệu hiện thị và xuất xung điều khiển ra khối công
suất.
(4) Mạch công suất có tác dụng điều khiển động cơ
(5) Động cơ bớc
(6) Khối hiện thị hiển thị nhiệt độ môi trờng hiện thời
II. Thiết kế và phân tích nguyên lý của từng khối
1.Bộ cảm biến
Để đo đợc nhiệt độ cần có một đầu đo thích hợp. Đầu dò là một cảm
biến nhiệt độ có nhiệm vụ chuyển từ nhiệt độ môi trờng qua tín hiệu điện.
Có rất nhiều loại cảm biến khác nhau nhng đối với hệ thống này ta sử
dụng IC cảm biến. Các IC cảm biến có độ chính xác cao, dễ tìm và giá
5
Báo cáo bài tập lớn môn Vi xử lý
thành rẻ. Một trong số đó là LM35, là loại thông dụng trên thị trờng hiện
nay đồng thời nó có những đặc tính làm việc phù hợp với thiết kế chi tiết
của mạch.
a. Một số đặc tính kỹ thuật của LM35
- LM35 có độ biến thiên theo nhiệt độ 10mV /1oC
- Độ chính xác cao, tính nay cảm biến nhiệt độ nhạy, ở nhiệt độ 25 oC
nó có sai số không quá 1%. Với tầm đo từ -55 oC đến 150oC, tín hiệu
ra tuyến tính với những thay đổi kỹ thuật của tín hiệu vào.
- Thông số kỹ thuật
+ Tiêu tán công suất thấp
+ Dòng làm việc 138 A 141 A
+ Khoảng điện áp làm việc là 4-30V
+ sai số dòng tĩnh 3 A
+ Sự thay đổi dòng theo nhiêt độ là 0,7 A/0C
- Đặc tính điện
- Theo thông số nhà sản xuất LM35, quan hệ giữa nhiệt độ và ngõ ra
điện áp ra nh sau :
Vout = 250mV t¹i 250C
1500mV t¹i 1500C
55mV t¹i -550C
b. ThiÕt kÕ mạch cảm biến dùng LM335 :
c. Tính toán và lựa chän linh kiƯn
Ta chän R sao cho R= Vs/50uA
2. M¹ch ADC
a. Giíi thiƯu vỊ ADC 0804
6
Báo cáo bài tập lớn môn Vi xử lý
V VX XL L
H iệ u c á c đ ầ u v à o
- Một số đặc tính kỹ thuật của ADC 0804
+ Không yêu cầu một giao diện logic nào ®Ĩ ghÐp nèi víi VXL
+ Thêi gian chun ®ỉi nhá hơn 100 s
+ Có bộ dao động nội
- Nguyên lý hoạt động của ADC 0804:
ADC bắt đầu hoạt động khi chân CS và WR đồng thời ở mức thấp
(tích cực ).Chân INTR đợc reset để ở mức cao ( không tích cực ) Tín
hiệu analog ỏ các chân VIN+ và VIN- đợc đa vào lấy mẫu và mà hoá trong
8 xung clock néi cđa 0804. Sau dã ch©n INTR đợc chuyển xuống mức
thấp (tích cực) báo hiệu cho vi điều khiển quá trình chuyển đổi ADC đÃ
hoàn tất. Vi điều khiển đa tín hiệu mức thấp vào chân RD của 0804 để
lấy dữ liện ra . (Chân RD và CS có thể đợc nối đất). Quá trình chuyển
đổi tiếp theo lại bắt đầu khi CS và WR nhận đợc tÝn hiƯu ë møc thÊp ( tõ
vi ®iỊu khiĨn )
b. Sơ đồ lắp mạch ADC
7
Báo cáo bài tập lớn môn Vi xử lý
+5V
20
2
1
6
7
9
V in +
V in -
RD
WR
A D C 0804
19
10K
150pF
IN T R
18
.
.
.
4
8
10
89C 51
11
V R E F /2
3. Mạch Vi điều khiển
a. Giới thiệu sơ lợc về 89C51
IC vi điều khiển 89C51 tơng thích với họ MSC51 có các đặc điểm sau :
+ 4Kbyte FLASH ROM
+ 128 Bytes RAM
+ 4 Port 8bit
+ Hai bộ định thêi 16 bit
+ Cã mét port nèi tiÕp
+ Cã thÓ mở rộng để 64KB bộ nhớ chơng trình ngoài.
+ Bộ xư lý bit
- CÊu tróc bªn trong cđa 89C51
INT\*1
INT\*0
TIMER2
TIMER1
PORT nối tiếp
Các thanh ghi khác128 byte Ram
Điều khiển ngắt
CPU
8
Rom
4K-8051
OK-8031
Timer1
Timer2
T1*
T2*
Taùo dao
ủoọng
ẹieu khieồn bus
Caực port I\O
Port noỏi tieỏp
Báo cáo bài tập lớn môn Vi xử lý
EA\ RST PSEN ALE
P0
P1
P2
P3
Sơ đồ chân của 89C51
TXD* RXD*
40
30p
19
18
29
30
31
9
RD\WR\
T1
T0
INT1
INT0
TXD
RXD
Po.7
Po.6
Po.5
Po.4
Po.3
Po.2
Po.1
Po.0
XTAL1
12MHz
30p
Vcc
XTAL2
PSEN\
ALE
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
EA\
RET
17
16
15
14
13
12
11
10
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
Vss
32
33
34
35
36
37
38
39
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
8
7
6
5
4
3
2
1
28
27
26
25
24
23
22
21
A15
A14
A13
A12
A11
A10
A9
A8
20
Mạch vi điều khiển có tác dụng nhận tín hiệu từ bộ biến đổi ADC và xử lý đa
ra tín hiệu hiển thị nhiệt độ để truyền vào bộ giải mà địa chỉ 7447
Chân 9 (RST) là m¹ch RESET
9
Báo cáo bài tập lớn môn Vi xử lý
+5V
R ST
10uF
10K
Mạch ghép nối giữa ADC và vi điều khiển
4. Mạch giải mà địa chỉ và hiển thị tín hiệu nhiệt độ ra Led
â, Giới thiệu về IC giải mà 7447
Hình- IC 7447
IC 7447 là bộ giải mà cho LED hiển thị 7 thanh. Nó có 4 đầu vào là A,
B, C và D (ứng với các chân số 7, 6, 1, 2) và 7 đầu ra (các chân từ 9 đến 15
10
Báo cáo bài tập lớn môn Vi xử lý
ứng với 7 thanh hiển thị của đèn LED 7 thanh). Bảng chân lý của IC này nh
sau:
0
1
2
3
4
5
6
7
8
9
A
0
0
0
0
0
0
0
0
1
1
Đầu vào
B
C
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
D
0
1
0
1
0
1
0
1
0
1
a
1
0
1
1
0
1
0
1
1
0
b
1
1
1
1
1
0
0
1
1
0
c
1
1
0
1
1
1
1
1
1
0
Đầu ra
d
1
0
1
1
0
1
1
0
1
1
e
1
0
1
0
0
0
1
0
1
1
f
1
0
0
0
1
1
1
0
1
0
g
0
0
1
1
1
1
1
0
1
0
Trong trờng hợp riêng của bài thực tập này thì các chân số 3, 4 và 5
không đợc dùng đến.
b, Giới thiệu về đèn Led hiển thị
Đèn hiển thị LED 7 thanh:
Hình - LED hiển thị 7 thanh
Trong bài thực tập này ta sử dụng loại đèn Anode chung, tức là một
trong hai chân ở giữa của hai hàng chân sẽ đợc nối lên +5V, các chân còn lại
đợc nối đến đầu ra của IC 7447 một cách tơng ứng theo tên chân (nh đà nêu
trên hình trên ).
5. Mạch Công suất
Mạch điều khiển sử dụng IC ULN2003 là mạch khuếch đại công suất
mắc kiểu darlington có diot để dập điện áp ngợc.
11
Báo cáo bài tập lớn môn Vi xử lý
a.Giới thiệu về ULN2003
Mạch tơng đơng của ULN2003
ULN2003 ngoài tác dụng đóng ngắt dòng qua cuộn dây điều khiển động cơ
còn có tác dụng ngăn điện áp ngợc làm hỏng các mạch vi điều khiển.
6. Động cơ bớc
a)Cấu trúc động cơ bớc
A
B
A',B',C',D'
C
D
b) Phơng pháp điều khiển tốc độ động cơ bớc
12
Báo cáo bài tập lớn môn Vi xử lý
Các cuộn dây đợc cấp dòng theo vòng. Mỗi khi vòng dây đợc cấp dòng động
cơ quay đợc 1 bớc.
A
A'
B
B'
t
C
C'
t
D
D'
t
t
Hình : Hoạt động của từng cuộn dây trong động cơ bớc
13
Báo cáo bài tập lớn môn Vi xử lý
A
QA
B
QB
C
QC
D
QD
Step motor
12V
Bộ khuếch đại công suất sử dụng transistor mắc kiểu Darlington sư dơng IC
UNL2003.
“ABCD” = “0001” ”0010””0100” --> “1000” ”0001”…®.
”ABCD” thùc hiện lệnh dịch 4 lần động cơ quay 1vòng.
Giả sử ta có vận tốc tại thời điểm T0 = 25oC là 300 vòng /phút
n0 = 3,3vòng/s ABCD quay 3,3x4lần =13,2lần trên một dây
Với xung nhịp 2kHz thì cứ 2kHz/13,2 =151 = xung thì ABCD quay
một vòng.
Ta có công thức chuyển đổi vận tốc động cơ và nhiệt ®é
n k .T
14
Báo cáo bài tập lớn môn Vi xử lý
n là độ dịch của vận tốc động cơ so với tốc độ tại 25oC
T độ biến thiên nhiệt độ
nt = n0 + k1. T
t a0 a0 k2 .T
Trong khuôn khổ bài thực hành ,để đơn giản ta chọn k 1 = k2 =2 , (đây là
điểm còn cha tốt của chơng trình cần đợc khắc phục khi mở rộng đề tài)
Từ các phân tích trên ta có sơ đồ nguyên lý của mạch nh sau :
15
5
4
16
15
3
2
1
18
17
4
390
390
390
390
390
390
390
P
P
P
P
P
P
P
P
0
0
0
0
0
0
0
0
A
B
C
D
E
F
G
O P
2
2
2
2
2
2
2
2
2 .0 /A
2 .1 /A
.2 /A 1
.3 /A 1
.4 /A 1
.5 /A 1
.6 /A 1
.7 /A 1
8
9
0
1
2
3
4
5
11
10
8
6
5
12
7
9
R
R
R
R
R
R
R
1
1
1
1
3
2
1
0
9
15
14
390
390
390
390
390
390
390
B I/R B O
O U TR AB I
O U T BL T
O U TC
O U TI ND A
O U TI NE B
O U ITNF C
O U ITNG D
C 1
C 3
V R E F /2
C L K IN
C LK R
2
3
1
R D
W R
C S
20
B
B
B
B
B
B
B
B
0
1
2
3
4
5
6
7
IN T R
10
V C C
V C C /V R E F
1
1
1
1
1
1
1
1
5
8
7
6
5
4
3
2
1
A
A
A
A
A
A
A
A
1
2
3
4
5
6
7
8
L
L
L
L
L
L
L
L
C 2
33pF
TH A C H A N H
1 1 .0 5 9 2 M H z
1
2
3
4
1
2
3
4
3
3
3
3
3
3
3
3
1
2
3
4
5
6
7
8
9
8
7
6
5
4
3
2
1
2
3
4
5
6
7
8
XTA L2
19
18
V C C
R es et
31
9
V C C
40
1
2
3
4
13
A T89C 51
P
P
P
P
P
P
P
P
1
1
1
1
1
1
1
1
.0
.1
.2
.3
.4
.5
.6
.7
/A
/A
/A
/A
/A
/A
/A
/A
D
D
D
D
D
D
D
D
0
1
2
3
4
5
6
7
P
P
P
P
P
P
.0
.1
.2
.3
.4
.5
.6
.7
E A
R S T
V C C
P
P
2
2
2
2
2
2
P 3 .0 /R XD
P 3 .1 /T X D
P 3 .2 /IN T 0
P 3 .3 /IN T 1
P 3 .4 /T 0
P 3 .5 /T 1
P 3 .6 /W R
P 3 .7 /R D
X1
X2
A LE
P S E N
2
2
2
2
2
2
2
2
1
2
3
4
5
6
7
8
1
1
1
1
1
1
1
1
0
1
2
3
4
5
6
7
B
B
B
B
1
2
3
4
B
B
B
B
1
2
3
4
1
2
3
4
5
6
7
9
U LN 2003A
1
2
3
4
5
6
7
B
B
B
B
B
B
B
1
2
3
4
5
6
7
C
C
C
C
C
C
C
1
1
1
1
1
1
1
S W
6
5
4
3
2
1
0
V C C
D IP -4 /S M
1
2
3
4
5
D O N G C O
C O M
C 1
C 2
C 3
30
29
B 1
R 390
LE D
B 2
R 390
LE D
B 3
R 390
LE D
B 4
R 390
LE D
20
4
2
3
C O N G TA C R E S E T
A
A
A
A
R es et
V C C
V C C
A
A
A
A
B
B
B
B
A
A
A
A
A
A
A
A
33pF
1
L
L
L
L
74LS 47
G N D
4
19
D
D
D
D
D
D
D
D
A G N D
9
C L K in
+ IN
-IN
G N D
V re f /2
7
1
2
6
V C C
14
V C C
A D C 0804
6
7
8
V in +
4
5
3
8
1
1
1
1
1
1
1
P 1
8
74LS 47
LE D D O I
A
B
C
D
E
F
G
O
V C C
R
R
R
R
R
R
R
G N D
V C C
7
1
2
6
3
2
1
0
A N O D E 2
1
2
3
4
1
1
1
1
9
1
1
A N O D E 1
B
B
B
B
B O
TA
TB
TC
TD
TE
TF
TG
G N D
L
L
L
L
B I/R
R OB UI
L TO U
O U
I NO AU
I NO BU
I NO CU
I NO DU
16 V C C
16 V C C
4
5
3
2
R
10k
4
+
-
1
1
7805
V IN
V O U T
V C C
3
R
XTA L2
390
470uF
C 3
10uF
104
LE D
B IE N T R O
10k
U 4
+5V
2
2
3
G N D
1
V C C
D IO D E C A U
3
J A C K N G U O N
1
2
3
4
5
6
7
C
D
C
P
Q
Q
G
L R 1V C C
1 C LR 2
LK 1 D 2
R 1C L K 2
1
P R 2
1 D A OQ 2
NQ D2 D A O
74LS 74A N
1
1
1
1
1
9
8
4
3
2
1
0
V C C
V in +
V re f /2
LM 35
C L K in
R
1k
KHOI NGUON
KHOI CAM BIEN NHIET DO
Báo cáo bài tập lớn Đo lờng điều khiển tự động
IV. Lập trình
1.Lu đồ thuật toán của chơng trình
Begin
T.Lập mode cho 89C51
Cho động cơ khởi động
ADC biến đổi xong
Đọc nhiệt độ
Đếm xung
đồng hồ
Đủ xung cho động cơ nhảy tiếp?
Chơng trình n¹p cho n¹p cho 89C51 nh sau :
#include <sfr51.inc>
WR EQU P3.7
RD EQU P3.5
INTR EQU P3.6
ORG 0
Cho động cơ nhảy 1 bíc
Báo cáo bài tập lớn môn Vi xử lý
LJMP MAIN
ORG 00BH
LJMP DONGCO
MAIN:
MOV R2,#11H ;00010001B
MOV TMOD,#01H ;TIMER CHE DO 1
MOV P1,#0FFH ;CHON P1 LA CONG VAO
MOV IE,10000111B ;CHO PHEP NGAT TIMER 0
MOV TH0,#0H
MOV TL0,#0H
SETB TR0
;KHOI DONG BO TIMER 0
LAP:
LCALL HIENTHI
SJMP LAP
HIENTHI:
SETB RD ; RD=1
SETB WR ; WR=1
CLR WR ; BAT DAU CHUYEN DOI
WAIT:
JB INTR,WAIT ; KIEM TRA DA CHUYEN DOI XONG CHUA
CLR RD ; XUAT DU LIEU RA VI DIEU KHIEN
MOV A,P1 ;LUU VAO A
MOV B,#05
MUL AB
MOV R0,B
MOV R1,A
MOV B,#10
DIV AB
SWAP A
ORL A,B
MOV P0,A
DONGCO:
CLR TR0 ; XOA TR0
MOV R5,A ; CAT TAM THOI A
MOV A,R2
RR A
MOV R2,A
MOV P2,A
MOV TH0,R0
MOV TL0,R1
MOV A,R5
SETB TR0
RETI
END
Báo cáo bài tập lớn môn Vi xử lý
Tài liệu tham khảo:
1. Kĩ thuật Vi xử lý
Tác giả: Văn Thế Minh
2. Cấu trúc và lập trình họ vi điều khiển 8051
Tác giả: Nguyễn
Tăng Cờng _ Phan Quốc Thắng
3. Datasheet của c¸c linh kiƯn AT89c51, ULN2003, ADC0804, LM35,
74LS74AN, 74LS47
lÊy tõ www.alldatasheet.com