1. Trang chủ
  2. » Tất cả

Báo cáo bài tâp lớn kỹ thuật vi xử lý đề tài thiết kế hệ thống điều khiển đèn giao thông

54 30 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Hệ Thống Điều Khiển Đèn Giao Thông
Tác giả Đỗ Kim Hoàn
Người hướng dẫn TS. Nguyễn Hoàng Dũng
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ Thuật Vi Xử Lý
Thể loại Báo cáo
Năm xuất bản 2019
Thành phố Hà Nội
Định dạng
Số trang 54
Dung lượng 4,69 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1. Hình vẽ (6)
  • 2. Bảng biểu (7)
  • Chương 1: Tổng quan chung về đề tài thiết kế (10)
    • 1. Đặt vấn đề (10)
    • 2. Giải quyết vấn đề (10)
      • 2.1. Kit phát triển STM32F103C8T6 (11)
        • 2.1.1. Tổng quan về vi xử lý STM32F103C8T6 (11)
        • 2.1.2. Cấu hình chi tiết của STM32F103C8T6 (12)
        • 2.1.3. Kit phát triển STM32F103C8T6 BluePill (14)
      • 2.2. IC 74HC595 (16)
        • 2.2.1. Tổng quan (16)
        • 2.2.2. Sơ đồ chân 74HC595 (17)
        • 2.2.3. Đặc tính thông số kỹ thuật IC 74HC595 (19)
      • 2.3. Led 7 đoạn (20)
        • 2.3.1. Tổng quan về Led 7 đoạn (20)
        • 2.3.2. Phân loại LED 7 đoạn (21)
        • 2.3.3. Nguyên lý hoạt động (21)
      • 2.4. Các phần mềm (23)
        • 2.4.1. STM32 CubeMX (23)
        • 2.4.2. KeilC (24)
        • 2.4.3. Proteus 8 Professional (24)
        • 2.4.4. KiCad (25)
    • 3. Kết luận (26)
  • Chương II: Quy trình thiết kế đề tài (27)
    • 2. Quy trình thiết kế (27)
      • 2.1. Tìm hiểu kiến thức (27)
      • 2.2. Mô phỏng thiết kế (28)
      • 2.3. Cấu hình cho vi xử lý STM32F103C8T6 (29)
      • 2.5. Vẽ mạch nguyên lý (34)
        • 2.5.1 Mạch vẽ nguyên lý bằng Kicad sử dụng vi xử lý STM32F103C8T6 (34)
        • 2.5.2. Vẽ mạch bằng Altium cho kit STM32F103C8T6 (38)
          • 2.5.2.1. Mạch nguyên lý (38)
          • 2.5.2.2. Mạch PCB (39)
      • 2.6. Làm mạch in (41)
        • 2.6.1. Chọn mua linh kiện (41)
        • 2.6.2. Các bước tiến hành làm mạch in (42)
          • 2.6.2.1. In board mạch (42)
      • 3.1. Đánh giá các công cụ sử dụng khi thiết kế (45)
      • 3.2. Tìm hiểu về vi xử lý STM32F103C8T6 (47)
      • 3.2. Tìm hiểu về thiết kế mạch đèn giao thông (47)
  • Chương III: Kết quả và thảo luận (49)
    • 2.1. Kết quả mô phỏng trên proteus (49)
    • 2.2. Kết quả làm mạch thật (50)
    • 3.1. So sánh kết quả mô phỏng với chạy mạch thật (51)
    • 3.2. Phương hướng cải thiện (52)
  • Tài liệu tham khảo (54)

Nội dung

STM32F103 có rất nhiều ứng dụng: dùng cho driver để điều khiển ứng dụng, điềukhiển ứng dụng thông thường, thiết bị cầm tay và thuốc, máy tính và thiết bị ngoại vichơi game, GPS cơ bản, c

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG ĐIỆN – ĐIỆN TỬ

BÁO CÁO BÀI TÂP LỚN

KỸ THUẬT VI XỬ LÝ

ĐỀ TÀI: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ĐÈN GIAO THÔNG

Giảng viên hướng dẫn: TS.Nguyễn Hoàng Dũng

Sinh viên thực hiện: Đỗ Kim Hoàn

MSSV: 20192862

Trang 3

Mục lục

Danh mục bảng biểu và hình vẽ 4

1 Hình vẽ 4

2 Bảng biểu 5

Lời mở đầu 6

Lời cam đoan 7

Chương 1: Tổng quan chung về đề tài thiết kế 8

1 Đặt vấn đề 8

2 Giải quyết vấn đề 8

2.1 Kit phát triển STM32F103C8T6 9

2.1.1 Tổng quan về vi xử lý STM32F103C8T6 9

2.1.2 Cấu hình chi tiết của STM32F103C8T6 10

2.1.3 Kit phát triển STM32F103C8T6 BluePill 12

2.2 IC 74HC595 14

2.2.1 Tổng quan 14

2.2.2 Sơ đồ chân 74HC595 15

2.2.3 Đặc tính thông số kỹ thuật IC 74HC595 17

2.3 Led 7 đoạn 18

2.3.1 Tổng quan về Led 7 đoạn 18

2.3.2 Phân loại LED 7 đoạn 19

2.3.3 Nguyên lý hoạt động 19

2.4 Các phần mềm 21

2.4.1 STM32 CubeMX 21

Trang 4

2.4.3 Proteus 8 Professional 22

2.4.4 KiCad 23

3 Kết luận 24

Chương II: Quy trình thiết kế đề tài 25

1 Đặt vấn đề 25

2 Quy trình thiết kế 25

2.1 Tìm hiểu kiến thức 25

2.2 Mô phỏng thiết kế 26

2.3 Cấu hình cho vi xử lý STM32F103C8T6 27

2.5 Vẽ mạch nguyên lý 32

