You are on page 1of 25

1

MỞ ĐẦU
Ở nước ta ứng dụng và phát triển công nghệ thông tin nhằm góp phần
giải phóng sức mạnh vật chất, trí tuệ và tinh thần, thúc đẩy công cuộc đổi
mới, phát triển nhanh và hiện đại hóa các ngành kinh tế, tăng cường năng
lực cạnh tranh của các doanh nghiệp, hỗ trợ có hiệu quả cho quá trình chủ
động hội nhập kinh tế quốc tế, nâng cao chất lượng cuộc sống của nhân dân,
đảm bảo an ninh quốc phòng và tạo khả năng đi tắt đón đầu để thực hiện
thắng lợi sự nghiệp công nghiệp hoá, hiện đại hoá.
Có thể nói, CNTT đi vào vào thực tế sản xuất thông qua 3 con đường
chính:
+ Xây dựng các phần mềm ứng dụng (kế toán, thiết kế, điều khiển…)
+ Chế tạo các thiết bị phần cứng như các vi mạch, các chip điện tử,…
+ Chế tạo các thiết bị, máy móc sử dụng cả phần cứng và phần mềm.
Hiện nay có nhiều suy nghĩ giản đơn thường đồng nhất CNTT với các
sản phẩm phần mềm, sở dĩ như vậy là vì nền tảng công nghệ phần cứng
trong nước ta còn yếu. Tuy nhiên trong tương lai, điều này không còn đúng
nữa khi một loạt các doanh nghiệp lớn nước ngoài đã và đang đầu tư vào VN
như Intel, Compal… Điều này sẽ làm tăng ý nghĩa phương thức ứng dụng
CNTT thứ ba, đó là tạo ra các sản phẩm công nghiệp chứa đựng cả phần
cứng và phần mềm. Chính những sản phẩm này sẽ trực tiếp góp phần quan
trong cho sự nghiệp công nghiệp hóa - hiện đại hóa, tạo ra hiệu quả sản xuất
và năng lực cạnh tranh trong điều kiện hội nhập.
Ngành GTVT có một vai trò quan trọng trong nền kinh tế quốc dân,
đó là vai trò đi trước một bước, làm nền tảng cho sự phát triển các ngành
khác. Trong điều kiện phát triển và hội nhập hiện nay, ứng dụng CNTT
thành công trong GTVT là một điều kiện không thể thiếu được để ngành
GTVT làm tròn trách nhiệm của mình.
Là sinh viên của ngành CNTT trong trường đại học GTVT, ngoài việc
đảm bảo chương trình học tập em luôn mong muốn tìm hiểu các khả năng
ứng dụng trực tiếp của ngành học vào thực tế. Các hiểu biết này sẽ giúp em
hiểu hơn các kiến thức đã học, thấy được giá trị các kiến thức mà thày cô
trang bị cho, để tăng thêm niềm đam mê ngành nghề của mình. Chính vì vậy
em chọn đề tài NCKH “Thiết kế mô hình hệ thống điều khiển tự động đèn
tín hiệu giao thông”.
Mục tiêu của để tài là tìm hiểu chức năng điều khiển của máy tính, cụ thể :
 Nghiên cứu tìm hiểu cơ chế, cách thức điều khiển các thiết bị
ngoại vi bằng máy tính.
 Nghiên cứu tìm hiểu cơ sở khoa học của bài toán thiết kế hệ
thống đèn tín hiệu giao thông.
2

 Nghiên cứu thiết kế chế tạo mô hình hệ thống điều khiển đèn tín
hiệu giao thông.
CHƯƠNG I

GIỚI THIỆU VỀ HỆ THỐNG ĐÈN TÍN HIỆU GIAO THÔNG

1. Chức năng đèn tín hiệu giao thông


