Đồ án tốt nghiệp điều khiển xe hai bánh tự cânbằng

Đồ án tốt nghiệp điều khiển xe hai bánh tự cân bằng: Tìm hiểu nguyên lý, thiết kế mạch, lập trình điều khiển xe tự cân bằng hiệu quả. Tải tài liệu miễn phí!

Trường đại học

Trường Đại học Duy Tân

Chuyên ngành

Điện - Điện tử

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp
50
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn tổng quan đồ án xe hai bánh tự cân bằng 2024

Đồ án điều khiển xe hai bánh tự cân bằng là một chủ đề nghiên cứu hấp dẫn, kết hợp kiến thức cơ điện tử, lý thuyết điều khiển tự động và lập trình nhúng. Mô hình này, về bản chất, là một ứng dụng của mô hình con lắc ngược (inverted pendulum), một đối tượng phi tuyến và bất định, đòi hỏi một hệ thống điều khiển chính xác để duy trì trạng thái thăng bằng. Đặc điểm nổi bật nhất của xe hai bánh tự cân bằng là khả năng đứng vững trên hai bánh xe song song trên một trục duy nhất, một thách thức kỹ thuật lớn. Các ứng dụng của công nghệ này rất đa dạng, từ phương tiện di chuyển cá nhân, robot phục vụ trong giải trí, các cuộc thi tự hành cho đến tiềm năng trong lĩnh vực quân sự. Tuy nhiên, việc triển khai vẫn còn một số hạn chế như chi phí sản xuất cao và giới hạn về địa hình di chuyển. Hiện nay, nhiều công trình nghiên cứu trên thế giới đã khám phá các giải thuật điều khiển khác nhau như điều khiển cuốn chiếu (backstepping), điều khiển trượt (sliding mode), LQR, hay các phương pháp thông minh như Fuzzy Logic và mạng nơ-ron. Dù vậy, thuật toán PID (Proportional-Integral-Derivative) vẫn là lựa chọn phổ biến nhất nhờ sự đơn giản, dễ triển khai và hiệu quả cao trong việc ổn định hệ thống. Đồ án này tập trung vào việc thiết kế, thi công và lập trình một mô hình xe hoàn chỉnh, sử dụng vi điều khiển Arduino Nano kết hợp với cảm biến MPU6050 để thu thập dữ liệu góc nghiêng và áp dụng thuật toán PID để điều khiển động cơ, từ đó giữ cho xe luôn ở trạng thái cân bằng.

1.1. Nguyên lý hoạt động dựa trên mô hình con lắc ngược

Nguyên lý cốt lõi của xe hai bánh tự cân bằng dựa trên mô hình con lắc ngược. Trong mô hình này, thân xe được xem như một con lắc, và điểm tiếp xúc của hai bánh xe với mặt đất là điểm tựa. Để giữ thăng bằng, hệ thống phải liên tục điều chỉnh vị trí của điểm tựa. Cụ thể, khi thân xe nghiêng về phía trước, bộ điều khiển sẽ ra lệnh cho hai động cơ DC quay tới để 'đuổi theo' trọng tâm, đưa xe trở lại vị trí thẳng đứng. Ngược lại, khi xe ngả về phía sau, động cơ sẽ quay lùi. Tốc độ của động cơ tỷ lệ thuận với góc nghiêng và tốc độ thay đổi góc nghiêng. Quá trình này đòi hỏi một vòng lặp phản hồi kín, nơi cảm biến gia tốc và con quay hồi chuyển (như MPU6050) liên tục đo góc nghiêng và gửi dữ liệu về vi điều khiển. Vi điều khiển sau đó tính toán sai số và xuất tín hiệu điều khiển phù hợp, tạo ra một hệ thống tự ổn định linh hoạt.

1.2. Mục tiêu và yêu cầu chính của đề tài nghiên cứu

Mục tiêu chính của đồ án là tự thiết kế và thi công một mô hình xe hai bánh tự cân bằng hoàn chỉnh, có khả năng tự đứng vững. Các yêu cầu cụ thể bao gồm: tìm hiểu sâu về nguyên lý hoạt động của cảm biến gia tốc MPU6050; nắm vững cách điều khiển động cơ DC thông qua module L298N; thành thạo lập trình vi điều khiển Arduino Nano bằng Arduino IDE. Đề tài cũng yêu cầu sinh viên phải hiểu và triển khai thành công thuật toán điều khiển PID để xử lý tín hiệu từ cảm biến và tạo ra tín hiệu PWM điều khiển động cơ một cách chính xác. Sản phẩm cuối cùng phải được thử nghiệm trong môi trường phòng thí nghiệm để đánh giá hiệu quả và độ ổn định, từ đó rút ra các nhận xét và hướng phát triển trong tương lai. Qua đó, đồ án không chỉ là một sản phẩm kỹ thuật mà còn là cơ hội để sinh viên củng cố kiến thức đã học và áp dụng vào giải quyết một bài toán thực tế.

II. Phân tích thách thức trong việc điều khiển xe tự cân bằng

