CHƯƠNG 1: CƠ SỞ LÝ THUYẾT1.1 Đưa ra chức năng của hệ thống Xét tại một ngã tư giao thông, hệ thống đèn giao thông hay là đèn điều khiển giaothông gồm hai cột chính được lắp tại hai đầu c
Trang 1KHOA CƠ KHÍ
ĐỒ ÁN VI ĐIỀU KHIỂN
Đề tài: “ ………
……… ”
Giảng viên hướng dẫn :
Sinh viên thực hiện : 1
Trang 2TÓM TẮT
Tóm tắt: Hiện nay, với sự phát triển mạnh mẽ của xã hội, việc đưa các công nghệ tự
động hóa vào đời sống sinh hoạt và giải trí hằng ngày là một nhu cầu thiết yếu Trong đờisống, ngày càng nhiều gia đình tìm kiếm và sử dụng những sản phẩm tự động như một
trợ thủ đắc lực của con người Vì vậy, nhóm sinh viên lựa chọn thực hiện đề tài “Thiết
kế đèn tín hiệu tại ngã tư” áp dụng cho các môi trường có không gian nhỏ và kín.
Trang 3LỜI CẢM ƠN
Trước hết, em xin gửi lời cảm ơn chân thành tới thầy Hoàng Thế Phương là người
đã trực tiếp định hướng, giảng dạy và hướng dẫn em từ khi bắt đầu các môn học cho đếnkhi hoàn thành đồ án môn học
Em xin gửi lời cảm ơn tới các thầy cô giáo của trường Đại Học Công Nghệ GiaoThông Vận Tải nói chung và các thầy cô trong ngành Cơ điện tử nói riêng đã tận tìnhgiảng dạy, trang bị những kiến thức bổ ích trong thời gian học tại trường
Em xin cảm ơn tất cả các bạn bè đã động viên, góp ý và giúp đỡ em rất nhiềutrong quá trình học tập và thực hiện đồ án Trong quá trình thực hiên đồ án và quá trìnhlàm bài báo cáo đồ án tốt nghiệp, khó tránh khỏi sai sót rất mong quý thầy cô thông cảm
và bỏ qua Đồng thời do trình độ lý luận cũng như kinh nghiệm thực tế còn hạn chế nênbài đồ án sẽ còn nhiều thiếu sót, em rất mong nhận được ý khiến đóng góp của quý thầy
cô để em có thể tích lũy thêm được nhiều kinh ngiệm cho bản thân
Em xin chân thành cảm ơn!
Hà Nội, ngày … tháng … năm 2020 Nhóm sinh viên thựchiện
(Ký, ghi rõ họ tên)
Trang 4LỜI CAM ĐOAN
Em xin cam đoan những gì em trình bày trong đồ án là tự bản thân em xây dựng.Những sự giúp đỡ cho việc thực hiện đồ án đều đã được cảm ơn và thông qua Các tàiliệu tham khảo đều đã được trích dẫn cụ thể và được phép công bố Mọi kiến thức sử
dụng trong đồ án đều đã được thông qua bởi giáo viên hướng dẫn Hoàng Thế Phương.
Hà Nội, ngày…tháng…năm 2020 Nhóm sinh viên thực hiện
(Ký, ghi rõ họ tên)
Trang 5MỤC LỤC
MỤC LỤC 4
DANH MỤC HÌNH ẢNH 4
DANH MỤC VIẾT TẮT 7
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 8
1.1 Đưa ra chức năng của hệ thống 8
1.2 Phân tích bài toán 8
1.2.1 Hướng thực hiện đề tài 8
1.2.2 Phạm vi đề tài 8
1.2.3 Sơ đồ khối 8
1.3 Chức năng của từng khối 9
1.3.1 Khối nguồn 9
1.3.3 Khối xử lý trung tâm 9
1.3.4 Khối hiển thị 20
1.3.5 Khối nút bấm 23
CHƯƠNG 2: THIẾT KẾ VÀ THI CÔNG 29
2.1 Nguyên lý hoạt động 29
2.2 Thiết kế nguyên lý và mạch in 29
2.2.1 Các phần mềm sử dụng 29
2.3 Thiết kế và thi công 30
2.3.1 Mạch nguyên lý 31
2.3.2 Mạch in 32
2.4 Lưu đồ thuật toán 34
2.5 Chương trình code 35
2.6 Kết quả sản phẩm 45
TÀI LIỆU THAM KHẢO 49
DANH MỤC HÌNH ẢNH
Trang 6Hình 1.1: Sơ đồ khối toàn mạch 7
Hình 1.2: Khối nguồn 8
Hình 1.5: Khối xử lý trung tâm3 9
Hình 1.6: Hình ảnh thực tế của Atmega16 10
Hình 1.7: Sơ đồ chân của Atmega16 10
Hình 1.8: Cấu trúc tổng quát của Atmega16 11
Hình 1.9: Thanh ghi trạng thái 12
Hình 1.10: Các thanh ghi chức năng chung 13
Hình 1.11: Minh họa hoạt động của SP 14
Hình 1.12: Sơ đồ khối của Atmega16 16
Hình 1.13: Thạch anh trong thực tế 18
Hình 1.14: Khối hiển thị 19
Hình 1.15: LED 7 đoạn 20
Hình 1.16: LED 7 đoạn CC 21
Hình 1.17: LED 7 đoạn CA 21
Hình 1.18: Khối nút bấm 22
Hình 1.19: Hỉnh ảnh thực tế của C1815 23
Hình 1.20: Nguyên lý hoạt động của relay 25
Hình 1.21: Ví dụ về sử dụng relay 26
Hình 1.22: Hình ảnh relay trong thực tế 27
Hình 2.1: Giao diện làm việc phần mềm Altium 28
Hình 2.2: Giao diện phần mềm lập trình Code VisionAVR 29
Hình 2.3: Sơ đồ nguyên lý 30
Hình 2.4: Sơ đồ mạch in Bottom Layer 31
Hình 2.5: Sơ đồ mạch in Top Layer 32
Hình 2.6: Sản phẩm đã hoàn thiện 45
Hình 2.7: Sản phẩm khi hoạt động 47
Trang 7CPU Central Processing Unit Bộ xử lý trung tâm
VCC Voltage common collector Điện thế + cho cực C của BJT
TX Transmitter Thiết bị truyền tín hiệu điều khiển
RX Receiver Thiết bị nhận tín hiệu điều khiển
Trang 8CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Đưa ra chức năng của hệ thống
Xét tại một ngã tư giao thông, hệ thống đèn giao thông hay là đèn điều khiển giaothông gồm hai cột chính được lắp tại hai đầu của hai làn đường khác nhau ở ngã tư Mỗicột gồm các đèn chính như : đèn xanh, đèn đỏ, đèn vàng Ngoài ra, mỗi hệ thống đèn cómột hộp điều khiển từ đó sẽ phát ra tín hiệu điều khiển đèn Tín hiệu điều khiển của đèn
từ MCU thông qua các cổng rồi đến hệ thống đèn giao thông
1.2 Phân tích bài toán
1.2.1 Hướng thực hiện đề tài
Có nhiều cách để hiển thị thời gian đèn ngã tư nhưng ở đây em sử dụng led 7thanh 2 số và các led đơn để giao tiếp với Atmega16
1.2.2 Phạm vi đề tài
Trong đề tài này, chúng em dùng led 7 thanh kết hợp với atmega16 để hiển thị, từ
đó biết được thời gian còn lại của các đèn xanh, đỏ, vàng Tuy nhiên, do nguyên lý củamạch cũng không quá phức tạp nên có thể mở rộng số không gian kín có thể áp dụng
1.2.3 Sơ đồ khối
Hình 1.1: Sơ đồ khối toàn mạch
Trang 91.3 Chức năng của từng khối
1.3.1 Khối nguồn
Khối nguồn cung cấp điện áp 12V cho động cơ và điện áp 5V ổn định cho toànmạch, có vai trò quan trọng Nếu điện áp và dòng điện không ổn định sẽ gây ảnh hưởngcho tất cả các IC trong mạch
Hình 1.2: Khối nguồn
1.3.3 Khối xử lý trung tâm
Khối xử lý trung tâm thực hiện nhận các tín hiệu từ cảm biến, tính toán đưa ra sốliệu hiển thị trên LED 7 thanh và đưa ra các tín hiệu điều khiển các khối trong mạch đểthực hiện xử lý vấn đề một cách tốt nhất
Trang 10Hình 1.5: Khối xử lý trung tâm31.3.3.1 Sử dụng vi điều khiển AVR Atmega16
ATmega16 là vi điều khiển 8 bit dựa trên kiến trúc RISC Với khả năng thực hiệnmỗi lệnh trong vòng một chu kì xung clock, ATmega16 có thể đạt được tốc độ 1MIPStrên mỗi MHz
ATmega16 có các đặc điểm sau: 16KB bộ nhớ Flash với khả năng đọc trong khighi, 512 byte bộ nhớ EEPROM, 1KB bộ nhớ SRAM, 32 thanh ghi chức năng chung, 32đường vào ra chung, 3 bộ định thời/bộ đếm, ngắt nội và ngắt ngoại, USART, giao tiếpnối tiếp 2 dây, 8 kênh ADC 10 bit,…
ATmega16 hỗ trợ đầy đủ các chương trình và công cụ phát triển hệ thống như:trình dịch C, macro assemblers, chương trình mô phỏng/sửa lỗi,
Trang 11Hình 1.6: Hình ảnh thực tế của Atmega16
Hình 1.7: Sơ đồ chân của Atmega16
a Cấu trúc nhân
Trang 12CPU của ATmega16 đảm bảo sự hoạt động chính xác các chương trình Do đó nóphải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán, điều khiển các thiết
bị ngoại vi và quản lý ngắt
Cấu trúc tổng quát
AVR sử dụng cấu trúc Havard, tách riêng bộ nhớ và các bus cho chương trình và
dữ liệu Các lệnh được thực hiện chỉ trong một chu kì xung clock Bộ nhớ chương trìnhđược lưu trong bộ nhớ Flash
Hình 1.8: Cấu trúc tổng quát của Atmega16
ALU làm việc trực tiếp với thanh ghi chức năng chung, các phép toán thực hiệntrong một chu kì xung clock Hoạt động của ALU được chia làm 3 loại là đại số, logic vàtheo bit
- Thanh ghi trạng thái:
Đây là thanh ghi trạng thái có 8 bit lưu trũ trạng thái của ALU sau các phép số học
và logic
Trang 13Hình 1.9: Thanh ghi trạng tháiTrong đó:
Bit 0 – C (Carry Flag: Cờ nhớ): Là bit nhớ trong các phép đại số hoặc
logic, ví dụ thanh ghi R1 chứa giá trị 200, R2 chứa 70, chúng ta thực hiện phép cộng cónhớ: ADC R1, R2, sau phép cộng, kết quả sẽ được lưu lại trong thanh ghi R1, trong khikết quả thực là 270 mà thanh ghi R1 lại chỉ có khả năng chứa tối đa giá trị 255 (vì có 8bit) nên trong trường hợp này, giá trị lưu lại trong R1 thực chất chỉ là 14, đồng thời cờ Cđược set lên 1 (vì 270=100001110, trong đó 8 bit sau 00001110 = 14 sẽ được lưu lạitrong R1)
Bit 1 – Z (Zero Flag: Cờ 0): Cờ này được set nếu kết quả phép toán đại số
hay phép Logic bằng 0
Bit 2 – N (Negative Flag: Cờ âm): Cờ này được set nếu kết quả phép toán
đại số hay phép Logic là số âm
Bit 3 – V (Two’s complement Overflow Flag: Cờ tràn của bù 2): Hoạt
động của cờ này có vẻ sẽ khó hiểu cho bạn vì nó liên quan đến kiến thức số nhị phân(phần bù)
Bit 4 – S (Sign Bit: Bit dấu): Bit S là kết quả phép XOR giữa 1 cờ N và
V, S=N xor V
Bit 5 – H (Half Carry Flag: Cờ nhờ nữa): cờ H là cờ nhớ trong 1 vài
phép toán đại số và phép Logic, cờ này hiệu quả đối với các phép toán với số BCD
Bit 6 – T (Bit Copy Storage): được sử dụng trong 2 Instruction BLD (Bit
LoaD) và BST (Bit STorage)
Trang 14 Bit 7 – I (Global Interrupt Enable) : (Cho phép ngắt toàn bộ): Bit này
phải được set lên 1 nếu trong chương trình có sử dụng ngắt Sau khi set bit này, khi muốnkích hoạt loại ngắt nào cần set các bit ngắt riêng của ngắt đó Hai instruction dùng riêng
để Set và Clear bit I là SEI và CLI
- Các thanh ghi chức năng chung
Hình 1.10: Các thanh ghi chức năng chungTất cả các chip trong họ AVR đều bao gồm 32 thanh ghi Register File có địa chỉtuyệt đối từ 0x0000 đến 0x001F Mỗi thanh ghi có thể chứa giá trị dương từ 0 đến 255hoặc các giá trị có dấu từ -128 đến 127 hoặc mã ASCII của một ký tự nào đó…Các thanhghi này được đặt tên theo thứ tự là R0 đến R31 Chúng được chia thành 2 phần, phần 1bao gồm các thanh ghi từ R0 đến R15 và phần 2 là các thanh ghi R16 đến R31 Các thanhghi này có các đặc điểm sau:
Trang 15 Được truy cập trực tiếp trong các instruction.
Các toán tử, phép toán thực hiện trên các thanh ghi này chỉ cần 1 chu kỳxung clock
Register File được kết nối trực tiếp với bộ xử lí trung tâm – CPU của chip
Chúng là nguồn chứa các số hạng trong các phép toán và cũng là đích chứakết quả trả lại của phép toán
- Con trỏ ngăn xếp (SP):
+ Chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp (ngăn xếp có chiều từ đáy lênđỉnh ngược với chiều tăng của địa chỉ)
+ Khi cất thêm một thông tin vào ngăn xếp:
o Nội dung của SP tự động giảm
o Thông tin được cất vào bắt đầu từ ngăn nhớ trỏ bởi SP
+ Khi lấy một thông tin ra khỏi ngăn xếp:
o Thông tin được lấy ra bắt đầu từ ngăn nhớ trỏ bởi SP
o Nội dung của SP tự động tăng
+ Khi ngăn xếp rỗng: SP trỏ vào đáy ngăn xếp
Hình 1.11: Minh họa hoạt động của SP
- Quản lý ngắt:
Ngắt là một cơ chế cho phép thiết bị ngoại vi báo cho CPU biết về tình trạng sẵnsàng cho đổi dữ liệu của mình Ví dụ: Khi bộ truyền nhận UART nhận được 1 byte nó sẽbáo cho CPU biết thông qua cờ RXC, hoặc khi nó đã truyền được một byte thì cờ TXđược thiết lập Khi có tín hiệu báo ngắt, CPU sẽ tạm dừng công việc đang thực hiện lại và
Trang 16lưu vị trí đang thực hiện chương trình (con trỏ PC) vào ngăn xếp sau đó trỏ tới vectorphục vụ ngắt và thực hiện chương trình phục vụ ngắt đó cho tới khi gặp lệnh RETI(return from interrup) thì CPU lại lấy PC từ ngăn xếp ra và tiếp tục thực hiện chươngtrình mà trước khi có ngắt nó đang thực hiện.
Trong trường hợp có nhiều ngắt yêu cầu cùng một lúc thì CPU sẽ lưu các cờ báongắt đó lại và thực hiện lần lượt các ngắt theo mức ưu tiên Trong khi đang thực hiện ngắt
mà xuất hiện ngắt mới thì sẽ sảy ra hai trường hợp Trường hợp ngắt này có mức ưu tiêncao hơn thì nó sẽ được phục vụ Còn nó mà có mức ưu tiên thấp hơn thì nó sẽ bị bỏ qua
Bộ nhớ ngăn xếp là vùng bất kì trong SRAM từ địa chỉ 0x60 trở lên Để truy cậpvào SRAM thông thường thì ta dùng con trỏ X, Y, Z và để truy nhập vào SRAM theokiểu ngăn xếp thì ta dùng con trỏ SP Con trỏ này là một thanh ghi 16 bit và được truynhập như hai thanh ghi 8 bit chung có địa chỉ: SPL:0x3D(IO/SRAM) và SPH:0x3E/0x5E
Khi chương trình phục vụ ngắt hoặc chương trình con thì trỏ PC được lưu vàongăn xếp trong khi con trỏ ngăn xếp giảm hai vị trí Và con trỏ ngăn xếp sẽ giảm 1 khithực hiện lệnh PUSH Ngược lại khi thực hiện lệnh POP thì con trỏ ngăn xếp sẽ tăng 1 vàkhi thực hiện lệnh RET hoặc RETI thì con trỏ ngăn xếp sẽ tăng 2 Như vậy con trỏ ngănxếp cần được chương trình đặt trước giá trị khởi tạo ngăn xếp trước khi một chương trìnhcon được gọi hoặc các ngắt được cho phép phục vụ Và giá trị ngăn xếp ít nhất cũng phảilớn hơn 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi
b Sơ đồ khối
Trang 17Hình 1.12: Sơ đồ khối của Atmega16
c Ý nghĩa các chân
ATmega16 gồm có 40 chân:
- Chân 1 đến 8: Cổng nhập xuất dữ liệu song song B (PORTB) nó có thể được sửdụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 9: RESET để đưa chip về trạng thái ban đầu
- Chân 10: VCC cấp nguồn nuôi cho vi điều khiển
- Chân 11, 31: GND 2 chân này được nối với nhau và nối đất
- Chân 12, 13: 2 chân XTAL2 và XTAL1 dùng để đợi xung nhịp từ bên ngoài vàochip
Trang 18- Chân 14 đến 21: Cổng nhập xuất dữ liệu song song D (PORTD) nó có thể được
sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 22 đến 29: Cổng nhập xuất dữ liệu song song C (PORTC) nó có thể được
sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 30: AVCC cấp điện áp so sánh cho bộ ADC
- Chân 32: AREF điện áp so sánh tín hiệu vào ADC
- Chân 33 đến 40: Cổng vào ra dữ liệu song song A (PORTA) ngoài ra nó cònđược tích hợp bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC (Analog to DigitalConverter)
Thanh ghi OCR0 luôn được so sánh với giá trị của bộ định thời/ bộ đếm Kết quả
so sánh có thể được sử dụng để tạo ra PWM hoặc biến đổi tần số ngõ ra tại chân OC0
Phần chính của bộ định thời 8 bit là một đơn vị đếm song hướng có thể lập trìnhđược
Trang 191.3.3.2 Sử dụng thạch anh
Hình 1.13: Thạch anh trong thực tế Thạch anh là bộ dao động khá ổn định để tạo ra tần số dao động cho vi điềukhiển Đa số các mạch điều khiển đều dùng thạch anh có thể là Thạch anh 12Mhz,24Mhz….mỗi loại sẽ cho ra 1 xung nhịp khác nhau
Thạch anh sử dụng rất rộng rãi, hầu như ở đâu cũng có và giá thành thì nó cũngrất rẻ, khoảng vài nghìn đồng/1 con
Ứng dụng của thạch anh trong điện tử đa phần để tạo ra tần số được ổn định vì tần
số của thạch anh tạo ra rất ít bị ảnh hưởng bởi nhiệt độ hơn là các mạch dao động RC…
Trong Vi điều khiển bắt buộc phải có thạch anh (trừ các loại có dao động nội) vìxét chi tiết thì VDK có CPU, timer,… CPU bao gồm các mạch logic và mạch logic muốnhoạt động cũng cần có xung clock, còn timer thì gồm các dãy FF cũng cần phải có xung
để đếm Tùy loại VDK mà bao nhiêu xung clock thì ứng với 1 chu kì máy, và với mỗixung clock VDK sẽ đi làm 1 công việc nhỏ ứng với lệnh đang thực thi
Để chạy các câu lệnh trong IC vi điều khiển, Bạn cần tạo ra xung nhịp Tần sốxung nhịp phụ thuộc vào thạch anh gắn trên chân 18, 19 Với thạch anh 12MHz, Bạn sẽ
có xung nhịp 1MHz, như vậy chu kỳ lệnh sẽ là 1μs.s
Để tăng độ ổn định tần số, người ta dùng thêm 2 tụ nhỏ, tụ bù nhiệt ổn tần
Trang 20Điều này cho thấy bạn cũng có thể thay đổi nhịp nhấp nháy của đèn nếu dùngthạch anh có tần số khác.
Trang 21Hình 1.15: LED 7 đoạn
Mỗi led là một đoạn Khi mỗi đoạn chiếu sáng thì một phần của chữ số (hệ thậpphân hoặc thập lục phân) sẽ được hiển thị Đôi khi có thêm led thứ 8 để biểu thị dấu thậpphân khi có nhiều led 7 đoạn nối với nhau để hiển thị các số lớn hơn 10
Cấu tạo và nguyên lý làm việc?
Mỗi đèn led 7 đoạn có chân đưa ra khỏi hộp hình vuông Mỗi một chân sẽ đượcgán cho một chữ cái từ a đến g tương ứng với mỗi led Những chân khác được nối lại vớinhau thành một chân chung
Như vậy bằng cách phân cực thuận (forward biasing) các chân của led theo mộtthứ tự cụ thể, một số đoạn sẽ sáng và một số đoạn khác không sáng cho phép hiển thị ký
tự mong muốn Điều này cho phép chúng ta hiển thị các số thập phân từ 0 đến 9 trên cùngmột led 7 đoạn
Chân chung được sử dụng để phân loại led 7 đoạn Vì đèn led có 2 chân, 1 chân làanode và 1 chân là cathode nên có 2 loại led 7 đoạn là cathode chung (CC) và anodechung (CA)
Sự khác nhau giữa 2 loại có thể thấy ngay ở tên gọi của nó Loại CC là các châncathode được nối chung với nhau Còn loại CA là các chân anode được nối chung vớinhau Cách chiếu sáng mỗi loại như sau:
Loại CC (common cathode): Tất cả các chân cathode được nối với nhau và nốiđất, hay logic là 0 Mỗi phân đoạn được chiếu sáng bằng cách sử dụng điện trở đặt tínhiệu logic 1 (hay mức cao) để phân cực thuận từng cực anode (từ a đến g)
Trang 22Hình 1.16: LED 7 đoạn CC
Loại CA (common anode): Tất cả các chân anode được nối với nhau với logic là 1.Mỗi phân đoạn được chiếu sáng bằng cách sử dụng điện trở tín hiệu logic 0 (hay low) vàocác cực cathode (từ a đến g)
Trang 24của bộ thu và giá trị khuếch đại dòng DC của bóng bán dẫn khá tốt do sử dụng lý tưởngcho mục đích khuếch đại âm thanh và khuếch đại tín hiệu điện tử Ngoài ra, nó cũng có thểđược sử dụng như một công tắc để điều khiển tải dưới 150mA.
Transitor C1815 có thể được sử dụng trong các giai đoạn khuếch đại âm thanh,khuếch đại âm thanh nhỏ (nếu được sử dụng để lái loa nhỏ), tiền khuếch đại và cả trongcác giai đoạn tiền khuếch đại Nó cũng có thể được sử dụng chuyển đổi trong các mạchđiện tử để điều khiển tải dưới 150mA, ví dụ để điều khiển rơle, bóng bán dẫn công suấtcao khác, đèn LED công suất thấp và các bộ phận khác của mạch điện tử, v.v Nó cũng cóthể được sử dụng để tạo ra cặp darlington
Hình 1.19: Hỉnh ảnh thực tế của C1815
* Thông số kỹ thuật:
Loại gói: TO-92
Loại bóng bán dẫn: NPN
Bộ IC dòng điện tối đa (I C ): 150mA
Điện áp cực đại Collector-Emitter (V CE ): 50V
Điện áp cực đại Collector-Base (V CB ): 60V