Giao thông là sự chuyển động của các dòng phương tiện. Cùng với sự
phát triển của kinh tế-xã hội, sự chuyển động này càng phức tạp và với mật
độ, cường độ cao. Điều này cũng dẫn đến mức độ mất an toàn cao của hệ
thống giao thông. Bản chất của sự mất an toàn này là khả năng xung đột
giữa các dòng giao thông.
Làm sao để tách các dòng giao thông này, giảm thiểu các khả năng
xung đột là nhiệm vụ của điều khiển giao thông. Về nguyên lý, có hai
phương thức điều khiển dòng giao thông: theo không gian và theo thời gian.
Ở phương thức điều khiển theo không gian, đó là tách các dòng giao thông
thông qua các biện pháp thiết kế hình học như làm cầu vượt, đường hầm,
hay các đảo, v.v… Còn ở phương thức điều khiển theo thời gian, người ta
chia thời gian thành những khoảng dành riêng cho sự lưu thông của một
dòng hoặc một nhóm dòng nhất định, trong khi cấm các dòng khác. Điều
khiển đèn tín hiệu giao thông thuộc về phương thức này.
Đèn tín hiệu giao thông (ĐTHGT) là thiết bị phát sáng để báo hiệu
hoặc điều khiển giao thông, được sử dụng trong tất cả các loại hình giao
thông: đường bộ, đường sắt, đường sông, đường biển và đường hàng không.
Mỗi loại hình giao thông có quy định về sử dụng ĐTHGT khác nhau. Trong
giao thông đường bộ, ĐTHGT được dùng chủ yếu để điều khiển giao thông.
Các loại đèn tín hiệu điều khiển giao thông đường bộ gồm 3 màu: xanh,
vàng, đỏ. Tín hiệu xanh: cho phép đi. Tín hiệu vàng: chú ý, báo hiệu sự thay
đổi của tín hiệu đèn; khi tín hiệu vàng bật sáng, người điều khiển phương
tiện phải cho xe dừng lại trước vạch dừng lại, phương tiện và người đi bộ đã
vượt quá vạch dừng phải nhanh chóng ra khỏi nút giao thông; tín hiệu vàng
nhấp nháy là được đi nhưng phải chú ý thận trọng. Tín hiệu đỏ: cấm đi.

2. Sơ lược lịch sử đèn tín hiệu giao thông

Ban đầu, đèn xanh đèn đỏ chỉ dành cho tàu hỏa. Lúc đầu, nó thắp sáng
bằng khí gas. Sau 43 năm, chúng mới chạy điện nhưng vẫn cần người điều
khiển cho tới khi hoàn toàn tự động năm 1950. Ban đầu, tín hiệu giao thông
này chưa có đèn vàng và thay thế nó là chiếc còi hú vang khi cần.
3

Lịch sử đèn tín hiệu có từ tháng 10/1868, khi người ta đặt hệ thống
đèn ngay bên ngoài tòa nhà Quốc hội Anh ở Luân Đôn. Chúng được lắp để
báo hiệu cho những đoàn tàu hỏa đi ngang qua đây. Trên cây cột kiểu hình
khuỷu tay gắn hai chiếc đèn khí gas, một màu xanh và một màu đỏ để dùng
cho ban đêm. Đèn đỏ có nghĩa là "dừng lại", còn đèn xanh là "chú ý".
Đèn dùng khí gas để thắp sáng trong những năm cuối thế kỷ XIX. Khí
gas được đưa vào từng đèn theo hệ thống van và khi cần thắp sáng đèn nào,
một cảnh sát sẽ vặn to đèn đó và vặn nhỏ đèn kia. Sử dụng đèn tín hiệu này
cực kỳ nguy hiểm và ngày 2/1/1869, tức chỉ vài tháng sau khi vận hành, hệ
thống đèn này phát nổ khiến một cảnh sát bị thương khi đang điều chỉnh. Dù
vậy, nó vẫn được sử dụng cho tới khi một người Mỹ (Lester Wire) phát
minh ra đèn tín hiệu dùng điện năng vào năm 1912.
Sau khi ngành công nghiệp ôtô phát triển vượt bậc, một cảnh sát có
tên Lester Wire, làm việc tại thành phố Salt Lake thuộc bang Utah của Mỹ,
đã nảy ra ý tưởng đưa đèn tín hiệu đường sắt vào đường bộ năm 1912. Khi
đó, đèn tín hiệu trên đường sắt đã được tự động hóa nhưng do tàu chỉ chạy
trên đường thẳng nên lúc đưa sang đường bộ, vốn nhiều đường ngang ngõ
tắt, chúng hoàn toàn không thích hợp và lại trở về hình thức điều chỉnh thủ
công.
Tháng 8/1914, Công ty tín hiệu giao thông ra đời ở Mỹ và chịu trách
nhiệm lắp đặt đèn giao thông tại các ngã tư bang Ohio. Điều đặc biệt là khi
đó, đèn tín hiệu chưa hề có đèn vàng nên mỗi khi chuẩn bị chuyển trạng thái,
cảnh sát giao thông bấm một chiếc còi hú vang để báo cho lái xe biết.
4