Việc điều khiển xe hai bánh tự cân bằng đặt ra nhiều thách thức kỹ thuật phức tạp, đòi hỏi sự kết hợp nhuần nhuyễn giữa phần cứng và phần mềm. Thách thức lớn nhất đến từ bản chất phi tuyến và không ổn định của mô hình con lắc ngược. Hệ thống luôn có xu hướng ngã đổ nếu không có sự can thiệp liên tục từ bộ điều khiển. Bất kỳ một sai số nhỏ trong việc đo đạc góc nghiêng, một sự chậm trễ trong vòng lặp xử lý, hay một phản ứng không chính xác từ động cơ đều có thể dẫn đến mất cân bằng ngay lập tức. Thêm vào đó, các tham số của hệ thống như trọng lượng, vị trí trọng tâm, ma sát của bánh xe là các yếu tố bất định và có thể thay đổi, gây khó khăn cho việc xây dựng một mô hình toán học chính xác tuyệt đối. Một thách thức khác là việc xử lý nhiễu từ cảm biến. Cảm biến MPU6050 mặc dù phổ biến nhưng vẫn bị ảnh hưởng bởi rung động (nhiễu từ gia tốc kế) và hiện tượng trôi điểm gốc (drift từ con quay hồi chuyển). Việc kết hợp dữ liệu từ hai cảm biến này bằng các bộ lọc (ví dụ: bộ lọc bù Kalman hoặc bộ lọc bổ sung) là cần thiết nhưng cũng làm tăng độ phức tạp của thuật toán. Lựa chọn và hiệu chỉnh bộ điều khiển cũng là một bài toán khó. Mặc dù thuật toán PID được chọn vì tính đơn giản, việc tìm ra bộ ba thông số Kp, Ki, Kd tối ưu để hệ thống đáp ứng nhanh, ổn định và không bị vọt lố là một quá trình đòi hỏi nhiều thực nghiệm và tinh chỉnh tỉ mỉ.

2.1. Vấn đề ổn định của hệ thống phi tuyến và bất định

Một xe hai bánh tự cân bằng về cơ bản là một hệ thống không ổn định. Đặc tính phi tuyến của nó thể hiện qua mối quan hệ phức tạp giữa góc nghiêng, vận tốc góc và lực đẩy của động cơ. Các phương trình động lực học mô tả hệ thống rất phức tạp và khó giải quyết chính xác. Hơn nữa, các tham số vật lý như khối lượng, momen quán tính, ma sát lốp xe với mặt đường thường không được xác định chính xác và có thể thay đổi trong quá trình hoạt động. Điều này làm cho việc thiết kế một bộ điều khiển mạnh mẽ, có khả năng hoạt động tốt dưới các điều kiện không chắc chắn, trở nên cực kỳ quan trọng. Bộ điều khiển phải đủ nhanh để phản ứng với những thay đổi tức thời và đủ thông minh để bù trừ cho những sai lệch do tính bất định của hệ thống gây ra.

2.2. Lựa chọn giải thuật điều khiển PID và các phương pháp khác

Việc lựa chọn giải thuật điều khiển là yếu tố quyết định sự thành công của đồ án. Ngoài thuật toán PID, các tài liệu nghiên cứu đã đề cập đến nhiều phương pháp tiên tiến khác như điều khiển trượt (Sliding Mode Control), điều khiển LQR (Linear-Quadratic Regulator), hay điều khiển mờ (Fuzzy Logic). Mỗi phương pháp có ưu nhược điểm riêng. Ví dụ, LQR có thể cho kết quả tối ưu nếu mô hình toán học của hệ thống chính xác, trong khi điều khiển trượt lại rất mạnh mẽ với các yếu tố bất định. Tuy nhiên, các phương pháp này thường đòi hỏi kiến thức toán học sâu và phức tạp hơn trong việc triển khai. Trong bối cảnh một đồ án tốt nghiệp, thuật toán PID được ưu tiên lựa chọn vì tính trực quan, dễ hiểu, dễ cài đặt trên các vi điều khiển như Arduino Nano, và quan trọng nhất là vẫn mang lại hiệu quả cao nếu được hiệu chỉnh đúng cách. Sự đơn giản này cho phép tập trung nhiều hơn vào việc thiết kế phần cứng và thực nghiệm.

III. Bí quyết thiết kế phần cứng cho xe hai bánh tự cân bằng