2.5.1 Mạch vẽ nguyên lý bằng Kicad sử dụng vi xử lý STM32F103C8T6 32

2.5.2 Vẽ mạch bằng Altium cho kit STM32F103C8T6 36

2.5.2.1 Mạch nguyên lý 36

2.5.2.2 Mạch PCB 37

2.6 Làm mạch in 39

2.6.1 Chọn mua linh kiện 39

2.6.2 Các bước tiến hành làm mạch in 40

2.6.2.1 In board mạch 40

3 Kết luận 43

3.1 Đánh giá các công cụ sử dụng khi thiết kế 43

3.2 Tìm hiểu về vi xử lý STM32F103C8T6 45

3.2 Tìm hiểu về thiết kế mạch đèn giao thông 45

Chương III: Kết quả và thảo luận 47

1 Đặt vấn đề 47

2.1 Kết quả mô phỏng trên proteus 47

Trang 5

2.2 Kết quả làm mạch thật 48

3 Kết luận 49

3.1 So sánh kết quả mô phỏng với chạy mạch thật 49

3.2 Phương hướng cải thiện 50

Tài liệu tham khảo 52

Trang 6

Hình 5: Sơ đồ chân của Led 7 đoạn

Hình 6: Các linh kiện cho mạch mô phỏng

Hình 7: Sơ đồ mạch mô phỏng

Hình 8: Chọn bộ dao động ngoài cho vi xử lý

Hình 9: Sơ đồ chân của vi xử lý sau khi đã cấu hình

Hình 10: Cấu hình xung nhịp cho vi xử lý

Hình 11: Chọn tạo file HEX sau khi build code

Hình 12: Code logic của mạch

Hình 13: Sơ đồ nguyên lý mạch cho vi xử lý trên Kicad

Hình 14: Khối nguồn cho vi xử lý

Hình 15: Khối tạo dao động ngoài cho vi xử lý

Hình 16: Khối chân nạp cho vi xử lý

Hình 17: Khối ổn áp cho vi xử lý

Hình 18: Khối điều khiển led 7 đoạn của mạch

Hình 19: Sơ đồ nguyên lý cho kit STM32F103C8T6 BluePill vẽ trên Altium

Hình 20: Sắp xếp linh kiện trên mạch PCB cho Kit

Hình 21: Mạch PCB sau khi đi dây

Hình 22: Sơ đồ mạch sau khi hoàn thiện

Hình 23: Đánh giấy giáp cho bề mạch phíp đồng

Hình 24: Là mạch in

Trang 7

Hình 25: Mạch sau khi là và chỉnh sửa

Hình 26: Ăn mòn mạch

Hình 27: Khoan lỗ cho mạch

Hình 28: Hàn và đi dây cho mạch

Hình 29: Kết quả mạch chạy mô phỏng

Hình 30: Mạch thật sau khi hoản thiện

2 Bảng biểu

Bảng 1: Chi tiết các chân của IC 74HC595

Bảng 2: Bảng giải mã Led 7 đoạn anot chung

Bảng 3: Bảng giải mã Led 7 đoạn cathod chung

Trang 8

Lời mở đầu

Em xin gửi đến thầy/cô và các bạn báo cáo đồ án của em về việc thiết kế hệ thống đèn giao thông sử dụng vi xử lý STM32F103C8T6 và phần mềm Proteus Em hy vọng rằng báo cáo này sẽ cung cấp thông tin hữu ích về quy trình thiết kế mạch điện tử, các công cụ phát triển phần mềm và kỹ năng lập trình cho vi xử lý

Trong báo cáo này, em sẽ giới thiệu tổng quan về quy trình thiết kế mạch điện tử

và cách sử dụng phần mềm Proteus để mô phỏng và kiểm tra độ tin cậy của mạch thiết

kế Em cũng sẽ trình bày chi tiết về việc lập trình cho vi xử lý STM32F103C8T6 và sử dụng phần mềm CubeMX và KeilC để phát triển phần mềm điều khiển hệ thống đèn giaothông

Em cũng sẽ trình bày về kết quả thiết kế mạch điện tử và mô phỏng của nó trên Proteus, cùng những vấn đề và thách thức em đã gặp phải trong quá trình thiết kế Cuối cùng, em sẽ đưa ra những đề xuất và phương hướng để cải thiện và phát triển hệ thống đèn giao thông trong tương lai

Em xin chân thành cảm ơn thầy/cô và các bạn đã dành thời gian đọc báo cáo này

Em rất mong nhận được ý kiến đóng góp và phản hồi của thầy/cô và các bạn để em có thểcải thiện và hoàn thiện báo cáo của mình

Trân trọng,

Trang 9

Lời cam đoan

Với đồ án thiết kế hệ thống đèn giao thông, em cam đoan rằng tất cả các thông tin

và kết quả trình bày trong báo cáo đều được thực hiện với tinh thần trách nhiệm cao và chính xác

Để hoàn thành đồ án này, em đã dành nhiều thời gian để tìm hiểu và nghiên cứu vềviệc thiết kế mạch điều khiển đèn giao thông sử dụng vi xử lý STM32F103C8T6 Chúng tôi đã sử dụng các phần mềm như Proteus, CubeMX và KeilC để mô phỏng, thiết kế và viết code cho mạch

Kết quả cuối cùng của đồ án đạt được những mục tiêu đã đề ra ban đầu và cũng đạt được

sự hài lòng của em và giáo viên hướng dẫn Đồng thời, em cũng nhận thấy những điểm yếu trong quá trình thiết kế và triển khai mạch điều khiển đèn giao thông Em sẽ tiếp tục nghiên cứu và cải thiện để đạt được kết quả tốt hơn