Đến năm 1920, hệ thống đèn tín hiệu này mới có đủ 3 màu: xanh,
vàng, đỏ và do sĩ quan cảnh sát Williams Potts, sống tại thành phố Detroit,
sáng chế.
Năm 1923, Gerrette Morgan đã được nhận bằng phát minh thiết bị
điều khiển tín hiệu giao thông. Nguyên nhân dẫn tới phát minh của Morgan
là do tình trạng tai nạn xảy ra nhiều trên đường phố Mỹ trong những năm
đó. Ông thấy cần phải có một tiêu chuẩn thống nhất để hệ thống tín hiệu sẵn
có hoạt động thật hiệu quả. Sau khi nghiên cứu, Morgan thiết kế cột tín hiệu
hình chữ T, trong đó có các tín hiệu như "dừng lại", "đi" và "dừng lại ở tất cả
các hướng". Khi đèn báo "dừng lại ở tất cả các hướng", người đi bộ mới
được phép đi qua đường.
Sau năm 1923, hệ thống đèn tín hiệu vẫn phải có người vận hành.
Tính riêng tại thành phố New York, hơn 100 cảnh sát phải làm việc 16 giờ
một ngày và tổng tiền lương ở mức 250.000 USD mỗi năm. Do những khó
khăn nói trên, các kỹ sư được lệnh thiết lập và phát triển hệ thống đèn tín
hiệu điều khiển tự động.
Năm 1950, đèn tín hiệu xanh - đỏ tự động được sử dụng rộng rãi ở
Canada và phát triển nhanh chóng trên thế giới. Ngày nay, hệ thống đèn tín
hiệu hiện đại hơn rất nhiều, tích hợp nhiều tính năng như tự động chụp hình
xe vượt đèn đỏ. Bên cạnh đó, nhiều nước có phát minh hết sức thú vị như
đèn 4 chế độ ở Anh, New Zealand, Phần Lan... Đèn sẽ chuyển từ "đỏ" sang
"đỏ và vàng" rồi mới đến "xanh" và về lại "vàng". Trạng thái đỏ và vàng
nhằm báo cho tài xế biết đèn xanh sẽ sáng trong một thời gian ngắn nữa.
Tại các nước trên thế giới, kể cả Việt Nam, có đèn tín hiệu giao thông
ba màu đơn giản, ý nghĩa từng màu được quy định như sau: Tín hiệu xanh là
được đi; Tín hiệu đỏ là cấm đi; Tín hiệu vàng là báo hiệu sự thay đổi tín
hiệu. Khi đèn vàng bật sáng, người điều khiển phương tiện phải cho xe dừng
lại trước vạch dừng, trừ trường hợp đã đi quá vạch dừng thì được đi tiếp. Tín
hiệu vàng nhấp nháy là được đi nhưng cần chú ý.

3. Các phương pháp điều khiển đèn tín hiệu giao thông

Thông thường có 2 góc độ phân loại hệ thống điều khiển đèn tín hiệu:
theo nguyên lý hoạt động và theo loại bộ điều khiển.
3.1. Theo nguyên lý điều khiển:
Dựa theo cách thức đưa ra các giá trị tham số thời gian các đèn trong chu
kỳ ta có các phương pháp sau.
a) Điều khiển định thời (chu kỳ cưỡng bức).
Đây là phương pháp kinh điển và thông dụng ở nước ta hiện
nay. Theo phương pháp này, chu kỳ đèn được tính toán từ trước (off-
5

line) dựa trên các số liệu thống kê về lưu lượng, tốc độ các dòng xe
vào nút. Sau đó các thời gian cố định này được đưa vào điều khiển các
đèn, không phụ thuộc vào lưu lượng hiện tại của dòng xe.
Ưu điểm: đơn giản.
Nhược điểm: không hiệu quả khi dòng xe có biến động lớn theo thời
gian.

b) Điều khiển động (chu kỳ thích nghi).


Để khắc phục nhược điểm của phương pháp điều khiển định
thời trên, cần phải phát hiện kịp thời các lưư lượng tức thời của dòng
xe, rồi từ đó tính toán các chu kỳ đèn hợp lý. Điều quan trọng nhất ở
đây là làm sao đo được lưu lượng xe tới nút. Phương pháp đo lưu
lượng (số lượng xe, tốc độ xe) thông dụng nhất hiện nay là sử dụng
các vòng từ chôn dưới đất. Tuy nhiên phương pháp này chỉ có hiệu
quả ở các nước phát triển khi dòng xe là đồng nhất, xe chạy theo làn
và có dãn cách hợp lý. Ở Việt nam, trong điều kiện dòng xe đa
phương tiện, không theo làn và dãn cách quy định, các thiết bị này
không phát huy được tác dụng.
Ưu điểm: hiệu quả cao.
Nhược điểm: phức tạp, đòi hỏi có các điều kiện cần thiết về cơ sở hạ
tầng.

c) Điều khiển phối hợp:


Mục đích của phương pháp điều khiển này là đưa ra chu kỳ đèn
hợp lý cho một chuỗi các nút liên tiếp tạo nên hiệu quả “làn sóng
xanh”, để xe chuyển động trong chuỗi nút này hầu như không phải
dừng ở các nút (luôn gặp đèn xanh).
Ưu điểm: mạng lại hiệu quả cho các xe di chuyển theo hướng chính.
Nhược điểm: các xe chuyển động trong các dòng phụ có thể phải chịu
tác động chu kỳ đèn bất hợp lý.

d) Điều khiển tích cực:


Ở các phương pháp trên, người tham gia giao thông không được
tác động trực tiếp vào thay đổi chu kỳ đèn. Nhưng trong thực tế, có
những trường hợp cần đến sự thay đổi này kịp thời phục vụ nhu cầu
đặc biệt, chẳng hạn cho người đi bộ qua đường, xe cứu thương, xe
buýt, … Để đạt được mục đích này, người ta bố trí các nút bấm cho
người đi bộ qua đường ở các nút hoặc lắp đặt các thiết bị cảm ứng
điện tử trên các xe đặc biệt.
6

3.2 . Theo nguyên lý bộ điều khiển:


Với bộ điều khiển có thể sử dụng các loại thiết bị sau: vi điều
khiển, bộ điều khiển logic lập trình PLC (programmable logic
controller), máy tính (công nghiệp), …
Hình 1.1 sau là hình ảnh minh họa một tủ điều khiển đèn tín
hiệu giao thông sử dụng máy tính.

H.1.1. Tủ điều khiển đèn tín hiệu giao thông sử dụng máy tính

Trong khuôn khổ đề tài, em sẽ xem xét phương pháp điều khiển
đèn tín hiệu bằng máy tính và tính toán chu kỳ đèn cưỡng bức.
7

CHƯƠNG II

CƠ SỞ THIẾT KẾ HỆ THỐNG ĐÈN TÍN HIỆU


[1]

1. Một số khái niệm cơ bản:


• Chu kì: Một chu ki tín hiệu là một vòng biểu diễn tất cả
các hiển thị có thể. Nói chung, dòng xe chỉ nhận được tín hiệu xanh
một lần trong chu kì (mặc dù có thể xảy ra ngoại lệ trong một số
trường hợp đặc biệt).
• Độ dài chu kì: là thời gian (tính theo giây) để tín hiệu
biểu diễn hết được các hiển thị trong một chu kì.
• Khoảng: là quãng thời gian mà trong đó không xảy ra sự
thay đổi tín hiệu ánh sáng ở nút. Trong một chu kì tín hiệu có nhiều
loại khoảng thời gian đặc biệt:
 Thời gian chuyển (thời gian vàng): đó là khi hiển
thị tín hiệu “vàng”. Đây là khoảng thời gian sau đèn xanh có tác
dụng cảnh báo người tham gia giao thông đang vào nút về việc
chuyển quyền sử dụng đường đang diễn ra. Thời gian vàng
thông thường có giá trị từ 3 đến 6 giây. Nói chung, tốc độ xe
vào nút càng lớn thì thời gian này càng lớn.
 Thời gian làm sạch: do trong thời gian đèn vàng
xe vẫn có thể vào nút nên cần có một khoảng thời gian cấm tất
cả các xe vào nút từ các hướng để giải phóng hết số xe đã có
này trong nút. Thời gian đó gọi là thời gian làm sạch hay đỏ tất
cả.
 Thời gian xanh: thời gian đèn xanh đối với
hướng cho trước.
 Thời gian đỏ: thời gian đỏ đối với hướng cho
trước.
• Pha: là tập các khoảng thời gian cho phép
một dòng giao thông hoặc một tập các dòng giao thông đi qua nút và
kết thúc an toàn trước khi cho phép tập các dòng khác. Nó là tổng
thời gian xanh, thời gian làm sạch và thời gian chuyển của dòng
đang xét.

Tín hiệu giao thông có thể hoạt động ở các chế độ khác nhau như miêu
tả dưới đây:
8

• Chế độ định thời (Pretimed Operation): ở


chế độ này độ dài chu kì, pha, và tất cả các khoảng thời gian nói trên
được xác định trước.
• Chế độ nửa tích cực (Semi-Actuated
Operation): các thiết bị phát hiện xe được bố trí trên các lối vào nút
của đường phụ. Tín hiệu giao thông trên đường chính sẽ luôn xanh
cho đến khi phát hiện có xe chờ qua nút ở ít nhất một lối vào của
đường phụ.
• Chế độ tích cực (Full-Actuated Operation):
thiết bị phát hiện xe được đặt ở tất cả các lối vào nút. Trong chế độ
tích cực các chu kì đèn đều khác nhau, thứ tự và độ dài các khoảng
thời gian và pha thay đổi tùy theo yêu cầu được phát hiện.
• Chế độ điều khiển bằng máy tính (Computer
Controlled): thuật ngữ này được sử dụng để miêu tả việc điều khiển
tín hiệu đèn không chỉ được tính toán và thực hiện cho một nút mà
cho cả một mạng các nút, trong đó sự liên lạc, phối hợp giữa các nút
được máy tính đảm nhiệm.

2. Mô hình trễ Webster:


2.1. Khái niệm trễ:
Các nút giao thông có tầm quan trọng lớn trong mạng lưới các
đường giao thông. Vì vậy rất cần có các chỉ tiêu đánh giá năng lực và
hiệu quả các nút. Chỉ tiêu thông dụng nhất là thời gian chậm trễ
(Delay) khi qua nút. Thời gian này có nhiều dạng như các định nghĩa
dưới đây:
a. Trễ do dừng (Stopped Time Delay): là thời gian xe dừng để
đợi qua nút.
b. Thời gian tới nút (Approach Delay): bao gồm thời gian giảm
tốc độ từ khi chạy vào nút tới khi dừng, thời gian dừng, thời
gian tăng tốc từ khi dừng tới tốc độ qua nút bình thường.
c. Thời gian trễ qua nút (Travel Time Delay): là hiệu giữa tổng
thời gian qua nút lý tưởng với tổng thời gian qua nút thực tế.
d. Thời gian trễ trong hàng (Time-in-Queue Delay): là tổng thời
gian từ khi xe bắt đầu tham gia vào hàng chờ cho đến khi xe
vượt qua vạch dừng.

2.2. Mô hình trễ Webster:


Trong nghiên cứu về kĩ thuật giao thông các mô hình trễ của nút có
điều khiển đều xuất phát từ mô hình trễ của Webster. Mô hình trễ ở
đây liên quan đến thời gian trễ qua nút.
9

Khi độ dài chu kì quá ngắn so với yêu cầu, các chu kì đều quá tải
và thời gian trễ tăng rất nhanh. Ngược lại khi độ dài chu kì lớn quá, có
nhiều thời gian xanh không sử dụng, các xe phải chờ không cần thiết
và cũng làm tăng thời gian trễ. Webster đã đưa ra công thức tính độ
dài chu kì tối ưu để tối thiểu hóa thời gian trễ với dạng đơn giản sau:

1 .5 L + 5
Co = (1)
1 − ∑(v / s )c

Trong đó: C0 – chu kì tối ưu đển tối thiểu hóa trễ (s)
L – thời gian mất mát trong chu kì (s)
Σ (v/s)c – tổng các tỉ lệ lưu lượng trên lưu lượng bão hòa

2.3. Phương pháp tính toán chu kì tối ưu đèn tín hiệu giao thông:
Mục tiêu của phương pháp là tìm ra thời gian xanh, vàng, đỏ của
đèn nhằm tối thiểu hóa thời gian trễ theo công thức Webster.
Giả sử sử dụng phương án điều khiển 2 pha như hình vẽ:

Pha 1 Pha 2
(H.2.1)
Kí hiệu ở pha thứ i:
− Thời gian vàng: tvi (s)
− Thời gian xanh: txi (s)
− Thời gian đỏ: tdi (s)
− Vận tốc trung bình của xe: vi (km/h)
10

− Lưu lượng xe lớn nhất trên 1 làn: mi (xe/h)


− Thời gian làm sạch: tzi (s)
Thời gian làm sạch được tính theo công thức sau:

tr + tk + te + te '
tz = 3.6 + tv (2)
v

Trong đó:

tk te tr te’
11

(H.2.2)

tr - chiều rộng mặt đường (m)


tk - chiều dài xe (m)
te - chiều rộng lề đường (m)

Theo công thức (1) ta thấy L chính là tổng các thời gian làm sạch
(đỏ tất cả) trên mỗi pha: L = tz1 + tz2 .

Như vậy chu kì đèn tối ưu:


1.5(tz1 + tz 2) + 5
Co =
m1 + m 2 (3)
1−
1800

Vì lưu lượng xe qua nút tỉ lệ với thời gian xanh (số lượng xe đi qua
nút càng lớn thì thời gian xanh càng lớn) nên:

tx1 tx 2
= (4)
m1 m 2

Lại có
tx1 + tx2 = C0 – (tz1 + tz2) (5)

Ta được hệ phương trình xác định thời gian xanh:

 t x1 tx2
 =
 m1 m2 (6)
 tx1 + tx2 = C o− (tz1 + tz2)

Vậy thời gian đỏ của mỗi pha là:

tdi = C0 – tvi – txi (7)

Ví dụ: Ngã tư Đê La Thành – Nguyễn Chí Thanh


12

Qua khảo sát thực tế ngã tư Đê La Thành – Nguyễn Chí Thanh ta giả
thiết ngã tư được lắp đèn có phương án sau:
− Mỗi đầu vào có 2 làn xe.
− Một làn cho xe rẽ trái.
− Một làn cho xe đi thẳng, rẽ phải.
Xét cho 2 pha:
− Pha 1:
Xe hướng Nam Bắc (thẳng + rẽ phải): (446+134) xe/h
Xe hướng Nam Bắc (rẽ trái): 168 xe/h
− Pha 2:
Xe hướng Đông Tây (thẳng + rẽ phải): (286+194) xe/h
Xe hướng Đông Tây (rẽ trái): 220 xe/h
Các tham số khác:
− Thời gian đèn vàng tv = 3s
− Vận tốc xe trung bình (nam – bắc): 30 km/h
− Vận tốc xe trung bình (đông – tây): 25 km/h
− Chiều dài trung bình xe: 4.5m