Thiết kế phần cứng là nền tảng vững chắc quyết định đến độ ổn định và hiệu suất của xe hai bánh tự cân bằng. Một hệ thống phần cứng được lựa chọn và lắp ráp tối ưu sẽ giúp thuật toán điều khiển hoạt động hiệu quả hơn. Sơ đồ khối của hệ thống bao gồm bốn thành phần chính: Khối Nguồn, Khối Cảm biến, Khối Điều khiển và Khối Động cơ. Khối nguồn, sử dụng pin Li-Ion NCR18650A 3.7V nối tiếp, cung cấp năng lượng cho toàn bộ hệ thống. Nguồn pin này được ổn áp xuống 5V thông qua IC LM7805 để cấp cho vi điều khiển và cảm biến. Khối điều khiển là bộ não của hệ thống, sử dụng vi điều khiển Arduino Nano với chip ATmega328P. Arduino Nano được chọn vì kích thước nhỏ gọn, giá thành hợp lý và cộng đồng hỗ trợ lớn. Khối cảm biến sử dụng module MPU6050, một cảm biến 6 bậc tự do (6-DoF) tích hợp gia tốc kế 3 trục và con quay hồi chuyển 3 trục. MPU6050 có nhiệm vụ đo góc nghiêng (pitch) của xe và gửi dữ liệu về cho Arduino thông qua giao thức I2C. Khối động cơ là cơ cấu chấp hành, bao gồm hai động cơ DC giảm tốc GA25-371 và module điều khiển L298N. Module L298N là một mạch cầu H kép, cho phép Arduino điều khiển chiều quay và tốc độ của hai động cơ một cách độc lập thông qua tín hiệu PWM (Pulse Width Modulation). Việc kết nối các khối này đòi hỏi sự chính xác để đảm bảo tín hiệu được truyền nhận đúng và không gây nhiễu.

3.1. Sơ đồ khối hệ thống Arduino Nano MPU6050 và L298N

Sơ đồ khối tổng quát mô tả sự tương tác giữa các thành phần chính. Khối cảm biến (MPU6050) thu thập dữ liệu góc nghiêng và gửi về khối điều khiển trung tâm (Arduino Nano). Tại đây, vi điều khiển thực thi thuật toán PID, tính toán tín hiệu điều khiển cần thiết dựa trên sai số giữa góc nghiêng hiện tại và góc cân bằng (điểm đặt). Tín hiệu đầu ra từ Arduino, thường là các xung PWM, được gửi đến khối động cơ (module L298N). L298N khuếch đại tín hiệu này để cấp dòng đủ lớn cho hai động cơ DC, làm cho chúng quay tới hoặc lùi với tốc độ phù hợp để đưa xe về trạng thái cân bằng. Toàn bộ hệ thống được cấp nguồn từ khối nguồn (Pin Li-Ion). Cấu trúc này tạo thành một vòng lặp điều khiển phản hồi kín, giúp hệ thống liên tục tự điều chỉnh.

3.2. Chức năng chi tiết của các linh kiện điện tử chủ chốt

Arduino Nano: Là trung tâm xử lý, nhận dữ liệu từ MPU6050, thực hiện các phép toán của thuật toán PID, và xuất tín hiệu PWM để điều khiển tốc độ và chiều quay của động cơ. MPU6050: Cảm biến quán tính 6 bậc tự do, cung cấp thông tin về góc nghiêng và vận tốc góc của xe, là 'giác quan' chính giúp xe nhận biết trạng thái của mình. L298N: Module điều khiển động cơ, hoạt động như một mạch cầu H. Nó nhận tín hiệu logic mức thấp từ Arduino và chuyển đổi thành dòng điện đủ lớn đểขับ động cơ, cho phép đảo chiều quay dễ dàng. Động cơ DC giảm tốc GA25-371: Cung cấp momen xoắn cần thiết để di chuyển xe và giữ thăng bằng. Hộp số giảm tốc giúp tăng momen và giảm tốc độ, phù hợp với yêu cầu điều khiển chính xác. LM7805: IC ổn áp, đảm bảo cung cấp điện áp 5V ổn định cho các linh kiện điện tử nhạy cảm như vi điều khiển và cảm biến, bảo vệ chúng khỏi sự biến động điện áp của pin.

3.3. Thiết kế cơ khí và khung xe đảm bảo độ vững chắc

Khung xe đóng vai trò vô cùng quan trọng đối với sự ổn định của robot. Một khung xe tốt cần đảm bảo độ cứng vững, trọng lượng được phân bố hợp lý và vị trí trọng tâm thấp. Trong đồ án này, khung xe được làm từ mica, một vật liệu nhẹ, dễ gia công và cách điện tốt. Thiết kế khung xe gồm hai mặt phẳng song song: một mặt phẳng dưới để gắn động cơ, bánh xe và pin; một mặt phẳng trên để đặt mạch điều khiển (Arduino Nano, L298N) và cảm biến (MPU6050). Việc đặt các linh kiện nặng như pin ở phía dưới giúp hạ thấp trọng tâm của xe, làm tăng tính ổn định tự nhiên, tương tự như nguyên lý của robot WobblyBot. Kích thước và kết cấu của khung xe được tính toán để đảm bảo sự cân đối và đủ không gian cho việc lắp đặt, đi dây gọn gàng, tránh gây nhiễu và va chạm cơ khí.

IV. Phương pháp lập trình điều khiển xe tự cân bằng với PID