Vì vậy, em cam đoan rằng báo cáo này được hoàn thành với sự tận tâm, trung thực và chính xác Em mong muốn rằng nội dung của báo cáo sẽ hữu ích cho những người quan tâm đến việc thiết kế và lập trình mạch điều khiển đèn giao thông."

Trang 10

Chương 1: Tổng quan chung về đề tài thiết kế

1 Đặt vấn đề

Trong những năm gần đây, cùng với sự phát triển của nền kinh tế là tốc độ giatăng không ngừng về các loại phương tiện giao thông Sự phát triển nhanh chóng của cácphương tiện giao thông đã dẫn tới tình trạng ùn tắc giao thông xảy ra thường xuyên Vấn

đề đặt ra ở đây là làm sao đảm bảo giao thống được thống suốt và sử dụng đèn điều khiểngiao thông ở những ngã tư, những nơi giao nhau của các làm đường là một giải pháp

Hệ thống đèn giao thông mà một đền tài hấp dẫn, mang tính thực tiễn cao vì nó liên quanđến an toàn giao thông và ảnh hưởng trực tiếp quá trình tham gia giao thông của mỗingười Đầu tiên, phải nói tới tác dụng to lớn của đèn giao thống là đảm bảo an toàn giaothông, giảm thiểu ùn tắc giao thông và đảm bảo sự thuận tiện cho người đi đường

Với các lý do trên, em đã chọn đề tài “Thiết kế hệ thống điều khiển đèn giaothông” cho môn học “Kỹ thuật vi xử lý” của mình Thiết kế hệ thống điều khiển đèn giaothống đỏi hỏi sử dụng các công nghệ mới, như các vi điều khiển, vi xử lý, hệ thống đèn,camera, Việc tìm hiểu và áp dụng các công nghệ này giúp em có cơ hội tiếp cần với các

kỹ thuật với và phát triển khả năng lập trình và thiết kế hệ thống Ngoài ra, hệ thống đèngiao thông là một sản phẩm có tính thương mại cao Nó được sử dụng rộng rãi ở cácthành phố, các khu vực đông dân cư trên toàn thế giới Vì vậy, nếu sau này em có khởinghiệp, việc thiết kế và phát triển hệ thống đèn giao thông có thể là một cơ hội tốt để tạo

ra một sản phẩm có giá trị thực tế và tiềm năng thương mại cao

2 Giải quyết vấn đề

Để thiết kế được một hệ thống đèn giao thông đòi hỏi rất nhiều kỹ năng: kỹ năng

tự học, tự tìm hiểu, kỹ năng lập trình, kỹ năng thiết kế mạch, Đầu tiên là về phần cứng,

em lựa chọn vi xử lý STM32F103C8T6 làm bộ điều khiển trung tâm của mình Đây làmột vi xử lý rất mạnh mẽ mà giá thành lại hợp lý, nó thuộc dòng ARM Cortex-M3 hoàntoàn đáp ứng được yêu cầu của đề tài, dễ làm quen và có sẵn tại các cửa hàng xung quanh

Trang 11

khu vực Hà Nội Hệ thống đèn giao thông thì còn có các con led hiển thị số, ở đây em sửdụng led 7 thanh để hiện thị vì đây là một bài mô phỏng nên không cần dùng loại đèn caocấp khác Để có thể điều khiển các con led 7 thanh đó thì em cần có thêm con vi điềukhiển 74HC595 để xuất tín hiệu là led Với con vi điều khiển này em có thể mở rộngthêm nhiều con led 7 thanh khác chỉ bằng việc kết nối 3 chân của nó với con vi xử lýSTM32F103C8T6 Nếu không dùng vi điều khiển 74HC595 thì ta cần kết nối 8 chântrên mỗi con led vào con vi xử lý, điều này làm rất tốn chân kết nối của vi xử lý và làmmạch ở trên rối hơn Nên việc chọn thêm vi điều khiển 74HC595 là rất cần thiết Tiếptheo, ta cần có các phần mềm để có thể điều khiển các phần cứng đã nêu Để có thể cấuhình cho vi điều khiển STM32F103C8T6 em lựa chọn phần mềm CubeMX vì đây đều làcác sản phẩm của STMicroelectronics để cấu hình các chân giao tiếp Phần mềm soạnthảo và biên dịch code thì KeilC là một lựa chọn vô cùng hợp lý vì với giao diện vô cùngđơn giản thì những người mới bắt đầu lập trình cho vi xử lý như em có thể tiếp cận dễdàng Ngoài ra ta cần có phần mềm Proteus để mô phỏng mạch và Kicad để có thể vẽ lên

sơ đồ nguyên lý và sơ đồ mạch in của hệ thống đèn giao thông

2.1 Kit phát triển STM32F103C8T6

2.1.1 Tổng quan về vi xử lý STM32F103C8T6

STM32 là một trong những dòng chip phổ biến của ST với nhiều họ thông dụngnhư F0,F1,F2,F3,F4… Stm32f103 thuộc họ F1 với lõi là ARM COTEX M3.STM32F103 là vi điều khiển 32 bit, tốc độ tối đa là 72Mhz Giá thành cũng khá rẻ so vớicác loại vi điều khiển có chức năng tương tự Mạch nạp cũng như công cụ lập trình khá

đa dạng và dễ sử dụng

STM32F103 có rất nhiều ứng dụng: dùng cho driver để điều khiển ứng dụng, điềukhiển ứng dụng thông thường, thiết bị cầm tay và thuốc, máy tính và thiết bị ngoại vichơi game, GPS cơ bản, các ứng dụng trong công nghiệp, thiết bị lập trình PLC, biến tần,máy in, máy quét, hệ thống cảnh báo, thiết bị liên lạc nội bộ…

