VẤN ĐỀ ĐẶT RA
Trong bối cảnh giao thông hiện nay, an toàn và ùn tắc tại các đô thị lớn là vấn đề cấp bách được xã hội quan tâm Hệ thống đèn điều khiển giao thông đóng vai trò quan trọng trong việc hạn chế xung đột và điều phối luồng giao thông, từ đó giảm thiểu tình trạng ùn tắc Vì vậy, chúng em quyết định chọn đề tài “Thiết kế hệ thống đèn điều khiển giao thông” cho đồ án môn học.
PHƯƠNG ÁN THIẾT KẾ
Mô tả hoạt động của hệ thống
Mật độ giao thông tại các đô thị lớn đang gia tăng nhanh chóng, vì vậy hệ thống điều khiển giao thông cần phải chính xác, linh hoạt và hiệu quả Hệ thống đèn giao thông đã phần nào đáp ứng được những yêu cầu này, với mỗi cột đèn bao gồm các tín hiệu Xanh, Đỏ và Vàng để điều phối các phương tiện tham gia giao thông.
Hoạt động của từng pha ở chế độ điều khiển tự động như sau:
Đèn xanh: Hướng đi ứng với pha này được phép đi.
Đèn vàng: Thông báo cho các phương tiện ứng với pha này giảm tốc độ, chuẩn bị dừng lại.
Đèn đỏ: Các phương tiện dừng lại.
Phương án thiết kế
Việc sử dụng mạch số kết hợp với chip vi điều khiển trong các hệ thống điều khiển tự động ngày càng trở nên phổ biến nhờ vào những ưu điểm vượt trội như độ chính xác cao, khả năng lập trình linh hoạt, tốc độ điều khiển nhanh và tính đơn giản trong sử dụng.
Kỹ thuật số, vi xử lý và vi điều khiển đang phát triển mạnh mẽ và được ứng dụng rộng rãi trong nhiều ngành sản xuất Do đó, chúng tôi thiết kế một hệ thống điều khiển giao thông đơn giản sử dụng bộ vi điều khiển Tất cả tín hiệu điều khiển được truyền đến khối hiển thị trực tiếp từ các cổng của bộ vi điều khiển, mang lại mạch gọn nhẹ, không quá phức tạp Cách bố trí linh kiện dễ dàng cùng với lập trình đơn giản và dễ chỉnh sửa là những đặc điểm nổi bật của phương án này.
Sơ đồ khối hệ thống
Hình 1: Sơ đồ khối hệ thống Đèn Giao Thông
KHỐI HIỂN THỊ THỜI GIAN
PHẦN THIẾT KẾ
Khối vi điều khiển
1.1 Sơ lược về vi điều khiển:
Vi điều khiển AT89C51 là một thành viên của họ 8051, được thiết kế với công nghệ CMOS, mang lại tốc độ cao và tiêu thụ năng lượng thấp Sản phẩm này sở hữu bộ nhớ Flash có thể lập trình, được sản xuất bởi Atmel với công nghệ bộ nhớ không bay hơi mật độ cao.
AT89C51 có 40 chân, được đóng gói theo tiêu chuẩn PDIP.
Hình 2:Sơ đồ chân ra của vi điều khiển AT89C51.
P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD
P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7
1.2 Sơ đồ bên trong của vi điều khiển:
Hình 3: Sơ đồ bên trong vi điều khiển.
- Các đặc điểm tiêu chuẩn (của họ vi điều khiển 8051):
+ 4 cổng vào/ra song song 8 bit.
+ 2 bộ định thời/đếm 16 bit.
+ Kiến trúc 5 vectơ ngắt 2 mức (five vector two-level interruptarchitecture).
BUS Các Port I/0 Port nối
+ 1 cổng nối tiếp song công (full-duplex).
+ Mạch tạo dao động trên chip và mạch đồng hồ.
AT89C51 được thiết kế với logic tĩnh cho phép hoạt động ở tần số 0 và hỗ trợ hai chế độ tiết kiệm năng lượng có thể chọn qua phần mềm Chế độ nghỉ dừng CPU cho phép RAM, bộ định thời/đếm, cổng nối tiếp và hệ thống ngắt tiếp tục hoạt động Trong khi đó, chế độ nguồn giảm duy trì nội dung RAM nhưng ngăn chặn mạch dao động cung cấp xung clock, vô hiệu hóa các hoạt động khác của chip cho đến khi có reset cứng tiếp theo.
1.3 Khảo sát, chức năng từng chân:
1.3.2 Chức năng của các chân tín hiệu:(Các cổng vào/ra song song)
- 8051 có 4 cổng vào/ra song song 8 bit là Port0, Port1, Port2,
- Các cổng này có thể sử dụng như là cổng vào hoặc cổng ra.
Cổng vào/ra song song có hai chức năng chính: trong các thiết kế nhỏ không sử dụng bộ nhớ mở rộng, nó hoạt động như các đường vào/ra, trong khi ở các thiết kế lớn với bộ nhớ mở rộng, nó trở thành bus địa chỉ và bus dữ liệu đa hợp Cổng Port 1 bao gồm các chân từ 1 đến 8.
Là cổng vào/ra song song Các chân được ký hiệu P1.0, P1.1, P1.2,
Cổng Port 1 chỉ được sử dụng cho giao tiếp với các thiết bị ngoại vi, không có chức năng nào khác Trong khi đó, cổng Port 2, với các chân từ 21 đến 28, có khả năng hỗ trợ nhiều chức năng hơn trong việc kết nối với các thiết bị bên ngoài.
Cổng vào/ra song song này có chức năng kép, hoạt động như các đường xuất nhập hoặc byte của bus địa chỉ 16 bit, phục vụ cho các thiết bị sử dụng bộ nhớ mở rộng.
Là cổng vào/ra song song có tác dụng kép Khi không hoạt động xuất nhập các chân của cổng này có nhiều chức năng riêng
1.3.3 Các chân tín hiệu điều khiển:
Chân PSEN (Program Storage Enable) là tín hiệu ra tại chân 29 với chức năng kép, cho phép đọc bộ nhớ chương trình ngoài, thường kết nối với chân OE (Output Enable) của EPROM để truy xuất các byte mã lệnh Tín hiệu PSEN ở mức logic 0 trong quá trình vi điều khiển tìm nạp lệnh, và các mã lệnh được đọc từ EPROM qua bus dữ liệu, sau đó được lưu vào thanh ghi lệnh IR để giải mã Khi vi điều khiển thực hiện chương trình trong ROM nội, PSEN sẽ ở mức logic 1 Chân ALE/PROG (Address Latch Enable) cho phép chốt địa chỉ.
Chân tín hiệu ALE (chân 30) cung cấp xung điều khiển cho phép chốt byte thấp của địa chỉ khi vi điều khiển truy xuất bộ nhớ ngoài Trong quá trình lập trình FLASH, chân này hoạt động như đầu vào của xung lập trình với mức tín hiệu ở 0 Trong hoạt động bình thường, tín hiệu ALE phát ra với tần số cố định bằng 1/6 tần số của bộ tạo dao động trên chip, và có thể được sử dụng cho mục đích định thời Tuy nhiên, cần lưu ý rằng sẽ có một xung ALE bị bỏ qua mỗi khi vi điều khiển thực hiện truy xuất bộ nhớ ngoài.
Chân tín hiệu truy xuất ngoài EA (External Access) là chân 31, được kết nối với 5V (mức logic 1) hoặc GND (mức 0) Khi chân EA ở mức 1, vi điều khiển sẽ thực hiện chương trình từ ROM nội Ngược lại, nếu chân EA ở mức 0, vi điều khiển sẽ không thực hiện chương trình từ ROM nội.
P3.0 RXD Dữ liệu nhận cho Port nối tiếp
P3.1 TXD Dữ liệu phát cho Port nối tiếp
P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 /RD Xung ghi đọc nhớ dữ liệu ngoài hành chương trình ở bộ nhớ mở rộng Chân EA được sử dụng như chân cấp nguồn 12V khi lập trình cho FLASH trong vi điều khiển Chân thiết lập lại RST (Reset) đảm bảo khởi động lại hệ thống khi cần thiết.
Chân RST (chân 9) là đường vào xóa chính của vi điều khiển, có chức năng thiết lập lại hệ thống Khi chân tín hiệu này được đưa lên mức cao ít nhất 2 chu kỳ máy, các thanh ghi bên trong sẽ nạp các giá trị thích hợp để khởi động hệ thống RST có thể được kích hoạt khi cấp điện thông qua một mạch R-C.
Hình 4: Mạch thiết lập lại cho 8051
- Các chân XTAL1, XTAL2: Các chân này (chân 18, 19) nối với bộ tạo dao động trên chip.Mạch tạo dao động như sau:
Hình 5: Mạch tạo dao động cho bộ tạo dao động trên chip của AT89C51
Tần số của dao động thường là 12MHz Khi đó tụ có giá trị 33pF.Chân VCC nối đến +5V của nguồn cấp, chân GND nối đất.
Bộ vi điều khiển 8051 sở hữu 128 byte RAM, trong đó 32 byte đầu tiên (từ 00H đến 1FH) được dành cho các thanh ghi, 16 byte tiếp theo (từ 20H đến 2FH) là vùng RAM định địa chỉ theo bit, và cuối cùng là 80 byte RAM nháp.
-Vùng thanh ghi có 32 byte, chia thành 4 khối (bank 0 đến bank 3),mỗi khối có 8 thanh ghi (từ R0 đến R7).
- Ở vùng RAM định địa chỉ theo bit, các bit được đánh địa chỉ từ 00H đến 7FH.
- Các thanh ghi chuyên dụng (SFRs – Special Function Registers):
- Các thanh ghi này có địa chỉ từ 80H đến FFH Chúng chứa nộidung của các thanh ghi điều khiển.
- Bộ vi điều khiển AT89C51 có 4KB FLASH lập trình được.
- ROM luôn chiếm vùng địa chỉ thấp nhất trong bộ nhớ chương trình.
1.5 Các Bộ định thời/Bộ đếm:
- Bộ vi điều khiển 8051 có 2 Bộ định thời/Bộ đếm là Bộ định thời/Bộ đếm
0 và Bộ định thời/Bộ đếm 1 Chúng có thể hoạt động như là bộ định thời hoặc bộ đếm.
- Chế độ hoạt động của các Bộ định thời/Bộ đếm được cất trong thanh ghi TMOD:
Khi bit GATE bị xóa, các Bộ định thời và Bộ đếm có thể hoạt động khi bit TR# tương ứng trong thanh ghi TCON được thiết lập Ngược lại, nếu bit GATE được thiết lập, các Bộ định thời và Bộ đếm chỉ hoạt động khi chân INT# tương ứng ở mức thấp.
Bit C/T# được sử dụng để chọn chế độ hoạt động của bộ đếm hoặc bộ định thời Khi được thiết lập, nó hoạt động theo chế độ đếm sự kiện, với nguồn xung cho bộ đếm là xung ngoài từ chân T# tương ứng (chân 14, 15) Nếu bị xóa, nó chuyển sang chế độ định thời, sử dụng nguồn xung do bộ tạo dao động trên chip tạo ra sau khi chia 12.
Các bit M0 và M1 được sử dụng để xác định chế độ đếm cho các bộ đếm Hoạt động của các bộ định thời và bộ đếm được điều khiển bởi thanh ghi TCON.
- Các bit TR# cho phép Bộ định thời/Bộ đếm hoạt động (nếu được thiết lập) hoặc không cho phép chúng hoạt động (nếu bị xóa).
Các bit TF# là cờ tràn liên quan đến các Bộ định thời và Bộ đếm Chúng được kích hoạt khi xảy ra tình trạng tràn và sẽ được xóa tự động bởi phần cứng khi bộ xử lý chuyển hướng đến chương trình phục vụ ngắt tương ứng.
Khối hiển thị
Khối hiển thị có vai trò quan trọng trong việc cung cấp thông tin điều khiển giao thông dựa trên trạng thái hiện tại của hệ thống Nó bao gồm hai thành
Đèn điều khiển giao thông bao gồm các màu sắc xanh, đỏ và vàng, phục vụ cho các phương tiện tham gia giao thông Đồng hồ hiển thị sử dụng LED 7 thanh để tạo ra các số từ 00 đến 99, với loại anode chung được áp dụng trong cấu trúc của nó.
2.1 Led 7 thanh dung Anode chung:
Hình 6: Cấu trúc bên trong của LED 7 thanh Anode chung
Để bảo vệ các LED đơn bên trong đèn LED 7 đoạn, cần đảm bảo dòng điện qua mỗi LED đơn dao động từ 10mA đến 20mA Khi kết nối với nguồn 5V, nên sử dụng điện trở hạn dòng 330 ohm trước các chân tín hiệu điều khiển.
Để đảm bảo an toàn và tránh cháy nổ, các chân của đèn LED 7seg đều được trang bị điện trở hạn dòng Thông thường, LED hoạt động hiệu quả ở mức điện áp từ 1,8 đến 3V và dòng điện từ 10 đến 20mA, giúp đèn sáng đẹp và mạnh mẽ.
Mạch LED sử dụng phương pháp quét, yêu cầu tối thiểu 24 lần sáng mỗi giây để đạt tiêu chuẩn điện ảnh, nhưng thường được nâng lên 60-70 lần/giây Phương pháp hiển thị này cho phép truyền dữ liệu đến tất cả các LED tại mỗi thời điểm, nhưng chỉ có một LED được phép hiển thị dữ liệu đó.
2.2 LED đơn hiển thị Xanh, Vàng, Đỏ:
2.3 Tính giá trị điện trở hạn dòng cho LED:
Dòng qua mỗi nhánh của led khoảng 10 - 20mA
Sụt áp trên mỗi nhánh của led khoảng 1,8V 3VV
Giá trị điện trở R nhỏ nhất:
Giá trị điện trở R lớn nhất:
Chọn R hạn dòng từ 100 - 320 cũng được.
Khối nguồn
Mạch điện bao gồm các phần chính như hạ áp, chỉnh lưu, lọc và biến đổi với IC 7805 Nguồn điện xoay chiều 220VAC-50Hz được hạ áp xuống 24VAC-1A qua biến áp, sau đó được chỉnh lưu để chuyển đổi thành điện một chiều Điện một chiều này có độ gợn và cần được lọc bằng bộ lọc C để làm phẳng điện áp Cuối cùng, điện áp một chiều ổn định 5V được cung cấp cho toàn mạch nhờ vào IC LM7805.
Hình 7: Hình dáng IC ổn áp 7805
Hình 8: Sơ đồ nguyên lý mạch nguồn.
THIẾT KẾ VÀ THI CÔNG MẠCH
Sơ đồ nguyên lý toàn mạch
Nguyên lý hoạt động
Cấp nguồn từ 9 – 12V qua mạch nguồn ổn áp còn 5VDC ổn định cấp cho toàn mạch hoạt động.
Các mạch hiển thị hoạt động dựa trên nguyên tắc điều khiển bit vào/ra của các cổng trên IC 89C51 Chương trình được nạp vào IC này cho phép vi điều khi
Việc chuyển mức đèn tín hiệu trên hai làn đường (Xanh, Đỏ, Vàng) sẽ được thực hiện thông qua 6 bit truyền tín hiệu Cụ thể, làn đường thứ nhất và thứ hai sẽ sử dụng các chân P0.0 đến P0.7 để hiển thị các tín hiệu đèn Xanh, Vàng và Đỏ.
Đèn hiển thị sử dụng LED 7 thanh nối chung anốt, với đèn sáng tương ứng với mức logic thấp Trong quá trình hiển thị, đèn của hai làn đường sẽ kết hợp với nhau, cụ thể đèn xanh ở làn 1 sẽ tương ứng với đèn đỏ ở làn 2 và ngược lại Quá trình chuyển đổi giữa các đèn sẽ xen kẽ với các bộ đếm, và khi kết thúc mỗi bộ đếm, các bit sẽ được thiết lập lại để hiển thị trạng thái của đèn tiếp theo.
Quá trình tạo ra số thập phân được thực hiện bằng cách ghi dãy số Hexa 21 giảm dần vào vị trí ROM nội Để thực hiện điều này, chân số 31 (EA/VPP) được sử dụng và đặt ở mức điện áp cao (mức 1) để đọc dữ liệu từ ROM nội.
Các trạng thái đèn hiển thị được điều khiển thông qua khối nút nhấn.
Lưu đồ giải thuật
Biến mode = 0 Đọc thời gian xanh và thời gian vàng lưu vào 2 biến tgx, tgv
Tg1: = tgx Tg2: = tgx + tgv
Chương trình điều khiển
;Thiet ke va lap trinh mach den giao thong voi 3 den xanh vang do.
; - Dung Port 0 de dieu khien den xanh vang do
; - Dung Port 2 de hien thi thoi gian
; - Dung port 1 de noi voi cac phim nhan dung de dieu khien va
;chinh thoi gian cua den xanh, vang va do
Một số hình ảnh sau khi mô phỏng trên protues
P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32
P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32
P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32
P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32