Phần mềm là linh hồn của hệ thống điều khiển xe hai bánh tự cân bằng, biến các linh kiện phần cứng rời rạc thành một cỗ máy thông minh. Trọng tâm của phần mềm là việc triển khai thuật toán điều khiển PID trên nền tảng Arduino IDE. Ngôn ngữ lập trình chính được sử dụng là C/C++. Cấu trúc chương trình trên Arduino thường được chia làm ba phần chính: khai báo biến và thư viện, hàm setup() và hàm loop(). Trong hàm setup(), các tác vụ khởi tạo được thực hiện một lần duy nhất, bao gồm: thiết lập giao tiếp nối tiếp (Serial) để gỡ lỗi, khởi tạo cảm biến MPU6050, và cấu hình các chân I/O của Arduino làm đầu ra để điều khiển module L298N. Hàm loop() là vòng lặp chính thực hiện liên tục các công việc điều khiển. Mỗi vòng lặp, chương trình sẽ đọc dữ liệu thô từ gia tốc kế và con quay hồi chuyển của MPU6050, sau đó sử dụng một bộ lọc (ví dụ: bộ lọc bổ sung) để tính toán ra góc nghiêng chính xác. Góc này sau đó được so sánh với điểm đặt (setpoint, thường là 0 độ) để tính toán sai số (error). Dựa trên sai số này, ba thành phần của bộ điều khiển PID được tính toán: thành phần Tỷ lệ (P), Tích phân (I), và Vi phân (D). Cuối cùng, tổng của ba thành phần này sẽ tạo ra một tín hiệu điều khiển, được chuyển đổi thành giá trị PWM để điều khiển tốc độ và hướng quay của động cơ DC, nhằm mục đích đưa sai số về 0 và giữ cho xe cân bằng.

4.1. Giới thiệu về thuật toán điều khiển PID và vai trò Kp Ki Kd

Thuật toán PID là một cơ chế điều khiển phản hồi vòng kín kinh điển. Đầu ra của nó là tổng của ba thành phần:

  • Thành phần Tỷ lệ (P - Proportional): Tỷ lệ thuận với sai số hiện tại. P_out = Kp * error. Nó tạo ra một lực điều khiển tức thời để chống lại sai số. Kp lớn giúp xe phản ứng nhanh nhưng nếu quá lớn sẽ gây ra dao động.
  • Thành phần Tích phân (I - Integral): Tỷ lệ thuận với tổng tích lũy của các sai số theo thời gian. I_out = Ki * integral(error). Thành phần này giúp loại bỏ sai số xác lập, tức là giúp xe đứng yên tại vị trí cân bằng thay vì có một độ nghiêng nhỏ. Tuy nhiên, Ki quá lớn có thể gây ra hiện tượng vọt lố (overshoot).
  • Thành phần Vi phân (D - Derivative): Tỷ lệ thuận với tốc độ thay đổi của sai số. D_out = Kd * derivative(error). Nó có tác dụng 'phanh hãm', làm giảm dao động và ngăn chặn vọt lố bằng cách dự đoán xu hướng của sai số. Kd giúp hệ thống ổn định hơn nhưng nhạy cảm với nhiễu.

4.2. Cấu trúc chương trình trên Arduino IDE và lưu đồ thuật toán

Chương trình được viết trên Arduino IDE, một môi trường phát triển tích hợp (IDE) thân thiện. Lưu đồ thuật toán điều khiển bắt đầu bằng việc khởi tạo hệ thống. Sau đó, trong vòng lặp vô tận, chương trình thực hiện các bước sau:

  1. Đọc giá trị từ cảm biến MPU6050.
  2. Áp dụng bộ lọc để tính toán góc nghiêng hiện tại.
  3. Tính toán sai số (error) bằng cách lấy góc đặt trước (setpoint) trừ đi góc hiện tại.
  4. Tính toán các thành phần P, I, D.
  5. Cộng ba thành phần để có tín hiệu điều khiển cuối cùng.
  6. Giới hạn tín hiệu điều khiển trong dải giá trị PWM (ví dụ: -255 đến 255).
  7. Xuất tín hiệu PWM tới module L298N để điều khiển động cơ.
  8. Lặp lại từ bước 1. Vòng lặp này phải thực thi đủ nhanh để hệ thống có thể phản ứng kịp thời với các thay đổi, đảm bảo việc điều khiển xe tự cân bằng được liên tục và mượt mà.

V. Kết quả thực nghiệm đồ án điều khiển xe hai bánh tự cân bằng