Phần mềm lập trình: có khá nhiều trình biên dịch cho STM32 như IAR EmbeddedWorkbench, Keil C… Ở đây em sử dụng Keil C để có thể viết code cho vi xử lý Thưviện lập trình: có nhiều loại thư viện lập trình cho STM32 như: STM32snippets,STM32Cube LL, STM32Cube HAL, Standard Peripheral Libraries, Mbed core Mỗi thư

Trang 12

viện đều có ưu và khuyết điểm riêng, ở đây em sử dụng Standard Peripheral Libraries vì

nó ra đời khá lâu và khá thông dụng, hỗ trợ nhiều ngoại vi và cũng dễ hiểu rõ bản chấtcủa lập trình

Mạch nạp: có khá nhiều loại mạch nạp như: ULINK, J-LINK, CMSIS-DAP,STLINK… ở đây em sử dụng Stlink vì giá thành khá rả và debug lỗi cũng tốt Board đểlập trình: các bạn có thể mua sẵn 1 số kit ra chân đã có sẵn trên thị trường hoặc thiết kế 1cái board dành riêng cho bản thân mình Ở đây mình đã thiết kế 1 board đã tích hợp sẵnmạch nạp, mình cũng đã test và chạy khá ổn, debug bằng Keil C khá giống với phiên bảnSTlink V2 trên thị trường

2.1.2 Cấu hình chi tiết của STM32F103C8T6

Vi điều khiển STM32F103C8T6 là một sản phẩm của STMicroelectronics, mộttrong những nhà sản xuất vi điều khiển hàng đầu thế giới Đây là một loại vi điều khiểnARM Cortex-M3 32-bit có tốc độ xử lý lên đến 72MHz, được tích hợp với bộ nhớ flash64KB và bộ nhớ SRAM 20KB

Vi điều khiển STM32F103C8T6 có nhiều tính năng và ưu điểm, bao gồm:

 Đa năng: STM32F103C8T6 có thể được sử dụng trong nhiều ứng dụng khác nhau,

từ điều khiển đơn giản đến các ứng dụng phức tạp hơn như hệ thống nhúng

 Các tính năng bổ sung: Vi điều khiển này có các tính năng bổ sung như một bộADC, các cổng giao tiếp nối tiếp, các cổng SPI và I2C, các cổng GPIO và bộ giámsát nạp

 Hiệu suất cao: STM32F103C8T6 có tốc độ xử lý cao lên đến 72MHz và được tíchhợp với bộ nhớ flash và SRAM lớn, giúp nó đáp ứng được nhu cầu xử lý cao vàlưu trữ dữ liệu

 Tiết kiệm năng lượng: Vi điều khiển này được thiết kế để tiết kiệm năng lượng và

có tính năng điều khiển tiêu thụ điện năng thấp

 Hỗ trợ phát triển phần mềm: STMicroelectronics cung cấp cho người dùng một bộcông cụ phát triển phần mềm (SDK) và các phần mềm hỗ trợ khác nhưSTM32CubeMX, để giúp người dùng dễ dàng phát triển các ứng dụng nhúng

Vi điều khiển STM32F103C8T6 được sử dụng rộng rãi trong các ứng dụng nhúng,bao gồm các ứng dụng điều khiển, đo lường và định vị Với các tính năng mạnh mẽ vàhiệu suất cao, vi điều khiển này là một lựa chọn tốt cho các nhà phát triển ứng dụngnhúng muốn xây dựng các ứng dụng hiệu quả và đáng tin cậy

Trang 13

Hình 1: Sơ đồ chân vi xử lý STM32F103C8T6Thông số chi tiết:

 ARM 32-bit Cortex M3 với clock max là 72Mhz

o Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz

o Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC

 Trong trường hợp điện áp thấp:

o Có các mode :ngủ, ngừng hoạt động hoặc hoạt động ở chế độ chờ

o Cấp nguồn ở chân Vbat bằng pin để hoạt động bộ RTC và sử dụng lưu trữdata khi mất nguồn cấp chính

Trang 14

 2 bộ ADC 12 bit với 9 kênh cho mỗi bộ.

o Khoảng giá trị chuyển đổi từ 0 – 3.6V

o Lấy mẫu nhiều kênh hoặc 1 kênh

o Có cảm biến nhiệt độ nội

 DMA: bộ chuyển đổi này giúp tăng tốc độ xử lý do không có sự can thiệp quá sâucủa CPU

o 7 kênh DMA

o Hỗ trợ DMA cho ADC, I2C, SPI, UART

 7 timer

o 3 timer 16 bit hỗ trợ các mode IC/OC/PWM

o 1 timer 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ như ngắtinput, dead-time

o 2 watdog timer dùng để bảo vệ và kiểm tra lỗi

o 1 sysTick timer 24 bit đếm xuống dùng cho các ứng dụng như hàmDelay…

 Hỗ trợ 9 kênh giao tiếp bao gồm:

o 2 bộ I2C(SMBus/PMBus)

o 3 bộ USART (ISO 7816 interface, LIN, IrDA capability, modem control)

o 2 SPIs (18 Mbit/s)

o 1 bộ CAN interface (2.0B Active)

o USB 2.0 full-speed interface

 Kiểm tra lỗi CRC và 96-bit ID

2.1.3 Kit phát triển STM32F103C8T6 BluePill

Kit STM32F103C8T6 là một kit phát triển dựa trên vi điều khiển ARM M3 STM32F103C8T6 của STMicroelectronics Kit này cung cấp cho người dùng mộtnền tảng để phát triển ứng dụng nhúng có khả năng xử lý tốt, đa năng và hiệu quả vớinhiều tính năng bổ sung

Trang 15

Cortex-Hình 2: Cấu tạo Kit STM32F103C8T6 BluePill

 Ra chân đầy đủ tất cả các GPIO và giao tiếp: CAN, I2C, SPI, UART, USB,…

 Tích hợp Led trạng thái nguồn, Led PC13, Nút Reset

 Kích thước: 53.34 x 15.24mm

 Sử dụng với các mạch nạp:

