- Chất lượng mối hàn là mối quan tâm rất lớn của một board mạch. Trong thiết bị sử dụng số lượng mối hàn rất lớn, chỉ cần một mối hàn không đạt về mặt ỹ thuật xem như board mạch, thiết b
Trang 1BÀI 7
GIÁM SÁT VÀ ĐIỀU KHIỂN THIẾT BỊ
I MỤC ĐÍCH YÊU CẦU
- Hiện nay, vi xử lý và vi điều khiển đóng vai trò rất quan trọng trong lĩnh vực điều khiển tự động Các bộ điều khiển dùng linh kiện rời dần dần được thay thế bởi các bộ điều khiển dùng vi xử lý Mặc dù đã được học các vấn đề cơ bản như quét bàn phím, quét bảng đèn, điều khiển động cơ bước, điều rộng xung,… tuy nhiên đa số sinh viên đều gặp nhiều khó khăn khi phải phối hợp các lý thuyết cơ bản trên để được chương trình hoàn chỉnh điều khiển một đối tượng cụ thể Mục đích của bài thực hành này giúp sinh viên làm quen với vi điều khiển thông dụng hiện nay và ứng dụng chúng để điều khiển các đối tượng cụ thể Bài thực hành tập trung vào phương pháp thiết kế chương trình sao cho dễ sửa chữa, mở rộng
- Bài thực hành này yêu cầu sinh viên phải biết trước cấu tạo và lập trình 89C51
II NỘI DUNG
1 Kiến trúc của vi điều khiển 8951
2
IC vi điều khiển 8951 thuộc họ MCS51 có các đặc điểm sau :
+ 4 kbyte Flash
U1
AT89C51
9
18
19
29 30 31
1 2 3 4 5 6 7 8
21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
39 38 37 36 35 34 33 32
RST
XTAL2
XTAL1
PSEN ALE/PROG EA/VPP
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
Trang 2+ 128 byte RAM
+ 4 port I/0 8 bit
+ Hai bộ định thời 16 bits
+ Giao tiếp nối tiếp
+ 64KB không gian bộ nhớ chương trình ngoài
+ 64 KB không gian bộ nhớ dữ liệu ngoài
a.Port0: là port có 2 chức năng, ở trên chân từ 32 đến 39 của MC 8951
Trong các thiết kế cỡ nhỏ không dùng bộ nhớ ngoài, P0 được sử dụng như là những cổng I/O Còn trong các thiết kế lớn có yêu cầu một số lượng đáng kể bộ nhớ ngoài thì P0 trở thành các đường truyền dữ liệu và 8 bit thấp của bus địa chỉ
b Port1: là một port I/O chuyên dụng, trên các chân 1-8 của MC8951
Chúng được sử dụng với một múc đích duy nhất là giao tiếp với các thiết bị ngoài khi cần thiết
c Port2: là một cổng có công dụng kép trên các chân 21 – 28 của MC 8951
Ngoài chức năng I/O, các chân này dùng làm 8 bit cao của bus địa chỉ cho những
mô hình thiết kế có bộ nhớ chương trình ROM ngoài hoặc bộ nhớ dữ liệu RAM có dung lượng lớn hơn 256 byte
d Port3: là một cổng có công dụng kép trên các chân 10 – 17 của MC 8951
Ngoài chức năng là cổng I/O, những chân này kiêm luôn nhiều chức năng khác nữa liên quan đến nhiều tính năng đặc biệt của MC 8951, được mô tả trong bảng sau:
Bit Tên Chức năng chuyển đổi
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
RxD TxD 0 INT 1 INT T0 T1 ÖWR
RD
Ngõ vào dữ liệu nối tiếp
Ngõ xuất dữ liệu nối tiếp
Ngắt ngoài 0
Ngắt ngoài 1
Ngõ vào TIMER 0
Ngõ vào của TIMER 1
Điều khiển ghi dữ liệu lên bộ nhớ ngoài
Điều khiển đọc bộ nhớ dữ liệu ngoài
Bảng 2.1 : Chức năng của các chân trên port3
e PSEN (Program Store Enable): 8951 có 4 tín hiệu điều khiển, PSEN là
tín hiệu ra trên chân 29 Nó là tín hiệu điều khiển để cho phép truy xuất bộ nhớ chương trình mở rộng và thường được nối đến chân OE (Output Enable) của một EPROM để cho phép đọc các byte mã lệnh của chương trình Tín hiệu PSEN ở mức thấp trong suốt phạm vi quá trình của một lệnh Các mã nhị phân của chương trình được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của
8951 để giải mã lệnh Khi thi hành chương trình trong ROM nội PSEN sẽ ở mức cao
Trang 3f ALE (Address Latch Enable ): Tín hiệu ra ALE trên chân 30 tương hợp
với các thiết bị làm việc với các xử lý 8585, 8088 8951 dùng ALE để giải đa hợp bus địa chỉ và dữ liệu, khi port 0 được dùng làm bus địa chỉ/dữ liệu đa hợp: vừa là bus dữ liệu vừa là byte thấp của địa chỉ 16 bit ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nữa đầu của chu kỳ bộ nhớ Sau đó, các đường Port
0 dùng để xuất hoặc nhập dữ liệu trong nữa sau chu kỳ của chu kỳ bộ nhớ
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và
có thể được dùng là nguồn xung nhịp cho các hệ thống Nếu xung trên 8951 là 12MHz thì ALE có tần số 2MHz Chân này cũng được làm ngõ vào cho xung lập trình cho EPROM trong 8951
g EA (External Access): Tín hiệu vào EA trên chân 31 thường được nối lên
mức cao (+5V) hoặc mức thấp (GND) Nếu ở mức cao, 8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K) Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình cho EPROM trong 8951
h RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset của 8951 Khi tín hiệu
này được đưa lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong 8951 được đưa vào những giá trị thích hợp để khởi động hệ thống
i.OSC: 8951 có một bộ dao động trên chip, nó thường được nối với thạch
anh giữa hai chân 18 và 19 Tần số thạch anh thông thường là 12MHz
j POWER: 8951 vận hành với nguồn đơn +5V ( 20% Vcc được nối vào
chân 40 và Vss (GND) được nối vào chân 20
2 Tìm hiểu về tập lệnh của 89C51
Một số lệnh thường gặp
ACALL addr11 : Gọi chương trình con(gọi đến địa chỉ tuyệt đối)
Mô tả: ACALL gọi không điều kiện một chương trình con đặt tại địa chỉ được chỉ
ra trong lệnh Lệnh này tăng nội dung của PC bởi 2 để PC chứa địa chỉ của lệnh kế lệnh ACALL, sau đó cất nội dung 16 bit của PC vào stack(Byte thấp cất trước) và tăng con trỏ stack SP bởi 2 Do vậy chương trình con được gọi phải được bắt đầu trong cùng khối 2K của bộ nhớ chương trình với Byte đầu tiên của lệnh theo sau lệnh ACALL Các cờ khong bị ảnh hưởng
LCALL addr16 : Gọi chương trình con Chương trình con được gọi phải được bắt
đầu trong cùng khối 64K của bộ nhớ chương trình với Byte đầu tiên của lệnh theo sau lệnh LCALL Các cờ khong bị ảnh hưởng
ADD A,<src-byte>: Cộng
Mô tả: ADD Cộng nội dung của một byte ở địa chỉ được chỉ ra trong lệnh với nội dung thanh chứa và đặt kết quả vào thanh chứa
ADD có 4 kiểu định địa chỉ cho toán hạn nguồn: thanh ghi, trực tiếp, thanh ghi gián tiếp hoặc tức thời
AJMP addr11: Nhảy đến địa chỉ tuyệt đối Đích nhảy đến phải trong cùng khối
2K của bộ nhớ chương trình với byte đầu tiên của lệnh theo sau lệnh AJMP
Trang 4ANL <dest-byte>,<src-byte>: thực hiện phép toán AND từng bít giữa hai toán
hạng được chỉ ra trong lệnh và lưu kết quả vào toán hạn đích Các cờ không bị ảnh hưởng
CJNE <dest-byte>,<src-byte>,rel : So sánh và nhảy nếu không bằng Cờ nhớ
được set bằng 1 nếu giá trị nguyên không dấu của toán hạn trước nhỏ hơn giá trị nguyên không dấu của toán hạn sau Ngược lại cờ nhớ bị xoá
CLR bit: Xoá bít
CPL bit: Lấy bù bit
DEC byte: Byte chỉ ra trong lệnh được giảm đi 1, cờ nhớ không bị anhư hưởng DIV AB: chia số nguyên không dấu 8 bit chứa trong thanh chứa cho số nguyên
không dấu 8 bít chứa trong thanh ghi B Thương số chứa trong thanh chứa A còn
dư số chứa trong thanh ghi B
DJNZ <byte>,<rel-addr): giảm byte chỉ ra trong toán hạn đầu trong lệnh và rẽ
nhánh đến địa chỉ được chỉ ra bưởi toán hạn thứ hai trong lệnh nếu kết quả sau khi giảm khác 0
INC byte: Byte chỉ ra trong lệnh được tăng bởi 1, cờ nhớ không bị anhư hưởng
JB bit,ret : Nhảy nếu bít được set bằng 1
MOV dest-byte>,<src-byte> : Di chuyển nội dung của toán hạng nguồn đến toán
hạn đích
MUL AB: Nhân các số nguyên không dấu 8 bit chứa trong thanh chứa A và trong
thanh ghi B Byte thấp của tích số 16 bit được cất trong thanh chứa cong byte cao cất trong thanh ghi B
RL A: 8 bít trong thanh chứa A được quay trái 1 bit
SETB <bit>: Set bit bằng 1
Một số ví dụ
Chương trình hiển thị giây và phút dùng bộ định thời
#include <Rc51Regs.inc>
Trang 5HT: MOV A,GIAY
; Chương trình ngắt
; Chương trình con hiển thị giây
; Chương trình con hiển thị phút
END
Chương trình sử dụng ngắt ngoài 0
Trang 6#include <Rc51Regs.inc>
ORG 00H
LJMP MAIN
ORG 001BH
LJMP T0ISR
ORG 0030
MAIN:
MOV TMOD,#11H
LJMP $
EXOISR:
SETB ET0
RETI
T0ISR: CLR TR1
MOV TH1,#HIGH(-50000)
MOV TL1,#LOW(-50000)
SETB TR1
RETI
END
3 Điều khiển công suất
- Điều khiển tải DC:
R1
Q2 R0
Vcc
p1.0
Rtai
Đây là sơ đồ điều khiển khá đơn giản cả về phần cứng lẫn phần mềm, tuy nhiên sơ đồ thường chỉ áp dụng để điều khiển các tải DC công suất nhỏ
dm on T
dm
T
T dt I T I
on
=
0
2 1
Ton: Thời gian dòng điện chạy qua tải
TOFF: Thời gian dòng điện không chạy qua tải
T = Ton + TOFF
Trang 7Vậy muốn tăng dịng điện qua tải thì ta tăng Ton Khi Ton = T thì dịng điện qua tải là lớn nhất
- Điều khiển tải AC:
Ta dùng phương pháp điều khiển gĩc pha là phương pháp thay đổi gĩc kích α của Triac để làm biến đổi điện áp đặt lên tải, khi gĩc kích α = 0 thì coi như tồn bộ điện áp lưới đặt lên tải nếu như ta bỏ qua sụt áp trên Triac Ưu điểm của phương pháp này là điều khiển liên tục và chính xác hơn
Q2
Rt
Tai AC
V1 220V
R1
R2
Q1 TRIAC
p1.0
R0
5V
Hình :Sơ đồ mạch điều khiển
Vtải
Ig
VAC
α
Trang 8Giá trị điện áp hiệu dụng trên tải :
∫
π
θ θ
π
2 0
2
) sin (
2
d Um
∫ π
π (Um sin ) d
2 / 1
=
2 / 1 ) 2
2 sin (
2
1
π
=
2 / 1 ) 2
2 sin (
1
π
U
Trong đó, U và Um lần lượt là giá trị điện áp hiệu dụng và điện áp đỉnh trên tải còn α là góc kích dẩn Triac Từ đây, suy ra công suất trên tải là :
P = Uo* Io =
R
0 = 1 − +sin22
2
α α
π π
R U
− +
π
π π
α
2
2 sin 1
2
R
U
Trong đó, P là công suất tiêu thụ trên tải còn R là trở kháng của tải
Như vậy, công suất tiêu thụ trên tải phụ thuộc vào góc kích dẩn α, khi góc kích α tăng thì P giảm và ngược lại, tại α= 0 công suất là lớn nhất và bằng công suất danh định của tải, tại giá trị α = π công suất tiêu thụ nhỏ nhất P = 0 Nghĩa là, bằng cách thay đổi góc kích dẩn α ta sẽ điều khiển được công suất tiêu thụ trên tải
4 Điều khiển động cơ bước
- Đặc điểm chung của động cơ bước:
Động cơ bước thực chất là động cơ đồng bộ hoạt động dưới tác dụng của các xung rời rạc và kế tiết nhau Khi một xung dòng điện hoặc điện áp đặt vào cuộn dây phần ứng của động cơ bước, thì roto (phần cảm) của động cơ sẽ quay đi một góc nhất định, và được gọi là bước của động cơ, khi các xung dòng điện đặt vào cuộn dây phần ứng liên tục thì roto sẽ quay liên tục
Vị trí của động cơ bước được xác định bằng số lượng xung và vận tốc của động cơ tỷ lệ với tần số xung và được xác định bằng số bước/giây.Tính năng làm việc của động cơ bước được đặc trưng bởi bước được thực hiên, đặc tính góc (quan hệ của momen địên từ theo góc giữa trục của roto và trục của từ trường tổng, tần số xung giới hạn sao cho các quá trình quá độ, khi hoàn thành một bước
có thể tắt đi trước khi bắt đầu bước tiếp theo.Tính năng mở máy của độn g cơ,
Trang 9được đặc trưng bởi tần số xung cực đại có thể mở máy mà không làm cho roto mất đồng bộ ( bỏ bước)
Bước của động cơ (giá trị của góc giữa hai vị trí ổn định kế nhau của roto) càng nhỏ thì độ chính xác trong điều khiển càng cao Bước của động cơ phụ thuộc vào số cuộn dây phần ứng, số cực của stato, số răng của roto và phương pháp điều khiển bứơc đủ hoặc điều khiển nửa bước Tuỳ theo yêu cầu về độ chính xác và kết cấu của động cơ mà bước của động cơ thay đổi trong giới hạn từ 0,180 ÷1800
Trong đó: động cơ bước nam châm vĩnh cữu dạng cực móng và có từ trở thay đổi
từ 60 ÷450, động cơ bước có từ trở thay đổi có góc bước nằm trong giới hạn từ 1,80 ÷ 300 và động cơ bước hỗn hợp có góc bước thay đổi trong khoảng 0,360÷150 Các giá trị góc của các loại động cơ kể trên được tính trong chế độ điều khiển bước đủ
Chiều quay của động cơ bước không phụ thuộc vào chiều dòng điện chạy trong các cuộn dây phần ứng, mà phụ thuộc vào thứ tự cuộng dây phần ứng được cấp xung điều khiển
Số cuộn dây phần ứng ( hay còn gọi là cuộn dây pha) của động cơ bước đựợc chế tạo từ 2 ÷ 5 cuộn dây pha ( hay còn gọi là bối dây và được đặt đối diện nhau trong các rãnh ở stato Đối với cuộn dây phải có hai cuộn dây thì chỉ dùng cho điều khiển lưỡng cực ( cuộc dây có cực tính thay đổi) với 4 cuộn dây có thể dùng cho cả hai chế độ điều khiển đơn cực và điều khiển lưỡng cực
Phương pháp điều khiển động cơ bước:
Có 3 phương pháp điều khiển động cơ bước: Đầy bước, nữa bước, vi bước nhưng ở đây ta chỉ xét trường hợp đầy bước
Nguyên lý làm việc của động cơ bước là dựa trên sự tác động tương hổ giữa từ trường của stato và roto, hình thành momen điện từ làm quay roto đi một góc nhất định Khi cho xung dòng điện tác động vào cuộn dây pha A A’ roto sẽ quay đến vị trí, mà trục từ trường của roto (cũng chính là trục của roto) trùng với trục từ trường pha A
Trang 10Nếu cắt xung dòng điện vào pha A, cho xung dòng điện tác dụng vào cuộn
dây BB’ thì véc tơ từ hoá của dòng điện sẽ quay đi một góc là 180, do đó roto cũng
quay đi một góc 180 để cho trục của từ roto trùng với trục của từ trường tổng
Sau đó cắt xung tác động vào pha B và cho dòng điện tác động vào pha A nhưng đổi
dấu thì roto quay tiếp một góc 180 Nếu tính từ góc đầu thì roto đã quay một góc 360
Quá trình chuyển phát xung dòng điện tác dụng vào một trong hai pha cho
tới khi roto quay một vòng, động cơ sẽ thực hiện được 20 bước (Còn gọi 20 nhịp)
Quá trình chuyển mạch các cuộn dây điều khiển theo một trình tự (A+,B+,A
-, B-) và quá trình chuyển mạch theo trình tự (A+,B+),( A+,B-,),(A-,B+),(A-,B-)
Trong trường hợp này thì trong một chu trình chuyển mạch có 20 nhịp (bước ) và
ở mỗi nhịp có số cuộn dây điều khiển được cấp xung dòng điện cho nhau
Dạng điều khiển này được gọi là điều khiển bước đủ, hay còn gọi điều
khiển đối xứng
Điều khiển động cơ bước 1 pha và hai pha theo phương pháp đầy bước
Bảng trạng thái điều khiển động cơ bước
Bước Pha 1 Pha 2 Bước Pha 1 Pha 2 Pha 3 Pha 4
1 1 1 1 1 0 1 0
2 -1 1 2 0 1 1 0
3 -1 -1 3 0 1 0 1
4 1 -1 4 1 0 0 1
Điều khiển động cơ 2 pha
Trang 11Điều khiển động cơ 4 pha
- Từ bảng trạng thái trên ta có thể dùng IC số để tạo mạch điều khiển
Pha2
VCC
Pha3
U1A
7486
1
U2A
7473
14 1
13 2
J CLK
Q CLR
VCC
U1B
7486
4
Pha1
State
U2B
7473
7 5
8 6
J CLK
Q CLR
U1C
7486
9
U1D
7486
12
VCC
Pha4 Clook
- Đặc tính của động cơ bước : Vận tốc của động cơ bước phụ thuộc vào tần số
xung điều khiển
Đặc điểm vận tốc của roto trên một bước thể hiện tính dao động của động
cơ, đặc tính này có thể được cải thiện bằng việc thiết kế một hộp biến tốc đặc biệt
nhằm hạn chế và loại trừ cộng hưởng để có được hằng số thời gian tốt hơn
Khi có một xung dòng điện vào cuộn dây stato, roto động cơ không chuyển
động ngay từ góc này sang góc khác mà nó dao động một thời gian cần để quay
5% vòng thì mới đạt được vị trí ổn định Hằng số thời gian phụ thuộc vào momen
quán tính của từ thông Φ
Tần số xung càng cao thì hằng số thời gian điện từ sẽ càng ngắn Nếu xung
điều khiển động cơ có tần số quá cao thì roto sẽ quay liên tục và làm việc quá tần
số giới hạn, ở chế độ này động cơ không thể dừng đột ngột và cũng không thể đảo