Quá trình thực nghiệm và hiệu chỉnh đóng vai trò quyết định để biến mô hình lý thuyết thành một sản phẩm hoạt động được. Sau khi hoàn tất việc lắp ráp phần cứng và nạp chương trình điều khiển, giai đoạn quan trọng nhất là tìm ra bộ thông số PID tối ưu cho mô hình xe hai bánh tự cân bằng. Do việc xây dựng một mô hình toán học chính xác cho hệ thống là rất phức tạp, phương pháp được lựa chọn là hiệu chỉnh bằng tay (manual tuning) kết hợp với quan sát thực tế. Môi trường thử nghiệm ban đầu là trong phòng, trên nền gạch hoa phẳng, không có gió và vật cản. Dữ liệu từ cảm biến MPU6050 và tín hiệu điều khiển được theo dõi trực tiếp trên máy tính thông qua công cụ Serial Monitor và Serial Plotter của Arduino IDE. Quá trình này giúp trực quan hóa đáp ứng của hệ thống với các bộ thông số khác nhau. Kịch bản thử nghiệm bắt đầu bằng việc đặt tất cả các giá trị Kp, Ki, Kd về 0, sau đó tăng dần từng thông số theo một quy trình có hệ thống để quan sát ảnh hưởng của chúng. Sau nhiều lần thử và sai, bộ thông số tối ưu cho mô hình đã được xác định là Kp=21, Ki=14, và Kd=0.8. Với bộ thông số này, robot đã có thể tự đứng cân bằng, mặc dù vẫn còn một chút dao động nhẹ. Hiệu quả của hệ thống được kiểm chứng qua các bài thử nghiệm ở các điều kiện khác nhau.

5.1. Quy trình hiệu chỉnh thông số PID bằng phương pháp thủ công

Phương pháp hiệu chỉnh bằng tay được thực hiện theo các bước kinh điển:

  1. Hiệu chỉnh Kp: Đặt Ki và Kd bằng 0. Tăng dần giá trị Kp cho đến khi xe bắt đầu dao động qua lại mạnh quanh điểm cân bằng. Giá trị Kp cuối cùng được chọn bằng khoảng một nửa giá trị gây dao động này.
  2. Hiệu chỉnh Kd: Giữ nguyên Kp, tăng dần Kd từ 0. Kd có tác dụng làm giảm dao động. Tăng Kd cho đến khi xe ngừng dao động và trở nên 'đằm' hơn, phản ứng ổn định khi bị tác động nhẹ.
  3. Hiệu chỉnh Ki: Cuối cùng, tăng dần Ki từ 0. Ki giúp xe loại bỏ sai số xác lập, tức là quay về đúng vị trí 0 độ thay vì dừng lại ở một góc nghiêng nhỏ. Tăng Ki một cách từ từ cho đến khi xe hoạt động ổn định và mượt mà nhất. Nếu Ki quá lớn, xe sẽ có xu hướng đáp ứng chậm và vọt lố. Quá trình này đòi hỏi sự kiên nhẫn và quan sát tỉ mỉ để tìm ra sự cân bằng tốt nhất giữa các thông số.

5.2. Đánh giá độ ổn định của xe trong các môi trường khác nhau

Sau khi có bộ thông số PID tối ưu, xe được thử nghiệm trong ba kịch bản:

  • Trong phòng: Trên bề mặt phẳng và không có gió, xe hoạt động rất tốt. Hầu hết các lần thử nghiệm đều thành công, xe có thể tự cân bằng trong khoảng góc nghiêng từ 150 đến 200 độ.
  • Ngoài trời: Môi trường này có nhiều thách thức hơn do gió và bề mặt không hoàn toàn bằng phẳng. Kết quả cho thấy xe vẫn có thể cân bằng nhưng đôi khi bị ngã do các yếu tố ngoại cảnh tác động.
  • Khi có tác động nhẹ: Dùng tay đẩy nhẹ vào thân xe, hệ thống phản ứng tốt. Thuật toán PID đã xử lý và điều khiển động cơ để xe nhanh chóng lấy lại thăng bằng. Các kết quả này cho thấy hệ thống sử dụng thuật toán PID hoạt động khá ổn định. Tuy nhiên, thuật toán vẫn chưa thực sự tối ưu hoàn toàn do các yếu tố như gia tốc, độ bám của bánh xe và ma sát chưa được tính đến một cách đầy đủ.

VI. Tương lai của xe hai bánh tự cân bằng và hướng phát triển

Đồ án điều khiển xe hai bánh tự cân bằng đã đạt được những mục tiêu cơ bản đề ra: thiết kế, thi công thành công mô hình và áp dụng thuật toán PID để xe có thể tự đứng thăng bằng. Kết quả thực nghiệm cho thấy xe hoạt động ổn định trong điều kiện lý tưởng và có khả năng chống lại các nhiễu loạn nhỏ. Thông qua quá trình thực hiện, sinh viên đã nắm vững phương pháp điều khiển cho mô hình con lắc ngược, cũng như có kinh nghiệm thực tế về lập trình vi điều khiển, xử lý tín hiệu cảm biến và hiệu chỉnh bộ điều khiển. Tuy nhiên, mô hình vẫn còn một số hạn chế cần được cải thiện. Hạn chế lớn nhất là xe vẫn chưa thể đứng yên hoàn toàn tại một chỗ mà có xu hướng dao động nhẹ hoặc dịch chuyển một chút. Ngoài ra, quá trình tìm kiếm thông số PID tối ưu tốn rất nhiều thời gian và mang tính thử-sai. Về hướng phát triển trong tương lai, có rất nhiều tiềm năng để nâng cấp và hoàn thiện mô hình. Các cải tiến có thể tập trung vào cả phần cứng, phần mềm và các tính năng mở rộng. Việc áp dụng các công nghệ mới và các thuật toán điều khiển tiên tiến hơn hứa hẹn sẽ đưa mô hình xe hai bánh tự cân bằng lên một tầm cao mới về hiệu suất và tính ứng dụng, mở ra nhiều khả năng ứng dụng trong cuộc sống thực.

