Báo cáo bài tập lớn môn đồ án thiết kế hệ thống nhúng

Báo cáo đồ án thiết kế hệ thống nhúng chi tiết. Tài liệu tham khảo hữu ích cho sinh viên và kỹ sư ngành điện tử, viễn thông, tự động hóa.

Chuyên ngành

Đồ án Thiết kế Hệ thống Nhúng

Người đăng

Ẩn danh

Thể loại

báo cáo

2022

42
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn báo cáo đồ án thiết kế hệ thống nhúng từ A Z

Báo cáo đồ án thiết kế hệ thống nhúng là một tài liệu quan trọng. Nó thể hiện toàn bộ quá trình nghiên cứu và phát triển sản phẩm. Bài viết này phân tích một báo cáo mẫu về xe điều khiển từ xa. Dự án sử dụng bo mạch Arduino Uno làm trung tâm xử lý. Hệ thống nhận lệnh điều khiển từ hai nguồn: tay cầm PS2 không dây và ứng dụng điện thoại qua module Bluetooth HC06. Điểm nhấn kỹ thuật của dự án là việc áp dụng hệ điều hành thời gian thực FreeRTOS. FreeRTOS cho phép quản lý đồng thời nhiều tác vụ, đảm bảo hệ thống hoạt động mượt mà và đáp ứng nhanh. Phân tích này sẽ đi sâu vào từng khía cạnh, từ lựa chọn linh kiện phần cứng đến phương pháp triển khai phần mềm. Mục tiêu là cung cấp một cái nhìn tổng quan, chi tiết và dễ hiểu, giúp sinh viên có một tài liệu tham khảo chất lượng khi thực hiện đồ án thiết kế hệ thống nhúng của riêng mình. Việc cấu trúc báo cáo một cách logic và khoa học là yếu tố then chốt để đạt được kết quả cao.

1.1. Tổng quan về các linh kiện chính trong hệ thống

Việc lựa chọn linh kiện phù hợp quyết định sự thành công của dự án. Hệ thống này sử dụng Arduino Uno R3 với vi điều khiển Atmega328 làm bộ não trung tâm. Để điều khiển động cơ, mạch sử dụng Module L298, một trình điều khiển cầu H kép mạnh mẽ, có khả năng cung cấp dòng tối đa 2A cho mỗi động cơ. Hai động cơ giảm tốc V1 với tỉ số truyền 1:48 cung cấp momen xoắn cần thiết cho việc di chuyển. Giao diện người dùng được hiển thị trên màn hình LCD1602, kết nối thông qua mạch chuyển đổi giao tiếp I2C để tiết kiệm chân I/O. Về phần điều khiển, tay cầm PS2 Wireless Controller mang lại trải nghiệm điều khiển trực quan, trong khi module Bluetooth HC06 cho phép điều khiển không dây từ smartphone. Một mạch chuyển mức tín hiệu PS2 được sử dụng để đảm bảo tương thích điện áp 3.3V của tay cầm với 5V của Arduino.

1.2. Mục tiêu và phạm vi của đồ án thiết kế hệ thống

Mục tiêu cốt lõi của đồ án thiết kế hệ thống nhúng này là chế tạo một chiếc xe điều khiển từ xa với hai chế độ hoạt động. Chế độ thứ nhất sử dụng tay cầm PS2 cho phép điều khiển chính xác và tức thời. Chế độ thứ hai sử dụng kết nối Bluetooth với một ứng dụng di động, mang lại sự linh hoạt và hiện đại. Một mục tiêu kỹ thuật quan trọng là triển khai thành công hệ điều hành thời gian thực FreeRTOS trên nền tảng Arduino. Việc này nhằm chứng minh khả năng quản lý đa nhiệm, xử lý đồng thời tín hiệu từ cả hai nguồn đầu vào mà không gây ra xung đột hay trễ hệ thống. Sản phẩm cuối cùng phải hiển thị trạng thái hoạt động lên màn hình LCD1602 và thực hiện các lệnh di chuyển cơ bản như tiến, lùi, trái, phải một cách chính xác. Dự án tập trung vào việc tích hợp phần cứng và phát triển phần mềm nhúng, là một bài tập thực tế điển hình cho sinh viên ngành kỹ thuật.

