Tải bản đầy đủ (.doc) (21 trang)

BàI TậP LớN Môn: Vi xử lý Đề tài: Điều khiển động cơ bước theo nhiệt độ

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 (331.98 KB, 21 trang )

Báo cáo bài tập lớn môn Vi xử lý
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN TỬ - VIỄN THễNG
o0o
BàI TậP LớN
Môn: Vi xử lý
Đề tài: Điều khiển động cơ bước theo nhiệt độ
Giáo viên hướng dẫn: Thầy Phạm Ngọc Nam
Sinh viên thực tập: Nhóm 5_ĐT9K47
1.Nguyễn Sỹ Dũng (nt)
2.Nguyễn Minh Đức
3.Nguyễn Tiến Dũng
4.Trịnh Hoàng Long
5.Đào Trần Hùng
6.Nguyễn Tuấn Anh
Hà Nội.11/2005
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.
2
Báo cáo bài tập lớn môn Vi xử lý
Chương I


Mở đầu
I. Đặt vấn đề
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ó…
3
Báo cáo bài tập lớn môn Vi xử lý
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
Đ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.

4
Báo cáo bài tập lớn môn Vi xử lý
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

5
Báo cáo bài tập lớn môn Vi xử lý
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
Nhiệt
độ môi
trường
Sensor
ADC Vi Điều
khiển
Khối
Cụng
suất
Động

Bước
Hiển
thị
6
Báo cáo bài tập lớn môn Vi xử lý
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 nhưng đố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á 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 /1
o
C
- Độ chính xác cao, tính nay cảm biến nhiệt độ nhạy, ở nhiệt độ 25
o
C
nó có sai số không quá 1%. Với tầm đo từ -55
o
C đến 150
o
C, 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/
0
C
- Đặ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 :
V
out
= 250mV tại 25
0
C
1500mV tại 150
0
C
55mV tại -55
0
C
b. Thiết kế mạch cảm biến dùng LM335 :
7
Báo cáo bài tập lớn môn Vi xử lý
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

V X L
V X 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 chuyển đổi nhỏ hơn 100
µ
s
+ Có bộ dao động nội
- Nguyên lý hoạt động của ADC 0804:
8
Báo cáo bài tập lớn môn Vi xử lý
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 V
IN+
và V
IN-
đượ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

+ 5 V
2
1
2 0
8
1 0

4
1 9
9
7
6
1 1
.
.
.
1 8
Fp051
K01
4080CDA
V R E F /2
V i n -
V in +
R D
W R
I N T R
8 9 C 5 1
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
9
Báo cáo bài tập lớn môn Vi xử lý
+ 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
10
TXD
*
RXD
*


T
1
*
T
2
*
P
0
P
1
P
2
P
3


INT\
*
1
INT\

*
0

TIMER2
TIMER1
PORT nối tiếp

EA\ RST PSEN ALE


Cỏc thanh
ghi khỏc
128 byte
Ram
Rom
4K-8051
OK-8031
Timer1
Timer2
Điều khiển
ngắt
ieàu khie n ẹ ồ
bus
CPU
Port no i ỏ
tie pỏ
Ca c port ự
I\O
Taùo dao


o ngủ ọ
Báo cáo bài tập lớn môn Vi xử lý
Sơ đồ chân của 89C51
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

11
18
19
12MHz
40
29
30
31
9
17
16
15
14
13
12
11
10
RD\
WR\
T1
T0
INT1
INT0

TXD
RXD
A15
A14
A13
A12
A11
A10
A9
A8
28
27
26
25
24
23
22
21
8
7
6
5
4
3
2
1
32
33
34
35

36
37
38
39
Po.7
Po.6
Po.5
Po.4
Po.3
Po.2
Po.1
Po.0
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
P2.7
P2.6

P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
PSEN\
ALE
EA\
RET
Vcc
20
Vss
30p
30p
XTAL1
XTAL2
Báo cáo bài tập lớn môn Vi xử lý

+ 5 V
K01
1 0 u F
R S T
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
12
Báo cáo bài tập lớn môn Vi xử lý
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
ứ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:
Đầu vào Đầu ra
A B C D a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 0 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 0 0 0 1 1 0 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
13
Báo cáo bài tập lớn môn Vi xử lý
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.
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
14
Báo cáo bài tập lớn môn Vi xử lý
b) Phương pháp điều khiển tốc độ động cơ bước
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.
Hình : Hoạt động của từng cuộn dây trong động cơ bước
15
A
B
C
D
A',B',C',D'
A
A'
t
B
B'
t
C
C'
tD
D'
t
Báo cáo bài tập lớn môn Vi xử lý

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 T
0
= 25
o
C là 300 vòng /phút
n
0
= 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 độ
16
12V
QC
QB
QA
QD
A
B
C
D
Step motor
Báo cáo bài tập lớn môn Vi xử lý
.n k T∆ = ∆

