Tài liệu Đồ án " Môn học vi xử lý" - Pdf 99

ĐỒ ÁN
Vi xử lí.
Đồ án môn học Vi xử lí.
Điều khiển động cơ bước theo nhiệt độ.
1.Mở đầu.
-Giới thiệu chức năng hệ thống:
Trong đồ án này, chúng ta sẽ nêu ra một phương án (trên lí thuyết) môđun điều
khiển tự động động cơ bước theo nhiệt độ. Tốc độ động cơ tăng khi nhiệt độ
tăng và tốc độ động cơ giảm khi nhiệt độ giảm. Đây là một đồ án cơ bản nhất
trong việc áp dụng kĩ thuật vi xử lí trong đo lường và điều khiển.
Giả sử khoảng biến thiên nhiệt độ là T1->T2 (T1<T2), ta cần điều khiển tốc độ
động cơ biến thiên tuyến tính theo nhiệt độ ∆n=k∆T.
∆n: độ biến thiên tốc độ động cơ.
∆T: độ biến thiên nhiệt độ.
k: hằng số tỉ lệ.
2.Sơ đồ khối hệ thống.

Bộ
cảm
biến

đệm
v oà
Biến
đổi
AD
8255
A
Cổng
//
CPU

phù hợp với khoảng điện áp của bộ ADC. Như vậy, điện áp đầu ra từ 0→5V sẽ
tỉ lệ thuận với nhiệt độ đầu vào của bộ cảm biến.

U
U
2
U
1
T
1
T
2
T
°
Khoảng tuyến tính
Hình: Sơ đồ một bộ khuếch đại đệm vào.
Do yêu cầu của khoảng nhiệt độ cần đo thường lớn hơn khoảng tuyến tính của
một đầu cảm biến nên ta phải kết hợp nhiều đầu cảm biến tuyến tính ở các
khoảng nhiệt độ khác nhau. Chọn khoảng làm việc trên đặc tuyến của các cảm
biến giống nhau ∆T.
Hình: Làm việc với 8 đầu cảm biến.
b)Cấu trúc cổng song song:
Cổng song song (LPT) có 25 chân, trong đó có 17 chân có tác dụng. Ở đồ án này
chúng ta sử dụng cổng LPT1 có địa chỉ cơ sở 378h. Cổng LPT được giao tiếp
thông qua 3 thanh ghi.
U
ra
(0 đến5V)

+

Thanh ghi trạng thái (chỉ đọc), địa chỉ 379h
Tín hiệu BUSY
ACK
PE SLCT
ERROR
X X X
Chân số
11
10
12
13
15
Thanh ghi điều khiển, địa chỉ 37Ah
Tín hiệu X X X X
SLCTIN
INIT
AFD
STR
Chân số

17
16
14
1

OE
A
0
A
1
3 bit chọn kênh Analog
8 kênh Analog v oà
Chốt địa chỉ A
2
A
1
A
0
Chuẩn điện thế
dương
Xung CLK giữ nhịp
Chuẩn điện thế âm
Một chu kỳ làm việc của ADC:
Hình: Một chu kỳ làm việc của ADC0808(0809)
Ghép nối giữa 8255A và ADC:
Hình: Sơ đồ ghép nối giữa ADC và 8255A
PA: lấy dữ liệu từ ADC 0808 (ADC 0809)
PC
0
, PC
1
, PC
2
: cổng điều khiển địa chỉ cho ADC.
PC4: điều khiển chốt địa chỉ của kênh hiện hành và bắt đầu biến đổi ADC.

PC
5
Start
ALE
OE
A
0
WR
RD
ADC 8255A
Hình: Cấu trúc của motor bước.
Hoạt động của động cơ bước:
Các cuộn dây được cấp dòng theo một vòng tròn, mỗi chu kì cấp dòng động cơ
quay được 1 vòng.
Hình: Hoạt động của từng cuộn dây trong motor bước.
AA'
t
BB'
t
CC'
t
DD'
t
Hình: Sơ đồ nguyên lí của khối khuếch đại công suất động cơ.
Bộ khuếch đại công suất sử dụng 1 transitor công suất cho mỗi cuộn dây:
"ABCD"= "0001" → "0010" → "0100" → "1000" → "0001"
→ "ABCD" thực hiện lệnh dịch 4 lần, động cơ quay 1 vòng.
Giả sử động cơ quay 1000vòng/phút đến 10000vòng/phút trong khoảng T
1
đến