II. Nền tảng lý thuyết cốt lõi trong thiết kế hệ thống nhúng

Một đồ án thiết kế hệ thống nhúng vững chắc phải được xây dựng trên nền tảng lý thuyết rõ ràng. Phần này trình bày các khái niệm kỹ thuật trọng tâm được áp dụng trong dự án. Hiểu biết về các chuẩn giao tiếp là điều bắt buộc khi kết nối các module phần cứng khác nhau. Dự án này tận dụng hai giao thức phổ biến: chuẩn giao tiếp I2Cchuẩn giao tiếp UART. I2C được dùng để giao tiếp với màn hình LCD, trong khi UART được sử dụng cho module Bluetooth. Quan trọng hơn, việc quản lý các hoạt động phức tạp và đồng thời đòi hỏi một cấu trúc phần mềm tiên tiến. Do đó, việc triển khai hệ điều hành thời gian thực FreeRTOS là giải pháp được lựa chọn. FreeRTOS cung cấp một khuôn khổ mạnh mẽ để xử lý đa nhiệm, lập lịch và quản lý tài nguyên hệ thống một cách hiệu quả. Nắm vững các nguyên tắc này là chìa khóa để xây dựng các hệ thống nhúng ổn định và có khả năng mở rộng.

2.1. Phân tích các chuẩn giao tiếp I2C và UART phổ biến

Chuẩn giao tiếp I2C (Inter-Integrated Circuit) là một giao thức bus nối tiếp chỉ sử dụng hai dây tín hiệu: SDA (dữ liệu) và SCL (xung nhịp). Ưu điểm lớn nhất của nó là khả năng kết nối nhiều thiết bị trên cùng một bus, giúp tiết kiệm đáng kể số chân vi điều khiển. Trong dự án, I2C được dùng để kết nối màn hình LCD1602 thông qua một module chuyển đổi, giảm số chân cần thiết từ 6 xuống còn 2. Ngược lại, chuẩn giao tiếp UART (Universal Asynchronous Receiver/Transmitter) là một giao thức giao tiếp điểm-điểm. Nó không cần đường xung nhịp chung mà thay vào đó sử dụng tốc độ baud đã được thỏa thuận trước. Dữ liệu được đóng gói trong các khung truyền với bit bắt đầu và bit kết thúc. UART là lựa chọn lý tưởng cho module Bluetooth HC06, cho phép truyền và nhận dữ liệu ký tự một cách đơn giản và đáng tin cậy giữa smartphone và Arduino Uno.

2.2. Giới thiệu về hệ điều hành thời gian thực FreeRTOS

FreeRTOS là một hệ điều hành thời gian thực mã nguồn mở, được thiết kế cho các hệ thống nhúng và vi điều khiển. Việc sử dụng RTOS trở nên cần thiết khi ứng dụng có nhiều tác vụ cần thực thi đồng thời. Thay vì một vòng lặp vô tận (super loop) xử lý tuần tự, FreeRTOS cho phép chia chương trình thành các Task (tác vụ) độc lập. Kernel là trái tim của hệ điều hành, có nhiệm vụ quản lý các task này. Thành phần Scheduler bên trong Kernel sẽ quyết định task nào được chạy tại một thời điểm nhất định, dựa trên độ ưu tiên và thuật toán lập lịch. Điều này cho phép hệ thống phản ứng nhanh với các sự kiện bên ngoài và đảm bảo rằng các tác vụ quan trọng không bị chặn bởi các tác vụ khác. Việc áp dụng FreeRTOS trong đồ án thiết kế hệ thống nhúng này giúp đơn giản hóa việc quản lý mã nguồn và tăng cường tính ổn định của hệ thống.

III. Phương pháp thiết kế và xây dựng hệ thống nhúng toàn diện

