Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
MỤC LỤC
Phần Mở Đầu
Trong thời đại ngày nay, khi công nghệ thông tin truyền thông phát triển,
song song với việc phát triển các công nghệ phần mềm, việc phát triển các hệ
thống nền tảng là phần cứng giữ một vai trò hết sức quan trọng. Trong đó, hệ vi xử
lý là một khái niệm quan trọng cốt lõi mà bất kỳ kỹ sư điện tử nào cũng cần phải
hiểu và nắm được. Học phần kỹ thuật vi xử lý nhằm cung cấp cho sinh viên những
kiến thức cơ bản nhất xung quanh hệ vi xử lý. Trong học phần này, ngoài các bài
giảng trên lớp của giảng viên xung quanh bộ vi xử lý 8086 để giúp sinh viên hình
thành khái niệm về vi xử lý, sinh viên còn được trực tiếp thiết kế một hệ thống cơ
bản để hiểu sâu hơn và có dịp thực hành những kiến thức học được trên giảng
đường.
Đề tài mà nhóm chúng em triển khai là hệ thống mạch điều khiển đèn giao
thông ở ngã tư với các nội dung chi tiết sẽ được trình bày ở phần sau của bản báo
cáo này. Bản báo được chia làm 5 chương, cụ thể là:
+Chương I : Phân tích chức năng hệ thống mạch đèn giao thông
+Chương II : Sơ đồ khối hệ thống
+Chương III: Sơ đồ nguyên lý của hệ thống
+Chương IV: Một sô thuật toán sử dụng trong mã nguồn của đề tài
+Chương V : Tổng kết đánh giá đề tài
1
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
Nhóm sinh viên chúng em xin chân thành cảm ơn giảng viên hướng dẫn,
thầy giáo Vũ Song Tùng đã giúp đỡ chúng em rất nhiều trong việc hoàn thành đề
tài này. Tuy nhiên, trong quá trình hoàn thành đề tài do còn là sinh viên và không
tránh khỏi những thiếu sót về mặt kinh nghiệm, nhóm rất mong nhận được những ý
kiến đóng góp từ các bạn sinh viên khác và phê bình từ thầy giáo để hệ thống hoàn
thiện hơn. Em xin chân thành cảm ơn !
Chương I :Phân tích chức năng hệ thống mạch đèn giao thông
1.1)Mô tả tổng quan
Đề tài nhằm thiết kế và triển khai một hệ thống điều khiển cho đèn giao thông tại
một ngã tư thông thường trong đó không tách biệt tín hiệu đèn điều khiển rẽ trái, rẽ
phải, đi thẳng. Hệ thống cần đảm bảo chức năng điều khiển các tín hiệu đèn, các bộ
đếm ngược và cân chỉnh được thang thời gian cho các tín hiệu theo thời gian trong
ngày. Các tín hiệu điều khiển được thể hiện bằng các LED màu tương ứng vàng,
đỏ, xanh và bộ đếm thể hiện bằng các LED 7 thanh.
1.2)Các chức năng của hệ thống
1. Điều khiển các tín hiệu đèn:
- Điều khiển tín hiệu đèn cho các phương tiện giao thông: trên các hướng đi có
bộ ba đèn điều khiển vàng, đỏ xanh. Các đèn hiệu sẽ được điều khiển theo logic
và phải đảm bảo thời gian đèn đỏ của hướng này phải lớn hơn hoặc bằng tổng
thời gian đèn xanh và đèn vàng của hướng kia. Thứ tự đèn cho mỗi hướng là:
vàng -> đỏ -> xanh -> vàng…
- Điều khiển tín hiệu đèn cho người đi bộ: trên các hướng đi có bộ đèn hiệu cho
người đi bộ bao gồm hai tín hiệu xanh và đỏ. Tín hiệu đèn xanh cho người đi bộ
sẽ bắt đầu sau khi đèn đỏ cho phương tiện của hướng đó sáng được 05s và kết
thúc trước khi tín hiệu đèn xanh cho phương tiện giao thông của hướng đó sáng
05s.
2. Hiển thị thời gian đếm ngược của các tín hiệu đèn:
- Hệ thống có khả năng hiển thị thời gian đếm ngược của tín hiệu đèn bằng Led 7
thanh với khả năng hiển thị số lớn nhất là 99.
3. Điều chỉnh thang thời gian điều khiển các tín hiệu đèn theo thời gian trong
ngày:
2
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
- Thời gian thực trong ngày sẽ được lưu trong hệ thống ngay cả khi hệ thống bị
mất điện. Thời gian thực lưu theo dạng 24 giờ bắt đầu từ 00:00 đến 23:59. Hệ
thống dựa vào giờ được lưu này để điều chỉnh thang thời gian điều khiển tín
hiệu cho phù hợp vào các thời điểm cao điểm, trung bình và ban đêm trong
ngày. Ở khoảng thời gian ban đêm đến 5 giờ , hệ thống sẽ nhấp nháy đèn vàng
với chu kỳ 1s. Giờ cao điểm trong ngày là khoảng thời gian từ 7 giờ đến 9 giờ
và từ 17 giờ đến 19 giờ.
4. Điều chỉnh các thông số của hệ thống:
- Giao diện điều chỉnh các thông số: Người dùng nhập thông số thông qua 4 nút
bấm: menu, up, down, set. Thông số đang điều chỉnh sẽ được hiển thị lên màn
hình LCD dạng text đồng thời đèn LCD cũng bật sáng đèn màn hình.
- Để bắt đầu điều chỉnh các thông số, người dùng nhấn nút menu, sau đó nhấn
các nút up và down để điều chỉnh thông số hiện tại, khi đã điều chỉnh xong
thông số này, người dùng nhấn nút set để lưu thông số. Để điều chỉnh thông số
tiếp theo người dùng tiếp tục nhấn nút menu. Thứ tự điều chỉnh các thông số lần
lượt như sau: Giờ -> phút -> thời gian đèn vàng -> thời gian đèn đỏ lúc cao
điểm -> thời gian đèn xanh lúc cao điểm -> thời gian đèn đỏ lúc trung bình ->
thời gian đèn xanh lúc trung bình -> thời gian đèn đỏ giao nhau lúc cao điểm ->
thời gian đèn đỏ giao nhau lúc trung bình -> thời điểm bắt đầu nhấp nháy đèn
vàng. Khi đã điều chỉnh xong các thông số, người dùng nhấp menu thêm một
lần nữa để thoát chế độ điều chỉnh. Khi thoát chế độ này, LCD xóa toàn bộ nội
dung hiển thị và tắt đèn màn hình.
- Các thông sô điều chỉnh theo kiểu quay vòng: mỗi thông số có khoảng nhất
định từ nhỏ nhất đến cao nhất, khi chỉnh đến giá trị cao nhất mà người dùng
nhấn nút up một lần nữa thì thông số quay về giá trị nhỏ nhất, tương tự khi
chỉnh đến giá trị nhỏ nhất mà người dùng nhấn nút down một lần nữa thì thông
số quay về giá trị cao nhất.
- Khoảng điều chỉnh giờ: 00h -> 23h.
- Khoảng điều chỉnh phút: 00h -> 59h.
- Khoảng điều chỉnh thời gian đèn vàng: 03s -> 10s.
- Khoảng điều chỉnh thời gian đèn đỏ: 20s -> 90s.
- Khoảng điều chỉnh thời gian đèn xanh: 10s -> 70s.
- Khoảng điều chỉnh thời gian đèn đỏ giao nhau: 00s -> 10s.
- Khoảng điều chỉnh thời điểm bắt đầu nhấp nháy đèn vàng: 21h -> 23h
1.3)Phần cứng sử dụng trong đề tài
- Vi điều khiển PIC 16F877A với thạch anh tần số 20MHz
3
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
- LCD 1602 với đèn màn hình để hiện thị giờ hệ thống và điều khiển Menu
- IC DS1307 làm đồng hồ thời gian thực cho hệ thống
- Adapter 12V DC để cấp nguồn vào cho mạch
- Led đôi bảy đoạn để đếm lùi thời gian.
- Led đơn để hiển thị các tín hiệu xanh đỏ vàng cho các phương tiện và người
đi bộ
- IC 74247 để giải mã led bảy đoạn
- IC 7805 để ổn áp dòng ra 5v dùng cho toàn mạch
- Pin 3V nuôi đồng hồ thời gian thực DS1307
- Transistor A1015 làm khóa đóng ngắt led 7 segments
- Các điện trở và tụ khác.
4
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
Chương II: Sơ đồ khối hệ thống
Dựa theo yêu cầu chức năng và hướng lựa chọn phương án phần cứng để giải
quyết như đã nói ở trên, nhóm chúng em đã đưa ra sơ đồ hệ thống gồm các khối
sau:
2.1) Khối hiển thị thời gian
Khối này sẽ bao gồm IC giải mã 74ls247 để chuyển từ kí tự số thập phân sang
dạng hiển thị số đó trên led 7 đoạn tương ứng. Dùng 4 Transistor PNP để quét led.
2.2) Khối hiển thị tín hiệu đèn giao thông
Khối này sẽ bao gồm 10 đèn led đơn. Gồm bộ 3 led {xanh, đỏ, vàng} điều khiển
phương tiện hướng 1, bộ 3 led {xanh, đỏ, vàng} điều khiển phương tiện hướng 2, 2
bộ đôi led {xanh, đỏ} điều khiển người đi bộ ở hướng 1 và 2.
5
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
2.3) Khối điều khiển
Gồm 4 nút bấm menu, up, down, set và lcd 1602
6
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
2.4) Khối thời gian thực DS1307
2.5) Khối điều khiển hệ thống PIC16F877A
7
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
Chương III: Sơ đồ nguyên lý
Để triển khai hệ thống, nhóm chúng em đã tìm hiểu, tham khảo nhiều nguồn tài
liệu khác nhau và đưa ra sơ đồ nguyên lý như sau:
3.1)Khối điều khiển hệ thống
8
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
3.2)Sơ đồ khối thời gian thực
3.3)Khối hiển thị thời gian đèn
9
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
3.4)Khối nút bấm điều khiển và hiển thị đèn
10
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
3.5)Khối hiển thị điều khiển lcd
3.6)Khối mạch nạp
11
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
3.7)Khối nguồn và điện trở dùng trong mạch
Chương IV: Một số thuật toán sử dụng trong mã nguồn của đề tài
Begin
Khởi tạo
Khởi tạo giá trị chân cho VĐK
Khởi tạo LCD, DS1307
Đọc dữ liệu trong EEPROM
Điều khiển đèn giao thông
Điều khiển tín hiệu đèn xanh đỏ vàng ở các hướng
Hiển thị thời gian đếm lùi
Đếm lùi thời gian ở các hướng
12
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
Quét bàn phím
Kiểm tra phím bấm và xử lý các tín hiệu điều khiển
4.1)Sơ đồ thuật toán
13
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
4.2)Thuật toán quét led 7 đoạn
Bài toán đặt ra là hiển thị hai số a,b có hai chữ số lên 4 led 7 đoạn. Dùng
B0,B1,B2,B3 của Pic để dùng làm chân điều khiển 7seg sáng hay tắt. Dùng B7,
B6, B5, B4 đưa vào chân D,C,B,A của giải mã 74ls247.
Quét led 7 đoạn
Hiển thị a,b lên led 7 đoạn
Int8 A[4] = {0,0,0,0};
Int8 Enable[4] = {0x0E, 0x0D, 0x0B, 0x07};
Int8 So[10] = {0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90};
A[0] = a/10;
A[1] = a%10;
A[2] = b/10;
A[3] = b%10;
For(int i=0;i<4;i++) {
PortB = Enable[i] + So[ A[i] ];
Delay_ms(3); }
14
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
Điều khiển bàn phím
Kiểm tra phím bấm và xử lý các tín hiệu điều khiển
Menu = 0?
Mode = 0
Mode ++
Mode > 9?
Mode = 1
Up = 0?
Giatri++
Down = 0?
Giatri
Set = 0?
15
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
Thiết lập giá trị
If (mode == 1)||(mode == 2)
{ ghi Giatri vào DS1307}
Else {ghi Giatri vào EEPROM}
Menu = 0?
4.3)Thuật toán điều khiển bàn phím
S
Đ
Đ
Đ
S
Đ
S
Đ
S
Đ
S
16
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
S
Đ
Mode = 3 //Nhấp nháy
Trang_thai = 7
Mode = CheckTime()
Kiểm tra thời điểm hiện tại của hệ thống thông qua DS1307.
Mode là giá trị trả về quyết định kiểu hiển thị của hệ thống.
ThoiGian = ThoiGian_binhthuong
Trang_thai = 1
For( ;Trang_thai<=6;Trang_thai++)
{Hien_thi(Trang_thai);}
// Trang_thai[1; 2; 3; 4; 5; 6] = X1_D2; V1_D2; D1_D2_1; D1_X2; D1_V2;
D1_D2_2
Mode = 1?
Chế độ bình thường
Mode = 2?
// Chế độ cao điểm
ThoiGian = ThoiGian_caodiem
Trang_thai = 6
For( ;Trang_thai<=8;Trang_thai++)
{Hien_thi(Trang_thai);}
// Trang_thai = 7 trạng thái đèn vàng bật
// Trang_thai = 8 trạng thái đèn vàng tắt
4.4)Thuật toán điều khiển đèn tín hiệu xanh đỏ vàng
17
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
Đ
S
Đ
S
Chương V: Tổng kết đánh giá đề tài
5.1) Đánh giá
Sau thời gian tìm hiểu dưới sự hướng dẫn nhiệt tình của thầy giáo, nhóm đã hoàn
thành dự án mạch điều khiển đèn giao thông với các yêu cầu kỹ thuật đề ra. Tuy
18
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
nhiên, do mới làm quen với vi điều khiển và lần đầu làm mạch nên nhóm không thể
tránh khỏi những thiếu sót về mặt kinh nghiệm. Cụ thể, nhóm đánh giá một số nhược
điểm và ưu điểm của hệ thống hiện hành như sau:
+ Ưu điểm:
- Nguồn ổn định 5V cho toàn bộ hệ thống.
- Mạch chạy ổn định, LCD hiển thị tốt menu hệ thống và giờ hệ thống.
- Các phím bấm hoạt động ổn định với các giải pháp chống rung cả về
phần cứng và phần mềm.
- Led đơn sáng rõ và đúng với trạng thái điều khiển đèn giao thông ở ngã
tư.
- Đồng hồ thời gian thực hoạt động ổn định với vi điều khiển
PIC16F877A, cập nhật ổn định thời gian thực để điều khiển ở các chế độ khác
nhau.
+ Nhược điểm:
- 1 Led 7 đoạn sáng mờ.
Qua quá trình hoàn thành mạch, nhóm cũng đã cố gắng tìm ra nguyên nhân của thiếu
sót trên để mạch chạy cho hoàn thiện. Cụ thể, led 7 đoạn sáng mờ do tiếp xúc ở
JUMPER chưa tốt, có thể chình lại bằng tay.
5.2) Tổng kế t
Mạch chạy khá tốt so với yêu cầu của đề tài. Sau đây là tổng kết các phần việc mà
thành viên trong nhóm đã làm.
- Phân tích và thiết kế hệ thống: Hồ Quang Sơn và Ngô Việt Anh
- Triển khai mã nguồn: Hồ Quang Sơn
- Thực hiện mạch : Hồ Quang Sơn và Ngô Việt Anh
- Kiểm tra mạch và khắc phục sự cố: Hồ Quang Sơn và Ngô Việt Anh
- Báo cáo đề tài: Hồ Quang Sơn và Ngô Việt Anh
19
Thiết kế hệ thống điều khiển đèn giao thông ở ngã tư Hồ Quang Sơn – Ngô Việt Anh
TÀI LIỆU THAM KHẢO
- Datasheet PIC16F877A.
- Datasheet DS1307.
- Datasheet LCD1602.
- Datasheet các loại IC: 7805, 74LS247, led 7_seg, …
- Tài liệu CCS tiếng Việt.
- Ebook PIC tutorial.
- Trang web Dientuvietnam.net.
- Trang web Picvietnam.com.
20