Ta tính toán chu kì thời gian tối ưu và các tham số điều khiển khác
theo phương pháp Webster
Số liệu:
− Chiều dài xe tk = 4.5m
− Thời gian đèn vàng tv = 3s
− Chiều rộng mặt đường hướng 1 (nam - bắc) tr1 = 20.4m
− Chiều rộng mặt đường hướng 2 (đông – tây) tr2 = 10m
− Chiều rộng lề đường hướng 1 (nam – bắc) te1 = 7m
− Chiều rộng lề đường hướng 2 (đông – tây) te2 = 5m
− Lưu lượng xe lớn nhất pha 1 (hướng NB thẳng, rẽ phải) = 580
xe/h
− Lưu lượng xe lớn nhất pha 2 (hướng ĐT thẳng, rẽ phải) = 480
xe/h
− Vận tốc xe hướng 1 v1 = 30 km/h
− Vận tốc xe hướng 2 v2 = 25 km/h
Tính toán theo các công thức (2) – (7) ta được:
− Thời gian xanh pha 1: 22s
− Thời gian xanh pha 2: 27s
− Thời gian đỏ pha 1: 39s
13

− Thời gian đỏ pha 2: 34s

CHƯƠNG III

CƠ CHẾ ĐIỀU KHIỂN THIẾT BỊ NGOẠI VI BẰNG MÁY TÍNH


[2]

1. Thiết bị ngoại vi:


a. Định nghĩa: Thiết bị ngoại vi là tên chung nói đến một số loại thiết
bị bên ngoài thùng máy được gắn kết với máy tính với tính năng nhập
xuất (IO) hoặc mở rộng khả năng lưu trữ (như một bộ nhớ phụ).
Thiết bị ngoại vi của máy tính có thể là:
• Thiết bị cấu thành lên máy tính và không thể thiếu được ở một số
loại máy tính.
• Thiết bị có mục đích mở rộng tính năng hoặc khả năng của máy
tính.
b. Các cổng vào ra thông dụng:
• PS/2: nối ghép bàn phím và chuột.
• VGA: cổng nối ghép màn hình.
• USB: cổng nối tiếp đa năng cho phép nối ghép nối
tiếp tối đa 17 thiết bị thông qua Hub.
14

• COM: cổng nối tiếp, nối ghép với modem, chuột


và các thiết bị khác.
• LPT: cổng song song, nối ghép với máy in.

2. Cổng song song:


a. Định nghĩa:
Cổng song song (Parallel Port) là tập hợp các đường tín hiệu mà vi
xử lí hoặc là CPU dùng để trao đổi dữ liệu với các thiết bị, thành phần
khác. Điển hình nhất của loại giao diện này là dùng để giao tiếp với
máy in, modems, keyboards và màn hình… Cổng song song truyền
nhiều bít một lần, trong khi cổng nối tiếp chỉ truyền một bít một ở một
thời điểm (nhưng có thể truyền 2 chiều ở cùng một thời điểm).
b. Cấu trúc cổng song song:
Cổng song song (hay còn gọi là cổng máy in) gồm có 4 đường điều
khiển, 5 đường trạng thái và 8 đường dữ liệu bao gồm 5 chế độ hoạt
động:
- Chế độ tương thích (compatibility).
- Chế độ nibble.
- Chế độ byte.
- Chế độ EPP (Enhanced Parallel Port).
- Chế độ ECP (Extended Capabilities Port).
3 chế độ đầu tiên sử dụng port song song chuẩn (SPP – Standard
Parallel Port) trong khi đó chế độ 4, 5 cần thêm phần cứng để cho
phép hoạt động ở tốc độ cao hơn.
Sơ đồ chân cổng máy in như sau:

Pin SPP Signal EPP Signal In/Out Function


Đường này ở mức thấp chỉ ra là ghi,
1 Strobe Write Out
mức cao là đọc
2-9 Data 0-7 Data 0-7 In - Out Bus dữ liệu hai chiều
10 Ack Interupt In Đường ngắt, ngắt xảy ra ở cạnh lên
11 Busy Wait In Dùng cho tín hiệu bắt tay, đối với
15

EPP chu trình có thể bắt đầu khi tín