Quá trình hiện thực hóa một đồ án thiết kế hệ thống nhúng đòi hỏi một phương pháp thiết kế có hệ thống. Phần này mô tả chi tiết kiến trúc tổng thể và cách thức kết nối các thành phần phần cứng. Trung tâm của hệ thống là bo mạch Arduino Uno, có nhiệm vụ điều phối hoạt động của tất cả các module ngoại vi. Kiến trúc hệ thống được chia thành ba khối chính: khối đầu vào, khối xử lý và khối đầu ra. Khối đầu vào bao gồm tay cầm PS2module Bluetooth HC06, cung cấp các lệnh điều khiển. Khối xử lý là Arduino Uno chạy FreeRTOS. Khối đầu ra bao gồm Module L298 điều khiển cặp động cơ giảm tốcmàn hình LCD1602 hiển thị thông tin. Cách tiếp cận module hóa này không chỉ giúp việc lắp ráp và kiểm tra trở nên dễ dàng mà còn là một phần quan trọng của một báo cáo đồ án hệ thống nhúng chuyên nghiệp. Thiết kế này đảm bảo sự rõ ràng, dễ bảo trì và khả năng mở rộng trong tương lai.

3.1. Sơ đồ khối và nguyên lý hoạt động của toàn hệ thống

Sơ đồ khối thể hiện luồng dữ liệu và sự tương tác giữa các thành phần. Khối vi điều khiển trung tâm là Arduino Uno được nhúng FreeRTOS. Khối đầu vào (Input) được chia làm hai nhánh. Nhánh thứ nhất nhận tín hiệu từ tay cầm PS2 thông qua mạch chuyển đổi. Nhánh thứ hai nhận dữ liệu từ ứng dụng điện thoại thông qua module Bluetooth HC06 theo chuẩn UART. Dữ liệu từ cả hai nguồn này được đưa đến khối vi điều khiển để xử lý. Dựa trên lệnh nhận được, khối vi điều khiển sẽ xuất tín hiệu điều khiển đến khối đầu ra (Output). Khối đầu ra bao gồm Module L298 và động cơ để thực hiện việc di chuyển, cùng với màn hình LCD1602 để hiển thị trạng thái hoạt động. Nguyên lý này đảm bảo hệ thống có thể phản ứng linh hoạt với cả hai phương thức điều khiển.

3.2. Chi tiết kết nối phần cứng và giao tiếp các ngoại vi

Việc kết nối phần cứng chính xác là nền tảng cho hệ thống hoạt động ổn định. Module Bluetooth HC06 được kết nối với Arduino qua các chân Serial (TX, RX), thực hiện đấu chéo để đảm bảo giao tiếp UART. Màn hình LCD1602 với module I2C được nối vào các chân SCL và SDA của Arduino. Bộ nhận tín hiệu của tay cầm PS2, sau khi qua mạch chuyển mức điện áp, được kết nối với các chân digital 10, 11, 12 và 13 để truyền dữ liệu. Module L298 nhận tín hiệu điều khiển từ các chân digital của Arduino để thay đổi chiều và tốc độ quay của hai động cơ giảm tốc. Nguồn điện được cấp riêng cho động cơ và các module logic, với Arduino cung cấp nguồn 5V và 3.3V cho các cảm biến và module tương ứng. Sơ đồ kết nối chi tiết được ghi lại cẩn thận trong báo cáo gốc.

IV. Cách vận dụng FreeRTOS để quản lý tác vụ hệ thống nhúng

Phần mềm là linh hồn của đồ án thiết kế hệ thống nhúng. Thách thức chính trong dự án này là xử lý đồng thời hai nguồn tín hiệu đầu vào mà không làm gián đoạn hệ thống. Giải pháp là sử dụng khả năng đa nhiệm của hệ điều hành thời gian thực FreeRTOS. Thay vì một chương trình tuần tự, mã nguồn được tổ chức thành các tác vụ riêng biệt. Một tác vụ chuyên xử lý tín hiệu từ tay cầm PS2. Một tác vụ khác lắng nghe và phân tích dữ liệu từ module Bluetooth HC06. FreeRTOS chịu trách nhiệm lập lịch và chuyển đổi giữa các tác vụ này một cách hiệu quả. Cách tiếp cận này đảm bảo rằng hệ thống luôn phản hồi nhanh chóng với người dùng, dù họ đang sử dụng phương thức điều khiển nào. Việc phân tích cấu trúc phần mềm này là phần cốt lõi trong một báo cáo đồ án hệ thống nhúng chất lượng cao, thể hiện sự hiểu biết sâu sắc về lập trình nhúng hiện đại.

4.1. Triển khai Task xử lý tín hiệu từ tay cầm PS2 không dây

