Đồ án Thiết kế và thi công mô hình xe tự động vệ sinh (Phần 1)

pdf 22 trang phuongnguyen 2420
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Thiết kế và thi công mô hình xe tự động vệ sinh (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_thiet_ke_va_thi_cong_mo_hinh_xe_tu_dong_ve_sinh_phan_1.pdf

Nội dung text: Đồ án Thiết kế và thi công mô hình xe tự động vệ sinh (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH THIẾT KẾ VÀ THI CÔNG MÔ HÌNH XE TỰ ĐỘNG VỆ SINH GVHD: ThS. HUỲNH HOÀNG HÀ SVTH : LÊ ĐÌNH TÍN MSSV : 12119131 SVTH : LÊ TRẦN THIỆN MINH MSSV : 12119018 S K L 0 0 4 6 8 8 Tp. Hồ Chí Minh, tháng 7 năm 2016
  2. TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ THI CÔNG MÔ HÌNH XE TỰ ĐỘNG VỆ SINH SVTH : LÊ ĐÌNH TÍN MSSV : 12119131 SVTH : LÊ TRẦN THIỆN MINH MSSV : 12119018 Khóa : 2012 Ngành : CÔNG NGHỆ KỸ THUẬT MÁY TÍNH GVHD: ThS. HUỲNH HOÀNG HÀ TP. HỒ CHÍ MINH – 07/2016
  3. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc Tp. Hồ Chí Minh, ngày tháng năm 2016 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: Lê Đình Tín MSSV: 12119131 Họ và tên sinh viên: Lê Trần Thiện Minh MSSV: 12119018 Lớp: 12119CLC Ngành: Công Nghệ Kỹ Thuật Máy Tính ĐT: THIẾT KẾ VÀ THI Giảng viên hướng dẫn: ThS. Huỳnh Hoàng Hà CÔNG MÔ HÌNH XE TỰ ĐỘNG VỆ SINH Ngày nhận đề tài: 1/2016 Ngày nộp đề tài: 7/2016 1. Tên đề tài: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH XE TỰ ĐỘNG VỆ SINH 2. Các số liệu, tài liệu ban đầu: Ý tưởng thiết kế xe tự hành có thể điều khiển qua máy tính. 3. Nội dung thực hiện đề tài: Thiết kế xe tự hành tự chỉnh hướng đi ổn định và thực hiện chức năng hút/quét bụi, có giao tiếp máy tính 4. Sản phẩm: Hệ thống xe tự hành, tự chỉnh hướng khi bị lệch, giao tiếp máy tính. TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN
  4. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ và tên Sinh viên: MSSV: Họ và tên Sinh viên: MSSV: Ngành: Tên đề tài: Họ và tên Giáo viên hướng dẫn: NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện: 2. Ưu điểm: 3. Khuyết điểm: 4. Đề nghị cho bảo vệ hay không?
  5. 5. Đánh giá loại: 6. Điểm: .(Bằng chữ: ) Tp. Hồ Chí Minh, ngày tháng năm 20 Giáo viên hướng dẫn (Ký & ghi rõ họ tên)
  6. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ và tên Sinh viên: MSSV: Họ và tên Sinh viên: MSSV: Ngành: Tên đề tài: Họ và tên Giáo viên phản biện: NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện: 2. Ưu điểm: 3. Khuyết điểm: 4. Đề nghị cho bảo vệ hay không?
  7. 5. Đánh giá loại: 6. Điểm: .(Bằng chữ: ) Tp. Hồ Chí Minh, ngày tháng năm 20 Giáo viên phản biện (Ký & ghi rõ họ tên)
  8. LỜI CẢM ƠN Trong suốt thời gian từ khi bắt đầu thực hiện đồ án môn học đến nay, nhóm đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô. Với lòng biết ơn sâu sắc, chúng em xin gửi đến quý Thầy Cô ở Khoa Đào Tạo Chất Lượng Cao và quý Thầy Cô ở Khoa Điện – Điẹn Tử cũng như khoa Đào tạo chất lượng cao Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã cùng với tri thức, tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian qua. Chúng em xin chân thành cảm ơn Thầy Huỳnh Hoàng Hà đã trực tiếp hướng dẫn, tận tâm truyền đạt kiến thức, kinh nghiệm cho chúng em qua từng buổi học cũng như những buổi báo cáo, thảo luận. Hơn hết, Thầy đã hỗ trợ, góp ý, giúp nhóm hoàn thiện đề tài, đạt được mục tiêu ban đầu, trang bị cho chúng em những kiến thức cơ bản, hướng dẫn chúng em tiếp cận với vi điều khiển. Bước đầu đi vào thực tế, tìm hiểu về lĩnh vực sáng tạo trong nghiên cứu khoa học, kiến thức của chúng em còn nhiều hạn chế và bỡ ngỡ. Do vậy, không thể tránh khỏi những thiếu sót, nhóm rất mong nhận được những ý kiến đóng góp quý báu của Thầy Cô để chúng em có thể tiếp thu, rút kinh nghiệm cho tương lai. Sau cùng, chúng em xin kính chúc quý Thầy Cô thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau. i
  9. LỜI NÓI ĐẦU Ngày nay, với sự bùng nổ của các ngành công nghệ thông tin, điện tử, đã làm cho đời sống của con người ngày càng hoàn thiện. Các thiết bị tự động hóa đã ngày một xâm lấn vào nhiều lĩnh vực: sản xuất, công nghiệp và thậm chí là vào cuộc sống sinh hoạt hằng ngày của mỗi con người. Do đó một hệ thống xe tự động vệ sinh không còn là mơ ước, xe tự động vệ sinh đã được nhiều nhà sản xuất hiện thực hóa. Nhiều mô hình đã được ra đời. Hòa mình vào xu hướng chung của thời đại, đề tài đồ án tốt nghiệp “” đã ra đời. Nước ta hiện nay đã và đang tiến tới trở thành một nước công nghiệp hóa hiện đại hóa, vì vậy việc thiết kế một hộ thống xe tự hành nhằm mục đích tự động hoá giúp giảm thời gian, công sức và tài nguyên đang trở thành xu thế mới. Việc nghiên cứu sử dụng cảm biến la bàn số HMC5883L hiện nay ở Việt Nam còn tương đối mới mẻ chưa đi vào thực tiễn ứng dụng. Hầu hết các nghiên cứu đều là nghiên cứu tự phát của cá nhân vẫn chưa phải là hoạt động nghiên cứu chuyên nghiệp để đưa vào ứng dụng. Việc các tập đoàn nước ngoài lẫn trong nước đang đầu tư mạnh vào nền công nghiệp nước ta, đó là một nền tảng, một lợi thế cho việc nghiên cứu và phát triển ứng dụng. ii
  10. MỤC LỤC CHƯƠNG 1 GIỚI THIỆU 1 1.1. Tình hình nghiên cứu hiện nay: 1 1.2. Mục tiêu của đề tài: 1 1.3. Phương pháp nghiên cứu: 1 1.4. Đối tượng và phạm vi nghiên cứu: 1 1.5. Bố cục đồ án: 2 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT LIÊN QUAN 3 2.1. Giới thiệu chung về ARM 3 2.2. Giới thiệu về dòng STM32: 3 2.3. Giới thiệu về ARM Cortex M3 STM32F103 4 2.4. Giới thiệu Timer 6 2.5. Giới thiệu I2C 8 2.6. Giới thiệu UART 11 2.7. Giới thiệu cảm biến quang phản xạ 13 2.8. Giới thiệu mạch cầu H L298 15 2.9. Giới thiệu Động cơ DC giảm tốc 19 2.10. Giới thiệu Encoder 20 2.11. Giới thiệu Module giao tiếp rf HC-11 22 2.12. Giới thiệu Cảm biến La bàn số HMC5883L 25 2.13. Giới thiệu Relay đóng ngắt 27 2.14. Giới thiệu Nguồn cung cấp 30 CHƯƠNG 3 THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM 33 3.1. Sơ đồ khối hệ thống 33 3.1.1. Yêu cầu hệ thống 33 3.1.2. Hoạt động của hệ thống 34 3.2. Thiết kế, tính toán hệ thống 34 3.2.1. Khối 1: Khối nguồn 34 iii
  11. 3.2.2. Khối 2: Khối cảm biến 35 3.2.3. Khối 3: Cơ cấu tải (Ứng dụng) 37 3.2.4. Khối 4: Giao tiếp không dây 37 3.2.5 Khối 5: Xử lý trung tâm 38 3.2.6 Khối 6: Giao tiếp máy tính 43 CHƯƠNG 4 NHẬN XÉT KẾT QUẢ ĐẠT ĐƯỢC 46 4.1. Nhận xét kết quả điều khiển 2 động cơ DC giảm tốc 46 4.2. Nhận xét kết quả của cảm biến quang 46 4.3. Nhận xét về kết quả của cảm biến la bàn số 47 4.4. Nhận xét chung về xe tự hành 47 4.5. Hình ảnh kết quả 47 CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50 5.1. Kết luận 50 5.2. Hướng phát triển 50 TÀI LIỆU THAM KHẢO 51 PHỤ LỤC: 52 iv
  12. DANH MỤC HÌNH Hình 2.3 : Kiến trúc vi xử lí ARM Cortex-M3 5 Hình 2.4a : Hệ thống Timer của STM32f1 7 Hình 2.4b : Cách hoạt động timer sau khi thiết lập 8 Hình 2.5a : Quá trình truyền nhận 9 Hình 2.5b : Mô tả điều kiện Start và Stop. 9 Hình 2.5c : Cấu trúc khối I2C 10 Hình 2.5d : Kiểm lỗi trên I2C 11 Hình 2.6 : Cấu trúc khung truyền nhận UART 12 Hình 2.7a : Cảm biến quang E3F-DS30C4 14 Hình 2.7b : Cấu tạo chung của cảm biến vật cản 15 Hình 2.8a : Cấu tạo đơn giản của mạch cầu H 16 Hình 2.8b : Mạch cầu H L298 17 Hình 2.9 : Cấu tạo chung của motor giảm tốc 19 Hình 2.10a : Cấu tạo của encoder từ tính 20 Hình 2.10b : Nguyên lý hoạt động của encoder từ 21 Hình 2.10c : Encoder 334 xung 22 Hình 2.10d : Pinout encoder 334 xung 22 Hình 2.11a : Module RF HC-11 23 Hình 2.11b : Chức năng các chân HC-11 23 Hình 2.12a : Nguyên lý đo độ lệch từ trường 26 Hình 2.12c : Cảm biến la bàn số HMC5883L 27 Hình 2.13a : Cấu tạo relay 28 Hình 2.13b : Bên trong relay 29 Hình 2.13c : Relay trên thị trường 29 Hình 2.14a : Mắc nối tiếp pin lipo 3 cell 30 Hình 2.14b : Pin Wild Scorpion 11.1V Li-Po 3 Cell 31 Hình 3.1 : Sơ đồ khối hệ thống 33 v
  13. Hình 3.2.2 : Sơ đồ kết nối HCM5883L với vi điều khiển 35 Hình 3.2.4 : Sơ đồ khối kết nối HC-11 với thiết bị truyền và nhận dữ liệu 38 Hình 3.2.5a : Sơ đồ nguyên lí hệ thống 39 Hình 3.2.5b : Lưu đồ giải thuật chính 41 Hình 3.2.5c : Lưu đồ giải thuật chương trình con tự hành 42 Hình 3.2.6 : Lưu đồ giải thuật chương trình giao tiếp máy tính 44 Hình 4.5a : Ảnh thực tế sản phẩm 48 Hình 4.5b : Ảnh thực tế sản phẩm 48 Hình 4.5c : Giao diện máy tính giao tiếp với kit ARM để điều khiển 49 vi
  14. CHƯƠNG 1 GIỚI THIỆU 1.1. Tình hình nghiên cứu hiện nay: Vài năm trở lại đây, với sự phát triển tột bậc của ngành công nghiệp cũng như được sự giúp đỡ và hỗ trợ củ nhà nước trên con đường tiến tới công nghiệp hóa hiện đại hóa, việc tự động hóa trở thành xu hướng chủ đạo của các công ty tập đoàn, từ những thiết bị bán tự động đến những thiết bị tự động hóa. Việc điều khiển, vận hành chính xác các thiết bị trong sản xuất là hết sức quan trọng. Từ đó giảm nhẹ sức lao động cũng như chi phí để sản xuất 1 sản phẩm nhằm hạ giá than sản phẩm để cạnh tranh với các nước trong khu vực cũng như thế giới. 1.2. Mục tiêu của đề tài: Tìm hiểu chi tiết vi xử lý ARM stm32f103c8t6, cấu tạo và hoạt động các module giao tiếp RF HC-11, cảm biến quang, cảm biến la bàn số. Đọc hiểu datasheet của các linh kiện cần thiết trong mạch. Nghiên cứu và thiết kế sơ đồ khối, từ đó thi công mạch thực tế. Giải thích được chức năng của các linh kiện có trong mạch. 1.3. Phương pháp nghiên cứu: Trong thời gian thực hiện đồ án, để hoàn thiện và giúp hệ thống vận hành ổn định, nhóm đã áp dụng các phương pháp sau: - Tham khảo tài liệu, giáo trình. - Nghiên cứu và tìm hiểu vi điều khiển ARM - Tiến hành thực nghiệm và chỉnh sửa sau mỗi lần thử. 1.4. Đối tượng và phạm vi nghiên cứu: Trong quá trình nghiên cứu, nhóm đã xác định đối tượng, phạm vi nhằm hiểu rõ và nắm vững yêu cầu đặt ra của đề tài. Qua đó có hướng đi hợp lý để hoàn thành đề tài phù hợp với mục tiêu đề ra, theo kịp tiến độ yêu cầu. 1
  15. - Đối tượng: vi điều khiển ARM stm32f103c8t6, cảm biến quang, cảm biến la bàn số HMC5883L, động cơ DC giảm tốc, module giao tiếp RF HC-11. Phạm vi nghiên cứu: ngôn ngữ lập trình trên vi điều khiển ARM, xuất nhập trên các port I/O của vi điều khiển ARM, sử dụng cảm biến quang để xác định vật cản, điều khiển động cơ DC giảm tốc hợp lý, dùng dữ liệu có được từ cảm biến la bàn số để ổn định hướng di chuyển, và giao tiếp với máy tính để truyền nhận lệnh điều khiển 1.5. Bố cục đồ án: Chương 1: GIỚI THIỆU Chương 2: CƠ SỞ LÝ THUYẾT Chương 3: THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM Chương 4: NHẬN XÉT KẾT QUẢ ĐẠT ĐƯỢC Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 2
  16. CHƯƠNG 2 CƠ SỞ LÝ THUYẾT LIÊN QUAN 2.1. Giới thiệu chung về ARM Cấu trúc ARM (viết tắt từ tên gốc là Advanced RISC Machine) là một loại cấu trúc vi xử lý 32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong các thiết kếnhúng. Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu. Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới. CPU ARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay (PDA, điện thoại di động, máy đa phương tiện, máy trò chơi cầm tay, và máy tính cầm tay) cho đến các thiết bị ngoại vi máy tính 2.2. Giới thiệu về dòng STM32: Họ STM32 có hai nhánh đầu tiên riêng biệt: dòng Performance và dòng Access. Dòng Performance tập hợp đầy đủ các thiết bị ngoại vi và chạy với xung nhịp tối đa 72MHz. Dòng Access có các thiết bị ngoại vi ít hơn và chạy tối đa 36MHz. Quan trọng hơn là cách bố trí chân (pins layout) và các kiểu đóng gói chip (package type) là như nhau giữa dòng Access và dòng Performance. Điều này cho phép các phiên bản khác nhau của STM32 được hoán vị mà không cần phải sửa đổi sắp sếp lại footprint (mô hình chân của chip trong công cụ layout bo mạch) trên PCB (Printed Circuit Board). Thoạt nhìn thì các ngoại vi của STM32 cũng giống như những vi điều khiển khác, như hai bộ chuyển đổi ADC, timer, I2C, SPI, CAN, USB và RTC. Tuy nhiên mỗi ngoại vi trên đều có rất nhiều đặc điểm thú vị. Ví dụ như bộ ADC 12-bit có tích hợp một cảm biến nhiệt độ để tự động hiệu chỉnh khi nhiệt độ thay đổi và hỗ trợ nhiều chế độ chuyển đổi. Mỗi bộ định thời có 4 khối capture compare (dùng để bắt sự kiện với tính năng input capture và tạo dạng sóng ở ngõ ra với output compare), 3
  17. mỗi khối định thời có thể liên kết với các khối định thời khác để tạo ra một mảng các định thời tinh vi hơn. Một bộ định thời cao cấp chuyên hỗ trợ điều khiển động cơ, với 6 đầu ra PWM với dead time (khoảng thời gian được chèn vào giữa hai đầu tín hiệu xuất PWM bù nhau trong điều khiển mạch cầu H) lập trình được và một đường break input (khi phát hiện điều kiện dừng khẩn cấp) sẽ buộc tín hiệu PWM sang một trạng thái an toàn đã được cài sẵn. Ngoại vi nối tiếp SPI có một khối kiểm tổng (CRC) bằng phần cứng cho 8 và 16 word hỗ trợ tích cực cho giao tiếp thẻ nhớ SD STM32 có hỗ trợ thêm tối đa 12 kênh DMA (Direct Memory Access). Mỗi kênh có thể được dùng để truyền dữ liệu đến các thanh ghi ngoại vi hoặc từ các thanh ghi ngoại vi đi với kích thước từ (word) dữ liệu truyền đi có thể là 8/16 hoặc 32-bit. Mỗi ngoại vi có thể có một bộ điều khiển DMA (DMA controller) đi kèm dùng để gửi hoặc đòi hỏi dữ liệu như yêu cầu. Một bộ phân xử bus nội (bus arbiter) và ma trận bus (bus matrix) tối thiểu hoá sự tranh chấp bus giữa truy cập dữ liệu thông qua CPU (CPU data access) và các kênh DMA. Điều đó cho phép các đơn vị DMA hoạt động linh hoạt, dễ dùng và tự động điều khiển các luồng dữ liệu bên trong vi điều khiển. STM32 là một vi điều khiển tiêu thụ năng lượng thấp và đạt hiệu suất cao. Nó có thể hoạt động ở điện áp 2V, chạy ở tần số 72MHz và dòng tiêu thụ chỉ có 36mA với tất cả các khối bên trong vi điều khiển đều được hoạt động. Kết hợp với các chế độ tiết kiệm năng lượng của Cortex, STM32 chỉ tiêu thụ 2μA khi ở chế độ Standby. Một bộ dao động nội RC 8MHz cho phép chip nhanh chóng thoát khỏi chế độ tiết kiệm năng lượng trong khi bộ dao động ngoài đang khởi động. Khả năng nhanh đi vào và thoát khỏi các chế độ tiết kiệm năng lượng làm giảm nhiều sự tiêu thụ năng lượng tổng thể. 2.3. Giới thiệu về ARM Cortex M3 STM32F103 Như đã thấy trong phần giới thiệu, bộ xử lý Cortex là thế hệ lõi nhúng kế tiếp từ ARM. Cortex thừa kế các ưu điểm từ các bộ xử lí ARM trước đó, nó là một lõi xử lý hoàn chỉnh, bao gồm bộ xử lí trung tâm Cortex và một hệ thống các thiết bị 4
  18. ngoại vi xung quanh, Cortex cung cấp phần xử lí trung tâm của một hệ thống nhúng. Để đáp ứng yêu cầu khắc khe và đa dạng của các hệ thống nhúng, bộ xử lý Cortex gồm có 3 nhánh, được biểu hiện bằng các ký tự sau tên Cortex như sau: Cortex-A : bộ vi xử lý dành cho hệ điều hành và các ứng dụng của người dung phức tạp. Hỗ trợ các tập lệnh ARM, Thumb và Thumb-2. Cortex-R : bộ xử lí dành cho các hệ thống đòi hỏi khắc khe về tính thời gian thực. Hỗ trợ các tập lệnh ARM, Thumb, và Thumb-2. Cortex-M : bộ xử lí dành cho dòng vi điều khiển, được tối ưu hóa cho các ứng dụng nhạy cảm về chi phí. Chỉ hỗ trợ tập lệnh Thumb-2. Con số nằm cuối tên Cortex cho biết mức độ hiệu suất tương đối, với 1 là thấp nhất và 8 là cao nhất. Hiện nay dòng Cortex-M có mức hiệu suất cao nhất là mức 3. STM32 dựa trên bộ xử lý Cortex-M3. Hình 2.3 : Kiến trúc vi xử lí ARM Cortex-M3 5
  19. Vi điều khiển STM32F103C8T6 là họ vi điều khiển 32 bit của hãng TexasInstrument với 64-128 Kb bộ nhớ Flash, USB 2.0 full-speed, CAN, 7 bộ Timer, 2 bộ ADC và 9 giao diện kết nối. Thông tin chung: ● Lõi : ARM 32 bit Cortex-M3 ● Tần số hoạt động lên tới 72 Mhz ● Bộ nhớ : 64-128 Kb Flash, 20 Kb SRAM ● ADC : 2×12 bit, tần số lấy mẫu 1Mhz ● DAC : không ● DMA : Điều khiển 7 kênh DMA ● Timer : 7 bộ, 16 bit ● Giao diện kết nối : 2xI2C, 3xUSART, 2xSPI, CAN, USB 2.0 full-speed. [1] ● Kiểu chân : VFQFPN36, UFQFPN48, BGA100, LQFP48, LQFP64, LQFP100 Ứng dụng : ● Điều khiển động cơ ● Thiết bị cầm tay và thiết bị y tế ● Ứng dụng công nghiệp ● PLC ● Inverters ● Hệ thống cảnh báo ● HVAC 2.4. Giới thiệu Timer STM32 có bốn khối định thời. Timer1 là khối nâng cao dành cho điều khiển động cơ. 3 khối còn lại đảm nhiệm chức năng đa nhiệm. Tất cả chúng đều có chung kiến trúc, khối nâng cao sẽ có thêm các đặc tính phần cứng riêng biệt. Tất cả các khối định thời đều gồm bộ đếm 16-bit với thanh ghi chia tần số dao động 16-bit(prescaler) và thanh ghi tự nạp(auto-reload). Bộ đếm của khối định thời có thể được cấu hình để đếm lên, đếm xuống hay trung tính(lên xuống xen kẽ nhau). Xung nhịp cho đồng hồ có thể được lựa chọn dựa trên 8 nguồn khác nhau: từ đồng hồ chuyên biệt được lấy từ đồng hồ hệ thống, từ xung nhịp chân ra lấy từ khối định thời khác, hoặc từ nguồn xung nhịp ngoại. 6
  20. Timer trong STM32F1 có rất nhiều chức năng chẳng hạn như bộ đếm counter, PWM, input Trong đó, Timer1 có cùng tần số xung clock với hệ thống là 72Mhz. Các Timer lại là 2,3,4 có tần số bằng một nửa. Tức là 36Mhz. Hình 2.4a : Hệ thống Timer của STM32f1 [2] Dựa vào sơ đồ của 4 bộ Timer ta có thể thấy rằng Timer4 được quản lí bởi bus APB1 (Advanced Peripheral Bus) và có clock tối đa là 36MHz (1/2 clock hệ thống). Để tiến hành thiết lập Timer, ta lập trình các thanh ghi sau: - TIM_Prescaler: hiểu đơn giản như một bộ chia tần số hoặc bộ chia trước. - TIM_Period: là chu kì ta thiết lập cho timer, trong trường hợp này tức là sau khi đếm 999 xung (từ 0) thì timer sẽ bắt đầu đếm lại từ 0. 7
  21. - Mode counter: ta chọn đếm tăng, có nghĩa là mỗi xung nhịp timer, bộ đếm counter sẽ tự tăng lên một giá trị theo chiều dương cho đến khi nào bằng giá trị period sẽ đếm lại từ đầu, người ta thường gọi trường hợp này là tràn bộ đếm. Ngoài ra ta cũng phải thiết lập IRQ để lập trình chương trình ngắt và mức độ ưu tiên ngắt khi bộ đếm đủ chu kỳ và tràn. Hình 2.4b : Cách hoạt động timer sau khi thiết lập Như hình ta thấy rằng sau khi thiết lập Timer, cứ 36 lần xung hệ thống thì sẽ ứng với 1 chu kỳ xung Timer và mỗi lần như vậy, Counter sẽ đếm lên 1 giá trị và khi giá trị đó đạt đến 999, xung Timer tiếp theo sẽ làm cho Counter tràn và bắt đầu đếm lại từ đầu (từ 0) đồng thời tạo ra sự kiện ngắt (tràn timer). 2.5. Giới thiệu I2C I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit. Đây là đường Bus giao tiếp giữa các IC với nhau. I2C mặc dù được phát triển bới Philips, nhưng nó đã được rất nhiều nhà sản xuất IC trên thế giới sử dụng. I2C trở thành một chuẩn công nghiệp cho các giao tiếp điều khiển. Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM I2C là 1 bus 2 chiều, truyền thông giữa 2 IC khác nhau hay 2 modules. Truyền thông dữ liệu nối tiếp qua đường SDA và truyền xung đồng hồ qua đường 8
  22. S K L 0 0 2 1 5 4