6.1. Tổng kết những kết quả đạt được và hạn chế của đồ án

Kết quả đạt được:

  • Mạch điện được thiết kế và thi công đúng theo yêu cầu, hoạt động ổn định.
  • Hiểu rõ và triển khai thành công phương pháp điều khiển xe hai bánh tự cân bằng bằng thuật toán PID.
  • Xe có khả năng tự cân bằng trong dải góc nghiêng từ 150 đến 200 độ. Hạn chế:
  • Quá trình hiệu chỉnh thông số PID tốn nhiều thời gian và phụ thuộc vào kinh nghiệm.
  • Xe cân bằng được nhưng chưa đứng yên tuyệt đối tại một vị trí, vẫn còn dao động nhỏ.
  • Hiệu suất của xe có thể bị ảnh hưởng bởi các yếu tố như ma sát, độ bám của bánh xe và các nhiễu động từ môi trường bên ngoài.

6.2. Các đề xuất cải tiến Sử dụng encoder và cảm biến mới

Để nâng cao hiệu suất và độ ổn định, một số hướng phát triển có thể được xem xét:

  • Nâng cấp phần cứng: Thay thế động cơ hiện tại bằng động cơ DC có gắn encoder. Encoder sẽ cung cấp thông tin phản hồi về vị trí và vận tốc của bánh xe, cho phép xây dựng một vòng lặp điều khiển kép (một vòng cho cân bằng và một vòng cho vị trí), giúp xe đứng yên tại chỗ và di chuyển chính xác hơn.
  • Cải tiến thuật toán: Ngoài việc tối ưu hóa thuật toán PID, có thể nghiên cứu áp dụng các thuật toán điều khiển cao cấp hơn như LQR hoặc Sliding Mode để tăng cường sự mạnh mẽ của hệ thống.
  • Tích hợp thêm cảm biến: Bổ sung các cảm biến khác như cảm biến khoảng cách (siêu âm, hồng ngoại) hoặc module GPS để xe có thêm các chức năng tự hành, tránh vật cản, hoặc đi theo một lộ trình định trước. Những cải tiến này sẽ mở rộng phạm vi ứng dụng của mô hình.
11/09/2025

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

DO AN TOT NGHIEP DIEU KHIEN XE HAI BANH TU CAN BANG LOI CAM ON Qua đồ án này em xin chân thành cảm ơn thầy giáo hướng dẫn T.S Hà Đắc Bình đã tận tình giúp đỡ em thực hiện đồ án, đồng thời em cũng xin cảm ơn các thầy cô trong khoa Điện - Điện tử đã luôn tạo điều kiện thuận lợi cho em học tập để thực hiện đồ án này một cách tốt nhất. MỤC LỤC DANH MUC CAC TU VIET TAT AMS Advanced Monolithic Systems AT Atmel DC Direct Current GND Ground GPS Global Positioning System Integrated Circuit RC Inter-Integrated Circuit IDE Integrated Development Environment LED Light Emitting Diode MCU Micro Control Unit MPU Motion Processing Unit PID Propotional Integral Derivative PWM Pulse Width Modulation TTL Transistor-Transistor Logic VCC Voltage Common Collector MUC LUC HINH ANH MUC LUC BANG CHUONG 1. TONG QUAN VE XE HAI BANH TU CAN BANG 1.1 Yéu cau cha dé tai e Tim hiéu nguyén ly hoat động của xe 2 bánh tự cân bằng và thuật toán PID. e Thiết kế và thi công xe 2 bánh.

e Thực hiện thuật toán PID để giữ cân bằng. e Thử nghiệm ở môi trường phòng thí nghiệm và đánh giá kết quả.2 Giới thiệu Xe hai bánh tự cân bằng là một trong những dự án có rất nhiều ứng dụng trong cuộc sống hiện nay, nó có nhiều u điểm và được sử dụng với nhiều mục đích khác nhau như: phục vụ nhu cầu giải trí, tham gia các cuộc thi về xe tự hành và có thể ứng dụng trong quân sự, mặt khác nó vẫn còn tồn tại một số khuyết điểm như: chi phí cao, giới hạn về các địa hình di chuyển. Xe hai bánh tự cân bằng là mô hình xe được thiết kế dựa trên sự hoạt động của mô hình con lắc ngược, là một đối tượng phi tuyến với các tham số bất định. Đặc điểm nổi bật nhất của xe hai bánh tự cân bằng là có thể tự cân bằng, giEšÄp cho xe luôn ở trạng thái cân bằng đứng yên dù xe chỉ có hai bánh và một trục chuyển động.