Một tác vụ riêng (Task) được tạo ra để quản lý việc đọc dữ liệu từ tay cầm PS2. Trong vòng lặp vô tận của tác vụ này, hàm ps2x.read_gamepad() được gọi liên tục để lấy trạng thái mới nhất của các nút bấm. Mã nguồn sẽ kiểm tra các nút điều hướng (D-pad) như PSB_PAD_UP hoặc PSB_PAD_RIGHT. Khi một nút được nhấn, tác vụ sẽ gọi hàm điều khiển động cơ tương ứng, ví dụ Car_Go_Up(). Bằng cách đóng gói logic này vào một task riêng, bộ vi điều khiển có thể thực hiện các công việc khác trong khi chờ đợi người dùng nhấn nút. Điều này tối ưu hóa việc sử dụng CPU và là một ưu điểm lớn của kiến trúc dựa trên FreeRTOS.

4.2. Xây dựng Task nhận lệnh điều khiển qua Bluetooth HC06

Tác vụ thứ hai được dành riêng cho việc giao tiếp qua Bluetooth. Tác vụ này liên tục kiểm tra bộ đệm của cổng nối tiếp (Serial) bằng hàm Serial.available(). Nếu có dữ liệu, nó sẽ đọc ký tự nhận được. Một cấu trúc if-else được sử dụng để so khớp ký tự này với các lệnh đã định nghĩa trước: 'F' cho tiến, 'B' cho lùi, 'R' cho phải, và 'L' cho trái. Khi một lệnh hợp lệ được xác định, tác vụ sẽ thực thi hàm điều khiển động cơ tương ứng. Tác vụ này minh họa cách xử lý giao tiếp UART trong môi trường đa nhiệm. Bộ lập lịch của FreeRTOS đảm bảo rằng tác vụ này được cấp đủ thời gian xử lý để không bỏ lỡ bất kỳ lệnh nào từ người dùng.

4.3. Quản lý đa nhiệm với Kernel và Scheduler của FreeRTOS

Hàm xTaskCreate() là công cụ chính của FreeRTOS để khởi tạo các tác vụ. Trong dự án này, hai tác vụ (một cho PS2, một cho Bluetooth) được tạo ra trong hàm setup(). Sau khi được tạo, Kernel của FreeRTOS sẽ toàn quyền quản lý chúng. Bộ lập lịch (Scheduler) sẽ quyết định tác vụ nào được phép chạy và trong bao lâu. Nó có thể tạm dừng một tác vụ đang chạy để ưu tiên cho một tác vụ khác quan trọng hơn. Cơ chế này gọi là đa nhiệm phủ đầu (preemptive multitasking). Nó đảm bảo rằng hệ thống có khả năng đáp ứng cao, vì các sự kiện quan trọng có thể được xử lý ngay lập tức. Đây là sự khác biệt cơ bản và ưu việt so với phương pháp lập trình vòng lặp đơn giản trong thiết kế hệ thống nhúng.

V. Đánh giá kết quả và định hướng phát triển cho đồ án nhúng

Giai đoạn cuối cùng của một dự án kỹ thuật là đánh giá kết quả và vạch ra các hướng đi tiếp theo. Phần này tổng kết lại những gì báo cáo bài tập lớn môn đồ án thiết kế hệ thống nhúng đã đạt được, đưa ra nhận xét khách quan về sản phẩm và đề xuất các ý tưởng cải tiến trong tương lai. Dự án đã hoàn thành mục tiêu chính là xây dựng một chiếc xe điều khiển kép, vận hành bởi hệ điều hành thời gian thực FreeRTOS. Sự tích hợp giữa Arduino Uno, tay cầm PS2, và module Bluetooth HC06 đã thành công. Sản phẩm hoạt động đúng như thiết kế. Tuy nhiên, với vai trò là một sản phẩm học thuật, nó vẫn còn nhiều tiềm năng để cải tiến và phát triển thành một hệ thống thông minh và phức tạp hơn. Việc tổng kết này không chỉ thể hiện kết quả mà còn cho thấy tầm nhìn phát triển của người thực hiện.

5.1. Phân tích kết quả thực nghiệm và nhận xét sản phẩm cuối

