BÀI TẬP LỚN
ĐIỀU KHIỂN SẢN XUẤT TÍCH HỢP MÁY TÍNH
Tên đề tài :
“Thiết kế modul ghép nối với PC qua giao diện ISA để điều khiển và giám
sát hệ thống cung cấp nước ổn định áp lực ”.
1
LỜI MỞ ĐẦU
Ngày nay cùng với sự phát triển mạnh mẽ của khoa học kĩ thuật,máy
tính trở thành công cụ vô cùng quan trọng.Sự phát triển của “Kỹ thuật ghép
nối với máy tính” đã mở rộng đáng kể các lĩnh vực ứng dụng của máy
tính,đặc biệt là trong đo lường và điều khiển.Các thiết bị ghép nối với máy
tính theo các modul nhờ vậy mà máy tính có thể truyền nhận tín hiệu để thực
hiện nhiệm vụ xử lý tín hiệu và điều khiển. Các thiết bị, hệ thống đo lường
và điều khiển ghép nối máy tính có độ chính xác cao, thời gian thu thấp số
liệu ngắn, nhưng còn đáng quan tâm hơn là mức độ tự động hóa trong việc
thu thập và xử lý các kết quả đo, kể cả việc lập bảng thống kê cũng như in ra
kết quả. ISA là một tiêu chuẩn của rãnh cắm mở rộng của máy tính,phần lớn
các card ghép nối dùng trong kỹ thuật đo lường và điều khiển đều được chế
tạo để đặt vào các rãnh cắm theo tiêu chuẩn ISA. Bài tập lớn này của em chỉ
nêu lên một ứng dụng nhỏ của việc kết nối máy tính vào sản xuất nói chung
và rãnh cắm mở rộng nói riêng.
Qua một thời gian tìm hiểu, thiết kế với sự cố gắng của bản thân và sự
hướng dẫn của thầy giáo bộ môn đến nay em đã hoàn thành bài tập lớn này.
Tuy nhiên, do sự hiểu biết về thực tế và trình độ chuyên môn còn hạn chế
nên bài tập lớn không tránh khỏi thiếu sót. Em mong nhận được sự góp ý
của các thầy cô giáo và các bạn. Em xin chân thành cảm ơn!
2
Chương 1 : TỔNG QUAN CÔNG NGHỆ
1.1. Giới thiệu về rãnh cắm ISA
Rãnh cắm thông dụng nhất là rãnh căm isa(industry standasd
architecture) do IBM đưa ra năm 1980 cho máy 8086 XT, sau đó là ISA 16
bít cho máy AT và chở thành chuẩn AT bus .
Thông thường rãnh cắm có 62 đường tín hiệu dùng cho các mục đích
thông tin với các card cắm vào. Về cơ bản các đường tín hiệu này được chia
ra thành các đường dẫn tín hiệu,đường dẫn địa chỉ và đường dẫn điều khiển.
bưởi vì ngay từ các máy tính pc/xt đã có sẵn các rãnh cắm 62 chân này là
rãnh cắm 8 bit. Chỉ những card 8 bit mới cắm được vào rãnh này. Bảng dưới
đây chỉ ra sự săp xếp chân ra của rãnh cắm mở rộng 8 bit.
Hình 1.1: Cấu tạo rãnh cắm ISA
3
Về sau PC/AT có thêm rãnh cắm thứ 2 và có 36 chân.Trên rãnh này có
chứa các tín hiệu 16 bit. Nên khi có thêm rãnh cắm này người ta gọi chung
cả 2 rãnh cắm là rãnh cắm 16 bit. Dưới đây là bảng ý nghĩa rãnh cắm isa:
4
Thông qua rãnh cắm có thể truy cập 1024 địa chỉ ngoại vi từ 000 đến 3FF
,trong đó đã sử dụng cho các thiết bị có sẵn của máy tính như trong bảng
sau:
5
6
Tuyến ISA có nhiều chân nhưng thực tế sử dụng ta chỉ cần các đường
địa chỉ SAo…SA9, dữ liệu SD0…SD15, điều khiển –IOR,-IOW,AEN,-
IOCS16,-SBHE, ngõ vào ngắt IRQ , xung nhịp CLK và nguồn. Các ngoại vi
được gọi la port, nếu xuất nhập thực hiện theo 8 bit, nếu xuất nhập 16 bít thì
dùng hai port địa chỉ kế tiếp nhau.
Hình 1.2. Giản đồ thời gian ghi, đọc ngoại vi 8 bit, 16 bit
7
Việc thiết kế card ISA xuất nhập 8 bit bao gồm mạch giải mã địa chỉ , mạch
chốt dữ liệu ra và mạch đệm dữ liệu vào.
Giao diện vào/ra trên rãnh cắm PC:
U 51
2
4
3
A 5
A 3
U 4 A
7 4 H C 0 0 / L C C
2
3
4
A 6
D 4
D 7
A 8
D 6
S W 1
S W D I P - 8
D 3
A 1
D 1
R E S E T
7 4 H C 6 8 8
7 4 H C 6 8 8
1 1 9
3
5
7
9
1 2
1 4
1 6
1 8
2
4
6
8
1 1
1 3
1 5
1 7
O E P = Q
Q 0
Q 1
Q 2
Q 3
Q 4
Q 5
Q 6
Q 7
P 0
P 1
P 2
P 3
P 4
P 5
P 6
P 7
D 0
A 9
D 2
D 5
A 2
A 7
A 0
/ I O
U 1
8 2 5 5
3 4
3 3
3 2
3 1
3 0
2 9
2 8
2 7
4
3
2
1
4 0
3 9
3 8
3 7
1 8
1 9
2 0
2 1
2 2
2 3
2 4
2 5
1 4
1 5
1 6
1 7
1 3
1 2
1 1
1 0
5
3 6
9
8
3 5
6
D 0
D 1
D 2
D 3
D 4
D 5
D 6
D 7
P A 0
P A 1
P A 2
P A 3
P A 4
P A 5
P A 6
P A 7
P B 0
P B 1
P B 2
P B 3
P B 4
P B 5
P B 6
P B 7
P C 0
P C 1
P C 2
P C 3
P C 4
P C 5
P C 6
P C 7
R D
W R
A 0
A 1
R E S E T
C S
0
I S A
A 2
A 3
A 4
A 5
A 6
A 7
A 8
A 9
A 2 2
A 2 3
A 2 4
A 2 5
A 2 6
A 2 7
A 2 8
A 2 9
A 1 1
B 1 3
B 1 4
A 3 0
A 3 1
B 0 2
U 4 A
7 4 H C 0 0 / L C C
2
3
4
U 4 A
7 4 H C 0 0 / L C C
U 2
7 4 H C 2 4 5
2
3
4
5
6
7
8
9
1 91
1 8
1 7
1 6
1 5
1 4
1 3
1 2
1 1
A 0
A 1
A 2
A 3
A 4
A 5
A 6
A 7
O ED I R
B 0
B 1
B 2
B 3
B 4
B 5
B 6
B 7
A S E N
A 4
/ I O W
Hình 1.3. Sơ đồ nguyên lý mạch ghép nối giao diện ISA
Bộ giải mã địa chỉ 74HC688 so sánh các đường dẫn địa chỉ từ A2 đến A9
xem có thống nhất với các địa chỉ cơ bản được thiết lập trên card mở rộng
bằng chuyển mạch DIP,74HC688 so sánh 2 trong số 8 bit xem có giống
nhau không và khi các bit xếp kề sát đồng nhất sẽ tạo ra tín hiệu Low ở chân
19.Mạch lôgic của mạch giải mã có chứa 2 vi mạch 74HC00 và
74HC138.Ba cổng NAND làm cho bộ đệm bú 74HC245 sau đấy chỉ trở nên
8
được kích hoạt(/G=0)khi các điều kiện sau được thực hiện:Thứ nhất là card
mở rộng cắm vào đã trao đổi được(chân 19 của vi mạch 74HC688 bằng 0)
thứ hai là 1 chu trình đọc hay 1 chu trình ghi được thực hiện(IRO=0 hoặc
IRW=0).
1.2. Giới thiệu về các linh kiện sử dụng trong sơ đồ
1.2.1. Vi mạch 8255
Hình 1.4 : Sơ đồ khối và các chân chức năng
8255A-5 là vi mạch giao tiếp song song rất thông dụng trong toàn các hệ
thống .Vi mạch này có 24 chân cho thiết bị I/O có thể lập trình hoạt động
trong 3 mode khác nhau .8255A-5 có thể nối ghép bất kỳ thiết bị vào ra kiểu
TTL và tương thích với 8088 .8255A-5 thường được sử dụng để ghép nối
với bàn phím và cổng máy in song song trong các máy PC . Ba cổng vào ra
của nó được lập trình thành các nhóm 12 chân .Nhóm A bao gồm cổng A
9
( PA7 - PA0 ) và nửa cao của cổng C (PC7 - PC4 ) , nhóm B bao gồm cổng
B (PB7 - PB0 ) và nửa thấp của cổng C ( PC3 - PC0 ). 8255A-5 được chọn
bằng chân CS của nó để lập trình và phục vụ việc ghi đọc ra cổng I/O . Hai
chân A1,A0 chọn thanh ghi nội để lập trình hoặc hoạt động .Trong máy PC
8255A-5 được giải mã tại địa chỉ 60h-63h . Ðể 8255A-5 có thể đọc ghi thì
chân CS phải ở mức logic 0 và địa chỉ I/O phải được nối với chân A1 và
A0 ,không cần quan tâm đến các chân địa chỉ cổng còn lại và được giải mã
bên ngoài để chọn 8255A-5 .
A1 A0 RD WR CS Chức năng
0 0 0 1 0 Đọc cổng A
0 1 0 1 0 Đọc cổng B
1 0 0 1 0 Đọc cổng C
0 0 1 0 0 Ghi cổng A
0 1 1 0 0 Ghi cổng B
1 0 1 0 0 Ghi cổng C
1 1 1 0 0 Ghi từ điều khiển
X X X X 1 Bus D ở Z cao
X X 1 1 0 Bus D ở Z thấp
Bảng 1.5. Bảng chọn địa chỉ I/O cho 8255
Có hai loại từ điều khiển cho 8255
- Từ điều khiển định nghĩa cầu hình cho các cổng PA, PB, PC
- Từ điều khiển lập/xóa từng đầu ra của cổng PC.
* Từ điều khiển định nghĩa cấu hình
Các cổng PA, PB, PC được chia thành 2 nhóm. Nhóm A gồm cổng
PA và 4 bít cao của PC (gọi 4 bit này là CA), nhóm B gồm cổng PB và 4 bit
thấp của cổng PC (gọi 4 bit này là CB). Từ điều khiển dùng để điều khiển
định nghĩa cấu hình các cổng như sau.
1 MA1 MA0 A CA MB B CB
10
Trong đó:
- MA1, MA0: Là 2 bit định chế độ cho nhóm A
00: Chế độ 0
01: Chế độ 1
1x: Chế độ 2
- Bit A dùng để đặt cổng PA là cổng ra (A=0) hay cổng vào (A=1)
- Bit CA dùng để đặt 4 bit cao của cổng PC là cổng ra (CA=0) hay cổng vào
(CA=1)
- Bit MB là bit định chế độ làm việc cho nhóm B:
MB=0: Chế độ 0
MB=1: Chế độ 1
-Bit B để đặt cổng PB là cổng ra (B=0) hay cổng vào (B=1)
-Bit CB dùng để đặt 4 bit thấp của cổng PC là cổng ra (CB=0) hay cổng vào
(CB=1)
* Từ điều khiển lập/xóa bit PCi
0 0 0 0 C B A S/R
Trong đó:
Các bit a, b, c dùng để chọn một trong 8 bit: PC0 … PC7 của cổng PC.
Bit được chọn sẽ có giá trị bằng bit S/R ( 0 hoặc 1). Bit S/R có thể được đặt
là 0 hoặc 1 tại thời điểm ghi điều khiển.
Các chế độ làm việc của 8255A có thể được đặt bằng cách ghi nội
dung vào từ điều khiển ( thường được ký hiệu là CWR). 8255A có 4 chế độ
làm việc.
- Chế độ 0: Vào/ra cơ sở. Trong chế độ này mỗi cổng PA, PB, PCH hay PCL
đều có thể được định nghĩa là cổng vào hoặc cổng ra.
11
- Chế độ 1: Vào ra có xung cho phép. Trong chế độ này mỗi cổng PA, PB có
thể được định nghĩa là cổng vào hoặc cổng ra với các tín hiệu móc nối do
các bit tương ứng của cổng PC trong cùng nhóm đảm nhiệm.
- Chế độ 2: Vào ra 2 chiều. Trong chế độ này chỉ riêng cổng PA có thể được
định nghĩa là cổng vào/ra 2 chiều với các tín hiệu móc nối do các bit của
cổng PC đảm nhiệm. Cổng PB có thể làm việc ở chế độ 1 hoặc 2.
- Lập xóa các bit cổng PC
1.2.1.Giới thiệu về ULN2803
Hình 1.6. Cấu tạo ULN2803
Vi mạch ULN 2803 để khuếch đại dòng tải của các đầu ra từ modul cơ sở
để cấp cho các rơle,ULN2803 là một bộ đệm khá đặc biệt,nó chứa bên trong
8 bộ khuếch đại darlington với các điôt bảo vệ đã được tích hợp sẵn cho các
trường hợp tải cảm kháng.Các bộ khuếch đại darlington này được điều khiển
trực tiếp bởi các tín hiệu logic TTL và có thể cung cấp 1 dòng tải ở đầu ra
đến 500mA.Các đầu ra đều là đầu ra collector hở.
1.2.3. Giới thiệu về 74HC245
12
Hình 1.7. Cấu tạo 74HC245
Bộ đệm bus 2 chiều 74HC245 gồm có 20 chân, ,bộ đệm chỉ hoạt động
khi có tín hiệu low ở chân 19.Nó có chứa 8 vi mạch đệm với các lối ra 3
trạng thái để trao đổi thông tin giữa các đường dẫn bus dữ liệu theo 2 hướng.
Hướng truyền dữ liệu được xác định bằng chân DIR: DIR = 0, dữ liệu được
chuyển từ B sang A. Việc chuyển hướng dữ liệu cho phép quản lý đơn giản
bằng tín hiệu /IOR. Ta có thể nối trực tiếp ra chân DIR. Qua đó đảm bảo bộ
đệm chỉ cho phép dữ liệu đưa vào từ bên ngoài đưa lên bus dữ liệu của máy
tính khi PC thực hiện một quá trình truy nhập đọc (/IOR = 0)
1.2.4.Giới thiệu về 74HC688
Hình 1.8. Cấu tạo 74HC688
Chương 2: GHÉP MODUL VÀ LẬP TRÌNH ĐIỀU KHIỂN
13
Bộ giải mã địa chỉ 74HC688 so
sánh các tín hiệu từ A0-A7 xem có
thống nhất với các địa chỉ của tín
hiệu trên các chân tương ứng B0-
B7.74HC688 sosánh hai trong số
tám bit xem có giống nhau không
và khi các bit xếp kề sát đồng nhất
sẽ tạo ra một tín hiệu Low ở
chân19.
2.1. Sơ đồ hệ thống bơm nước ổn định áp lực
Hình 2.1. Sơ đồ khối công nghệ cấp nước ổn định áp suất
Một bồn chứa có bơm cấp nước và bình chứa có đo áp suất
*/ Yêu cầu hoạt động là:
+ Ta đặt áp suất trong bình giới hạn trong khoảng cho phép từ 0,5 – 2,5 atm
theo công nghệ của phần cứng đã lắp đặt. Chọn giá trị áp suất trong bình là
1,5 atm và dung khối cảm biến PI để biết áp suất hiện tại trong bình chứa
lỏng.
+ Bài toán công nghệ trên thiết kế với độ chính xác không cao chỉ với 3 cảm
biến mức để nhận biết chiều cao để có thể điều khiển bơm 1, 2 tao ra mức
nước trong bình tạo ra áp suất mặt thoáng trong bình mong muốn.
14
+ Ta quy định là mức nước chạm cảm biến 2 thì cho áp suất trong bình là
1,5 atm. Khi đó ta cần phải ổn định mức nước ở mức 2 bằng cách điều khiển
lượng mở van điện từ của van 1 ,còn van 2 chỉ có chế độ đóng hoặc mở hoàn
toàn.
+ Khi mức nước ở mức 3 thì van 2 phải mở ra và van 1 mở với góc nhỏ .Khi
mức nước ở mức 1 thì đóng van 2 , mở van 1 góc lớn nhất và đến khi chạm
cảm biến 2 thì mở van 2 và điều chỉnh van 1 sao cho mức nước ổn định.
+ Nước đi qua van 2 sau đó quay lại cấp nguồn nước cho van 1 .
2.2. Thiết kế mạch điều khiển ghép nối máy tính
2.2.1. Mạch vào ra ghép nối ISA
15
2.2.2. Mạch cảm biến
2.2.3. Mạch đầu ra rơle
2.2.4. Mạch cấp nguồn
C 8
G N D
+ 8 V
+ 5 V
- 8 V
- +
D 1
D I O D E B R I D G E _ 4 2 1 3
1
4
3
2
+ 1 0 V ~
- 1 0 V ~
U 5
L M 7 8 0 8 / T O
V I N
1
V O U T
2
U 6
L M 7 9 0 8 / T O 3
V I N
3
V O U T
2
U 7
L M 7 8 0 5 / T O
V I N
1
V O U T
2
C 2
C 3
C 4
C 5
C 6
C 7
16
CHƯƠNG 3 : THIẾT KẾ PHẦN MỀM
3.1. Giao diện phần mềm
Các shape đỏ khi bơm ngừng hoạt động và xanh khi bơm hoạt động
+) Add modul thư viện động
Public Declare Function Inportb Lib "dlportio.dll" Alias "Dlport Read Port
Uchar" (ByVal Port As Long) As Byte
Public Declare Sub Outportb Lib "dlportio.dll" Alias "Dlport Write Port
Uchar" (ByVal Port As Long, ByVal Value As Byte)
+) Chương trình
Dim a, b, c As Integer
Private Sub Command1_Click()
MsgBox " Chuong trinh dieu khien muc nuoc on dinh ap suat qua giao dien
ISA "
End Sub
Private Sub Command2_Click()
17
End
End Sub
Private Sub Command3_Click()
Timer1.Interval = 10
Outportb &H303, 144 //ghi tu dieu khien
b = Inportb(&H300)
If b > 0 Then
MsgBox "be dang con nuoc, hay xa het nuoc"
Else
a = 1
End If
End Sub
Private Sub Form_Load()
Shape1.Visible = False
Shape2.Visible = True
Shape3.Visible = True
Shape4.Visible = True
Shape5.Visible = False
Shape6.Visible = True
End Sub
Private Sub Timer1_Timer()
If a = 1 Then
Outportb &H301, 7 // bat bom 2
Shape1.Visible = True
Shape4.Visible = True
Shape5.Visible = True
Shape2.Visible = False
18
Shape3.Visible = False
Shape6.Visible = False
b = Inportb(&H300)
If b = 3 Then
Outportb &H301, 3 // tat bom 2
Shape1.Visible = False
Shape2.Visible = True
b = Inportb(&H300)
If b = 7 Then
Outportb& H301, 1 // tat bom 2 va van 1 mo 90 do
Shape3.Visible = True
Shape4.Visible = True
b = Inportb(&H300)
If b = 15 Then
Shape6.Visible = True
Shape5.Visible = False
Outportb& H301, 0 'tat bom 2, mo van 1
End If
End If
End If
End If
End Sub
19
Kết luận
Sau nhiều ngày tìm hiểu và làm bài tập lớn dưới sự hướng đẫn của thầy
và bạn bè, em đã hoàn thành xong được đề tài này. Sau khi làm xong đã giúp
cho em có nhiều hiểu biết hơn về vi điều khiển và hoạt động của nó. Mặc dù
em đã rất cố gắng, xong do kiến thức còn hạn chế nên không thoát khỏi
những sai lầm trong khi thiết kế, mong thầy có thể chỉ ra những sai sót đó để
em có thể lắm rõ hơn nữa về vấn đề. Em xin chân thành cảm ơn.
Tài liệu tham khảo
[1] Bài giảng môn điều khiển sản xuất và tích hợp máy tinh - Thầy Lưu
Hoàng Minh, Trường ĐHHH Việt Nam
[2] Kỹ thuật ghép nối máy tính – Ngô Diên Tập, Nhà xuất bản khoa học – kĩ
thuật
20