QD
A
B
C
D
Step motor
Khi ở nhiệt độ T
X
→ 1/∂ - 1/262 = 1,69.10
-5
x(VT-0)
Như vậy, với tần số xung là 17,4kHz thì cứ ∂ xung thì "ABCD" quay 1 lần.
e)Ghép nối giữa khối động cơ và 8255A:
Hình: Ghép nối giữa 8255A và động cơ bước.
PB dùng để điều khiển động cơ, sử dụng 4 bit PB
0
đến PB
3
.
f)Kết nối giữa cổng song song và 8255A:
Hình: Kết nối giữa cổng song song và 8255A.
∂ = 59172/(VT+227).
PB
1
PB
0
PB
2
PB
3

khiển.
Sơ đồ nguyên lí bộ chia tần 12.
Hình: Sơ đồ nguyên lí bộ chia tần 12.
Một chu kỳ làm việc của ADC:
- F/C: khi nối đất dùng thạch anh trong l m xung nhà ịp.
- CSYNC: lối v o cho xung à đồng bộ từ bên ngo i, nà ếu dùng thạch
anh trong thì phải nối đất.
- /RES: chân khởi động, nối với mạch RC để tự khởi động.
f
XTAL
/6 = 2,5MHz
độ rỗng = 50%
XTAL
15MHZ
+5V
10k
+
C
10uF
PCLK
F/C CSYNC
/RES
Reset
Reset: Dùng reset lại 8255A
khi khởi động.
8284
f
74LS92
MR1
MR2

EOC='1': ADC đã chuyển đổi xong
Reset
200kHz
4)Đoạn mã chương trình:
a)Các chế độ của 8255A và cổng song song:
8255A làm việc ở mode 0 (vào ra cơ sở)
Thiết lập mode cho 8255A:
CWR (A
0
='1',A
1
='1')
1 0 0 1 0 0 0 0
Điều
khiển
cấu
hình
8255A
Chọn mode 0
cho nhóm A
(gồm PA và
PC
H
)
PA
nhận
dữ liệu
PC
H
xuất dữ

Chức
năng
EOC
(ADC)
CLK(200kHz)
Thanh ghi điều khiển, địa chỉ 37Ah
Tín hiệu X X X X
SLCTIN
INIT
AFD
STR
Chức
năng

A
1
(8255A)
A
0
(8255A)
RD
,WR
(8255A)
Mô hình phương pháp thu thập nhiệt độ:

T
X
S0
S1
S2

X
trong
khoảng T
i
đến T
i+1
, các cảm biến S0 đến Si-1 đều cho giá trị 1111.1111b, các
cảm biến Si+1 đến S7 đều cho giá trị 0000.0000b, còn cảm biến Si cho giá trị
trung gian giữa 0000.0000b và 1111.1111b. Lấy tổng các giá trị này, ta biết
được giá trị tuyến tính theo Tx.
b)Lưu đồ thuật toán chương trình:
c)Đoạn mã chương trình:
Begin
Lập mode 0
cho 8255A
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?
Chú thích:
- Sau khi chạy chương trình, hệ thống sẽ l m vià ệc
liên tục đến khi tắt nguồn cung cấp.

JNE khongquay; nếu chưa đếm đủ thì chưa cho động cơ nhảy tiếp
CALL Quaydongco; nếu đã đủ thì cho động cơ nhảy tiếp
MOV demxung,0; reset lại biến đếm xung
khongquay:
JMP vonglap;
Docnhietdo PROC NEAR
OUT 37A, 101b; yêu yêu cầu PC chuẩn bị nhận dữ liệu
OUT 00100000b; yêu cầu ADC chốt địa chỉ ra.
OUT 37Ah, 000b; yêu cầu PA chuẩn bị xuất dữ liệu
IN AX, 378h; nhận chỉ báo nhiệt độ từ đầu cảm biến
ADD VT, AX; cộng giá trị vào biến nhiệt độ
INC Daucambien;
CMP daucambien 8;
JNE alabel;
MOV daucambien,0; bắt đầu lại từ đầu cảm biến 0
ADD VT,227;
MOV AX,59712;
MOV DX,0;
DIV VT;
MOV delta,AX; suy ra delta=59712/(VT+227)
MOV VT,0; khởi tạo lại biến chỉ báo nhiệt độ
alabel:
RET
Quaydongco PROC NEAR
OUT TGDK,011b; yêu cầu PB chuẩn bị nhận dữ liệu
ROL quay;
OUT TGDL, quay; cho động cơ quay theo biến điều khiển quay
RET
Demxungclk PROC NEAR
IN AH, TGTT; lấy thanh ghi trạng thái vào AH


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status