Hệ thống đèn giao thông thực tế đều là các hệ thống đèn giao thông được thiết kế và điều khiển hoàn toàn tự động.. Một số hệ thống đèn giao thông ở các đường cao tốc còn có các hệ thống
Trang 1VIỆN ĐIỆN TỬ VIỄN THÔNG
Hà Nội, 6/2016
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
Trang 4MỤC LỤC
LỜI NÓI ĐẦU 6 CHƯƠNG 1 MÔ TẢ ĐỀ TÀI 7
1.1 Yêu cầu chức năng 7
1.2 Yêu cầu phi chức năng 7
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1 Sơ đồ khối hệ thống 9
Hình 2.1 Cấu tạo chip DS1307 10
Hình 2.2 Sơ đồ mạch thời gian thực 12
Hình 2.3 Sơ đồ mạch hiển thị LCD 16x2 13
Hình 2.4 Cách kết nối LCD với vi điều khiển 15
Hình 2.5 Sơ đồ chân Atmega 16 16
Hình 2.6 Sơ đồ nguyên lý (trang 1) 19
Hình 2.7 Sơ đồ nguyên lý (trang 2) 19
Hình 2.8 Sơ đồ nguyên lý mạch hiển thị Led 7 thanh 20
Hình 2.9 Sơ đồ Layout mạch điều khiển 20
Hình 2.10 Sơ đồ Layout mạch hiển thị Led 7 thanh 21
Trang 6LỜI NÓI ĐẦU
Ở hầu hết các ngã tư, ngã năm trên đường đều có sự xuất hiện của đèn giao thông Đèn giao thông giúp cho quá trình lưu thông của các phương tiện được thuận tiện hơn để tránh khỏi các xung đột về giao thông và giảm thiểu về tai nạn giao thông.
Hệ thống đèn giao thông thực tế đều là các hệ thống đèn giao thông được thiết kế và điều khiển hoàn toàn tự động Một số hệ thống đèn giao thông ở các đường cao tốc còn có các hệ thống cảm biến người qua lại, từ đó mới điều khiển tín hiệu đèn xanh hoặc đỏ một cách hợp lý nhất
Xuất phát từ những yêu cầu thực tế, chúng em muốn tìm hiểu và tự xây dựng riêng cho mình một hệ thống đèn giao thông thông minh theo sự quan sát, ghi chép lại thời gian, cách hoạt động của các tín hiệu đèn
từ ngã tư Lê Thanh Nghị - Tạ Quang Bửu
Đề tài này sẽ giúp chúng em hiểu sâu hơn về các kiến thức đã được học trên ghế nhà trường và áp dụng những kiến thức đó vào việc xây dựng, thiết kế những mô hình từ những sản phẩm thực tế.
Với các lý do trên, cùng với sự hướng dẫn tận tình của thầy TS Hàn Huy
Dũng, nhóm em đã thực hiện và hoàn thiện bài tập lớn: Thiết kế mạch điều khiển đèn giao thông thông minh.
Do năng lực trình độ, cũng như thời gian còn hạn chế nên bài tập lớn mônhọc không tránh khỏi những sai sót Kính mong nhận được sự chỉ bảo của các thầy
cô và bạn bè
Hà Nội, ngày tháng năm 2015
Nhóm Sinh viên thực hiện
Trang 7CHƯƠNG 1 MÔ TẢ ĐỀ TÀI
- Điều khiển hệ thống đèn giao thông với 2 chế độ thời gian thực:
o 0-5h30: Đèn tín hiệu dành cho các phương tiện nhấp nháy vàng Đèn dành cho người đi bộ xanh
o 5h30-24h: Đèn dành cho các phương tiện: 25s đèn xanh, 3s đèn vàng, 29s đèn đỏ Đèn dành cho người đi bộ:Đèn anh bật khi đèn đỏ của các phương tiện bật được 3s, đèn đỏ bật khi đèn đỏ của các phương tiện còn 3s.
- Hiển thị thời gian đếm ngược của các tín hiệu đèn.
- Điều chỉnh các thông số thời gian thực, điều chỉnh thời gian của các tín hiệu đèn giao thông và đèn cho người đi bộ trên hệ thống bằng các phím bấm và hiển thị lên màn hình LCD các thông số đó
- Sử dụng chip Atmega 16 của hãng Atmel
- Code bằng ngôn ngữ C
- Các chức năng tương tác dễ sử dụng
- Mạch có thể chạy ổn định trong thời gian dài
- Mạch thiết kế nhỏ gọn, sắp xếp linh kiện hợp lí
Trang 83 Sơ đồ khối hệ thống
Hình 1.1 Sơ đồ khối hệ thống
4 Kế hoạch thực hiện và phân chia công việc
Trang 9CHƯƠNG 2 THIẾT KẾ HỆ THỐNG
5 Khối thời gian thực
DS1307 là chip đồng hồ thời gian thực (RTC : Real-time clock), khái niệm thờigian thực ở đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang sửdụng, tình bằng giây, phút, giờ…DS1307 là một sản phẩm của DallasSemiconductor Chip này có 7 thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ(trong tuần), ngày, tháng, năm Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ
ra phụ và 56 thanh ghi trống có thể dùng như RAM DS1307 được đọc và ghi thôngqua giao diện nối tiếp I2C (TWI của AVR) nên cấu tạo bên ngoài rất đơn giản
Hình 2.1 Cấu tạo chip DS1307
- Vcc: nguồn cho giao diện I2C, thường là 5V và dùng chung với vi điều khiển.
- SQW/OUT: một ngõ phụ tạo xung vuông (Square Wave / Output Driver), tần
số của xung được tạo có thể được lập trình Như vậy chân này hầu như không liênquan
- SCL và SDA là 2 đường giao xung nhịp và dữ liệu của giao diện I2C.
- X1, X2 là đầu vào cho dao động cho DS1307 Dùng thạch anh 32.768Khz
- Vbat là nguồn nuôi dùng pin 3V cho chip Đây là nguồn cho chip hoạt động
liên tục khi không có nguồn Vcc mà DS1307 vẫn hoạt động theo thời gian
Trang 10Thanh ghi giây (SECONDS): thanh ghi này là thanh ghi đầu tiên trong bộ
nhớ của DS1307, địa chỉ của nó là 0x00 Bốn bit thấp của thanh ghi này chứa mãBCD 4-bit của chữ số hàng đơn vị của giá trị giây Do giá trị cao nhất của chữ sốhàng chục là 5 (không có giây 60 !) nên chỉ cần 3 bit (các bit SECONDS6:4) là cóthể mã hóa được (số 5 =101, 3 bit) Bit cao nhất, bit 7, trong thanh ghi này là 1 điềukhiển có tên CH (Clock halt – treo đồng hồ), nếu bit này được set bằng 1 bộ daođộng trong chip bị vô hiệu hóa, đồng hồ không hoạt động Thanh ghi phút (MINUTES): có địa chỉ 0x01, chứa giá trị phút của đồng
hồ Tương tự thanh ghi SECONDS, chỉ có 7 bit của thanh ghi này được dùng lưu
mã BCD
Thanh ghi giờ (HOURS): có thể nói đây là thanh ghi phức tạp nhất trong
DS1307 Thanh ghi này có địa chỉ 0x02 Trước hết 4-bits thấp của thanh ghi nàyđược dùng cho chữ số hàng đơn vị của giờ Do DS1307 hỗ trợ 2 loại hệ thống hiểnthị giờ (gọi là mode) là 12h (1h đến 12h) và 24h (1h đến 24h) giờ Nếu bit6=0 thì hệthống 24h được chọn, khi đó 2 bit cao 5 và 4 dùng mã hóa chữ số hàng chục của giátrị giờ Do giá trị lớn nhất của chữ số hàng chục trong trường hợp này là 2 (=10, nhịphân) nên 2 bit 5 và 4 là đủ để mã hóa Nếu bit6=1 thì hệ thống 12h được chọn, vớitrường hợp này chỉ có bit 4 dùng mã hóa chữ số hàng chục của giờ, bit 5(màu orange trong hình 4) chỉ buổi trong ngày, AM hoặc PM Bit5 =0 là AM Thanh ghi thứ (DAY – ngày trong tuần): nằm ở địa chỉ 0x03 Thanh ghi
DAY chỉ mang giá trị từ 1 đến 7 tương ứng từ Chủ nhật đến thứ 7 trong 1 tuần Các thanh ghi còn lại có cấu trúc tương tự, DATE chứa ngày trong tháng (1
Trang 11Hình 2.2 Sơ đồ mạch thời gian thực
Trang 126 Khối hiển thị LCD 16x2
Hình 2.3 Sơ đồ mạch hiển thị LCD 16x2
- Text LCD là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị các dòng
chữ hoặc số trong bảng mã ASCII Không giống các loại LCD lớn, Text LCD đượcchia sẵn thành từng ô và ứng với mỗi ô chỉ có thể hiển thị một ký tự ASCII Cũng vì
lý do chỉ hiện thị được ký tự ASCII nên loại LCD này được gọi là Text LCD (đểphân biệt với Graphic LCD có thể hiển thị hình ảnh)
Trang 13- Text LCD có 2 cách giao tiếp cơ bản là nối tiếp (như I2C) và song song.
Trong phạm vi của đồ án, tôi chỉ giới thiệu loại giao tiếp song song, cụ thể là LCD16x2 điều khiển bởi chip HD44780U của hãng Hitachi
- Các Text LCD theo chuẩn HD44780U thường có 16 chân trong đó 14 chân
kết nối với bộ điều khiển và 2 chân nguồn cho “đèn LED nền” Thứ tự các chânthường được sắp xếp như sau:
D0 – D7: LệnhD0 – D7: Dữ liệu
01
Ghi (Từ AVR vào LCD)Đọc (Từ LCD vào AVR)
01
Từ 1 -> 0
Vô hiệu hoá LCDLCD hoạt độngBắt đầu ghi/đọc LCD
Trang 14Bảng 2.1: Sơ đồ chân LCD 16x2
- Trong một số LCD 2 chân LED nền được đánh số 15 và 16 nhưng trong một
số trường hợp 2 chân này được ghi là A (Anode) và K (Cathode) Hình 2.9 mô tảcách kết nối LCD với nguồn và mạch điều khiển
Hình 2.4 Cách kết nối LCD với vi điều khiển
- Chân 1 và chân 2 là các chân nguồn, được nối với GND và nguồn 5V Chân
Trang 157 Khối xử lý trung tâm
Hình 2.5 Sơ đồ chân Atmega 16
- Là dòng vi điều khiển do hãng Atmel sản xuất.
- Đây là 1 loại vi điều khiển có nhiều tính năng đặc biệt thích hợp cho việc giải
quyết những bài toán trên nền vi xử lý
- Các loại vi điều khiển AVR rất phổ biến trên thị trường Việt Nam nên không
khó khăn trong việc thay thế và sửa chữa hệ thống lúc cần
- Giá thành của dòng vi điều khiển này cũng khá thấp.
- Các phần mềm lập trình và mã nguồn mở có thể tìm kiếm khá dễ dàng trên
mạng Các thiết kế demo nhiều nên có nhiều gợi ý tốt cho người thiết kế hệthống
Đặc điểm chung:
- Đây là loại VĐK 8bit, các lệnh được xử lý nhanh hơn, tiêu thụ năng lượng thấp.
- Atmega có cấu trúc RISC với:
+ 131 lệnh, hầu hết được thực thi trong 1 chu kì xung nhịp
Trang 16+ 32x8 thanh ghi đa dụng.
+ Full static operation
+ Tốc độ làm việc 16MPIS, với thạch anh 16MHz
- Bộ nhớ:
+ 16KB ISP Flash với khả năng 10000 lần ghi/xoá
+ 512byte EEPROM
+ 1KB SRAM ngoại
- Giao tiếp JTAG:
+ Khả năng quét toàn diện theo chuẩn JTAG
+ Hỗ trợ khả năng Debug On-chip
+ Hỗ trợ lập trình Flash, EEROM, fuse
+ Lock bit qua giao tiếp JTAG
- Ngoại vi:
+ 2 timer/counter 8bit với các mode: so sánh và chia tần số
+ 1 timer/counet 16bit với các mode: so sánh, chia tần số, capture, và PWM.+ 1 timer thời gian thực (Real time clock) với bộ dao động riêng biệt
+ 4 kênh PWM (hoặc có thể nhiều hơn trong các VĐK khác thuộc họ này)
Trang 17- Những thuộc tính đặc biệt:
+ Power on Reset và Brown-out detection
+ Chế độ hiệu chỉnh bộ sai số cho bộ dao động RC on-chip
+ Các chế độ ngắt ngoài và trong đa dạng
+ 6 mode Sleep: Idle, ADC noise reduction, tiết kiệm năng lượng, power-down,standby, extended standby
- I/O port:
+ 32 chân I/O (Atmega 16) và 21 chân I/O (Atmega 8) lập trình được
+ 40 chân (Atmega 16), 28 chân (Atmega 8) và 64 chân (AT90can128); đều có 3địa chỉ vào ra đi kèm, địa chỉ vào ra được cần đến để đặt cấu hình cho các bítriêng biệt thành lối vào hoặc lối ra, địa chỉ khác được cần đến để xuất ra dữ liệutới các bit (hoặc tất cả) được đặt cấu hình thành lối ra và địa chỉ thứ 3 được cầnđến để đọc dữ liệu từ các chân (hoặc tất cả) thành lối vào
- Nguồn cấp:
+ 2.7V -> 5.5V với Atmega 16L
+ 4.5V -> 5.5V với Atmega 16H4.5V -> 5.5V với Atmega 16H
- Tiêu hao năng lượng:
+ Khi hoạt động tiêu thụ dòng 1.1mA
+ Ở mode Idle tiêu thụ dòng 0.35mA
+ Ở chế độ Power_down tiêu thụ dòng nhỏ hơn 1µA
Trang 188 Sơ đồ nguyên lý
Hình 2.6 Sơ đồ nguyên lý (trang 1)
Trang 19Hình 2.8 Sơ đồ nguyên lý mạch hiển thị Led 7 thanh
9 Sơ đồ Layout mạch
Hình 2.9 Sơ đồ Layout mạch điều khiển
Trang 20Hình 2.10 Sơ đồ Layout mạch hiển thị Led 7 thanh
10 Hình ảnh thật sản phẩm
Trang 21o Chưa có chức năng điều chỉnh thời gian nghỉ để bật chế độ tiết kiệm điện
o Chưa lưu lại thời gian đếm của các tin hiệu đèn khi mất điện
Trang 22CHƯƠNG 4 KẾT LUẬN
Qua các phần của bài tập lớn môn Kỹ thuật Vi xử Lý, nhóm chúng em đã trìnhbày xong đề tài: Thiết kế mạch điều khiển hệ thống giao thông thông minh Do cònhạn chế về thời gian và kiến thức nên bài tập của chúng em xin được dừng lại tạiđây
Nhìn từ một khía cạnh nào đó, bài nghiên cứu còn sơ sài và tồn tại nhiều điểmthiếu sót Tuy nhiên, chúng em hi vọng những gì mà chúng em đã tìm hiểu sẽ giúpích cho những ai yêu thích điện tử muốn thiết kế các sản phẩm thực tiễn trong cuộcsống dựa trên dòng vi điều khiển AVR này
Một lần nữa, xin được cảm ơn sự giúp đỡ tận tình của TS Hàn Huy Dũng,
cảm ơn những chia sẻ của cộng đồng yêu thích công nghệ và điện tử
Xin trân trọng cám ơn !
Trang 23TÀI LIỆU THAM KHẢO
[1] Lê Trung Thắng: "Vi điều khiển AVR".
[2] Labcenter Electronics [Oline] http://www.labcenter.com
[3] Cadence OrCAD Solutions [Online] http://www.cadence.com
[4] NSC [National Semiconductor] - LM2576HV - SIMPLE SWITCHER 3A Down Voltage Regulator - National Semiconductor [Online]
Step-http://www.national.com
[5] Atmel [Online] http://www.atmel.com
[6] Nguyễn Đình Quyền – Mai Xuân Hùng : “Giáo trình lập trình C trên Windows” Nhà Xuất Bản Đại Học Quốc Gia Tp Hồ Chí Minh – 2003
[7] Richard H Barnett, Sarah Cox: "Embedded C Programming And The Atmel AVR 2nd Edition".
Trang 25PHỤ LỤC B: HƯỚNG DẪN SỬ DỤNG
Mạch điều khiển hệ thống đèn giao thông thông minh sử dụng nguồn DC 5V –12V Hiện rất phổ biến trên thị trường
C.1 Cấp nguồn cho mạch sử dụng jack DC 5.5
C.2 Ấn nút số 2 vào phần Display Time để đảm bảo thời gian hệ thống trùng với
thời gian thực Ấn phím 4 để ra màn hình chính
C.3 Ấn nút số 1 vào phần Set Time để cài đặt thời gian hệ thống và cài đặt thời gian
đếm của các tín hiệu đèn
C.4 Để di chuyển giữa các vị trí trên màn hình LCD trong phần Main time và Time
Counter, sử dụng các phím 1 và 2 Để tăng giảm các giá trị ấn phím 3 và 4 Để lưu
lại thông số cài đặt Di chuyển con trỏ vào phím Luu và ấn số 3 Để thoát khỏichương trình, Di chuyển con trỏ vào phím Huy và ấn số 3
Thời gian đếm đèn xanh tối đa: 90 giây
Thời gian đếm đèn vàng tối đa: 9 giây
Thời gian đếm đèn đỏ = đèn xanh + đèn vàng
Hệ thống tự động bật chế độ tiết kiệm điện vào ban đêm, nháy đèn vàng