Hiện nay có rất nhiều công trình nghiên cứu về các mô hình robot tự cân bằng nói chung và mô hình xe hai bánh tự cân bằng nói riêng, có rất nhiều nghiên cứu về giải thuật điều khiến xe hai bánh tự cân bằng như: Điều khiến xe hai bánh tự cân bằng sử dụng giải thuật cuốn chiếu (backstepping control), sử dụng giải thuật điều khiến trượt (sliding mode control), giải thuật điều khiển LQR, giải thuật điều khiển thông minh fuzzy, noron, và giải điều khiến PID. Trong số các giải thuật điều khiến trên thì giải thuật điều khiến bằng PID cho thấy được sự đơn giản và dễ sử dụng nhất nên trong đề tài này tôi đã sử dụng giải thuật điều khiển PID để điều khiển xe hai bánh tự cân bằng của mình, nghĩa là khi xe bị ngã về phía trước thì cả hai động cơ sẽ cùng chạy tới để đỡ cho xe đứng lên, khi độ nghiêng của xe càng lớn thì tốc độ của động cơ cũng sẽ càng tang và ngược lại khi xe bị ngã về phía sau thì cả hai động cơ sẽ lùi lại để đỡ cho xe đứng lên.1:Mô hình xe 2 bánh tự cân bằng 1.3 Mục tiêu đề tài Tự thiết kế được mô hình xe hai bánh tự cân bằng hoàn chỉnh, hiếu về các phần mềm lập trình cho vi điều khiển và hiểu được các phương pháp lập trình cho vi điều khiến, hiếu được nguyên lý hoạt động của Module cảm biến gia tốc 6 bậc tự do MPUS6050 và cách ứng dụng của cảm biến gia tốc vào trong đề tài và hiểu được phương pháp điều khiển động cơ DC thông qua Module driver L298N để hoàn thành yêu cầu đề tài đặt ra.4 Hướng thực biện đề tài Tìm hiểu nguyên lý hoạt động của Module cảm biến gia tốc 6 bậc tự do MPU6050 cùng với cấu tạo của cảm biến gia tốc 6 bậc tự do MPU6050, tìm hiểu nguyên lý hoạt động của Module driver L298N để điều khiến động cơ, tìm hiểu về vi điều khiến Arduino Nano cũng như phần mềm viết chương trình cho vi điều khiển, tìm hiểu về kết cấu phần cứng của xe và cách lắp ráp để được một mô hình xe hoàn chỉnh. 15 Mục đích nghiên cứu Mục đích của việc nghiên cứu về xe hai bánh tự cân bằng là nghiên cứu về các ứng dụng của các Module cảm biến cùng với các linh kiện điện tử khác nhằm đáp ứng nhu cầu cuộc sống của con người trong xã hội ngày càng phát triển mạnh về tự động hóa. Qua việc nghiên cứu, sinh viên đã có điều kiện ôn lại các kiến thức đã học được tại Trường Đại Duy Tân, từ các kiến thức đã học được sinh viên có thể áp dụng được trong thực tế cũng như nâng cao kiến thức về chuyên môn cho mình.6 Tình hình nghiên cứu trong nước và trên thế giới 1.1 Trong nước Mô hình robot hai bánh tự cân bằng luận văn thạc sĩ của tác giả Nguyễn Gia Minh Thảo, trường Đại học Bách Khoa TP.

Hồ Chí Minh.2:Mô hình robot hai bánh cân bằng 1.2 Nước ngoài Một số kỹ thuật viên và sinh viên ngành Cơ điện tử, Tự động hóa đã nghiên cứu cho ra đời nhiều dạng robot hai bánh cân bằng. Sau đây là một số thông tin về các mô hình robot hai bánh tự cân bằng.1nBot nBot do ông Anderson sáng chế. nBot lấy ý tưởng cân bằng là các bánh xe sẽ phải chạy theo hướng mà phần trên robot sắp ngã. Nếu bánh xe có thể di chuyển để trọng tâm robot luôn rơi vào chính giữa thì robot sẽ giữ được cân bằng.2EquipoiseBot EquipoiseBot sử dụng hai cảm biến là cảm biến gia tốc và cảm biến con quay hồi chuyển.

Góc nghiêng của robot được tính toán từ hai giá trị khác nhau. Một từ cảm biến gia tốc bằng cách sử dụng thuật toán Tangens-Funktion và một từ cảm biến con quay hồi chuyển sử dụng phương pháp tích phân. Hai giá trị này được kết hợp trong một bộ lọc để cho ra một giá trị mới và được sử dụng cho đầu vào bộ PID để điều khiến các động cơ, giữ cho robot cân bằng.4: Robot EquipoiseBot Hình 1.3WobblyBot 'WobblyBot thực chất là mô hình sử dụng con lắc ngược, được gắn dưới phần thân ở giữa hai bánh xe. WobblyBot được thiết kế với phần dưới của robot nặng hơn nhiều so với phần trên gi§Ap robot có khả giữ cân bằng tốt nhất.6:Robot hai bánh cân bằng WobblyBot 1.4TiltOne tiltOne là một robot hai bánh cân bằng với chiều cao 90 cm và có khả năng chở tải trọng lên tới 50 kg.