Trang 16

 Vi điều khiển ARM Cortex-M3 32-bit với tốc độ xử lý 72MHz, bộ nhớ flash64KB và bộ nhớ SRAM 20KB.

 Điều khiển đa năng: Kit STM32F103C8T6 có thể được sử dụng để phát triểnnhiều loại ứng dụng, bao gồm các ứng dụng điều khiển, đo lường và định vị

 Các tính năng bổ sung: Kit STM32F103C8T6 có nhiều tính năng bổ sung như mộtcổng USB, một cổng USART, một cổng SPI, một cổng I2C, và các cổng GPIO

 Hỗ trợ phần mềm: Kit này có sẵn một bộ công cụ phát triển phần mềm (SDK) vàcác phần mềm hỗ trợ khác như STM32CubeMX, để giúp người dùng dễ dàng pháttriển các ứng dụng nhúng

 Dễ dàng sử dụng: Kit STM32F103C8T6 được thiết kế để dễ dàng sử dụng với các

bộ vi điều khiển STM32 khác Nó cung cấp cho người dùng một bảng mạch dạngđĩa và các linh kiện để giúp họ nhanh chóng bắt đầu phát triển các ứng dụng.Tóm lại, kit STM32F103C8T6 là một nền tảng phát triển ứng dụng nhúng có tính năngmạnh mẽ, đa năng và dễ dàng sử dụng Nó là một lựa chọn tuyệt vời cho các nhà pháttriển ứng dụng nhúng muốn xây dựng các ứng dụng hiệu quả và đáng tin cậy

2.2 IC 74HC595

2.2.1 Tổng quan

IC 74HC595 là một IC dạng shift register dùng để điều khiển nhiều thiết bị đầu ra

từ một số lượng đầu vào nhỏ hơn IC này là một phiên bản tăng cường của IC 74HC164,

có thể dùng để mở rộng số lượng đầu ra của vi điều khiển hoặc bất kỳ hệ thống điện tửnào

Trang 17

Hình 3: IC 74HC595

IC 74HC595 có 8 đầu vào dữ liệu (D0-D7), 1 đầu vào cho chân ST_CP (latch), 1đầu vào cho chân SH_CP (shift clock) và 1 đầu vào cho chân OE (enable output) IC nàycũng có 8 đầu ra độc lập (Q0-Q7) và có khả năng điều khiển được đến 8 thiết bị đầu rabên ngoài

Các đầu vào dữ liệu D0-D7 được dùng để truyền dữ liệu từ vi điều khiển hoặc bất

kỳ nguồn dữ liệu nào đến IC Đầu vào SH_CP dùng để đồng bộ hóa dữ liệu và đầu vàoST_CP dùng để lưu trữ dữ liệu vào bộ đệm của IC Đầu vào OE được dùng để kích hoạthoặc tắt tất cả các đầu ra của IC

IC 74HC595 được sử dụng rộng rãi trong các ứng dụng điều khiển đèn LED, động

cơ, màn hình 7 đoạn và các thiết bị đầu ra khác Nó được sử dụng để mở rộng số lượngđầu ra của vi điều khiển hoặc bất kỳ hệ thống điện tử nào mà không cần sử dụng nhiềuchân đầu ra của vi điều khiển hoặc bảng mạch IC 74HC595 cũng được thiết kế để tiếtkiệm năng lượng và có khả năng hoạt động ổn định ở tần số cao hơn so với phiên bảntrước đó, IC 74HC164

2.2.2 Sơ đồ chân 74HC595

IC 74HC595 là một IC thanh ghi dịch có 16 chân bao gồm một chân chốt loại Dcùng với một thanh ghi dịch bên trong chip Nó nhận dữ liệu đầu vào nối tiếp và sau đógửi dữ liệu này ra ngoài thông qua các chân song song

Ngoài các đầu ra song song, nó còn cung cấp một đầu ra nối tiếp, nó có các đầuvào xung nhịp riêng lẻ cho thanh ghi dịch và chân chốt D IC này thuộc họ linh kiện logic

HC được thiết kế để sử dụng trong các ứng dụng công nghệ CMOS 74HC595 có haithanh ghi tích hợp Cái đầu tiên là thanh ghi dịch và cái thứ hai là thanh ghi lưu trữ Dữ

Trang 18

liệu được truyền nối tiếp để thay đổi từng bit thanh ghi Nhưng nó chỉ chuyển vào thanhghi lưu trữ khi chân chốt dữ liệu được kích ở mức cao.

10 (MR) Master Reset Reset tất cả các đầu ra ở mức thấp Phải

giữ ở mức cao để hoạt động bình thường

11 (SH_CP) Clock Đây là chân đồng hồ mà tín hiệu đồng hồ

phải được cung cấp từ vi điều khiển hoặc

vi xử lý

12 (ST_CP) Latch Chân Latch dùng để cập nhật dữ liệu vào

các chân đầu ra Nó kích hoạt mức cao

13 (OE) Output Enable Chân OE được sử dụng để tắt đầu ra Phải

giữ ở mức thấp để hoạt động bình thường

14 (DS) Serial Data Đây là chân mà dữ liệu được gửi đến, dựa

trên đó 8 đầu ra được điều khiển

Trang 19

15 (Q0) Output Chân đầu ra đầu tiên

Bảng 1: Chi tiết các chân của IC 74HC595

2.2.3 Đặc tính thông số kỹ thuật IC 74HC595

