Mô tả Dự án: Mục tiêu: Xây dựng một hệ thống xe hai bánh có khả năng tự cân bằng và di chuyển một cách ổn định. Cấu trúc chính: Arduino Uno R3: Được sử dụng làm bộ điều khiển chính để thu thập dữ liệu từ cảm biến và điều khiển các động cơ. MPU6050: Sử dụng để đo và thu thập dữ liệu về góc nghiêng của xe trên một mặt phẳng. Động cơ và bánh xe: Được sử dụng để tạo ra lực đẩy và cân bằng xe. Bộ nguồn: Cung cấp năng lượng cho hệ thống. Các chức năng chính: Thu thập dữ liệu góc nghiêng: Sử dụng cảm biến MPU6050 để đo góc nghiêng của xe. Điều khiển động cơ: Sử dụng dữ liệu góc nghiêng để điều khiển động cơ và giữ cho xe cân bằng trên mặt phẳng. Thu thập dữ liệu từ cảm biến quay hồi chuyển: Sử dụng dữ liệu từ cảm biến quay hồi chuyển để đảm bảo rằng các động cơ hoạt động theo đúng tốc độ và hướng. Giải thuật điều khiển PID: Sử dụng thuật toán điều khiển PID để điều chỉnh lực đẩy của các động cơ dựa trên dữ liệu góc nghiêng thu thập được từ MPU6050. Các bước thực hiện: Kết nối và lập trình Arduino: Kết nối MPU6050 và cảm biến quay hồi chuyển với Arduino Uno R3 và lập trình Arduino để thu thập và xử lý dữ liệu từ cảm biến. Triển khai thuật toán điều khiển PID: Triển khai thuật toán điều khiển PID trên Arduino để điều khiển các động cơ dựa trên dữ liệu góc nghiêng thu thập được. Kiểm tra và điều chỉnh: Thực hiện các bài kiểm tra thực tế trên xe và điều chỉnh các hệ số PID cần thiết để đảm bảo hiệu suất tốt nhất. Lắp ráp và kiểm tra hoạt động: Lắp ráp tất cả các thành phần vào xe và thực hiện kiểm tra hoạt động để đảm bảo rằng xe có khả năng tự cân bằng một cách ổn định. Lợi ích: Tạo ra một hệ thống tự cân bằng ổn định cho các ứng dụng robot di động và xe tự hành. Hiểu rõ hơn về các nguyên lý hoạt động của cảm biến và thuật toán điều khiển PID. Dự án này cung cấp một cơ hội tuyệt vời để thử nghiệm và thực hành các kỹ năng lập trình, điều khiển và điện tử, cũng như để hiểu rõ hơn về cách các hệ thống cân bằng hoạt động trong thực tế.
Báo cáo Đồ án: Thiết kế và Chế tạo Xe Hai Bánh Tự Cân Bằng sử dụng Arduino Uno và Cảm biến Gia tốc MPU6050 I Giới thiệu Trong báo cáo này, trình bày về quá trình thiết kế và chế tạo một chiếc xe hai bánh tự cân bằng sử dụng Arduino Uno và cảm biến gia tốc MPU6050 Mục tiêu của dự án là xây dựng một chiếc xe có khả năng tự cân bằng một cách tự động dựa trên dữ liệu từ cảm biến MPU6050, đồng thời điều khiển động cơ để giữ cho xe ổn định II Thiết kế 1 Lựa chọn linh kiện Arduino Uno: Là bo mạch điều khiển chính để xử lý dữ liệu từ cảm biến và điều khiển động cơ MPU6050: Cảm biến gia tốc và góc quay, được sử dụng để đo góc nghiêng của xe Động cơ và bánh xe: Sử dụng hai động cơ DC và bánh xe để di chuyển xe Module điều khiển động cơ: Sử dụng module L298N hoặc H-bridge để điều khiển động cơ DC Pin và dây cáp: Dùng để kết nối các linh kiện 2 Kết nối linh kiện Kết nối MPU6050 với Arduino thông qua giao tiếp I2C Kết nối động cơ và module điều khiển động cơ với Arduino III Chương trình Arduino 1 Đọc dữ liệu từ MPU6050 Sử dụng thư viện Wire.h để giao tiếp với MPU6050 qua giao diện I2C Đọc dữ liệu từ MPU6050 (góc nghiêng hoặc gia tốc) 2 Điều khiển động cơ Tính toán sai số giữa góc đo được từ MPU6050 và góc setpoint Sử dụng hệ số điều chỉnh P để điều chỉnh tốc độ của động cơ dựa trên sai số Điều chỉnh hướng quay và tốc độ của động cơ để giữ cho xe cân bằng IV Thử nghiệm và Kiểm tra Tiến hành thử nghiệm xe trong nhiều điều kiện khác nhau để đảm bảo tính ổn định và cân bằng của xe Hiệu chỉnh giá trị của hệ số điều chỉnh P để đạt được hiệu suất tốt nhất cho xe V Kết luận Trong dự án này, mục tiêu thiết kế và chế tạo một chiếc xe hai bánh tự cân bằng sử dụng Arduino Uno và cảm biến gia tốc MPU6050 Xe có khả năng tự động cân bằng dựa trên dữ liệu từ cảm biến, và có thể di chuyển một cách ổn định trong nhiều điều kiện khác nhau Đây là một dự án thú vị và hữu ích để nắm bắt các khái niệm cơ bản về điều khiển và cảm biến trong robotics Các linh kiện điện tử chính: 1.Arduino leonrdo (bo mạch điều khiển chính): Trong một dự án xe hai bánh tự cân bằng, Arduino Leonardo có thể được sử dụng như một bo mạch điều khiển chính để xử lý dữ liệu từ cảm biến và điều khiển động cơ Dưới đây là cách Arduino Leonardo có thể được tích hợp vào dự án: - Đọc dữ liệu từ cảm biến: Sử dụng các chân kết nối analog trên Arduino Leonardo để đọc dữ liệu từ cảm biến, chẳng hạn như MPU6050, để đo góc nghiêng của xe Cảm biến này sẽ gửi dữ liệu về góc nghiêng của xe thông qua giao tiếp I2C hoặc SPI, và Arduino Leonardo sẽ đọc dữ liệu này - Xử lý dữ liệu và điều khiển động cơ: Arduino Leonardo sẽ sử dụng dữ liệu đọc được từ cảm biến để tính toán sai số giữa góc nghiêng hiện tại của xe và góc nghiêng mong muốn (thông thường là góc 0 độ) Sau đó, nó sẽ sử dụng các thuật toán điều khiển, chẳng hạn như PID, để điều chỉnh tốc độ và hướng di chuyển của động cơ để giữ cho xe cân bằng - Kết nối và giao tiếp: Arduino Leonardo cũng có thể được sử dụng để kết nối và giao tiếp với các thiết bị ngoại vi khác như màn hình hiển thị, cảm biến bổ sung hoặc module không dây thông qua các giao diện như I2C, SPI hoặc UART - Nguồn cung cấp: Arduino Leonardo cần được cung cấp điện từ một nguồn năng lượng ổn định và đủ để cung cấp cho cả bo mạch và các linh kiện điện tử khác được kết nối Điều này có thể được thực hiện thông qua một pin nguồn DC hoặc một pin USB nếu xe có thể kết nối với nguồn điện bên ngoài Tóm lại, Arduino Leonardo có thể đóng vai trò quan trọng trong việc điều khiển và duy trì cân bằng cho một dự án xe hai bánh tự cân bằng thông qua việc xử lý dữ liệu từ cảm biến và điều khiển động cơ một cách thông minh và chính xác Nếu sử dụng Arduino Uno thay vì Arduino Leonardo trong dự án xe hai bánh tự cân bằng, cơ bản vẫn có thể thực hiện được các chức năng tương tự Mặc dù Arduino Uno có thể gặp một số hạn chế về tốc độ xử lý và bộ nhớ so với Arduino Leonardo, nhưng nó vẫn có thể là một lựa chọn hợp lý và phù hợp với dự án xe hai bánh tự cân bằng, đặc biệt là đối với các ứng dụng không yêu cầu xử lý dữ liệu và tính toán phức tạp quá cao 2 Cảm biến MPU6050(modun gia tốc và con quay hồi chuyển): thường được sử dụng trong các dự án xe hai bánh tự cân bằng để đo góc nghiêng của xe và điều khiển động cơ để giữ cho xe cân bằng Dưới đây là một số cách mà MPU6050 có thể được tích hợp vào dự án này: - Đo góc nghiêng: MPU6050 kết hợp cảm biến gia tốc và con quay (gyroscope) để đo góc nghiêng của xe Thông qua đọc các giá trị gia tốc và góc quay từ cảm biến, chúng ta có thể tính toán được góc nghiêng của xe theo các trục x, y, và z - Phản hồi điều khiển: Dựa trên dữ liệu góc nghiêng từ MPU6050, chúng ta có thể thiết lập các điều kiện hoạt động để điều khiển động cơ Nếu xe bắt đầu nghiêng về phía trước, chúng ta có thể điều chỉnh động cơ để đẩy xe lùi lại và ngược lại Điều này giúp xe duy trì sự cân bằng - Thuật toán điều khiển: Sử dụng dữ liệu từ MPU6050, chúng ta có thể triển khai các thuật toán điều khiển như PID (Proportional-Integral-Derivative) để điều khiển động cơ một cách chính xác và ổn định hơn Thuật toán PID sẽ xác định sai số giữa góc nghiêng hiện tại và góc mong muốn, sau đó điều chỉnh tốc độ và hướng của động cơ để giảm thiểu sai số - Điều chỉnh tốc độ: MPU6050 cung cấp thông tin về gia tốc của xe Dựa trên thông tin này, chúng ta cũng có thể điều chỉnh tốc độ của động cơ để duy trì sự cân bằng Nếu xe bắt đầu di chuyển quá nhanh hoặc quá chậm, chúng ta có thể điều chỉnh tốc độ của động cơ một cách tự động để đảm bảo rằng xe vận hành một cách ổn định Tóm lại, MPU6050 là một cảm biến linh hoạt và mạnh mẽ được sử dụng rộng rãi trong các dự án xe hai bánh tự cân bằng để đo và điều khiển sự cân bằng của xe một cách chính xác và hiệu quả 3 Động cơ bước (stepper motor): có thể được sử dụng để điều khiển chuyển động của xe Dưới đây là cách mà động cơ bước có thể được tích hợp vào dự án này: 1 Điều khiển vị trí: Động cơ bước có khả năng di chuyển một cách chính xác từng bước, điều này làm cho chúng trở thành lựa chọn lý tưởng để điều khiển vị trí của xe Bằng cách kiểm soát số lượng bước xoay của động cơ bước, chúng ta có thể điều khiển vị trí và góc nghiêng của xe một cách chính xác 2 Điều khiển tốc độ: Mặc dù động cơ bước thường không được sử dụng để điều khiển tốc độ như các động cơ DC, nhưng chúng vẫn có thể được sử dụng để duy trì tốc độ cố định cho xe Bằng cách kiểm soát tần số xung điều khiển, chúng ta có thể điều chỉnh tốc độ di chuyển của xe 3 Ứng dụng thuật toán điều khiển: Động cơ bước thường được sử dụng trong các ứng dụng yêu cầu kiểm soát vị trí hoặc góc quay với độ chính xác cao Các thuật toán điều khiển như PID (Proportional-Integral-Derivative) có thể được triển khai để điều khiển chuyển động của xe dựa trên dữ liệu từ cảm biến như MPU6050 4 Tiết kiệm năng lượng: Động cơ bước thường tiêu thụ ít năng lượng khi không hoạt động, điều này có thể là một lợi ích trong các ứng dụng yêu cầu tiết kiệm năng lượng như xe hai bánh tự cân bằng Tóm lại, động cơ bước có thể là một lựa chọn phù hợp trong các dự án xe hai bánh tự cân bằng, đặc biệt là khi yêu cầu kiểm soát vị trí và góc quay của xe với độ chính xác cao Tuy nhiên, cần lưu ý rằng động cơ bước cũng có một số hạn chế, bao gồm tốc độ di chuyển thấp hơn so với động cơ DC và động cơ servo 4.Một DC/DC Power Converter như LM2596: có thể được sử dụng trong dự án xe hai bánh tự cân bằng để cung cấp nguồn điện ổn định cho các linh kiện điện tử, như Arduino, cảm biến, hoặc động cơ Dưới đây là một số cách mà một DC/DC Power Converter có thể được tích hợp vào dự án: 1 Cung cấp nguồn ổn định: DC/DC Power Converter có thể được sử dụng để chuyển đổi điện áp từ nguồn năng lượng vào một điện áp ổn định và phù hợp với yêu cầu của các linh kiện điện tử trong dự án Điều này đặc biệt quan trọng đối với các linh kiện yêu cầu điện áp ổn định như Arduino Uno hoặc MPU6050 2 Dải điện áp đầu vào rộng: LM2596 có thể chuyển đổi điện áp đầu vào từ một dải rộng, điều này có nghĩa là nó có thể hoạt động với các nguồn năng lượng đa dạng như pin 9V, bộ pin LiPo, hoặc nguồn điện mạch điều hòa 3 Bảo vệ linh kiện khỏi dao động điện áp: Các linh kiện điện tử như Arduino hoặc MPU6050 có thể bị hỏng nếu chúng nhận được điện áp không ổn định hoặc dao động Sử dụng một DC/DC Power Converter giúp bảo vệ các linh kiện này khỏi các dao động và biến đổi không mong muốn của điện áp 4 Hiệu suất cao và tiết kiệm năng lượng: LM2596 có hiệu suất chuyển đổi cao, giúp giảm thiểu tổn thất năng lượng và tăng tuổi thọ của pin hoặc nguồn năng lượng khác Điều này quan trọng trong các ứng dụng yêu cầu tiết kiệm năng lượng như xe hai bánh tự cân bằng Tóm lại, sử dụng một DC/DC Power Converter như LM2596 trong dự án xe hai bánh tự cân bằng có thể giúp cung cấp nguồn điện ổn định và bảo vệ các linh kiện điện tử khỏi các dao động điện áp không mong muốn Điều này đóng vai trò quan trọng trong việc duy trì hiệu suất và độ ổn định của dự án