n∆
là độ dịch của vận tốc động cơ so với tốc độ tại 25
o
C
T∆
độ biến thiên nhiệt độ
n
t
= n
0
+ k1.
T∆
0 0 2
.
t
a a k T
α α
= + ∆ = + ∆
Trong khuôn khổ bài thực hành ,để đơn giản ta chọn k
1
= k
2
=2 , (đây là
điểm còn chưa 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 :
17
V r e f / 2
V C C
L E D
K H O I N G U O N

B 3
R 3 9 0
L B 1
V C C
L E D
4 7 0 u F
A 2 L A 1
L E D D O I
1 6
1 5
3
2
1
1 8
1 7
4
1 4
1 3
1 1
1 0
8
6
5
1 2
7
9
A 1
B 1
C 1
D 1

E 1
F 1
G 1
O P 1
A N O D E 1
A N O D E 2
A 2
B 2
C 2
D 2
E 2
F 2
G 2
O P 2
1 0 k
B I E N T R O
3 3 p F
V C C
C 3
1 0 u F
A 6
V C C
V C C
R 3 9 0
L A 4
V r e f / 2
B 4A 5
B 3
7 8 0 5
1 3

2
V I N V O U T
G N D
D O N G C O
1
2
3
4
5
A 7
L M 3 5
S W D I P - 4 / S M
A 1
-
+
D I O D E C A U
2
1
3
4
R 3 9 0
3 9 0
A 1
R 3 9 0
A 3
+ 5 V
R e s e t
R 3 9 0
L B 2
A 3

X T A L 2
V C C
1 0 4
C 1
V i n +
R 3 9 0
L A 2
L A 3
7 4 L S 4 7
7
1
2
6
5
3
1 3
1 2
1 1
1 0
9
1 5
1 4
8
4
1 6
I N A
I N B
I N C
I N D
R B I

L T
O U T A
O U T B
O U T C
O U T D
O U T E
O U T F
O U T G
G N D
B I / R B O
V C C
L B 4
L E D
A 4
V C C
B 1
C 2
R 3 9 0
A 4
R 3 9 0
B 3R e s e t
1 1 . 0 5 9 2 M H z
T H A C H A N H
V C C
R 3 9 0
L B 1
A 7
J A C K N G U O N
1
2

3
A 2
R 3 9 0
C 3
L A 3
L B 4
R 3 9 0
L B 3A 8
B 1
3 3 p F L E D
R 3 9 0
B 2
C O N G T A C R E S E T
1 4
2 3
L A 1
C L K i n
R 3 9 0
U L N 2 0 0 3 A
1
2
3
4
5
6
7
1 6
1 5
1 4
1 3

1 2
1 1
1 0
9
1 B
2 B
3 B
4 B
5 B
6 B
7 B
1 C
2 C
3 C
4 C
5 C
6 C
7 C
C O M
V C C B 4
B 2
R 3 9 0
L B 2
C 3
X T A L 2
V i n +
K H O I C A M B I E N N H I E T D O
A 5
L E D
R 3 9 0

C 1
V C C
A T 8 9 C 5 1
2 9
3 0
4 0
2 0
3 1
1 9
1 8
9
3 9
3 8
3 7
3 6
3 5
3 4
3 3
3 2
1
2
3
4
5
6
7
8
2 1
2 2
2 3

2 4
2 5
2 6
2 7
2 8
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
P S E N
A L E
V C C
G N D
E A
X 1
X 2
R S T
P 0 . 0 / A D 0
P 0 . 1 / A D 1
P 0 . 2 / A D 2
P 0 . 3 / A D 3
P 0 . 4 / A D 4
P 0 . 5 / A D 5
P 0 . 6 / A D 6
P 0 . 7 / A D 7
P 1 . 0

P 1 . 1
P 1 . 2
P 1 . 3
P 1 . 4
P 1 . 5
P 1 . 6
P 1 . 7
P 2 . 0 / A 8
P 2 . 1 / A 9
P 2 . 2 / A 1 0
P 2 . 3 / A 1 1
P 2 . 4 / A 1 2
P 2 . 5 / A 1 3
P 2 . 6 / A 1 4
P 2 . 7 / A 1 5
P 3 . 0 / R X D
P 3 . 1 / T X D
P 3 . 2 / I N T 0
P 3 . 3 / I N T 1
P 3 . 4 / T 0
P 3 . 5 / T 1
P 3 . 6 / W R
P 3 . 7 / R D
V C C
A 8
B 1
R 3 9 0
L A 2
C L K i n
L A 4

1 0 k
R
7 4 L S 4 7
7
1
2
6
5
3
1 3
1 2
1 1
1 0
9
1 5
1 4
8
4
1 6
I N A
I N B
I N C
I N D
R B I
L T
O U T A
O U T B
O U T C
O U T D
O U T E

O U T F
O U T G
G N D
B I / R B O
V C C
B 4
1 k
R
R 3 9 0
L B 3
U 4
7 4 L S 7 4 A N
1
2
3
4
5
6
7
9
8
1 0
1 1
1 2
1 3
1 4
C L R 1
D 1
C L K 1
P R 1

Q 1
Q 1 D A O
G N D
Q 2
Q 2 D A O
P R 2
C L K 2
D 2
C L R 2
V C C
C 2
R
A 6
A D C 0 8 0 4
6
7
8
9
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
2 0
4

5
1
2
3
+ I N
- I N
A G N D
V R E F / 2
G N D
D B 7
D B 6
D B 5
D B 4
D B 3
D B 2
D B 1
D B 0
C L K R
V C C / V R E F
C L K I N
I N T R
C S
R D
W R
R 3 9 0
V C C
B 2
V C C
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.Lưu đồ thuật toán của chương trình
Begin
T.Lập mode
cho 89C51
Cho động cơ khởi
động
Đếm xung
đồng hồ
ADC biến
đổi xong
Cho động cơ
nhảy 1 bước
Đọc nhiệt độ
Đủ xung cho
động cơ nhảy
tiếp?
Báo cáo bài tập lớn môn Vi xử lý
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
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
20
Báo cáo bài tập lớn môn Vi xử lý
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

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
21

×