Dưới đây là các đặc tính thông số kỹ thuật chính của IC 74HC595

 Điện áp cung cấp: từ 2V đến 6V

 Dòng tiêu thụ điện năng tối đa: 70mA

 Số lượng đầu vào dữ liệu: 8

 Số lượng đầu ra độc lập: 8

 Khả năng dòng ra tối đa của mỗi đầu ra: 35mA

 Tần số hoạt động tối đa: 100MHz

 Thời gian trễ đầu vào đến đầu ra: 25ns

 Tổng thời gian lưu trữ dữ liệu: 100ns

 Nhiệt độ hoạt động tối đa: từ -40 đến 85 độ C

 Đóng gói: PDIP, SOIC, TSSOP, SSOP, PLCC

Các thông số kỹ thuật này cung cấp cho người sử dụng thông tin về các giới hạn vàtính năng của IC 74HC595 Với các thông số này, người dùng có thể thiết kế và lựa chọncác linh kiện khác để đảm bảo rằng hệ thống hoạt động ổn định và đáp ứng các yêu cầu

kỹ thuật.IC 74HC595 là một IC rất phổ biến và được sử dụng rộng rãi trong các ứng dụngđiện tử Dưới đây là một số ứng dụng phổ biến của IC 74HC595:

 Điều khiển LED: IC 74HC595 được sử dụng để điều khiển đèn LED một cáchhiệu quả với số lượng lớn Bằng cách kết nối các chân đầu ra của IC với đèn LED

và sử dụng một phần mềm điều khiển để chuyển đổi các đầu ra, bạn có thể tạo racác hiệu ứng ánh sáng đa dạng

 Điều khiển động cơ bước: IC 74HC595 cũng được sử dụng để điều khiển các động

cơ bước thông qua việc kết nối các chân đầu ra với các điều khiển động cơ bướcnhư ULN2003

 Điều khiển hiển thị LED 7 đoạn: IC 74HC595 có thể được sử dụng để điều khiểncác hiển thị LED 7 đoạn một cách hiệu quả, bằng cách kết nối các chân đầu ra vớicác thanh LED 7 đoạn và sử dụng một phần mềm điều khiển để chuyển đổi cácđầu ra

Trang 20

 Điều khiển đèn giao thông: IC 74HC595 cũng có thể được sử dụng để điều khiểnđèn giao thông thông qua việc kết nối các chân đầu ra với các đèn giao thông và sửdụng một phần mềm điều khiển để chuyển đổi các đầu ra.

 Điều khiển mạch số: IC 74HC595 cũng có thể được sử dụng để điều khiển cácmạch số thông qua việc kết nối các chân đầu ra với các mạch số và sử dụng mộtphần mềm điều khiển để chuyển đổi các đầu ra

2.3 Led 7 đoạn

2.3.1 Tổng quan về Led 7 đoạn

LED 7 đoạn là một loại hiển thị kỹ thuật số được sử dụng rộng rãi trong các ứngdụng điện tử để hiển thị các ký tự số hoặc chữ cái Nó được gọi là "LED 7 đoạn" bởi vì

nó bao gồm bảy đoạn LED đơn được sắp xếp theo một thứ tự nhất định để tạo ra các ký

tự số và chữ cái

Hình 5: Sơ đồ chân của Led 7 đoạnMỗi LED đơn trong LED 7 đoạn được ký hiệu là "a", "b", "c", "d", "e", "f", "g", vàchúng được kết nối với một bộ điều khiển để tạo ra các chữ số hoặc chữ cái Các LEDnày được kết nối với nhau để tạo thành một dạng hình chữ số 8

Mỗi LED trong LED 7 đoạn có thể được bật hoặc tắt để hiển thị các chữ số hoặcchữ cái khác nhau Để hiển thị một số cụ thể, chúng ta cần bật các LED tương ứng để tạo

ra hình ảnh số đó trên LED 7 đoạn

Để điều khiển LED 7 đoạn, chúng ta có thể sử dụng một số bộ điều khiển khácnhau, nhưng phổ biến nhất là sử dụng IC 74HC595 kết hợp với các IC khác để tạo ra mộtmạch điều khiển đơn giản và hiệu quả

Trang 21

2.3.2 Phân loại LED 7 đoạn

Dựa vào các cực được nối, có thể phân loại LED 7 đoạn như sau:

 Loại dương chung (Common Anode): nếu cực dương (anode) của tất cả 8 LEDđược nối với nhau và các cực âm (cathode) đứng riêng lẻ

 Loại âm chung (Common Cathode): nếu cực âm (cathode) của tất cả 8 LED đượcnối với nhau và các cực dương (anode) đứng riêng lẻ

2.3.3 Nguyên lý hoạt động

Nguyên tắc chung : muốn LED nào sáng thì LED đó phải được phân cực thuận

Do đó muốn tạo ra chữ số nào ta chỉ cần cho LED ở các vị trí tương ứng sáng lên Bảng

mô tả cách tạo ra các chữ số để hiển thị lên LED 7 đoạn:

+ Dương chung:

:

Bảng 2: Bảng giải mã Led 7 đoạn anot chung

+ Âm chung:

Trang 22

Bảng 3: Bảng giải mã Led 7 đoạn cathod chungLED 7 đoạn là một loại LED đặc biệt được sử dụng để hiển thị các giá trị số hoặcchữ cái Vì vậy, các ứng dụng của LED 7 đoạn phổ biến trong các thiết bị điện tử, đặcbiệt là các thiết bị đo lường và hiển thị, điều khiển và đồng hồ.

Các ứng dụng chính của LED 7 đoạn bao gồm:

1 Hiển thị thời gian trên đồng hồ điện tử và các thiết bị đo lường thời gian khác

2 Hiển thị giá trị nhiệt độ trên các thiết bị đo nhiệt độ

3 Hiển thị các giá trị đo lường khác, ví dụ như tần số, điện áp, dòng điện, độ ẩm, ápsuất, độ sáng,

4 Hiển thị các thông báo trạng thái trên các thiết bị điện tử, ví dụ như cảnh báo,thông báo lỗi, trạng thái hoạt động, và trạng thái kết nối