hiệu này ở mức thấp, và kết thúc khi ở
mức cao
Paper Đường này dư không sử dụng trong
12 Spare In
Out/End tín hiệu bắt tay theo chuẩn EPP
Đường này dư không sử dụng trong
13 Select Spare In
tín hiệu bắt tay theo chuẩn EPP
Auto Data Đường này ở mức thấp cho biết dữ
14 Out
Linefeed Strobe liệu đường truyền đi
Đường này dư không sử dụng trong
15 Error/Fault Spare In
tín hiệu bắt tay theo chuẩn EPP
16 Initialize Reset Out Khởi tạo lại, hoạt động ở mức thấp
Select Address Khi ở mức thấp chỉ ra rằng chỉ truyền
17 Out
Printer Strobe địa chỉ đi
18-
Ground Ground GND Ground
25
c. Giao tiếp với thiết bị ngoại vi:
Quá trình giao tiếp với các thiết bị ngoại vi có thể thực hiện thông
qua chế độ chuẩn. Để đọc dữ liệu, có thể dùng một IC ghép kênh 2→1
74LS257 và dùng 4 bit trạng thái của cổng song song còn xuất dữ liệu
thì sử dụng 8 đường dữ liệu D0 – D7.
16

H.3.1. Ví dụ mạch giao tiếp thông qua cổng máy in

CHƯƠNG IV

MÔ HÌNH ĐIỀU KHIỂN

• Đầu vào: các thông số của nút giao thông: vận tốc, lưu lượng
xe, chiều dài mặt đường, chiều rộng lề đường, chiều dài xe.
• Đầu ra: thời gian sáng của các đèn
17

Thuật toán điều khiển đèn tín hiệu:


Xét với pha 1 (hướng nam bắc):

V Đ X V Đ

Dựa vào sơ đồ ta thấy đèn xanh sáng tại các thời điểm t = 0, t =
C0, t = 2C0… Như vậy cứ sau một khoảng thời gian x = C0 thì
đèn xanh Dựa vào sơ đồ ta thấy đèn xanh sáng tại các thời điểm
t = 0, t = C0, t = 2C0… Như vậy cứ sau một khoảng thời gian x
= C0 thì đèn xanh sáng, hay x là chu kì sáng của đèn xanh.
Tương tự chu kì sáng của đèn đỏ là d = C 0 + tx, chu kì sáng của
đèn vàng là v = C0 + tx + td. Vậy sơ đồ khối của thuật toán như
sau:
18

counttime = 0
x=0
d=t
v = tx + td

counttime++

counttime >= _
x

Bật đèn xanh

counttime = x + C0

counttime = x + C0

counttime >= _
d

+
Bật đèn đỏ
Tắt đèn xanh
counttime = d + C0

19
counttime >=
v

+
Bật đèn vàng
Tắt đèn đỏ

counttime = v + C0

(H.4.1)
Các bước thực hiện:
1. Tính toán chu kì đèn, thời gian xanh, đỏ, vàng theo phương
pháp Webster.
2. Sử dụng các hàm điểu khiển để bật tắt đèn:

void OnTimer(UINT nIDEvent): dựa vào thời gian sáng của các
đèn để điều khiển đèn bật tắt theo chu kỳ.

void set_pin (lp_pin pins): đưa tín hiệu ở chân cổng máy in lên
mức cao (bật đèn).
void clear_pin (lp_pin pins): đưa tín hiệu ở chân cổng máy in
xuống mức thấp (tắt đèn).
20

2 hàm trên đều sử dụng hàm Inp32 và Out32 trong thư viện liên
kết động inpout32.dll để nhập xuất dữ liệu qua cổng máy in.

Sơ đồ mạch điện:

S4 S5 S7 S6 D7 D6 D5 D4 D3 D2 D1 D0 C0

G7 G6 G5 G4 G3 G2 G1 G0 C3 C2 S3 C1

(H.4.2)

KẾT LUẬN

Sau một thời gian không nhiều theo quy định em đã cố gắng thực hiện
đề tài NCKH đã đăng ký. Thông qua thực hiện đề tài em thấy mình đã được
nâng cao thêm nhiều kiến thức về phương pháp lập trình, cách thức điều
khiển thiết bị ngoại vi bằng máy tính cùng một số kiến thức về điều khiển
giao thông. Mặc dù đây chỉ là những kiến thức khoa học cơ bản nhưng đối
với em – sinh viên năm thứ nhất thì đó là những hiểu biết mới hết sức thú vị.
Ngoài ra, việc thực hiện đề tài cũng mang lại cho em nhận thức về
phương pháp nghiên cứu khoa học, từ việc phân tích bài toán thực tế đến tìm
hiểu, chọn lựa các tài liệu cần thiết, xây dựng thuật toán tính toán, kiểm tra,
hiệu chỉnh mô hình v.v… Em nghĩ rằng đây là những thu hoạch hết sức bổ
ích cho em trong học tập, nghiên cứu lâu dài về sau.
21

Tài liệu tham khảo:


