MÁYCHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 41
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
II. MẠCH GIẢI MÃ TÍN HIỆU ĐIỀU KHIỂN: (được xem là mạch trung tâm)
Mạch giải mã tín hiệu điều khiển thực ra chỉ là mạch đệm dữ liệu giữa
mạch ngoài và mạch giaotiếp bên trong máytính đồng thời giải mã các tín hiểu
điều khiển được truyền đến. Mạch được thiếtkế theo sơ đồ khối sau:
SƠ ĐỒ KHỐI MẠCH GIẢI MÃ TÍN HIỆU ĐIỀU KHIỂN
Mạch lấy tín hiệu trực tiếp từ card giaotiếp đưa ra, sau đó cân áp ra mức
logich 0 hay 1 (0V hay 5V) nhờ vào các điện trở mảng (array). Giải mã tín hiệu
điều khiển từ Port A, thông qua các IC 74LS00, 74LS192 và 4555 để lấy được tín
hiệu điều khiển động cơ bước truyền qua các jumper để truyền qua mạch công
suất. Truyền tín hiệu của port C sang mạch quét, các tín hiệu còn lại được xử lý
và truyền đi. Mạch sử dụng một IC 74164 (để chốt dữ liệu đầu ra, tín hiệu này
card giaotiếp sẽ đọc vào để xử lý, thông qua port B).
Dưới đây là sơ đồ mạch mạch Giải mã điều khiển động cơ bước, được thiết
kế sau khi thử nghiệm đối với từng mạch lẻ (mạch đơn, thínghiệm kiểm chứng
trên từng IC).
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 42
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
SƠ ĐỒ MẠCH TRUNG TÂM
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 43
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
Trong đó:
LINH KIỆN
Linh kiện Giá trò Chức năng
RN
14
1K
Điện trở mảng kéo lên, cho các tín hiệu PortABC.
C
111
100nF Lọc nguồn.
SV
1
Cảng vào, Port ABC, tín hiệu từ mạch giao tiếp.
SV
3
Cảng vào ra, trao đổi tín hiệu với cần quét.
74LS32 Giải mã Autoreset.
74LS00 Giải mã tín hiệu điều khiển và vòng lặp.
74LS192 Tạo vòng lặp.
4555 Giải mã tín hiệu nhò phân sang tín hiệu thập phân.
J
16
Truyền tín hiệu điều khiển đến mạch công suất.
Phân tích mạch:
Tín hiệu từ card giaotiếp sau khi truyền qua SV
1
được các điện trở
mảng RN
1
, RN
2
, RN
3
và RN
4
làm chuẩn mức logic 0 hay 1 (tín hiệu truyền
song song chỉ truyền với khoảng cách ngắn, với đoạn đường truyền dài tín
hiệu sẽ bò suy giảm).
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 44
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
Chân PC
5
chọn làm chân Reset để xác lập lại trạng thái khởi điểm của
IC 74164, chân PC
4
là tín hiệu nhòp dữ liệu. Tín hiệu vào chân AB được lấy
trực tiếp từ mạch quét gởi về. Tín hiệu này đồng thời truyền qua cổng OR
để làm chuẩân mức logic và truyền tín hiệu này qua Port C về PC. Tín hiệu
được chốt ở IC 74164 sẽ thông qua RN
1
đến chờ ở PortB chờ CPU đọc vào.
Tín hiệu ERR1, ERR2 (lỗi 1, lỗi 2) lần lượt qua các chân 1, 2 của SV
3
đến cổng OR (IC2D) và chờ CPU đọc vào. Tín hiệu TH_Page, là tín hiệu
theo dõi xem có giấy hay không, lượt qua chân 3 của SV
3
và chờ CPU đọc
vào.
Mạch điều khiển động cơ bước làm việc trên cơ sở của mạch quét tuần
tự. Mạch dùng vi mạch đếm 74LS192 (với thiếtkế ban đầu dùng vi mạch
4022B) và vi mạch giải mã nhò phân sang mã thập phân, 4555B. Sự kết hợp
của hai vi mạch này tạo ra mạch quét tuần tự bốn (04) bước, có thể chuyển
trạng thái từ quét thuận sang quét nghòch hay ngược lại. Thực hiện chức
năng này là nhờ vào vi mạch 74LS192 có là loại đếm thuận nghòch
(up/down counter). Vi mạch này kết hợp với một cổng NAND tạo thành một
bộ đếm vòng lên xuống (bốn bước).
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 45
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
Xung Ck và tín hiệu điều khiển up/down nhận từ Port A qua điều
khiển bằng cổng NAND (74LS00) tạo ra xung Ck_up hay Ck_down tác động
vào chân Ck tương ứng của 74LS192 (chân số 04: Ck_up; chân số 05:
Ck_down). Trường hợp đếm lên: khi QC lên mức [1] (chuyển tiếp từ giá trò
0011
B
lên 0100
B
) sẽ tạo nên xung qua cổng OR (cổng dùng chung với chức
năng Autoreset) tạo mức logic [0] tác động vào Clr (chân số 14), vòng đếm
trở về giá trò 00
B
, vòng lặp cứ thế tiếp tục. Trường hợp đếm xuống: khi QD
lên mức [1] (chuyển tiếp từ giá trò 0000
B
lên 1111
B
) sẽ tạo nên xung qua
cổng NAND tạo mức logic [0] tác động vào LD (chân số 11, load), giá trò
đặt trước sẽ được đưa ra (AB=[1] và CD=[0]
0011
B
) vòng đếm trở về giá trò
11
B
,vòng lăp cứ thế tiếp tục. Giá trò của QA, QB được chuyển đến tín hiệu
vào (A,B tương ứng) tương ứng của IC 4555B, IC này sẽ chuyển giá trò nhò
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 46
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
phân này ra giá trò thập phân truyền đến mạch công suất để điều khiển
động cơ bước.
Đề tài sử dụng tất cả là năm (05) động cơ. Để đảm bảo tính chính xác
trong tính chất cơ học, động cơ bước (step motor) được sử dụng thay cho
động cơ DC trong các phần chính yếu. Trong quá trình thử nghiệm động cơ
bước, các chỉ số thu được liệt kê trong bảng sau:
BẢNG THÔNG SỐ KỸ THUẬT CÁC ĐỘNG CƠ BƯỚC
SỬ DỤNG TRONG THIẾTKẾ
Type V
max
(V)
P
max
(W)
Phase Deg
/Step
Ghi chú
231M-C351-03 10 5 04 1,8 Động cơ kéo bệ dò
457M-C961-23 10 5 04 1,8 Động cơ cuốn giấy
14769070-60 10 1 04 1,8 Động cơ kéo cần dò
DC 12V 12 2 01 Động cơ lấy giấy
DC 12V 12 2 01 Động cơ kéo phụ giấy
Trong mạch ngoài những mạch giải mã nói trên cần phải nhắc đến vai
trò không nhỏ của mạch Autoreset và bộ phận lọc nguồn.
Mạch Auto Reset được thết kế dựa trên nguyên lý quá trình nạp xả tụ,
cụ thể là lấy áp trên điện trở vi phân để làm tín hiệu Reset. Khi có điện tụ
sẽ tự động nạp đầy và trong thời gian quá độ này của tụ điện, áp trên điện
trở tích phân, R_RS, mang giá trò cao và giảm dần theo thời gian nghòch lưu
với giá trò áp trên tụ. Giá trò áp trên R_RS qua cổng đệm OR (cổng A-
74LS32) để làm chuẩn mức logic ([0] hay [1]) sau đó truyền tín hiệu này
đến chân thứ nhất của cổng OR thứ B, C, D (chân thứ hai tương ứng của các
cổng này được liên kết với các chân QC của 74LS192) và truyền đến chân
Clr của 74LS192 (mức logic [1]) làm cho IC này tự động Reset thiết lập lại
trạng thái ban đầu.
Mạch lọc nguồn đơn giản chỉ là các tụ lọc đặt trước các chân nguồn
của IC số để lọc hết các tín hiệu nhiểu xuống Mass.
* Sơ đồ mạch in xin xem phần phụ lục A.
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 47
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
Công việc cuối cùng của việc thiếtkế đó chính là thiết kếvà xây dựng phần
mềm điều khiển toàn bộ hệ thống. Phần mềm được viết bằng phần mềm lập trình
cấp cao, ngôn ngữ lập trình PASCAL.
Trong giới hạn của việc trình bày đềtài người thực hiện chỉ đưa ra một số
thủ tục chính và sơ đồ khối mô tả phương cách hoạt động của chúng. Sau là phần
trình bày về phần mềm điều khiển, phần này gồm có:
Cài đặt Jumper của mạch Giaotiếpvà sự hỗ trợ của Mainboard (cài đặt
CMOS).
Xây dựng sơ đồ khối thư viện Driver.
Phân tích một thủ tục mẫu.
I. CÀI ĐẶT:
Trước hết chúng ta nên cài đòa chỉ cố đònh trên mạch Giao tiếp, công việc
này được thực hiện bằng cách gắn jumper nối liền hai chân 2-3 của các slot J1,
J2, J3; thực hiện công việc này là ta chọn đòa chỉ cố đònh là 300H (ta có thể cài
đặt đòa chỉ cố đònh là bao nhiêu tùy theo nhu cầu). Đòa chỉ bộ nhớ của mạch là
300H303H tương ứng với:
Đòa chỉ bộ nhớ: Đòa chỉ thực:
300H : đòa chỉ Port A.
301H : đòa chỉ Port B.
302H : đòa chỉ Port C.
303H : đòa chỉ Thanh ghi điều
khiển.
Sau khi nắm được đòa chỉ bộ nhớ của các Port nhờ vào công thức:
Đòa chỉ cố đònh+ 0H : đòa chỉ Port A.
Đòa chỉ cố đònh+ 1H : đòa chỉ Port B.
Đòa chỉ cố đònh+ 2H : đòa chỉ Port C.
Đòa chỉ cố đònh+ 3H : đòa chỉ Thanh ghi điều
khiển.
Ta tiến hành cài đặt lại CMOS của máytínhđể cho máytính hỗ trợ và kiểm
tra đòa chỉ chúng ta cài đặt. Công việc cài đặt lại CMOS thực hiện như sau:
Tắt máy, khởi động lại.
Khi máy kiểm tra Ram xong nhấn phím Delete để vào sửa chữa lại
CMOS.
Chọn mục Power Management Setup.
Chọn mục I/O Region Access Check.
Dùng phím PageUp và PageDown để chọn trò số của mục là 300h-33Fh.
Nhấn phím “ESC”, chọn Save and Quit, nhấn phím “Y”. Nhấn phím
“Enter”
Công việc hoàn tất khởi động lại máytính lần nữa.
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 48
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
II. XÂY DỰNG SƠ ĐỒ KHỐI THƯ VIỆN DRIVER:
Thư viện Driver là một trong số những thư viện được viết để xây dựng phần
mềm điều khiển máychấmđiểmtrắc nghiệm. Thư viện này được viết bằng ngôn
ngữ lập trình PASCAL, bao gồm 11 thủ tục con, dùng để điều khiển hoạt động
của động cơ và truy xuất dữ liệu hệ thống.
Thư viện này sử dụng một Unit tên VAR_COM, là thư viện chứa các hằng,
biến toàn cục của chương trình. Cụ thể:
UNIT VAR_COM; {Khai báo tên Unit cần tạo}
INTERFACE {Khai báo chung}
TYPE
File_Name_Type = String[16];
XY_Type = Record
Hor : Word;
Vert : Word;
End;
CONST
L_Horizontal = 600; (*Chiều dài tối đa tín hiệu điều khiển cần quét*)
L_Scan = 100; (*Chiều dài tối đa tín hiệu điều khiển quét *)
On = True;
Off = False;
Right = True;
Left = False;
Up = True;
Down = False;
VAR
Sys_Error : Byte;
DataA, DataB : Byte;
DataC, CL, CH : Byte;
Error : Boolean; (*PC3 : tín hiệu lỗi Error *)
Page : Boolean; (*PC2 : tín hiệu lỗi Page *)
Vert : Boolean; (*PC1 : tín hiệu Veritical *)
Hor : Boolean; (*PC0 : tín hiệu Horizontal*)
V_Count,
H_Count,
Sc_Count : Integer;
Add_Port : Array [0 2] of Word;
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 49
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
(*
Add_Port 0 : Address Port A
Add_Port 1 : Address Port B
Add_Port 2 : Address Port C
*)
DataA_Bit : Array[0 7] of Boolean;
(*
Bit 0 : Clock Vertical
Bit 1 : Up/Down Vertical
Bit 2 : Clock Scan
Bit 3 : Up/Down Scan
Bit 4 : Clock Horizontal
Bit 5 : Up/Down Horizontal
Bit 6 : Motor DC 1st
Bit 7 : Motor DC 2nd
*)
T_DL_CK : Word; (*Thời gian Delay của xung CK*)
T_DL_MDC : Word; (*Thời gian Delay của Motro DC*)
F_XY, (*File lưu trữ tọa độ XY*)
F_Data, (*File lưu trữ trả lời mẫu*)
F_Sys, (*File lưu trữ trạng thái*)
F_Ans : File; (*File lưu trữ kết quả*)
F_Error : Boolean;
W_Data, (*Chiều rộng dữ liệu*)
L_Data : Byte; (*Chiều dài dữ liệu *)
XY_Name : File_Name_Type; (*Tên mở rộng File tọa độ XY*)
XY_Count : Word; (*Số cặp tọa độ XY*)
XY_Data : Array [1 500] of XY_Type;(*Mãng dữ liêu, tối đa 500*)
IMPLEMENTATION {Thi hành}
BEGIN
END. {Kết thúc thư viện}
Các thủ tục ta xây dựng sơ đồ khối trong chương này là:
1.
ProceDure ReadC;
2.
ProceDure CK;
3. ProceDure MDC(DC1,DC2:Boolean);
4. ProceDure Run_SM(Motor:Byte;Step:Integer);
5. ProceDure SM_Standar(SM_H,SM_SC:Boolean);
6.
ProceDure Page_Out;
MÁY CHẤMĐIỂMTRẮCNGHIỆMGIAOTIẾPMÁY VI TÍNH Trang 50
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
7. ProceDure Page_In;
8. ProceDure GoXY(H,V:Integer);
9. ProceDure ResetData;
Sta
r
Read
PortC
L
Bit C
0
= 1
Bit C
1
= 1
Bit C
2
= 1
Bit C
3
= 1
Hor=True
Hor=False
Vert=False
Page=False
Error=False
Page=True
Vert=True
Error=True
End
Đ
Đ
Đ
Đ
S
S
S
S
. khởi động lại máy tính lần nữa.
MÁY CHẤM ĐIỂM TRẮC NGHIỆM GIAO TIẾP MÁY VI TÍNH Trang 48
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH. TRUNG TÂM
MÁY CHẤM ĐIỂM TRẮC NGHIỆM GIAO TIẾP MÁY VI TÍNH Trang 43
Sinh viên: Nguyễn Phước Hậu Giáo viên hướng dẫn: Thầy QUÁCH THANH HẢI
Trong đ :
LINH