Nguyên lý hoạt động cũng giống như các robot hai bánh có kích thước nhỏ hơn, sử dụng hai cảm biến là cảm biến gia tốc và cảm biến con quay hồi chuyển và thuật toán PID để điều khiến robot cân bằng.7: Robot hai bánh cân bằng tiltOne 1.5Robot kiếu rolling của hãng TOYOTA Đây là robot có công dụng phục vụ con người do hang TOGOTA thiết kế. Mẫu robot này có khả năng di chuyển nhanh và ít chiếm không gian. Đồng thời đôi tay của robot có thể làm nhiều công việc khác nhau, chủ yếu được sử dụng với mục đích giải trí.8: Robot hai bánh của hãng TOYOTA CHUONG 2. THIET KE HE THONG 2.1 Thiết kế hệ thống Khối Nguồn (pin) Khối Cảm biến (cảm biển gia tốc) Khối Động cơ (motor, bánh xe) Hình 2.9:Sơ đồ khối của hệ thống (Arduino Nano, Module driver L298N) 2.1 Sơ đồ khối tống quát của hệ thống 2.2 Chức năng của từng khối Khối nguồn: Khối nguồn có chức năng cấp nguồn cho toàn bộ hệ thống hoạt động, ở đề tài này ch#šAng ta sẽ sử dụng Pin để cấp nguồn cho hệ thống.

Khối cảm biến: Có chức năng thu thập dữ liệu, thu thập các thông số về góc nghiêng của xe thông qua Module cảm biến gia tốc 6 bac tu’ do MPU6050 sau đó nó sẽ tự xử lý và tính toán rồi gửi dữ liệu về khối điều khiển Khối điều khiến: ChẾšÄng ta sẽ sử dụng vi điều khiến Arduino Nano bởi vì nó dễ lập trình, giá thành rẻ và thiết kế phần cứng cũng khá đơn giản. Đây là khối trung tâm xử lý và điều khiến mọi hoạt động của xe, khối điều khiển có chức năng nhận dữ liệu từ khối cảm biến, sau đó nó sẽ xử lý và xuất tín hiệu điều khiến ra các Port để điều khiển động cơ thông qua Module driver L298N. Khối động cơ: Khối động cơ sẽ nhận các tín hiệu điều khiển từ khối điều khiến sau đó nó sẽ di chuyển theo yêu cầu của khối điều khiển để giữ cho xe luôn ở trạng thái cân bằng .2 Thiết kế phần cứng 2.1 Sơ đồ mạch điện Hình 2.2 Nguyên lý hoạt động của toàn hệ thống Dau tién Module cảm biến gia tốc MPU6050 sẽ thu thập dữ liệu, các thông số về góc nghiêng của xe và sau đó nó sẽ gửi dữ liệu và update dữ liệu liên tục về trung tâm xử lý là vi điều khiển Arduino Nano, từ đó vi điều khiến sẽ xử lý dữ liệu và gửi tín hiệu điều khiển về khối động cơ thông qua Module driver L298N để điều khiến động cơ di chuyến theo yêu cầu của trung tâm điều khiến sao cho xe luôn giữ được trạng thái cân bằng.3 Thông số kỹ thuật của từng thiết bị 2.1Vi điều khiến Arduio Nano (1) D1/TX (30) Vin OO (29) GND 000000 (2) D0/RX O00 (3) RESET (28) RESET OOO OOOO (4) GND (27) +5v (5) D2 (26) A7 (6) D3 (25) A6 (7)D4 (24) AS OOOO O00 (8) D25 (23) A4 (9) 06 (22) A3 (10) D7 0 (21) A2 (11) D8 (20) A1 ⁄éN OO OOOOO (12)D9 (19) A0 (13) D10 VY (18) AREF OOO (14) D11 (17) 3v3 (15)D12 (16) D13 Hình 2.11: Sơ đồ chân của Arduino Nano Thông số kỹ thuật: Vị điều khiển: ATmega328P Điện áp hoạt động: 5V Tần số hoạt động: 16 MHz Điện áp đầu vào khuyên : 7V - 12V DC Điện áp vào giới hạn : 6-20V DC Số chan Digital I/O : 14 (6 chân hardware PWM) Số chan Analog : 8 Bộ nhớ flash 32 KB (ATmega328) với 2KB dùng bởi bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Kích thuéc board : 0,73 x 1,70 (Inch) 2.2Module cảm biến gia tốc 6 bậc tự do MPU6050 Cảm biến gia tốc 6 bậc tự do MPU6050 là loại cảm biến gia tốc phổ biến nhất trên thị trường hiện nay, nó được dùng trong mạch với chức năng dùng để đo góc nghiêng và gia tốc cho xe, để xe nhận biết được góc nghiêng và tự cân bằng, ưu điểm của cảm biến này là quay với góc chính xác, ít phụ thuộc vào yếu tố bên ngoài, giá thành rất thấp, chuẩn giao tiếp I2C nên lập trình cũng khá đơn giản, ngoài ra thì nó cũng có nhược điểm là dễ bị trôi điểm gốc.

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