Sản phẩm thực tế là một chiếc xe điều khiển từ xa hoạt động ổn định. Nó phản hồi chính xác các lệnh từ cả tay cầm PS2 và ứng dụng di động. Màn hình LCD1602 hiển thị rõ ràng chế độ điều khiển hiện tại. Việc sử dụng FreeRTOS đã chứng tỏ hiệu quả trong việc quản lý đồng thời hai luồng điều khiển mà không gây ra hiện tượng trễ hay xung đột. Thành tựu lớn nhất là việc áp dụng thành công lý thuyết về hệ điều hành thời gian thực vào một bài toán thực tế. Tuy nhiên, báo cáo cũng thẳng thắn nhìn nhận sản phẩm chỉ ở mức độ học tập. Vẫn còn những hạn chế về mặt cơ khí và độ chính xác trong điều khiển cần được khắc phục. Một báo cáo đồ án hệ thống nhúng hoàn chỉnh cần có sự đánh giá trung thực như vậy.

5.2. Hướng phát triển và nâng cấp cho hệ thống trong tương lai

Nền tảng hiện tại mở ra nhiều hướng phát triển hấp dẫn. Một cải tiến rõ ràng là trang bị cho xe khả năng tự hành. Có thể tích hợp thêm các cảm biến để thực hiện các chức năng như dò line PID hoặc tránh vật cản. Một hướng đi tham vọng hơn là gắn thêm một cánh tay robot, biến chiếc xe thành một nền tảng di động có khả năng tương tác với môi trường. Để nâng cao trí thông minh, hệ thống có thể được tích hợp với công nghệ xử lý ảnh OpenCV và trí tuệ nhân tạo (AI). Điều này cho phép xe tự động nhận dạng và bám theo đối tượng. Những định hướng này không chỉ là ý tưởng mà còn là lộ trình để phát triển đồ án thiết kế hệ thống nhúng này thành một sản phẩm phức tạp và có tính ứng dụng cao hơn.

16/09/2025

Trích đoạn nội dung tài liệu

BỘ THÔNG TIN VÀ TRUYỀN THÔNG `` HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIẾN THÔNG ----- ----- BÁO CÁO BÀI TẬP LỚN MÔN: ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Giảng viên: Nguyễn Ngọc Minh Nhóm: 08 Thành viên nhóm: Nguyễn Mạnh Hùng – B18DCDT093 Nguyễn Văn Khởi – B18DCDT117 Phạm Minh Hạnh – B18DCDT065 Nguyễn Đức Anh - B18DCDT005 Hà Nội, tháng 5 năm 2022 Báo cáo đồ án hệ thống nhúng Nhóm 8 Lời cảm ơn Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép chúng em xin gửi lòng biết ơn đến quý thầy cô tại Học viện Công nghệ Bưu chính Viễn thông đã tạo điều kiện hỗ trợ, giúp đỡ chúng em suốt quá trình học tập và nghiên cứu vừa qua. Đặc biệt, trong học kỳ này, học viện đã tổ chức cho chúng em được tiếp cận với các môn học rất hữu ích đối với sinh viên. Chúng em xin chân thành cảm ơn thầy Nguyễn Ngọc Minh đã tận tâm hướng dẫn chúng em trong môn học đồ án thiết kế hệ thống nhúng. Thầy đã luôn bên cạnh, tạo điều kiện trong suốt quá trình nghiên cứu, động viên và giúp đỡ để chúng em hoàn thành tốt báo cáo này.

Do kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ chưa hoàn hảo nên bài báo cáo sẽ còn nhiều thiếu sót, kính mong sự góp ý và giúp đỡ từ thầy. Cuối cùng chúng em xin kính chúc quý thầy cô 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. Chúng em xin chân thành cảm ơn. Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 MỤC LỤC 1, Tổng quan 4 1.3 Động cơ giảm tốc 6 1.5 Mạch chuyển đổi giao tiếp LCD 8 1.6 Tay Điều Khiển PS2 Wireless Controller 8 1.7 Mạch chuyển mức tín hiệu PS2 9 2, Cơ sở lý thuyết 10 2.1 Chuẩn giao tiếp I2C 10 2.2 Giao thức truyền dữ liệu 10 2.2 Chuẩn giao tiếp UART 13 2.2 Giao thức truyên dữ liệu 14 2.3 Hệ điều hành thời gian thực FreeRTOS 15 2.2 Khi nào cần sử dụng RTOS ? 15 2.3 Tại sao lại phải dụng RTOS ? 16 2.4 Cách hoạt động của RTOS 16 2.5 Các khái niệm trong hệ điều hành thời gian thực RTOS 17 3 Vận dụng 19 3.1 Hình thành hệ thống 19 3.2 Giao tiếp HC06 với arudino 19 3.3 Giao tiếp tay cầm PS2 với arudino 21 3.4 Giao tiếp LCD1602 I2C 28 3.5 Sử dụng FreeRTOS trong hệ thống 29 4, Kết quả, nhận xét 36 5, Tài liệu tham khảo 37 Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 1, Tổng quan 1.1 Arduino ⮚ Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên nước Ý thiết kế và đưa ra đầu tiên vào năm 2005.

