đồ án 2 Sư phạm kĩ thuật tphcm. Xe 2 bánh tự cân bằng sử dụng step motor, sử dụng bộ điều khiển PID cho xe
GIỚI THIỆU
Đặt vấn đề
+Trong ngành tự động hóa - điều khiển tự động nói chung và điều khiển học nói riêng, mô hình con lắc ngược là một trong những đối tượng nghiên cứu điển hình và đặc thù bởi đặc tính động không ổn định của mô hình nên việc điều khiển được đối tượng này trên thực tế đặt ra như một thử thách.
+Mô hình là một chiếc xe có hai bánh được đặt dọc trục với nhau (khác với xe đạp là trục của hai bánh xe song song) Trên mô hình sử dụng các cảm biến để đo góc nghiêng của thân xe, vận tốc quay (lật) của sàn xe quanh trục bánh và vận tốc di chuyển của xe so với mặt đất Nhờ các cảm biến này, xe sẽ có thể tự giữ thăng bằng và di chuyển Với cấu trúc này, trọng tâm của mô hình phải luôn nằm trong vùng đỡ của bánh xe (supporting area) để có thể thăng bằng khi di chuyển ở mọi bề mặt từ đơn giản đến phức tạp.
Trong hệ thống các cảm biến, để loại trừ các tín hiệu nhiễu từ hệ thống và nhiễu từ tín hiệu đo, sai số của ngõ ra, đồng thời có thể ước lượng chính xác giá trị đo trong tương lai của cảm biến cũng như kết hợp các tín hiệu, bộ lọc Kalman được nghiên cứu và sử dụng nhằm cho một kết quả tối ưu về tình trạng của xe gồm góc nghiêng, vận tốc quay của xe từ mô hình và các cảm biến thành phần Nói cách khác, hệ thống xử lý tín hiệu và lọc Kalman là công cụ để biến các cảm biến đơn giản, giá rẻ thành tập hợp cảm biến có giá trị trong hệ thống Từ các tín hiệu đo, thông qua một số đại lượng đặc trưng của mô hình (khối lượng,chiều dài, chiều cao vật, đường kính bánh…) ta sẽ tính được momen quán tính nghiêng (lật của mô hình), từ đó đưa ra các giá trị điều khiển phù hợp cho các bánh xe để giữ cho mô hình luôn đứng vững hoặc di chuyển với một vận tốc ổn định.
Mục tiêu nghiên cứu
Mục tiêu của đề tài là xây dựng mô hình robot tự cân bằng hai bánh dựa trên lý thuyết con lắc ngược Các mục tiêu bao gồm:
+ Nắm cơ bản các khái niệm về robot di động
+ Tính các thông số động, phương trình trạng thái không gian của mô hình.
+ Ứng dụng lý thuyết đã học để thiết kế thành công bộ điều khiển cho xe hai bánh tự cân bằng.
+ Rèn luyện kỹ năng mô phỏng dùng MATLAB và SIMULINK
+ Hiểu các quy trình nghiên cứu và thiết kế một hệ thống.
Nội dung của đề tài
Chương 2: Cơ sở lí thuyết
Chương 3: Nội dung thực hiện.
Chương 4: Mô phỏng và kết quả thực hiện.
Chương 5: Kết luận và hướng phát triển.
1.5Tình hình nghiên cứu trong và ngoài nước:
-Hiện nay chưa có thông tin cụ thể nào về việc chế tạo xe hai bánh tự cân bằng dùng trên robot cũng như xe hai bánh tự cân bằng ở Việt
Nam Nhưng trên thế giới, ở một vài nước, các kỹ thuật viên và một số sinh viên đã nghiên cứu và cho ra đời các dạng xe hai bánh như thế Dưới đây là một số thông tin về chúng.
- nBot: nBot do David P Anderson sáng chế nBot được lấy ý tưởng để cân bằng như sau: các bánh xe sẽ phải chạy xe theo hướng mà phần trên robot sắp ngã Nếu bánh xe có thể được lái theo cách đứng vững theo trọng tâm robot, robot sẽ vẫn được giữ cân bằng Trong thực tế, điều này đòi hỏi hai cảm biến thông tin phản hồi: cảm biến góc nghiêng để đo góc nghiêng của robot với trọng lực, và encoder trên bánh xe để đo vị trí cơ bản của robot Bốn thông số ngõ vào để xác định hoạt động và vị trí của xe con lắc ngược cân bằng là:
+Đạo hàm của góc nghiêng, vận tốc góc.
+Đạo hàm vị trí bánh, vận tốc bánh xe.
Bốn giá trị đo lường được cộng lại và phản hồi tới điện áp động cơ, tương ứng với momen quay, cân bằng, và bộ phận lái robot.
-Balance bot I: Balance-bot I (do Sanghyuk, Hàn Quốc thực hiện) là một robot hai bánh tự cân bằng bằng cách kiểm soát thông tin phản hồi Hệ thống cao 50cm Khung chính được làm bằng nhôm Nó có hai trục bánh xe nối với hộp giảm tốc và động cơ DC cho sự phát động Tổng cộng có ba bộ vi xử lý Atmel được sử dụng Vi điều khiển chính (master) thi hành những nguyên lý kiểm soát và thuật toán ước lượng Một vi điều khiển khác kiểm soát tất cả cảm biến analog Vi điều khiển thứ ba điều khiển động cơ DC.
Linear quadratic regulator (LQR) được thiết kế và thực thi mạch điều khiển Nó có bốn giá trị khác nhau – góc nghiêng, vận tốc góc nghiêng, góc quay bánh xe, và vận tốc góc quay, sau đó nó tạo lệnh cho động cơ
DC để điều chỉnh tốc độ bánh xe.
-Balancing robot (Bbot): Vào năm 2003, Jack Wu và Jim Bai là những sinh viên trường Đại học Carnegie Mellon dưới sự trợ giúp của GS Chris Atkeson đã thực hiện đề tài robot hai bánh tự cân bằng như luận văn tốt nghiệp Robot này có thể xác định vị trí hướng của nó đối với môi trường và lái động cơ theo hướng này. Để đo góc nghiêng của robot, các sinh viên này đã sử dụng hệ thống đo lường góc 2DOF được tích hợp sẵn của hãng
Rotomotion Hệ thống này gồm gia tốc kế ADXL202 và mạch con quay hồi chuyển Vi mạch điều khiển dùng trên robot này là BasicX 24, có nhiều tính năng khác nhau Nó được dùng như bộ điều khiển động cơ, COM1 được nối với Pocket PC và
COM3 thì nối với bộ điều khiển servo Mini SSC 12 Nó còn được sử dụng như CPU chính cho việc điều khiển thăng bằng cho robot.
-BaliBot: Balibot, một robot hai bánh tự cân bằng, là một trong các mẫu đầu tiên về robot hai bánh có trọng tâm phía trên các bánh xe Không có hệ thống điều khiển hoạt động, robot sẽ bị ngã Khi robot có nhận biết hướng mà nó sắp ngã, các bánh xe sẽ di chuyển về phía ngã và thẳng góc với chính nó
Cảm biến góc nghiêng để đo góc nghiêng của robot, gia tốc kế
Motorola MMA2260 được sử dụng, thiết bị có cấu trúc
PIC16F876 của hãng Microchip© được chọn làm trung tâm điều khiển cho robot PIC tích hợp một bộ biến đổi A/D nhiều kênh để đo cảm biến góc nghiêng và các ngõ I/O để kiểm soát hai servo được mô tả cho sự quay vòng tiếp theo Điện được cung cấp bằng bốn cục pin AA và được ổn áp dropout.
Nguồn điện 6V không qua ổn áp được phân phối đến động cơ servo qua tụ điện 3300àF qua bự năng lượng cho vi mạch điều khiển khi công suất ngõ ra từ các servo được hoạt động Mạch điện tử được xây dựng trên bảng project board Radio Shack RS
276-150 và lắp ráp phía trên các motor servo, trên khung bằng nhôm Nguồn điện được đặt gần đỉnh và hoạt động như trọng lượng của con lắc ngược Một phiên bản khác của BaliBot sử dụng các cảm biến hồng ngoại để đo khoảng cách thay vì dùng các cảm biến đo góc.
Tình hình nghiên cứu trong và ngoài nước
-Hiện nay chưa có thông tin cụ thể nào về việc chế tạo xe hai bánh tự cân bằng dùng trên robot cũng như xe hai bánh tự cân bằng ở Việt
Nam Nhưng trên thế giới, ở một vài nước, các kỹ thuật viên và một số sinh viên đã nghiên cứu và cho ra đời các dạng xe hai bánh như thế Dưới đây là một số thông tin về chúng.
- nBot: nBot do David P Anderson sáng chế nBot được lấy ý tưởng để cân bằng như sau: các bánh xe sẽ phải chạy xe theo hướng mà phần trên robot sắp ngã Nếu bánh xe có thể được lái theo cách đứng vững theo trọng tâm robot, robot sẽ vẫn được giữ cân bằng Trong thực tế, điều này đòi hỏi hai cảm biến thông tin phản hồi: cảm biến góc nghiêng để đo góc nghiêng của robot với trọng lực, và encoder trên bánh xe để đo vị trí cơ bản của robot Bốn thông số ngõ vào để xác định hoạt động và vị trí của xe con lắc ngược cân bằng là:
+Đạo hàm của góc nghiêng, vận tốc góc.
+Đạo hàm vị trí bánh, vận tốc bánh xe.
Bốn giá trị đo lường được cộng lại và phản hồi tới điện áp động cơ, tương ứng với momen quay, cân bằng, và bộ phận lái robot.
-Balance bot I: Balance-bot I (do Sanghyuk, Hàn Quốc thực hiện) là một robot hai bánh tự cân bằng bằng cách kiểm soát thông tin phản hồi Hệ thống cao 50cm Khung chính được làm bằng nhôm Nó có hai trục bánh xe nối với hộp giảm tốc và động cơ DC cho sự phát động Tổng cộng có ba bộ vi xử lý Atmel được sử dụng Vi điều khiển chính (master) thi hành những nguyên lý kiểm soát và thuật toán ước lượng Một vi điều khiển khác kiểm soát tất cả cảm biến analog Vi điều khiển thứ ba điều khiển động cơ DC.
Linear quadratic regulator (LQR) được thiết kế và thực thi mạch điều khiển Nó có bốn giá trị khác nhau – góc nghiêng, vận tốc góc nghiêng, góc quay bánh xe, và vận tốc góc quay, sau đó nó tạo lệnh cho động cơ
DC để điều chỉnh tốc độ bánh xe.
-Balancing robot (Bbot): Vào năm 2003, Jack Wu và Jim Bai là những sinh viên trường Đại học Carnegie Mellon dưới sự trợ giúp của GS Chris Atkeson đã thực hiện đề tài robot hai bánh tự cân bằng như luận văn tốt nghiệp Robot này có thể xác định vị trí hướng của nó đối với môi trường và lái động cơ theo hướng này. Để đo góc nghiêng của robot, các sinh viên này đã sử dụng hệ thống đo lường góc 2DOF được tích hợp sẵn của hãng
Rotomotion Hệ thống này gồm gia tốc kế ADXL202 và mạch con quay hồi chuyển Vi mạch điều khiển dùng trên robot này là BasicX 24, có nhiều tính năng khác nhau Nó được dùng như bộ điều khiển động cơ, COM1 được nối với Pocket PC và
COM3 thì nối với bộ điều khiển servo Mini SSC 12 Nó còn được sử dụng như CPU chính cho việc điều khiển thăng bằng cho robot.
-BaliBot: Balibot, một robot hai bánh tự cân bằng, là một trong các mẫu đầu tiên về robot hai bánh có trọng tâm phía trên các bánh xe Không có hệ thống điều khiển hoạt động, robot sẽ bị ngã Khi robot có nhận biết hướng mà nó sắp ngã, các bánh xe sẽ di chuyển về phía ngã và thẳng góc với chính nó
Cảm biến góc nghiêng để đo góc nghiêng của robot, gia tốc kế
Motorola MMA2260 được sử dụng, thiết bị có cấu trúc
PIC16F876 của hãng Microchip© được chọn làm trung tâm điều khiển cho robot PIC tích hợp một bộ biến đổi A/D nhiều kênh để đo cảm biến góc nghiêng và các ngõ I/O để kiểm soát hai servo được mô tả cho sự quay vòng tiếp theo Điện được cung cấp bằng bốn cục pin AA và được ổn áp dropout.
Nguồn điện 6V không qua ổn áp được phân phối đến động cơ servo qua tụ điện 3300àF qua bự năng lượng cho vi mạch điều khiển khi công suất ngõ ra từ các servo được hoạt động Mạch điện tử được xây dựng trên bảng project board Radio Shack RS
276-150 và lắp ráp phía trên các motor servo, trên khung bằng nhôm Nguồn điện được đặt gần đỉnh và hoạt động như trọng lượng của con lắc ngược Một phiên bản khác của BaliBot sử dụng các cảm biến hồng ngoại để đo khoảng cách thay vì dùng các cảm biến đo góc.
CƠ SỞ LÝ THUYẾT
Nội dung nghiên cứu
Nguyên lý cân bằng: Đối với xe ba bánh hay bốn bánh, viêc giữ thăng bằng và ổn định của chúng là nhờ vào trọng tâm của chúng nằm trong bề mặt chân đế do các bánh xe tạo ra Đối với xe hai bánh có cấu trúc như xe đạp, việc thăng bằng khi không di chuyển là hoàn toàn không thể, vì việc thăng bằng của xe đạp dựa trên tính chất con quay hồi chuyển ở hai bánh xe khi đang quay Còn đối với xe hai bánh tự cân bằng là loại xe hai bánh có trục hai bánh xe trùng nhau, để tự cân bằng thì trọng tâm của xe (bao gồm cả người lái) cần được giữ ngay giữa các bánh xe Điều này giống như ta giữ một cây gậy thẳng đứng cân bằng trong lòng bàn tay Thực ra, việc xác định trọng tâm của xe hai bánh tự cân bằng là rất khó khăn, có khi không xác định được, vì trọng tâm xe phụ thuộc nhiều yếu tố được đặt lên xe Vì vậy việc giữ cho trọng tâm của xe luôn thăng bằng là rất khó khăn và không có động cơ nào có đủ khả năng quay với tốc độ cao để giữ thăng bằng cho trọng tâm xe khi chúng có độ lệch quá lớn Về mặt kỹ thuật, góc giữa chiều trọng lực và sàn xe hai bánh tự cân bằng là có thể xác định được, thay vì cách xác định trọng tâm của xe thì thay vào đó có thể giữ cho tay lái thẳng đứng và luôn vuông góc với sàn xe cũng có thể giữ xe thăng bằng.
Hình 2 1 Mô tả nguyên lí giữ thăng bằng
Nguyên lý di chuyển của xe:
Xe hai bánh tự cân bằng hoạt động theo nguyên lý sau: Khi thanh điều khiển được đẩy nghiêng về phía trước trọng tâm xe sẽ bị lệch khỏi vị trí cân bằng, lúc này bánh xe yêu
Hình 2 2 Mô tả cách bắt đầu di chuyển
Hình 2 3 Trạng thái xe 3 bánh khi đi trên mặt phẳng, dốc cầu phải chạy về phía trước để cân bằng lại trọng tâm của xe nhằm giữ xe thăng bằng.
Khi thanh điều khiển nghiêng về phía sau thì trọng tâm xe bị lệch về phía sau, lúc này bánh xe phải quay về phía sau để giữ thăng bằng lại trọng tâm của xe Khi muốn dừng xe hoặc di chuyển chậm lại thì chỉ cần di chuyển thanh điều khiển ngược hướng di chuyển.
Qua đó có thể thấy rằng việc di chuyển xe hai bánh tự cân bằng rất dễ dàng chỉ phụ thuộc vào hướng di chuyển của thanh điều khiển.
Khả năng di chuyển của của xe hai bánh tự cân bằng: Đối với xe ba bánh hoặc bốn bánh thì việc giữ thăng bằng thì đơn giản dễ thực hiện hơn vì trọng lượng được phân bố đều trên các bánh lái và bánh đuôi Tuy nhiên, nếu trọng lượng được dồn về bánh lái thì xe dễ bị ngã, còn nếu bị dồn về bánh đuôi hay những bộ phận đỡ trọng lượng của xe thì bánh lái sẽ dễ bị trượt, khả năng bám kém Nhiều thiết kế xe có thể di chuyển tốt trên địa hình bằng phẳng, nhưng không thể di chuyển trên các địa hình gồ ghề lên xuống
(mặt phẳng nghiêng) Khi xe di chuyển lên mặt phẳng nghiêng thì trọng lượng bị dồn về phía đuôi xe làm cho bánh lái mất khả năng bám gây trượt và khó điều khiển.
Khi xe di chuyển xuống mặt phẳng nghiêng thì trọng tâm bị dồn về bánh lái thì xe sẽ mất ổn định dễ bị ngã. Đối với xe hai bánh đồng trục với nhau, tuy là bản thân nó là một hệ thống không ổn định do đó việc di chuyển trên địa hình bằng phẳng thì có kém hơn so với xe ba bánh.
Ngược lại, các xe dạng hai bánh đồng trục lại thăng bằng rất linh động khi di chuyển trên địa hình phức tạp, mặc dù bản thân là một hệ thống không ổn định Khi nó leo sườn dốc, nó tự động nghiêng ra trước và giữ cho trọng lượng dồn về hai bánh lái chính Tương tự vậy, khi bước xuống dốc, nó nghiêng ra sau và giữ trọng tâm rơi vào các bánh lái Chính vì vậy, không bao giờ có hiện tượng trọng tâm của xe rơi ra ngoài vùng đỡ của các bánh xe để có thể gây ra sự lật úp.
Hình 2 4 Trạng thái xe hai bánh đồng trục khi di chuyển trên địa hình bằng phẳng, dốc Đối với những địa hình lồi lõm và những ứng dụng thực tế, sự thăng bằng của xe hai bánh có thể sẽ mang lại nhiều ý nghĩa thực tiễn trong giới hạn ổn định hơn là đối với xe ba bánh truyền thống.
Phương trình động học của xe
Hình 2 5 Mô tả góc nghiêng của xe Bảng 2 1 các đại lượng và thông số của xe:
R Bán kính bánh xe 0.031 m mwa Khối lượng bánh xe 0.104 kg
Jw Moment quán tính cụm bánh xe 0.0000241 kgm 2 l Khoảng cách từ trục bánh xe đến trọng tâm thân xe 0.02 m
Tọa độ trọng tâm thân xe:
TạoTọa độ trọng tâm bánh xe: mb Khối lượng xe 0.9 kg
Jb Moment quán tính thân xe 0.001304 Kgm 2 g Gia tốc trọng trường 9.81 m/s 2
Giả sử bánh xe chuyển động không trượt Ta đạo hàm các phương trình chuyển động.
Giả sử Tw=TL=TR , sử dụng kí hiệu
( ) ( ) d d dx x x dt dt dt d d d dt dt dt
1\* MERGEFORMAT (2.1) , Chúng ta có thể suy ra được các chuyển động trong miền thời gian sau:
Phương trình (2.2) và (2.3) ta thu được khi xét phần bánh xe và thân robot Cả 2 đều được tuyến tính hóa tại b b 0
(Vì giả sử ban đầu robot đứng thẳng và đứng yên), sử dụng sin b 0,cos b 1, b 0:
10\* MERGEFORMAT (2.10) Bây giờ, giả sử chúng ta sử dụng động cơ bước để cung cấp sự chuyển động và giả sử mô- men xoắn đầu ra từ động cơ bước là không thay đổi Những gì chúng ta có thể kiểm soát là tốc độ góc trục đầu ra của động cơ bước (𝜃̇𝑤), liên quan đến x bởi:
Chúng ta có thể loại bỏ thuật ngữ Tw khỏi phương trình (2.4), chuyển phương trình kết quả sang miền tần số và thay thế 𝑠𝑋(𝑠) bằng 𝑠𝑅𝜃𝑤(𝑠) để đạt được hàm chuyển giao cho nền tảng robot:
Phương trình (2.12) có nghĩa rằng với việc điều chỉnh thích hợp vận tốc góc trục đầu ra của động cơ bước 𝜃̇w, thì chúng ta có thể duy trì b gần bằng 0 độ, tức là làm cho robot đứng thẳng.
Giới thiệu về thuật toán PID
Bộ điều khiển PID (PID controller) là một bộ điều khiển phản hồi kín được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp Bộ điều khiển PID sẽ cố gắng sửa sai số giữa biến hệ thống( process variable) đo được so với điểm đặt trước (set point) bằng cách tính toán và đưa ra lệch điều khiển tác động vào tiến trình một cách nhanh chóng và chuẩn xác, nhắm giữ sai số luôn ở mức thấp nhất.
Tính toán điều khiển PID (hay còn gọi là thuật toán PID) liên quan đến 3 thông số riêng biệt: tham số tỉ lệ, tham số tích phân, tham số vi phân Tham số tỉ lệ ảnh hưởng tới bù trừ cho sai số hiện tại Tham số tích phân quyết định tác động trên tổng các sai số, và tham số vi phân điều chỉnh tác động dựa vào mức thay đổi của các sai số Tổng chập của ba tác động này dùng để điều chỉnh quá trình thông qua một phần tử điều khiển như vị trí của van điều khiển hay bộ nguồn của phần tử gia nhiệt Nhờ vậy, những giá trị này có thể làm sáng tỏ về quan hệ thời gian: P phụ thuộc vào sai số hiện tại, I phụ thuộc vào tích lũy các sai số quá khứ, và D dự đoán các sai số tương lai, dựa vào tốc độ thay đổi hiện tại.
Bằng cách điều chỉnh 3 hằng số trong giải thuật của bộ điều khiển PID, bộ điều khiển có thể dùng trong những thiết kế có yêu cầu đặc biệt Đáp ứng của bộ điều khiển có thể được mô tả dưới dạng độ nhạy sai số của bộ điều khiển, giá trị mà bộ điều khiển vọt lố điểm đặt và giá trị dao động của hệ thống Lưu ý là công dụng của giải thuật PID trong điều khiển không đảm bảo tính tối ưu hoặc ổn định cho hệ thống.
Sơ đồ điều khiển PID được đặt tên theo ba khâu hiệu chỉnh của nó, tổng của ba khâu này tạo thành bởi các biến điều khiển (Manipulated variable - MV) Ta có thể viết:
Khâu tỉ lệ (đôi khi còn được gọi là độ lợi) làm thay đổi giá trị đầu ra, tỉ lệ với giá trị sai số hiện tại Đáp ứng tỉ lệ có thể được điều chỉnh bằng cách nhân sai số đó với một hằng số Kp, được gọi là hệ số tỉ lệ.
Khâu tỉ lệ được cho bởi: out p ( )
P out : Thừa số tỉ lệ đầu ra Kp: Hệ số tỉ lệ, thông số hiệu chỉnh e: Sai số = SP – PV t: Thời gian tức thời (hiện tại)
Hình 2.6 Đồ thị PV theo thời gian, ba giá trị Kp (Ki và Kd là hằng số)
Phân phối của khâu tích phân (đôi khi còn gọi là reset) tỉ lệ thuận với cả biên độ sai số lẫn quãng thời gian xảy ra sai số Tổng sai số tức thời theo thời gian (tích phân sai số) cho ta tích lũy bù đã được hiệu chỉnh trước đó Tích lũy sai số sau đó được nhân với độ lợi tích phân và cộng với tín hiệu đầu ra của bộ điều khiển Biên độ phân phối của khâu tích phân trên tất cả tác động điều chỉnh được xác định bởi độ lợi tích phân, 𝐾𝑖. Thừa số tích phân được cho bởi:
Iout: thừa số tích phân của đầu ra
Ki: độ lời tích phân, 1 thông số điều chỉnh e: sai số=SP – PV t: thời gian tức thời
: một biến tích phân trung gian.
Hình 2.7 Đồ thị PV theo thời gian, tương ứng với 3 giá trị Ki (Kp và Kd không đổi)
Tốc độ thay đổi của sai số quá trình được tính toán bằng cách xác định độ dốc của sai số theo thời gian (tức là đạo hàm bậc một theo thời gian) và nhân tốc độ này với độ lợi tỉ lệ 𝐾𝑑 Biên độ của phân phối khâu vi phân (đôi khi được gọi là tốc độ) trên tất cả các hành vi điều khiển được giới hạn bởi độ lợi vi phân, 𝐾𝑑.
Thừa số tích phân được cho bởi: out d ( )
Dout: thừa số vi phân của đầu ra
Kd: độ lời vi phân, 1 thông số điều chỉnh e: sai số=SP – PV t: thời gian tức thời
Hình 2.8 Đồ thị PV theo thời gian, với 3 giá trị K d (K p and K i không đổi)
Từ đó ta có thể rút ra được:
Khâu tỉ lệ, tích phân, vi phân được cộng lại với nhau để tính toán đầu ra của bộ điều khiển PID Định nghĩa rằng là đầu ra của bộ điều khiển, biểu thức cuối cùng của giải thuật PID là:
Trong đó các thông số điều chỉnh là: Độ lợi tỉ lệ, 𝐾𝑝:
+Giá trị càng lớn thì đáp ứng càng nhanh do đó sai số càng lớn, bù khâu tỉ lệ càng lớn Một giá trị độ lợi tỉ lệ quá lớn sẽ dẫn đến quá trình mất ổn định và dao động. Độ lợi tích phân, 𝐾𝑖:
+Giá trị càng lớn kéo theo sai số ổn định bị khử càng nhanh Đổi lại là độ vọt lố càng lớn: bất kỳ sai số âm nào được tích phân trong suốt đáp ứng quá độ phải được triệt tiêu tích phân bằng sai số dương trước khi tiến tới trạng thái ổn định. Độ lợi vi phân, 𝐾𝑑:
+Giá trị càng lớn càng giảm độ vọt lố, nhưng lại làm chậm đáp ứng quá độ và có thể dẫn đến mất ổn định do khuếch đại nhiễu tín hiệu trong phép vi phân sai số.
Hình 2 9 Sơ đồ điều khiển hệ thống hồi tiếp vòng kín Bảng 2 2 Tác động của việc tăng một số thông số độc lập
Thời gian khởi động Quá độ Thời gian xác lập Sai số ổn định Độ ổn định
Kp Giảm Tăng Thay đổi nhỏ Giảm Giảm cấp
Ki Giảm Tăng Tăng Giảm đáng kể Giảm cấp
Kd Giảm ít Giảm ít Giảm ít Về lý thuyết không tác động Cải thiện nếu Kd nhỏ
THI CÔNG HỆ THỐNG
Arduino Nano CH340
Mạch Nano CH340 (Arduino Nano Compatible) có thiết kế tương thích với Arduino Nano là phiên bản nhỏ gọn của Arduino Uno sử dụng MCU ATMEGA328P-AU, mọi tính năng hay chương trình chạy trên Arduino Uno đều có thể sử dụng trên Arduino Nano, một ưu điểm của Arduino Nano là vì sử dụng phiên bản IC dán nên sẽ có thêm 2 chân Analog A6, A7 so với Arduino Uno.
Hình 3 1 Mạch nano CH340 Bảng 3 1 Mô tả các chân của Arduino nano
Số chân Tên Loại Mô tả
1-2, 5-16 D0-D13 I/O Ngõ vào/ra tín hiệu số 0-13
3, 28 RESET Input Reset (mức thấp)
19-26 A0-A7 Input Kênh ngõ ra tín hiệu tương tự 0-7
+5V output (từ bộ điều chỉnh trên mạch) /
+5V (đầu vào từ nguồn bên ngoài)
- Thiết kế theo đúng chuẩn chân, kích thước của Arduino Nano chính hãng.
- IC nạp và giao tiếp UART: CH340.
- Điện áp cấp: 5VDC cổng USB.
- Mức điện áp giao tiếp GPIO: TTL 5VDC.
- Số chân Digital: 14 chân, trong đó có 6 chân PWM.
- Số chân Analog: 8 chân (hơn Arduino Uno 2 chân).
- Flash Memory: 32KB (2KB Bootloader).
- Tích hợp Led báo nguồn, led chân D13, LED RX, TX.
- Tích hợp IC chuyển điện áp 5V LM1117.
Động cơ Step Nema 17
Hình 3 2 Động cơ STEP NEMA
Nguyên lý cấu tạo và hoạt động của động cơ bước có thể tì Động cơ bước điển hình có mô-men xoắn đầu ra cao và có thể gắn trực tiếp vào bánh xe mà không cần sử dụng hộp số. Ở đây chúng ta sẽ tập trung vào lưỡng cực hai pha (tức là hai cuộn dây) Động cơ bước trái ngược với động cơ bước loại đơn cực (tức là cuộn dây đơn) vì lý do nhỏ gọn và công suất cao hơn hiệu quả Hình 3.2 cho thấy một động cơ bước kích thước NEMA-17 được tháo rời phổ biến với các xe 2 bánh cân bằng nhỏ Mô-men xoắn giữ ở trục đầu ra thường phụ thuộc vào cấu trúc và dòng điện định mức của từng cuộn dây Đánh giá hiện tại điển hình trên mỗi cuộn dây là 0,5 A đến 2,0 A, với mômen giữ trục đầu ra nằm trong khoảng từ 30 N.cm đến 60 N.cm.
Trục đầu ra ổ đỡ trục điện thay đổi và công tắc bán dẫn thường được sử dụng để điều khiển cuộn dây của động cơ bước IC điều khiển nhận đầu vào dưới dạng xung điện áp định kỳ Với mỗi xung, trình tự dòng điện chính xác sẽ được đặt vào các cuộn dây, làm quay trục động cơ bước một lượng cố định, thường là 1,8 0 cho toàn bước hoặc 0,9 0 cho hoạt động nửa bước (chế độ vi bước 1/4 đến 1/32 cũng có thể) Thông thường IC điều khiển còn chứa một đầu vào khác xác định hướng quay Khái niệm này là được minh họa trong Hình 3.3 về trình điều khiển thương mại IC A4988 cho hoạt động nửa bước, với STEP và DIR là đầu vào cho điều khiển bước và hướng Ví dụ, giả sử hoạt động nửa bước, để quay trục đầu ra của động cơ bước một góc 45 0 , chúng ta chỉ cần gửi 50 xung đến mạch điều khiển động cơ Nếu 50 xung này được gửi trong vòng 1 giây (50 Hz), chúng ta sẽ đạt được tốc độ quay 0,125 vòng/giây (hoặc 45 0 /giây) Nếu điều này được thực hiện trong vòng 0,25 giây (200 Hz), chúng ta sẽ đạt được một vòng quay tốc độ 0,5 vòng/giây (180 0 /giây) miễn là tải trên trục động cơ nằm trong mô-men xoắn kéo của động cơ bước giới hạn Do đó, tốc độ quay của trục đầu ra của động cơ bước tỷ lệ thuận với tần số điều khiển bước.
Hình 3 3 Mối quan hệ giữa tín hiệu đầu vào STEP (VSTEP) và dòng điện cuộn dây
Mối quan hệ giữa tín hiệu đầu vào STEP (VSTEP) và dòng điện cuộn dây khi vận hành nửa bước (0,9 o ), với đầu vào DIR được đặt ở mức logic cao, đối với IC điều khiển động cơ bước A4988 Đối với mỗi xung VSTEP, trục động cơ bước sẽ quay 0,9 o Khi đầu vào DIR được đặt ở mức logic thấp, dòng điện Pha 2 sẽ dẫn dòng điện Pha 1 thay thế.
Hình 3 4 Mối quan hệ đầu vào-đầu ra thứ nhất của động cơ bước.
Module điều khiển động cơ A4988
Hình 3 5 Driver A4988 điều khiển động cơ STEP.
Cũng trong mô hình này, chúng em sử dụng Driver A4988 để điều khiển động cơ STEP, chủ yếu sử dụng các chân sau:
+ ENABLE: Cho phép Driver hoạt động cấp tín hiệu cho động cơ STEP.
+ MS1, MS2 và MS3: Chân chọn chế độ bước cho động cơ STEP (“000” ứng với số bước là 200 và “111” ứng với số bước là 1600)
+ Chân STEP: Chân cấp tín hiệu xung điều khiển động cơ STEP.
+ DIR: Chân điều hướng quay cho động cơ STEP.
+ VMOT: Chân cấp áp cho động cơ STEP, ở đây cấp nguồn 12V sử dụng pin Lithium. + VDD: Chân cấp nguồn cho tín hiệu logic điều khiển Driver A4988.
+ 1A 1B 2A 2B: Chân xuất tín hiệu trực tiếp đến động cơ STEP.
Thông số kĩ thuật: Điện áp cấp tối thiểu: 8 V Điện áp cấp cực đại: 35 V
Dòng cấp liên tục cho mỗi pha: 1 A (không cần tản nhiệt, làm mát)
Dòng cấp liên tục cho mỗi pha: 2 A (khi có làm mát, tản nhiệt) Điện áp logic 1 tối thiểu: 3 V Điện áp logic 1 tối đa: 5.5 V
Cảm biến MPU6050
Hình 3 6 Cảm biến góc nghiêng MPU6050
-MPU6050 được sử dụng để đo 6 thông số: 3 trục Góc quay (Gyro) và 3 trục gia tốc hướng (Accelerometer) với độ chính xác lên đến 0.01 độ, kết nối với vi điều khiển thông qua giao tiếp SPI hoặc I2C thông qua 2 chân SDA và SCL (ở đây sử dụng giao tiếp I2C).
-Địa chỉ phần cứng của MPU6050 tùy vào tín hiệu trên chân AD0, nếu AD0 ở mức HIGH thì MPU có địa chỉ phần cứng là 0x69, nếu AD0 ở mức LOW thì MPU có địa chỉ phần cứng là 0x68 (ở đây đặt địa chỉ MPU mặc định là 0x68).
-Giá trị 3 trục gia tốc hướng được lưu tại địa chỉ 0x43 với tổng cộng 6 bytes (mỗi hướng 2 bytes), tương tự 3 trục góc quay được lưu tại địa chỉ 0x3B với tổng cộng 6 bytes.
Điện áp sử dụng: 3~5VDC
Điện áp giao tiếp: 3~5VDC
Giá trị Gyroscopes trong khoảng: +/- 250 500 1000 2000 degree/sec
Giá trị Acceleration trong khoảng: +/- 2g, +/- 4g, +/- 8g, +/- 16g
Board mạch mạ vàng, linh kiện hàn tự động bằng máy chất lượng tốt nhất.
Board CNC V4
Mạch CNC Shield V4 cho Arduino Nano là board mở rộng của Arduino Nano dùng để điều khiển các máy CNC mini Board có 3 khay dùng để cắm các mô đun điều khiển động cơ bước A4988, khi đó board có thể điều khiển 3 trục X, Y, Z.
Sử dụng các mô đun điều khiển động cơ bước, giúp tiết kiệm chi phí khi thay thế, nâng cấp
Thiết lập độ phân giải bước động cơ bằng jump đơn giản
Thiết kế nhỏ gọn, các đầu nối tiêu chuẩn thông dụng
Điện áp nguồn cấp đa dạng từ 12V tới 36V
Hình 3 7 Sơ đồ chân board CNC V4
Bộ khung
-Gồm 2 tấm mica kích thước 15x8.
-4 trụ đinh ốc dài 35 mm.
Hình 3 8 Sơ đồ kết nối dây xe 2 bánh tự cân bằng
3.7 Sơ đồ kết nối phần cứng:
Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và biên dịch mã vào module Arduino. Đây là một phần mềm Arduino chính thức, giúp cho việc biên dịch mã trở nên dễ dàng mà ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm được.
Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux và chạy trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường.
Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega, Arduino Leonardo,
Arduino Micro và nhiều module khác.
Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận thông tin dưới dạng mã.
Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex,
Hình 3 9 Lưu đồ giải thuật PID
CHƯƠNG 4: MÔ PHỎNG VÀ KẾT QUẢ THỰC HIỆN 4.1 Thực hiện mô phỏng trên Matlab Simulink:
Chương trình tìm thông số cho hàm truyền: clear all; clc;
M=mb + 2*(mwa+Jw/R^2)-(mb*l)^2/(mb*l^2+Jb);
-Bước 1:Chỉnh ở chế độ Variable-Step
-Bước 3: Thiết kế sơ đồ khối như hình sau:
Góc nghiêng của thân máy đo được b được đưa vào bộ điều khiển PID bị trễ hai chu kỳ hoặc hai khoảng thời gian lấy mẫu trước khi được bộ điều khiển PID xử lý Điều này là do độ trễ chuyển đổi tương tự sang số và quy trình DSP được sử dụng để ước tính b từ đầu ra gia tốc kế và con quay hồi chuyển của đơn vị đo quán tính (IMU) Giả sử là chu kỳ trễ và nhỏ, sử dụng hàm truyền cho độ trễ lý tưởng và khai triển chuỗi Taylor:
Với khoảng thời gian lấy mẫu là 1 mili giây và độ trễ là 2 chu kỳ, = 0,002, do đó:
-Bước 4: Nhập các thông số cho khối step
-Bước 5: Điều chỉnh các thông số của khối PID để cho ngõ ra hệ thống được ổn định:
Hình 4 1 Đáp ứng vận tốc của xe
Hình 4 3 Đáp ứng góc đặt và góc nghiêng
Nhận xét: Nhóm chúng tôi sẽ chạy hai thử nghiệm số trong Matlab Simulink để minh họa cách sử dụng mô hình Đầu tiên, chúng ta buộc robot phải duy trì b = 5° (0.087 radian) với Kp = -20, Kd = -0,5, Ki = -385 Bệ robot ban đầu được duy trì ở góc nghiêng thân b = 0°, với cài đặt người dùng set cũng được đặt thành 0 o Tại thời điểm t = 3,0 giây, set đột ngột thay đổi thành 5° Quá trình mô phỏng được thực hiện trong thời gian t = 10.0 giây.Như được thấy trong Hình 4.2 robot phản ứng bằng cách di chuyển về phía trước với vận tốc tăng tuyến tính Điều này giữ cho góc nghiêng của vật thể b không đổi sau đó 5° Một quan sát quan trọng trong Hình 4.2 là độ lớn vận tốc sẽ tiếp tục tăng nếu chúng ta duy trì set ở giá trị khác 0 Cuối cùng, robot sẽ lật nhào khi không thể di chuyển nhanh hơn được nữa Ngược lại nếu set được đặt thành âm; robot sẽ di chuyển về phía sau để duy trì góc nghiêng âm của cơ thể.
Kết quả thực hiện
Hình 4 4 Mô hình xe cân bằng thực tế