Khoa học công nghệ ngày càng hiện đại, kéo theo đó ngành điện tử cũng có những bước tiến quan trọng đặc biệt là trong lĩnh vực vi điều khiển. Các bộ vi điều khiển ngày càng phát triển và hoàn thiện hơn, được sử dụng trong hầu hết các hệ thống điều khiển tự động trong công nghiệp, khoa học kỹ thuật, cũng như trong các thiết bị dân dụng. Chính nhờ vai trò, chức năng của vi điều khiển đã đem lại nhiều ưu điểm, nhiều tính năng đặc biệt cho các hệ thống điều khiển thay thế con người trong các công việc đòi hỏi sự phức tạp và yêu cầu kỹ thuật cao. Với sự hướng dẫn của giảng viên Dương Tuấn Quang giúp em thực hiện đồ án với đề tài: “ Thiết kế mạch đèn giao thông ngã tư” Với mô hình này có thể giúp chúng ta có thể điều khiển hệ thống đèn đường tắt mở theo thời gian quy định mà không cần tới sự kiếm soát thường xuyên của con người. Trong hệ thống này thì chúng em đã sử dụng vi xử lý atmega328 điều khiển chính. Ngoài việc sử dụng atmega328 thì còn có mốt số linh kiện phụ trợ khác. Tuy nhiên trong quá trình àm đồ án còn có nhiều thiếu sót và còn nhiều hạn cế về kiến thức. Mong rằng được sự góp ý chân tình từ các thầy, các cô. Em xin chân thành cảm ơn
BỘ THÔNG TIN VÀ TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT – HÀN KHOA:CÔNG NGHỆ - ĐIỆN TỬ - VIỄN THÔNG ` MÔN :ĐỒ ÁN VI ĐIỀU KHIỂN ĐỀ TÀI: THIẾT KẾ HỆ THỐNG ĐÈN GIAO THÔNG NGÃ TƯ GVHD: Dương Tuấn Quang SVTH: Trần Văn Trường Lớp: CCVT07A Đà Nẵng,ngày 12 tháng 12 năm 2016 LỜI NĨI ĐẦU Khoa học cơng nghệ ngày đại, kéo theo ngành điện tử có bước tiến quan trọng đặc biệt lĩnh vực vi điều khiển Các vi điều khiển ngày phát triển hoàn thiện hơn, sử dụng hầu hết hệ thống điều khiển tự động công nghiệp, khoa học kỹ thuật, thiết bị dân dụng Chính nhờ vai trị, chức vi điều khiển đem lại nhiều ưu điểm, nhiều tính đặc biệt cho hệ thống điều khiển thay người cơng việc địi hỏi phức tạp yêu cầu kỹ thuật cao Với hướng dẫn giảng viên Dương Tuấn Quang giúp em thực đồ án với đề tài: “ Thiết kế mạch đèn giao thơng ngã tư” Với mơ hình giúp điều khiển hệ thống đèn đường tắt mở theo thời gian quy định mà khơng cần tới kiếm sốt thường xun người Trong hệ thống chúng em sử dụng vi xử lý atmega328 điều khiển Ngồi việc sử dụng atmega328 cịn có mốt số linh kiện phụ trợ khác Tuy nhiên trình àm đồ án cịn có nhiều thiếu sót cịn nhiều hạn cế kiến thức Mong góp ý chân tình từ thầy, Em xin chân thành cảm ơn ! MỤC LỤC LỜI NÓI ĐẦU .2 MỤC LỤC CHƯƠNG I : TỔNG QUAN VỀ ĐỒ ÁN 1.1 phân tích yêu cầu: 1.1.1 Các chế độ hoạt động ngày: 1.1.2 Các linh kiện sử dụng: 1.2 ỨNG DỤNG: CHƯƠNG II : TỔNG QUAN VỀ BỘ VI ĐIỀU KHIỂN ATMEGA328 VÀ CÁC LINH KIỆN SỬ DỤNG 2.1 BỘ VI XỬ LÝ ATMEGA328 2.1.1 giới thiệu vi xử lý ATMEGA328 2.1.2 Một vài thông số ATMEGA328 2.2 LED ĐOẠN 2.2.1 Cấu tạo .7 2.2.2 Hình ảnh thực tế .7 CHƯƠNG III: THIẾT KẾ HỆ THỐNG 3.1 Sơ đồ hệ thống mô .9 3.2 Nguyên lý hoạt động : .9 CHƯƠNG IV : CHƯƠNG TRÌNH ĐIỀU KHIỂN HỆ THỐNG .11 CHƯƠNG I : TỔNG QUAN VỀ ĐỒ ÁN 1.1 phân tích yêu cầu: Thiết kế mạch điều khiển đèn giao thông sử dụng Arduino R3, cụ thể dùng ATMEGA328p 1.1.1 Các chế độ hoạt động ngày: Đèn giao thông ngã với pha điều khiển - Thời gian hoạt động bình thường: đèn xanh, vàng, đỏ hoạt động theo thời gian xác định trước - Bộ phận hiển thị thời gian chờ đèn led đoạn, gồm Có led đoạn: ngã đường sử dụng led đoạn để hiển thị thời gian đếm ngược - Hệ thống led đơn hiển thị cho đèn xanh, đèn vàng, đèn đỏ ngã tư 1.1.2 Các linh kiện sử dụng: - Vi điều khiển ATMEGA328 -Vi xử lý 74HC595 - Hiển thị: Các led đoạn (anode chung), led đơn xanh, vàng, đỏ - Các điện trở tụ điện cần dùng 1.2 ỨNG DỤNG: Một ứng dụng mạch đèn giao thông ngày giải vấn đề nạn kẹt xe, diễn hàng ngày tỉnh thành có mật độ dân số lớn mà nhà chức phải đau đầu CHƯƠNG II : TỔNG QUAN VỀ BỘ VI ĐIỀU KHIỂN ATMEGA328 VÀ CÁC LINH KIỆN SỬ DỤNG 2.1 BỘ VI XỬ LÝ ATMEGA328 2.1.1 giới thiệu vi xử lý ATMEGA328 Vi điều khiển hệ vi xử lý tổ chức chip Các thơng số vi điều khiển Atmega328 sau + Bộ vi xử lý + giao diện SPI đồng + kiến trúc: AVR 8bit + xung nhịp lớn nhất: 20Mhz + nhớ chương trình (FLASH): 32KB + Bộ nhớ EEPROM: 1KB + Điện áp hoạt động rộng: 1.8V – 5.5V + số timer: timer gồm timer 8-bit timer 16-bit + số kênh xung PWM: kênh (1timer kênh) 2.1.2 Một vài thông số ATMEGA328 Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 30Ma Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog (độ phân giải 10bit) Dòng tối đa chân I/O 30 mA Dòng tối đa (5V) 500 mA Dòng tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bootloader SRAM KB (ATmega328) EEPROM KB (ATmega328) *Sơ đồ chân ATMEGA328 2.2 LED ĐOẠN 2.2.1 Cấu tạo Led đoạn thị trường có loại: Anode chung Katot chung Mỗi led đoạn có 10 chân có đường điều khiển cho dấu chấm, đường điều khiển cho điểm chung( Anode Katot) Trên hình minh họa led đoạn cấu trúc bên led đoạn loại Anode chung đường điều khiển kí hiệu a, b, c, d, e, f, g, dp tương ứng với cực Katot led đơn thành hình số dấu chấm thể dấu cách thập phân Các anode led nối chung với đưa chân Cấu trúc lọai Katot chung tương tự đảo lộn f 05 g p d B A VC C F G chiều led d LED 7_D O N _1 e D 13 b a 7 10 D O T C VC C D E c 2.2.2 Hình ảnh thực tế Nguyên lý hoạt động led đoạn giống led đơn, nghĩa cấp dịng cho chân chân sáng Ngồi để mạch hoạt động cần có thêm linh kiện sau: - IC74HC595 : tạo xung đếm cho led đoạn - Điện trở: giúp bảo vệ led - Tụ điện, thạch anh tạo xung nhịp CHƯƠNG III: THIẾT KẾ HỆ THỐNG 3.1 Sơ đồ hệ thống mô 3.2 Nguyên lý hoạt động : Hệ thống led đơn hoạt động theo chế độ lập trình sẵn : Các led xanh, đỏ, vàng hoạt động theo thời gian định sẵn Các đèn hiển thị Led đơn nối chung anot, đèn sáng tương ứng với mức logic thấp Đèn xanh tương ứng đèn đỏ ngược lại, chuyển mức đèn xen kẽ đếm lùi thời gian Kết thúc đếm tương ứng thiết lập lại bit để hiển thị đèn Giữa đèn xanh vàng 15 giây Giữa đèn vàng đèn đỏ giây Giữa đèn đỏ đèn xanh 18 giây 10 CHƯƠNG IV : CHƯƠNG TRÌNH ĐIỀU KHIỂN HỆ THỐNG int led1 = 13; int led2 = 12; int led3 = 11; int led4 = 10; int led5 = 9; int led6 = 8; int led7 =7; int led8=6; int led9=5; int latchPin1 = A5; //chân SH_CP 74HC595 int clockPin1 = A4; //Chân DS 74HC595 int dataPin1 = A3; int latchPin = A2; //chân SH_CP 74HC595 int clockPin = A1; //Chân DS 74HC595 int dataPin = A0; int i; static int point1 = 0; static int point = 0; const int Seg[10] = { 0b11000000,//0 - từ a-f sáng 0b11111001,//1 - có b,c sáng 0b10100100,//2 0b10110000,//3 0b10011001,//4 0b10010010,//5 0b10000011,//6 0b11111000,//7 0b10000000,//8 0b10010000,//9 }; 11 // Hàm setup chạy lần khởi động chương trình void setup() { // đặt 'led' OUTPUT pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(latchPin1, OUTPUT); pinMode(clockPin1, OUTPUT); pinMode(dataPin1, OUTPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); pinMode(led7, OUTPUT); pinMode(led8, OUTPUT); pinMode(led9, OUTPUT); pinMode(led10, OUTPUT); } // Hàm loop chạy mãi sau kết thúc hàm setup() void loop() { point1=18; point=15; digitalWrite(led1, HIGH); //Bật đèn xanh giây digitalWrite(led6, HIGH);//BAT DEN ĐỎ digitalWrite(led7, LOW);//Tat den tin hieu mau xanh digitalWrite(led8, HIGH);//bat den tin hieu di bo mau do1 digitalWrite(led9, HIGH);//bat den tin hieu mau xanh2 digitalWrite(led10, LOW);//tat den tin hieu mau for(i=0;i