Mạch Arduino được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau. Nó có thể thực hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác. Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim900A, ….để tăng khả ứng dụng của mạch. ⮚ Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,….

Hiện phần cứng của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega.1 Cấu tạo của arduino Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 ⮚ Thông số cơ bản của Arduino Uno R3 ● Vi điều khiển Atmega 328 (họ 8 bit) ● Điện áp hoạt động 5V – DC (cấp qua cổng USB) ● Tần số hoạt động16 MHz ● Dòng tiêu thụ 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 PWM) ● Số chân Analog 6 (độ phân giải 10 bit) ● Dòng tối đa trên mỗi chân I/O 30 mA ● Dòng ra tối đa (5V) 500 mA ● Dòng ra tối đa (3.3V) 50 mA ● Bộ nhớ flash 32 KB (Atmega328) với 0.5KB dùng bởi bootloader ● SRAM 2KB (Atmega328) ● EEPROM 1KB (Atmega328) 1.2 Module L298 ⮚ Mạch điều khiển động cơ DC L298 có khả năng điều khiển 2 động cơ DC, dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 nguồn 5VDC cho các module khác (chỉ sử dụng 5V này nếu nguồn cấp <12VDC).2 Module L298 ⮚ Thông số kỹ thuật: ● IC chính: L298 - Dual Full Bridge Driver ● Điện áp đầu vào: 5~30VDC ● Công suất tối đa: 25W 1 cầu (lưu ý công suất = dòng điện x điện áp nên áp cấp vào càng cao, dòng càng nhỏ, công suất có định 25W). ● Dòng tối đa cho mỗi cầu H là: 2A ● Mức điện áp logic: Low -0.3V~Vss ● Kích thước: 43x43x27mm 1.3 Động cơ giảm tốc ⮚ Cặp Động cơ DC giảm tốc V1 Dual Shaft Plastic Geared TT Motor + bánh xe là loại được lựa chọn và sử dụng nhiều nhất hiện nay cho các thiết kế khung Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 Robot, xe, thuyền,. , động cơ có chất lượng và giá thành vừa phải cùng với khả năng dễ lắp ráp đem đến chi phí tiết kiệm và sự tiện dụng cho người sử dụng.3 Động cơ giảm tốc màu vàng ⮚ Thông số kỹ thuật: ● Điện áp hoạt động : 3~9VDC ● Dòng điện tiêu thụ: 110~140mA ● Tỉ số truyền 1:48 ● 125 vòng/ 1 phút tại 3VDC. ● 208 vòng/ 1 phút tại 5VDC.4 Module LCD16x02 ⮚ Màn hình text LCD1602 xanh lá sử dụng driver HD44780, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án.

Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 Hình 1.4 Các chân pin LCD16x02 ⮚ Thông số kỹ thuật: ● Điện áp hoạt động là 5 V. ● Kích thước: 80 x 36 x 12.5 mm ● Chữ đen, nền xanh lá ● Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard. ● Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện. ● Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.