5 Các ứng dụng trò chơi, ví dụ như hiển thị số điểm và thời gian chơi trên các thiết

bị chơi game điện tử

Trang 23

Vì tính tiện lợi và độ bền của mình, LED 7 đoạn đã trở thành một phần không thểthiếu trong nhiều ứng dụng điện tử hiện đại.

2.4 Các phần mềm

2.4.1 STM32 CubeMX

STM32CubeMX là một phần mềm được cung cấp miễn phí giúp ích cho việc cấuhình ngoại vi, clock, tính toán dòng tiêu thụ, tạo project với nhiều dòng chip ARMSTM32… Việc tạo project trở nên đơn giản bằng việc lựa chọn các ngoại vi cần thiết, cấplock tùy chỉnh mà không cần liên quan đến code

Việc tạo project với thư viện chuẩn (standard library) là khá khó khăn vì cần nhiềubước để tạo ra project mới STM32CubeMX ra đời như một lựa chọn để thay thế điều đó,với giao diện trực quan chúng ta sẽ dể dàng lập trình và có cái nhìn tổng quan hơn

Thư viện đi kèm với phần mềm này là STM32Cube HAL, gọi tắt là thư viện HAL,

bộ thư viện này được chuẩn hóa, giúp đồng nhất giữa các dòng F0,F1,F2,F3,F4… Nhàsản xuất cũng cung cấp đầy đủ các ví dụ mẫu đi kèm với thư viện này Cách tốt nhất để tựhọc là tự tìm hiểu các ví dụ mẫu này

Lưu ý: STM32CubeMX không phải là một trình biên dịch, nó chỉ là công cụ đểsinh ra code, chúng ta vẫn phải dùng các trình biên dịch thông thường để quan sát, debug,lập trình, sửa lỗi… Nếu bạn muốn tìm hiều sâu về vi điều khiển hãy bắt đầu nó bằng thưviện chuẩn(standard library) và ngược lai, nếu bạn muốn sử dụng một cách nhanh chónghãy sử dụng thư viện HAL(STM32Cube HAL)

Một số tính năng chính:

 Dễ dàng quan sát các tính năng, thông số của IC

 Có cái nhìn tổng quan, bao quát hơn về lựa chọn, cấu hình chân, clock,ngoại vi

 Lựa chọn các board thí nghiệm của ST với các thông số cài đặt trước hoặcmột MCU cụ thể

 Dễ dàng cấu hình ngoại vi, clock, các thông số và tự động sinh ra code

 Dễ dàng chuyển đổi giữa các loại MCU STM32 bằng cách tạo project mớimột cách nhanh chóng

 Dễ dàng xuất file PDF các chân, tính năng… đã cấu hình

Dễ dàng tạo ra project với nhiều trình biên dịch được lựa chọn

Trang 24

 Tính toán, quản lí năng lượng dễ dàng hơn.

 Tự động cập nhật thư viện khi có bản cài đặt mới

 Thư viện được đồng nhất nên sẽ không có quá nhiều thay đổi khi chuyểnđổi giữa các loại MCU Ví dụ chuyển từ F1 qua F3, hay F4 và ngược lại.Tóm lại, phần mềm STM32 CubeMX là một công cụ hữu ích và đa năng cho việccấu hình và lập trình các ứng dụng nhúng trên các dòng vi điều khiển STM32 củaSTMicroelectronics

2.4.2 KeilC

Phần mềm KeilC là một môi trường lập trình tích hợp (IDE) được phát triển bởicông ty Keil, đặc biệt được sử dụng rộng rãi trong lĩnh vực lập trình nhúng cho các dòng

vi điều khiển của ARM

KeilC cung cấp một giao diện đơn giản và dễ sử dụng cho việc lập trình các dòng

vi điều khiển ARM, bao gồm các tính năng như: soạn thảo mã nguồn, biên dịch, môphỏng và gỡ lỗi KeilC hỗ trợ các ngôn ngữ lập trình phổ biến như C và Assembly, cũngnhư hỗ trợ cho các thiết bị phần cứng và công cụ lập trình phổ biến của ARM

Phần mềm KeilC được tích hợp với các trình biên dịch và công cụ mô phỏng, giúpcho quá trình phát triển phần mềm dễ dàng hơn và giảm thiểu các sai sót trong quá trìnhlập trình KeilC cũng hỗ trợ cho các thiết bị nhúng với nhiều ứng dụng khác nhau, baogồm các hệ thống điều khiển, thiết bị viễn thông, các hệ thống điện tử tiêu dùng và cácsản phẩm IoT

Ngoài ra, KeilC cũng hỗ trợ tích hợp với các công cụ mô phỏng và giả lập phầncứng, giúp người dùng kiểm tra các chương trình của họ trên các thiết bị nhúng một cáchchính xác và dễ dàng hơn

Tóm lại, KeilC là một phần mềm IDE đa chức năng và đáng tin cậy để lập trìnhcác thiết bị nhúng cho các dòng vi điều khiển ARM, với tính năng phong phú và dễ sửdụng, giúp giảm thiểu thời gian và công sức trong quá trình phát triển phần mềm nhúng

2.4.3 Proteus 8 Professional

Phần mềm Proteus 8 Professional là một công cụ thiết kế và mô phỏng mạch điện

tử đầy đủ tính năng, được phát triển bởi công ty Labcenter Electronics Ltd Proteus được

sử dụng rộng rãi trong lĩnh vực thiết kế vi mạch điện tử, mô phỏng, giả lập và kiểm tratính năng của các thiết bị điện tử

Proteus 8 Professional cung cấp một giao diện đồ họa thân thiện, cho phép ngườidùng vẽ và thiết kế các mạch điện tử, từ mạch đơn giản đến mạch phức tạp Phần mềmcung cấp một thư viện linh hoạt các linh kiện điện tử, giúp người dùng dễ dàng thêm các