1. Bài giảng tự động hóa trong giao thông vận tải đường bộ - Bộ
môn Điều khiển học – Trường Đại học Giao thông vận tải.
2. Phạm Hùng Kim Khánh – Tài liệu Lập trình hệ thống
3. Code Project:
http://www.codeproject.com/KB/system/PaPiC.aspx
Phụ lục: Các hàm điều khiển
1. Một số hằng số trong thư viện CPapiC.h:

typedef int lp_pin;


const lp_pin LP_PIN02 = 0x1;
const lp_pin LP_PIN03 = 0x2;
const lp_pin LP_PIN04 = 0x4;
const lp_pin LP_PIN05 = 0x8;
const lp_pin LP_PIN06 = 0x10;
const lp_pin LP_PIN07 = 0x20;

2. Các hàm điều khiển:


a) Hàm điều khiển chân cổng máy in:
22

#include "stdafx.h"
#include "PaPiC.h"
#include "CPaPiC.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

short _stdcall Inp32(short portaddr);


void _stdcall Out32(short portaddr, short datum);

static const int data_reg = 0x0;


static const int status_reg = 0x1;
static const int control_reg = 0x2;

// The state of some pins is inverted relative to the state of their


// corresponding register bits. These masks correct the bits
that
// need to be corrected.

static const lp_pin positive_mask_control = 0xB; // 1011


static const lp_pin positive_mask_status = 0x10; // 10000

void CPaPiC::set_pin(lp_pin pins){

int new_reg;

// make sure the user is only trying to set an output pin


pins &= lp_output_pins;

new_reg = Inp32( port_data );

new_reg |= pins & 0xFF;

Out32(port_data, new_reg );

new_reg = Inp32( port_control );

pins = (pins >> 8) & 0xF;

new_reg |= pins;

new_reg &= (pins & positive_mask_control) ^ 0x1FFFF;


23

Out32(port_control, new_reg);
}

// set output pins low


void CPaPiC::clear_pin(lp_pin pins){

int new_reg;

// make sure the user is only trying to set an output pin


pins &= lp_output_pins;

new_reg = Inp32( port_data );

new_reg = new_reg & ( ( pins & 0xFF ) ^ 0xFF);

Out32(port_data, new_reg );

new_reg = Inp32( port_control );

pins = (pins >> 8) & 0xF;

new_reg |= pins & positive_mask_control;

new_reg &= (pins & negative_mask_control) ^ 0x1FFFF;

Out32(port_control, new_reg);

static const lp_pin negative_mask_control =


positive_mask_control ^ 0x1FFFF; // 11111111111110100

b) Hàm định thời gian bật tắt đèn:

void CPaPiCDlg::OnTimer(UINT nIDEvent)


{

counttime++;

//bat den xanh nam bac


if (counttime >= nsg)
{
set_pin(LP_PIN04);
set_pin(LP_PIN07);

clear_pin(LP_PIN02|LP_PIN03|LP_PIN05|LP_PIN06);
24

nsg = counttime + cycle;


}

//den vang
if (counttime >= nsy)
{
set_pin(LP_PIN03);
clear_pin(LP_PIN04);

nsy = counttime + cycle;


}
//den do
if (counttime >= nsr)
{
set_pin(LP_PIN02);
clear_pin(LP_PIN03);

nsr = counttime + cycle;


}
//huong dong tay
if (counttime >= weg)
{
set_pin(LP_PIN05);
clear_pin(LP_PIN07|LP_PIN06);

weg = counttime + cycle;


}

//den vang
if (counttime >= wey)
{
set_pin(LP_PIN06);
clear_pin(LP_PIN05);

wey = counttime + cycle;


}
//den do
if (counttime >= wer)
{
set_pin(LP_PIN07);
clear_pin(LP_PIN06);

wer = counttime + cycle;


}
25

CDialog::OnTimer(nIDEvent);
}

c) Hàm khởi động:

void CPaPiCDlg::OnButton10()
{
UpdateData(true);

// Tinh toan so lieu

tz1=3.6*(m_tr2+m_tk1+m_ten+m_tes)/m_v1+m_Y_SN;
tz2=3.6*(m_tr1+m_tk2+m_tew+m_tee)/m_v2+m_Y_WE;
tz=tz1+tz2;
cycle=(1.5*tz+5)/(1-(m_m1+m_m2)/1800);

thoigianxanh (m_m1,m_m2,cycle,tz,&G_SN,&G_WE); //ham


giai he phuong trinh tinh thoi gian xanh

float l1,l2,x1,x2;
l1=G_SN/cycle;
l2=G_WE/cycle;
x1=m_m1/(l1*3600);
x2=m_m2/(l2*3600);
R_SN=cycle-m_Y_SN-G_SN;
R_WE=cycle-m_Y_WE-G_WE;
nsr = G_SN+m_Y_SN;
nsy = G_SN;
nsg = 0;

wer = 0;
wey = R_WE + G_WE;
weg = R_WE;
SetTimer(1, 1000, NULL);
counttime = 0;

You might also like