Thiết kế hệ thống đèn giao thông ngã tư
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỂN THÔNG
- -
BÁO CÁO KĨ THUẬT VI XỬ LÝ
Đề tài: Thiết kế hệ thống đèn giao thông ngã tư
Giảng viên hướng
Trang 2Lời nói đầu
Trong những năm gần đây, cùng với sự phát triển mạnh mẽ của ngành công nghiệp chế tạo linh kiện bán dẫn và vi mạch tổng hợp, đã kéo theo sụ ra đời và phát triển của kĩ thuật vi điều khiển Với nhiều ưu điểm, kĩ thuật vi điều khiển đã được sử dụng rộng rãi ở nhiều lĩnh vực khác nhau như: mạch điều khiển hệ thống đèn, mạch đếm sản phẩm, mạch điều khiển các thiết bị điều khiển từ xa,… Bằng cách áp dụng kĩ thuật vi xử
lý vào trong quá trình sản xuất và vận hành, con người đã giải quyết và tạo ra được nhiều ứng dụng sản phẩm hữu ích làm thay đổi cuộc sống
Một trong những ứng dụng thiết thực nhất vi điều khiển chính là hệ thống điều khiển đèn giao thông tại các ngã tư mà chúng ta vẫn thường thấy Đối với hệ thống giao thông của nước ta hiện nay, vấn đề an toàn và tránh ùn tắc tại các ngã tư là một vấn đề nổi cộm và mang nhiều thách thức được toàn xã hội quan tâm Vì vậy, con người và các phương tiện hướng dẫn giao thông đều mang ý nghĩa vô cùng quan trọng Hệ thống đèn giao thông không chỉ giúp chỉ dẫn, phân luồng giao thông, mà còn giúp hạn chế những xung đột xảy ra khi tham gia lưu thông trên các ngã tư, hạn chế ùn tắc Do đó, cần thiết phải thiết kế và cho ra đời những mạch điều khiển hệ thống đèn giao thông sao cho thông minh, hiệu quả và dễ sử dụng Cũng vì những lý do đó mà nhóm chúng em gồm 2 thành viên là: Đào Duy Hùng, Đỗ Quốc Hưng đã chọn đề tài “xây dựng hệ thống đèn giao thông sử dụng vi điều khiển Atmega328p để hoàn thành bài tập lớn cho bộ môn Kĩ thuật
vi xử lý của mình
Báo cáo của nhóm được xây dựng theo sườn mô hình 9 bước thiết kế một sản phẩm mạch điện tử, sẽ trình bày đầy đủ quá trình hình thành ý tưởng, nguyên lý hoạt động, cho đến khi hoàn thiện sản phẩm Sản phẩm và báo cáo của chúng em có thể còn nhiều thiết sót, rất mong được thầy góp ý để chúng em có thể hoàn thiện hơn
Chúng em chân thành cảm ơn thầy Nguyễn Hoàng Dũng đã tận tình chỉ bảo góp
ý, gợi ý giải pháp để nhóm có thể hoàn thành đề tài!
Trang 3Mục lục
Lời nói đầu 2
Mục lục 3
Danh sách các bảng biểu 6
Chương 1 Mô tả kỹ thuật và xác lập kế hoạch 7
1.1 Tổng quan và xác định đề tài 7
1.2 Mô tả kỹ thuật 7
1.2.1 Yêu cầu chức năng 7
1.2.2 Yêu cầu phi chức năng 8
1.3 Xác lập kế hoạch 8
1.3.1 Xác lập công việc và nhân lực 8
1.3.2 Kế hoạch chung 8
1.3.3 Bảng nhân lực 9
1.3.4 Phân chia công việc 9
Chương 2 Thiết kế kiến trúc 10
2.1 Sơ đồ khối 10
2.2 Khối nguồn 11
2.2.1 Giới thiệu 7805 11
2.2.2 Sơ đồ nguyên lý 11
2.3 Khối vi điều khiển 12
2.3.1 ATMEGA 328P 12
2.3.2 Sơ đồ nguyên lý khối xử lý 15
Trang 42.5 Khối dịch bit 16
2.6 Khối hiển thị 19
Chương 3 Cấu trúc chương trình vi điều khiển 21
3.1 Sơ đồ trạng thái 21
3.2 Chương trình xử lý tín hiệu từ khối nút điều khiển 22
3.3 Chương trình truyền dữ liệu ra khối dịch bit 22
3.4 Chương trình quét led 23
3.5 Chương trình mô phỏng thời gian thực 23
Chương 4 Thử nghiệm và mô phỏng 24
4.1 Mô phỏng proteus 24
4.2 Thử nghiệm trên bo trắng 24
4.3 Vẽ mạch nguyên lí và PCB trên Altium Designer 25
4.4 In mạch và hoàn thiện sản phẩm 26
4.5 Nhận xét 27
4.5.1 Ưu điểm 27
4.5.2 Nhược điểm 27
Kết luận 28
Tài liệu tham khảo 29
Phụ lục 30
Phụ lục 1: Code chương trình xử lý tín hiệu khối nút điều khiển 30
Phụ lục 2: Code chương trình truyền dữ liệu ra khối dịch bit 31
Phụ luc 3: Code chương trình quét led 32
Phụ lục 4: Code chương trình mô phỏng thời gian thực 33
Trang 5Danh sách hình vẽ
Hình 2.1: Sơ đồ khối hệ thống đèn giao thông 10
Hình 2.2: Sơ đồ chân 7805 11
Hình 2.3: Sơ đồ nguyên lý khối nguồn 11
Hình 2.4: Atmega328 12
Hình 2.5: Bộ dao động thạch anh cấp tín hiệu dao động cho VĐK 13
Hình 2.6: Bộ reset bằng nút của vi điều khiển atmega328 14
Hình 2.7: Sơ đồ nguyên lý khối xử lý 15
Hình 2.8: Tín hiệu vào ra khối vi xử lý 15
Hình 2.9: Sơ đồ khối nút điều khiển 16
Hình 2.10: IC 74HC595 17
Hình 2.11: Sơ đồ nguyên lý IC74HC595 18
Hình 2.12: Sơ đồ chân led 7 thanh 2 chữ số catot chung 19
Hình 2.13: Hiển thị số 1 trên led 7 thanh 2 chữ số 19
Hình 3.1: Sơ đồ chuyển trạng thái của chương trình 21
Hình 4.1: Mô phỏng sơ đồ nguyên lý mạch trên proteus 8.6 24
Hình 4.2: Mạch thử nghiệm thực tế trên bo mạch trắng 24
Hình 4.3: Mạch in thiết kế trên altium 25
Hình 4.4: Hình ảnh 3d của mạch 26
Hình 4.5: Bottom layer mạch đèn giao thông 26
Hình 4.6: Mạch hoàn thiện 27
Trang 6Danh sách các bảng biểu
Bảng 1.1: Bảng kế hoạch chung 8
Bảng 1.2: Bảng nhân lực 9
Bảng 1.3: Bảng phân chia công việc 9
Bảng 2.1: Bảng mô tả chức năng chân Atmega 328 12
Bảng 2.2: Bảng mô tả chân IC 74HC595 17
Bảng 2.3: Bảng mô tả tín hiệu vào/ra các chân IC74HC595 19
Bảng 2.4: Bảng giải mã chân hiển thị trên led 7 đoạn 2 chữ số 20
Bảng 3.1: byte dịch ra khối dịch bit 22
Trang 7Chương 1 Mô tả kỹ thuật và xác lập kế hoạch
1.1 Tổng quan và xác định đề tài
Đề tài của chúng em được phân công là thiết kế và xây dựng hệ thống đèn giao thông ngã tư dạng mô hình Chi tiết hệ thống của đèn giao thông sẽ gồm 2 tập hợp đèn (đỏ, xanh, vàng) cùng với linh kiện số hiển thị thời gian đếm của các đèn Mô hình được xây dựng với các chức năng cơ bản và một số chức năng thêm sẽ được trình bày trong phần
1.2 Mô tả kỹ thuật
1.2.1 Yêu cầu chức năng
- Hiển thị đèn 3 màu: Xanh – đỏ - vàng ứng với 2 hướng đi tại một ngã tư Ý nghĩa của từng đèn như sau: Xanh - các phương tiện được phép đi thẳng hoặc rẽ phải; Đỏ - các phương tiện không được đi quá giới hạn vạch kẻ đường ; Vàng – báo hiệu các phương tiện chuẩn bị dừng lại vì sắp đến tín hiệu đèn đỏ
- Hiển thị thời gian trùng khớp với sự xuất hiện của 3 màu Do tính chất của giao thông nước ta, thời gian đèn đỏ thường lớn nhất và bằng tổng thời gian đèn xanh với đèn vàng cộng lại
- Cho phép người dùng điều chỉnh thời gian hiển thị trực tiếp cho đèn vàng và đèn xanh Người dùng tự cân đối điều chỉnh thời gian hiển thị của đèn vàng và đèn xanh sao cho đèn đỏ (thời gian hiển thị đèn đỏ bằng tổng thời gian hiển thị đèn vàng và đèn xanh)
có thời gian hiển thị từ 00 đến 99 giây
- Hệ thống có thể reset bằng tay hoặc sẽ tự reset khi mất nguồn Chế độ ban đầu khi khởi động sau reset cho phép người dùng có thể cài đặt thời gian gốc bắt đầu (với giờ và phút) Ngoài ra có thể thay đổi chương trình vi điều khiển qua thiết bị USB PL 2303
- Sau khi cài đặt thời gian bắt đầu hoạt động (thời gian gốc) Hệ thống lấy đó làm mốc quy chiếu để hoạt động theo chế độ: hoạt động điều khiển giao thông từ 5 giờ sáng đến 11 giờ tối và chuyển sang đèn vàng từ 11 giờ tối đến 5 giờ sáng hôm sau
- Ngắt trạng thái hoạt động điều khiển giao thông chuyển sang trạng thái chỉ đèn đỏ hoặc chỉ đèn xanh hoặc chỉ đèn vàng để phục vụ một số mục đích nhất định
Trang 81.2.2 Yêu cầu phi chức năng
- Mạch sử dụng nguồn hoạt động công suất thấp tiêu tốn ít năng lượng, có khả năng hoạt động lâu dài
- Sử dụng 1 cặp led 7 thanh 2 chữ số để hiện thời gian đèn sáng ứng với từng màu, hiển thị rõ nét, dễ quan sát trong điều kiện ánh sáng ban ngày
- Sử dụng con vi xử lý thuộc họ điều khiển AVR lập trình ghép nối vi điều khiển với các thiết bị ngoại vi
- Hoạt động tốt ở nhiệt độ từ 2 đến 60 độ C, phù hợp với điều kiện thời tiết của nước
1.3.1 Xác lập công việc và nhân lực
Kế hoạch của nhóm bắt đầu tư khi có thông báo của giáo viên hướng dẫn, cả nhóm họp bàn phương hướng công việc, đánh giá năng lực từng cá nhân qua đó để lập danh sách các bước công việc cần làm và để có dược người đảm nhiệm tốt nhất
1.3.2 Kế hoạch chung
Bảng 1.1: Bảng kế hoạch chung
27/04 – 02/05 Tìm hiểu chung về đề tài và phân tích yêu cầu kĩ thuật
24/05 – 30/05 Hàn mạch, hoàn thiện sản phẩm, viết báo cáo
Bảng 1.1 là lịch trình các công việc cần thực hiện trong suốt quá trình làm dự án
Trang 91.3.3 Bảng nhân lực
Bảng nhân lực là bảng thống kê lại tất cả những thông tin về từng cá nhân trong một nhóm Bảng nhân lực bao gồm: điểm mạnh, điểm yếu, kĩ năng, thời gian làm việc… của các thành viên trong nhóm Chính vì vậy, bảng nhân lực sẽ giúp chúng ta phân công công việc một cách hợp lý nhất, phù hợp với từng cá nhân trong nhóm nhất Dưới đây
Bảng 1.2 là bảng nhân lực của nhóm cho bài tập lớn
Bảng 1.2: Bảng nhân lực
1.3.4 Phân chia công việc
Ta tiến hành phân công các thành viên trong nhóm vào các công việc dựa theo các tiêu chí:
− Công việc được phân chia đều cho các thành viên trong nhóm
− Các công việc được giao cho từng thành viên phải phù hợp với ưu nhược điểm cũng như thời gian làm việc
Bảng 1.3: Bảng phân chia công việc
Tìm hiểu chung về đề tài Hùng, Hưng 27/04 – 02/05
Thiết kế sơ đồ nguyên lí Hùng, Hưng 08/05 – 15/05
Lắp mạch và test trên bo trắng Hùng, Hưng 24/05 – 30/05
Trang 10Chương 2 Thiết kế kiến trúc
2.1 Sơ đồ khối
Từ ý tưởng xây dựng hệ thống, mô hình được thiết kế sơ đồ khối như Hình 2.1
Hình 2.1: Sơ đồ khối hệ thống đèn giao thông
Hình 2.1 mô tả kết cấu của hệ thống đèn giao thông gồm 4 khối chính:
- Khối nguồn: chuyển đổi nguồn DC từ 7 đến 18V thành nguồn DC 5V
- Khối nút điều khiển: tạo các tín hiệu điện áp khác nhau đưa và khối vi điều khiển
Trang 112.2 Khối nguồn
2.2.1 Giới thiệu 7805
Hình 2.2: Sơ đồ chân 7805
Hình 2.2 mô tả sơ đồ chân của IC ổn áp LM7805 với hình bên trái là sơ đồ chân và
hình dạng thực tế của LM7805 còn hình bên phải là ký hiệu của LM7805 trong mô phỏng
và chức năng tương ứng của mỗi chân Dựa vào hình có thể thấy chân 1 là chân nối với tín hiệu đầu vào là điện áp muốn hạ xuống và thường ít nhất phải lớn hơn 3V so với điện
áp ra cần ổn định, chân 3 là đầu ra ứng với nguồn nuôi 5V cho mạch, chân 2 là chân nối đất
2.2.2 Sơ đồ nguyên lý
Sơ đồ nguyên lý của khối nguồn để tạo ra nguồn nuôi 5V cho mạch thể hiện trong
Hình 2.3 Sử dụng tụ lắp ở hai đầu để lọc nhiễu nguồn giúp nguồn ổn định
Hình 2.3: Sơ đồ nguyên lý khối nguồn
Trang 122.3 Khối vi điều khiển
Khối vi điều khiển hoạt động bởi nguồn nuôi 5VDC Khối nhận tín hiệu từ khối nút điều khiển và thực hiện đưa ra các tín hiệu điều khiển khối hiển thị và khối dịch bit
2.3.1 ATMEGA 328P
ATMEGA 328P (Hình 2.4) là dòng vi điều khiển phổ biến thuộc họ AVR với tốc độ
xử lý nhanh 1MIPS trên 1MHz, bộ nhớ chương trình 32KB ISP flash có thể ghi xóa hàng nghìn lần, 1KB EEPROM, một bộ nhớ RAM vô cùng lớn trong các dòng vi xử lý 8 bit (2KB SRAM) Đặc biệt ATMEGA 328P còn có bộ chuyển đổi tương tự sang số ADC (analog to digital converter) phù hợp để ứng dụng sản xuất các mạch đo tín hiệu tương tự: điện áp, dòng điện, nhiệt độ, …
Hình 2.4: Atmega328
Mô tả các chân và chức năng của từng chân được thể hiện trong Bảng 2.1
Bảng 2.1: Bảng mô tả chức năng chân Atmega 328
1 PC6 reset chương trình khi về 0
Trang 137 VCC chân nguồn (1.5V – 5.5V)
8 GND chân nối đất
9 XTAL 1 chân dao động thạch anh 1
10 XTAL 2 chân dao động thạch anh 2
20 AVCC cấp điện áp dương cho bộ ADC
21 AREF điện áp tham chiều bộ ADC
22 GND chân nối đất
23 PC0 tín hiệu vào analog 0
24 PC1 tín hiệu vào analog 1
25 PC2 tín hiệu vào analog 2
26 PC3 tín hiệu vào analog 3
27 PC4 tín hiệu vào analog 4
28 PC5 tín hiệu vào analog 5
Từ Bảng 2.1 ta thấy các chân để vi điểu khiển có thể hoạt động là chân VCC, GND,
AVCC (cung cấp năng lượng), hai chân XTAL1 và XTAL 2 nhận tín hiệu dao động từ
bộ dao động thạch anh (Hình 2.5)
Hình 2.5: Bộ dao động thạch anh cấp tín hiệu dao động cho VĐK
Bộ dao động thạch anh cho atmega 328 yêu cầu thạch anh 16MHz và 2 tụ 22pF
Trang 14Bộ chuyển đổi ADC:
Chân AVCC được dùng để cấp nguồn nuôi cho bộ ADC, ngay cả khi các chân analog không được sử dụng thì AVCC vẫn được nối Vcc
Bộ ADC gồm 6 kênh 10bit từ A0 đến A5 (PC0 – PC5) Các giá trị tương tự đọc vào từ chân analog được chuyển đổi sang dạng số 10bit (có 210 giá trị) Chân AREF mang điện
áp tham chiếu cho bộ chuyển đổi ADC Điện áp đưa vào chân analog yêu cầu nhỏ hơn điện áp trên AREF, giá trị số thu được phụ thuộc vào tỉ lệ giữa điện áp trên chân analog
và điện áp tham chiếu Ví dụ, Vref (trên chân AREF) là 5 V, Vin trên A0 là 3.2V thì giá trị số thu được sẽ là: [ 𝑉𝑖𝑛
𝑉𝑟𝑒𝑓 x 1024] = [3.2
5 x 1024] = 655 Nếu Vin < 0 thì giá trị thu được
là 0 hoặc nếu Vin >= Vref thì giá trị thu được là 1023
Trang 152.3.2 Sơ đồ nguyên lý khối xử lý
Sơ đồ nguyên lý khối xử lý mô tả trong Hình 2.7 Các chân VCC và AVCC đều được
nối lên nguồn 5V-DC Chân AREF đặt vào điện áp tham chiếu Vref là 5V Chân A0 hay chân analog 0 nhận tín hiệu vào là điện áp Vpa đi ra từ khối nút điều khiển (0 < Vpa < Vref)
Hình 2.7: Sơ đồ nguyên lý khối xử lý
Các tín hiệu vào ra trên khối xử lý thể hiện trên Hình 2.8
Hình 2.8: Tín hiệu vào ra khối vi xử lý
Bảng 2.2 mô tả nhiệm vụ của các tín hiệu thể hiện trong Hình 2.8
reset Input Tín hiệu reset đi từ bộ reset, trạng thái thấp reset mạch A0 Input Tín hiệu điện áp từ bộ nút điều khiển qua chân analog 0 digital 5,6,7 Output Tín hiệu điều khiển khối dịch bit
digital 8 ÷ 13 Output Tín hiệu điều khiển 6 led đèn
digital 3,4 Output Tín hiệu điều khiển bật tắt các led 7 thanh 2 chữ số
Trang 162.4 Khối nút điều khiển
Khối nút điều khiển sử dụng 4 nút điều kết hợp với các điển trở khác nhau để đưa ra
tín hiệu điện áp A0 như Hình 2.9
Hình 2.9: Sơ đồ khối nút điều khiển
Sử dụng nguyên lý phân áp để đưa ra các mức điện áp khác nhau cho các tín hiệu A0 khác nhau Khi nút 1 được ấn điện áp A0 sẽ là Vcc R
R+R1 Với các giá trị điện trở R1,R2,R3,R4 khác nhau khi các nút b1 đến b4 được ấn sẽ đưa ra các tín hiệu điện áp A0 khác nhau, các tín hiệu tương tự này khi qua bộ chuyển đổi ADC của vi điều khiển sẽ được phân biệt bằng các số khác nhau trong khoảng 0 đến 1023
Giá trị R, R1, R2, R3, R4 được lựa chọn lần lượt là 10k, 1k, 2.2k, 3k, 3.9k
2.5 Khối dịch bit
Để nhận tín hiệu điều khiển từ khối xử lý trung tâm của Atmega328, ta cần một IC
có khả năng xử lý dịch bit qua đó điều khiển hiển thị của led 7 đoạn IC 74HC595 chính
là lựa chọn phù hợp IC 74HC595 là thanh ghi dịch 8bit kết hợp chốt dữ liệu, đầu vào nối tiếp đầu ra song song Chức năng: Thường dùng trong các mạch quét led 7, led
Trang 17matrix…để tiết kiệm số chân vi điều khiển tối đa (3 chân) Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà không IC nào làm được bằng việc nối tiếp đầu vào dữ liệu các IC với nhau Nói một cách chính xác, IC này là IC “dịch chốt”
Dịch được dùng cho IC này thực chất là cách nói của dân kỹ thuật về đặc tính ngõ
vào nối tiếp của IC Vậy "đặc tính ngõ vào nối tiếp của IC" là như thế nào? Có thể nói 1 cách đơn giản là ta có thể đưa lần lượt nhiều giá trị logic vào 1 ngõ vào của IC đó để nó lưu vào bộ nhớ chờ đến khi có lệnh xử lí Có thể hiểu ngõ vào nối tiếp tức là các giá trị được nạp vào IC một cách từ từ ở từng thời điểm khác nhau trên cùng 1 ngõ vào, còn nếu nói vào song song thì có nghĩa là sẽ có nhiều ngõ vào và các giá trị sẽ được nạp vào
IC cùng 1 lúc Thuật ngữ này đối với ngõ ra cũng tương tự
Chốt là khi thỏa mản 1 điều kiện nào đó nó sẽ cho phép IC giữ nguyên giá trị ngõ
ra, không cho nó thay đổi mặc dù tín hiệu ngõ vào có thay đổi thế nào
Hình 2.10: IC 74HC595
Hình 2.10 là hình ảnh sơ đồ các chân của ic 74HC595 Các chân quan trọng của IC
này được mô tả trong Bảng 2.2
Bảng 2.2: Bảng mô tả chân IC 74HC595
1 Q1 chân ra song song bit số 1
2 Q2 chân ra song song bit số 2
3 Q3 chân ra song song bit số 3
4 Q4 chân ra song song bit số 4
5 Q5 chân ra song song bit số 5