● Có thể được điều khiển với 6 dây tín hiệu ● Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật, xem thêm HD44780 datasheet để biết thêm chi tiết Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 1.5 Mạch chuyển đổi giao tiếp LCD ⮚ Để sử dụng các loại LCD có driver là HD44780(LCD 1602, LCD 2004,. ), cần có ít nhất 6 chân của MCU kết nối với các chân RS, EN, D7, D6, D5 và D4 để có thể giao tiếp với LCD. ⮚ Với module chuyển giao tiếp LCD sang I2C, các bạn chỉ cần 2 chân (SDA và SCL) của MCU kết nối với 2 chân (SDA và SCL) của module là đã có thể hiển thị thông tin lên LCD. Ngoài ra có thể điều chỉnh được độ tương phản bởi biến trở gắn trên module.6 Tay Điều Khiển PS2 Wireless Controller Hình 1.6 Tay cầm PS2 ⮚ Tay điều khiển PS2 Wireless Controller có chất lượng tốt, độ bền cao, khả năng bắt sóng lên đến 10m, xin lưu ý bộ nhận tín hiệu của Tay điều khiển PS2 Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 Wireless Controller sử dụng điện áp 3.3VDC cho cấp nguồn và giao tiếp, nếu các bạn giao tiếp với các vi điều khiển 5VDC thì cần thêm 1 đế chuyển mức điện áp giao tiếp từ 5VDC sang 3.3VDC để tránh trường hợp bộ nhận tín hiệu của tay bị cháy.

⮚ Thông số kỹ thuật: ● Tay điều khiển PS2 Wireless Controller ● Điện áp nguồn: 3.3VDC ● Điện áp giao tiếp: 3.3VDC ● Pin: 2xAAA ● Khoảng cách tối đa: 10m.7 Mạch chuyển mức tín hiệu PS2 Hình 1.7 Mạch chuyển tín hiệu tay cầm PS2 ⮚ Đế chuyển mức điện áp giao tiếp 3.3-5VDC PS2 PS3 Controller Adapter được sử dụng với các loại tay cầm điều khiển PS2, PS3 để chuyển mức điện áp giao tiếp tín hiệu của tay điều khiển từ 3.3VDC thành 5VDC và ngược lại để giao tiếp với các loại Vi Điều Khiển sử dụng 5VDC, tránh làm cháy tay điều khiển. Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 ⮚ Thông số kỹ thuật: ● Kết nối được với tay cầm PS2, PS3. ● Chuyển mức tín hiệu thành 3.3VDC và cấp nguồn cho tay cầm.2, Cơ sở lý thuyết 2, Cơ sở lý thuyết 2.1 Chuẩn giao tiếp I2C 2.1 Giới thiệu ⮚ I2C là tên viết tắt của cụm từ tiếng anh “Inter-Integrated Circuit”. Nó là một giao thức giao tiếp được phát triển bởi Philips Semiconductors để truyền dữ liệu giữa một bộ xử lý trung tâm với nhiều IC trên cùng một board mạch chỉ sử dụng hai đường truyền tín hiệu.

⮚ Chỉ cần có hai đường bus (dây) chung để điều khiển bất kỳ thiết bị / IC nào trên mạng I2C ⮚ Không cần thỏa thuận trước về tốc độ truyền dữ liệu như trong giao tiếp UART. Vì vậy, tốc độ truyền dữ liệu có thể được điều chỉnh bất cứ khi nào cần thiết ⮚ Cơ chế đơn giản để xác thực dữ liệu được truyền ⮚ Sử dụng hệ thống địa chỉ 7 bit để xác định một thiết bị / IC cụ thể trên bus I2C ⮚ Các mạng I2C dễ dàng mở rộng. Các thiết bị mới có thể được kết nối đơn giản với hai đường bus chung I2C Trang | Báo cáo đồ án hệ thống nhúng Nhóm 8 Hình 2.2 Giao thức truyền dữ liệu Giao thức sau đây (tập hợp các quy tắc) được theo sau bởi thiết bị Master và các thiết bị Slave để truyền dữ liệu giữa chúng. Dữ liệu được truyền giữa thiết bị Master và các thiết bị Slave thông qua một đường dữ liệu SDA duy nhất, thông qua các chuỗi có cấu trúc gồm các số 0 và 1 (bit).

Mỗi chuỗi số 0 và 1 được gọi là giao dịch (transaction) và dữ liệu trong mỗi giao dịch có cấu trúc như sau: Hình 2.2 Khung truyền I2C ⮚ Điều kiện bắt đầu (Start Condition) ● Bất cứ khi nào một thiết bị chủ / IC quyết định bắt đầu một giao dịch, nó sẽ chuyển mạch SDA từ mức điện áp cao xuống mức điện áp thấp trước khi đường SCL chuyển từ cao xuống thấp.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