Trang 25

linh kiện vào mạch của họ Proteus cũng hỗ trợ tích hợp với nhiều vi điều khiển phổ biếnnhư các dòng Arduino, PIC, AVR và ARM.

Proteus cung cấp tính năng mô phỏng chính xác, cho phép người dùng kiểm tratính năng của các mạch điện tử của họ trước khi thiết kế và sản xuất Ngoài ra, Proteuscũng hỗ trợ kiểm tra lỗi và gỡ lỗi mạch điện tử, giúp người dùng tìm ra và khắc phục cáclỗi một cách nhanh chóng và dễ dàng

Proteus còn cung cấp tính năng thiết kế PCB (Printed Circuit Board), giúp ngườidùng tạo ra các bản vẽ mạch điện tử chuyên nghiệp và sản xuất chúng Proteus cung cấptính năng in ấn trực tiếp từ giao diện người dùng, cũng như hỗ trợ xuất các bản vẽ mạchđiện tử và danh sách linh kiện để sản xuất

Tóm lại, Proteus 8 Professional là một công cụ thiết kế và mô phỏng mạch điện tửchuyên nghiệp, với tính năng mạnh mẽ và dễ sử dụng, giúp người dùng thiết kế và kiểmtra tính năng của các mạch điện tử một cách chính xác và nhanh chóng

2.4.4 KiCad

Phần mềm KiCad là một công cụ thiết kế mạch điện tử nguồn mở, có tính năngtương tự như các phần mềm thiết kế mạch điện tử thương mại như Altium Designer,Cadence Allegro, hay OrCAD KiCad được phát triển bởi một nhóm các kỹ sư và nhàphát triển đến từ nhiều quốc gia khác nhau, và được phân phối miễn phí theo giấy phépGPL (General Public License)

KiCad cung cấp một giao diện đồ họa dễ sử dụng, cho phép người dùng vẽ và thiết

kế các mạch điện tử, từ mạch đơn giản đến mạch phức tạp Phần mềm cung cấp một thưviện đầy đủ các linh kiện điện tử, giúp người dùng dễ dàng thêm các linh kiện vào mạchcủa họ

KiCad cung cấp các tính năng mô phỏng mạnh mẽ, cho phép người dùng kiểm tratính năng của các mạch điện tử của họ trước khi thiết kế và sản xuất Ngoài ra, KiCadcũng hỗ trợ thiết kế PCB (Printed Circuit Board) và giúp người dùng tạo ra các bản vẽmạch điện tử chuyên nghiệp và sản xuất chúng

KiCad cung cấp nhiều tính năng đáng chú ý như phân tích nguyên lý hoạt độngmạch điện tử, vẽ mạch điện tử đa bản vẽ, xử lý tự động mạch điện tử, xuất bản và in cácbản vẽ mạch điện tử và danh sách linh kiện Ngoài ra, KiCad cũng hỗ trợ các tính năngkết xuất 3D và kiểm tra xung đột các linh kiện trong mạch

Tóm lại, KiCad là một công cụ thiết kế và mô phỏng mạch điện tử đầy đủ tínhnăng, miễn phí và nguồn mở, với tính năng mạnh mẽ và dễ sử dụng, giúp người dùngthiết kế và kiểm tra tính năng của các mạch điện tử một cách chính xác và nhanh chóng

Trang 26

3 Kết luận

Trang 27

Chương II: Quy trình thiết kế đề tài

1 Đặt vấn đề

Thiết kế hệ thống đèn giao thông đòi hỏi sự kết hợp giữa kiến thức về điện tử, lập trình vi điều khiển, mô phỏng mạch, thiết kế mạch in, cũng như sự hiểu biết về các quy định, tiêu chuẩn và quy trình an toàn giao thông

Một trong những vấn đề quan trọng đầu tiên là tìm hiểu về các quy định, tiêu chuẩn và quy trình an toàn giao thông, đảm bảo hệ thống đèn giao thông được thiết kế và vận hành đúng theo quy định Ngoài ra, cần tìm hiểu về các thành phần điện tử, cảm biến,

vi điều khiển, mạch điện để có thể lựa chọn và sử dụng chúng phù hợp với yêu cầu của

hệ thống

Tiếp theo, cần có kiến thức về lập trình vi điều khiển để thiết kế các chức năng, điều khiển hệ thống đèn giao thông Sử dụng phần mềm mô phỏng mạch để kiểm tra tính đúng đắn của mạch, đảm bảo rằng mạch được hoạt động đúng theo thiết kế Cần chú ý đến các yếu tố như tốc độ xử lý, bộ nhớ, các chế độ điều khiển, điều chỉnh để đảm bảo chức năng của hệ thống

Khi đã thiết kế được mạch điều khiển, cần thiết kế mạch in và lắp ráp, đảm bảo các linh kiện được đặt đúng vị trí, chính xác và không bị lỗi kết nối Cuối cùng, cần tiến hành kiểm tra và chạy thử hệ thống đèn giao thông, đảm bảo rằng hệ thống hoạt động đúng và an toàn

Tóm lại, quy trình thiết kế hệ thống đèn giao thông là một quá trình phức tạp và yêu cầu sự kết hợp giữa nhiều kiến thức và kỹ năng Qua quá trình này, người thiết kế cần có sự cẩn trọng và tận tâm để đảm bảo hệ thống đèn giao thông hoạ

2 Quy trình thiết kế

2.1 Tìm hiểu kiến thức

Sau khi em tìm hiểu rất nhiều các đề tài mẫu được giao thì nhận thấy đề tài “Thiết

kế hệ thống điều khiển tín hiệu đèn giao thông” rất phù hợp với bản thân mình bởi vì nó

Ngày đăng: 25/03/2023, 05:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w