robot hai bánh tự cân bằng
TỔNG QUAN CHUNG
Lịch sử nghiên cứu
Vấn đề con lắc ngược là một chủ đề phổ biến trong kỹ thuật điều khiển, thu hút sự quan tâm của nhiều nhà nghiên cứu và người đam mê robot Tính độc đáo và ứng dụng đa dạng của công nghệ này từ hệ thống không ổn định đã dẫn đến việc áp dụng mô hình con lắc ngược di động trong nhiều lĩnh vực, bao gồm thiết kế dáng đi cho robot hình người, xe lăn robot và hệ thống giao thông cá nhân.
Tình hình nghiên cứu trên thế giới
Phòng thí nghiệm điện tử công nghiệp của Viện công nghệ Federal tại Lausanne, Thụy Sĩ, đã cách mạng hóa công nghệ xe hai bánh với robot JOE Robot này có chiều cao 65 cm, trọng lượng 12 kg và đạt tốc độ tối đa khoảng 1,5 m/s Đặc biệt, JOE có khả năng leo dốc nghiêng lên đến 30 độ, sử dụng nguồn điện từ pin 32 V, 1.8 Ah.
JOE là một chiếc xe điều khiển từ xa với thiết kế gồm hai bánh xe, mỗi bánh được trang bị một động cơ DC, cho phép chuyển động theo hình U Hệ thống điều khiển của JOE sử dụng hai bộ điều khiển state-space độc lập để duy trì sự cân bằng cho hệ thống Thông tin trạng thái của JOE được thu thập từ hai encoder quang và con quay hồi chuyển Trung tâm điều khiển và xử lý tín hiệu được thực hiện bởi một board DSP với khả năng xử lý dấu chấm động SHARC, kết hợp với FPGA XILINX, cùng với 12 bộ biến đổi A/D 12 bit và 4 bộ biến đổi A/D 10 bit.
Robot cân bằng do David P Anderson sáng chế sử dụng ý tưởng rằng các bánh xe sẽ di chuyển theo hướng mà phần trên của robot có nguy cơ ngã Để thực hiện điều này, robot cần hai cảm biến phản hồi: cảm biến góc nghiêng để đo góc nghiêng của robot so với trọng lực và encoder trên bánh xe để xác định vị trí cơ bản của robot Bốn thông số đầu vào quan trọng để xác định hoạt động và vị trí của xe cân bằng bao gồm: góc nghiêng, vị trí bánh xe, tốc độ di chuyển và trọng lực.
Đạ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 moment quay, cân bằng và bộ phận lái robot
Segway PT, hay còn gọi là Segway Personal Transporter, là một phương tiện giao thông cá nhân hai bánh, hoạt động dựa trên cơ chế tự cân bằng do Dean Kamen phát minh Phương tiện này được sản xuất bởi công ty Segway Inc tại Hoa Kỳ.
Segway nổi bật với cơ chế tự cân bằng nhờ hệ thống máy tính, động cơ và con quay hồi chuyển, giúp xe duy trì trạng thái cân bằng mặc dù chỉ có một trục chuyển động với hai bánh Người sử dụng chỉ cần nghiêng người về phía trước hoặc phía sau để điều khiển xe đi tiến hoặc lùi Để điều khiển sang phải hoặc sang trái, Segway sử dụng cần lái "Lean Steer", chỉ cần nghiêng cần lái về phía mong muốn Động cơ của Segway PT có thể đạt tốc độ lên đến 20 km/h.
Hình 1.3 Xe Segway I2, I2 cargo, X2 Adventure
Cơ chế tự cân bằng của Segway hoạt động dựa trên hệ thống máy tính tích hợp hai cảm biến độ nghiêng và năm con quay hồi chuyển Hệ thống này liên tục thu thập dữ liệu từ cảm biến để tính toán và điều khiển các động cơ, giúp bánh xe di chuyển về phía trước hoặc phía sau nhằm duy trì sự cân bằng cho xe Đặc biệt, với các mẫu Segway PT mới, quá trình này diễn ra khoảng 100 lần mỗi giây, đảm bảo xe luôn ổn định bất kể trạng thái của người lái Khi đạt tốc độ tối đa, phần mềm tự động điều chỉnh xe nghiêng về phía sau để giảm tốc độ, ngăn người điều khiển tiếp tục nghiêng về phía trước Ngoài ra, Segway còn có khả năng tự động giảm tốc và dừng lại khi phát hiện chướng ngại vật.
Tình hình nghiên cứu trong nước
Xe hai bánh tự cân bằng đã du nhập vào Việt Nam từ năm 2007, nhanh chóng thu hút sự chú ý của sinh viên và ngành kỹ thuật điều khiển Sự phát triển này mở ra cơ hội mới cho việc chế tạo robot tự đứng vững và hoạt động như con người Đến nay, nhiều đề tài nghiên cứu liên quan đã được thực hiện tại các trường học trong nước.
Sản phẩm xe hai bánh tự cân bằng điều khiển từ xa được phát triển bởi sinh viên Đại học Thủy lợi sử dụng nguyên lý cân bằng con lắc ngược Hệ thống này được lập trình trên bộ điều khiển Arduino Uno, áp dụng phương pháp điều khiển PID Xe sử dụng cảm biến gia tốc/góc nghiêng MPU 6050 để đo góc nghiêng và điều chỉnh cân bằng bằng cách di chuyển hai bánh chính Việc điều khiển chuyển động của xe được thực hiện thông qua tín hiệu từ Joystick.
Hình 1.4 Mô hình xe hai bánh tự cân bằng của sinh viên ĐH Thủy lợi
Xe có khả năng di chuyển tiến, lùi, quay trái, quay phải và quay vòng tại chỗ nhờ vào việc điều khiển độc lập hai bánh xe Tuy nhiên, việc giữ xe đứng yên chưa được tối ưu, vì bánh xe cần phải di chuyển liên tục để duy trì thăng bằng, dẫn đến vị trí của xe không thể cố định.
Mô hình xe hai bánh tự cân bằng được phát triển bởi sinh viên Đại học Bách Khoa Thành phố Hồ Chí Minh là một giải pháp hiệu quả cho vấn đề này.
Hình 1.5 Xe hai bánh tự cân bằng của sinh viên ĐH Bách khoa Hồ Chí Minh
Mẫu xe hai bánh này sử dụng bánh đà (reaction wheel) để duy trì thăng bằng, với hai bánh xe được lắp đồng phẳng Bánh đà được điều khiển bằng động cơ riêng và có khả năng quay tự do, giúp xe tự điều chỉnh khi nghiêng Hệ thống cân bằng độc lập cho phép hai bánh chính chỉ cần di chuyển, giúp xe có thể đứng yên mà vẫn giữ được thăng bằng Tuy nhiên, nhược điểm lớn của mẫu xe này là kích thước cồng kềnh của bánh đà, làm tăng trọng lượng tổng thể của xe.
Các vấn đề đặt ra
Tìm hiểu nguyên lý hoạt động của robot hai bánh tự cân bằng
Mô hình hóa được robot hai bánh tự cân bằng
Mô phỏng được robot hai bánh tự cân bằng trên máy tính
Thiết kế được bản vẽ cơ khí của robot hai bánh tự cân bằng
Thiết kế được hệ thống điều khiển hoạt động theo công năng và đảm bảo an toàn
Tính toán và lựa chọn được linh kiện hợp lý
Xây dựng được thuật toán điều khiển cho robot hai bánh tự cân bằng
Chế tạo, thử nghiệm cho mô hình robot hai bánh tự cân bằng đạt được trạng thái cân bằng
Lựa chọn các phương pháp điều khiển robot từ xa.
Đối tượng, phạm vi nghiên cứu của đề tài
Đối tượng nghiên cứu: Robot hai bánh tự cân bằng
Hệ robot hai bánh tự cân bằng hoạt động trên một mặt phẳng hoàn toàn phẳng, với độ nghiêng bằng 0 độ Điều này đảm bảo rằng bánh xe có độ bám nhất định, giúp ngăn chặn hiện tượng trượt trong quá trình hoạt động.
Hai động cơ gắn với hai bánh có thông số giống nhau xem như hoàn toàn
Dao động rung của robot xem như không ảnh hưởng nhiều đến giá trị đọc về từ cảm biến độ nghiêng
Thân robot có hình dạng giống như một khối hộp chữ nhật hoàn hảo, mặc dù thực tế nó không hoàn toàn như vậy Khối lượng của thân robot được phân bố đồng đều trong cấu trúc này.
Phương pháp nghiên cứu
Nghiên cứu phương pháp PID trong điều khiển các hệ thống phi tuyến, đặc biệt là robot hai bánh tự cân bằng, thông qua tài liệu từ sách vở và các nguồn trên internet, là rất quan trọng Việc nắm vững lý thuyết hình thành, xây dựng bộ điều khiển và tinh chỉnh thông số bộ điều khiển sẽ giúp cải thiện hiệu suất hoạt động của robot.
Mô hình và kết quả nghiên cứu đã được thử nghiệm trên các phần mềm CAD 3D như Solidworks, cùng với việc vẽ mạch điện tử bằng Proteus và Fritzing Ngoài ra, quá trình tính toán và mô phỏng được thực hiện qua Matlab/Simulink Chúng tôi đã chế tạo và thử nghiệm robot trong nhiều điều kiện khác nhau để đánh giá hiệu suất.
Dự kiến những kết quả chính
Mục tiêu của đề tài là phát triển một mô hình robot hai bánh tự cân bằng dựa trên lý thuyết mô hình con lắc ngược Trong quá trình thực hiện, các mục tiêu cụ thể đã được xác định để đảm bảo tính khả thi và hiệu quả của dự án.
Tìm hiểu các mô hình xe, robot hai bánh tự cân bằng và các nguyên lý cơ bản về cân bằng
Tính toán các thông số động lực học, xây dựng các hàm không gian - trạng thái (state-space) của mô hình
Tìm hiểu, lựa chọn các loại cảm biến và bộ điều khiển trung tâm
Xây dựng mô phỏng trên Matlab - Simulink
Tìm hiểu và xây dựng các thuật toán bù trừ để có giá trị góc chính xác
Xây dựng thuật toán điều khiển động cơ, giữ thăng bằng cho robot
Chế tạo mô hình robot hai bánh tự cân bằng hoạt động ổn định và có thể bám theo vật di chuyển phía trước với khoảng cách an toàn
Trong chương 1, nhóm đã nghiên cứu lịch sử và sự phát triển của robot hai bánh tự cân bằng cả trên thế giới và trong nước, từ đó hiểu rõ nguồn gốc và tình hình nghiên cứu trong lĩnh vực này Nhóm cũng đã xác định các yêu cầu mà robot hai bánh tự cân bằng cần đáp ứng và đề xuất những hướng phát triển tương lai Bên cạnh đó, nhóm đã xây dựng phương pháp nghiên cứu để thực hiện đề tài và dự kiến các kết quả chính mà nhóm có thể đạt được.
CƠ SỞ LÝ THUYẾT
Mô hình động học robot hai bánh tự cân bằng [1]
Hình 2.1 Phân tích hướng chuyển động
Véc tơ trạng thái và vận tốc:
Vận tốc bánh xe trái và bánh xe phải:
Vận tốc tại điểm giữa hai bánh xe (điểm Q) chiếu lên hai trục Ox, Oy: ̇ = (2.3) ̇ = (2.4)
Thay (2.5) vào (2.3), (2.4) ta được hệ phương trình: ̇ = (r
2a) ( ̇ − ̇ ) Phương trình động học thuận rút từ hệ phương trình (2.7): ̇ = ̇ ̇̇ ̇
Phương trình động học nghịch: ̇ = ∗ ̇ = ( ) = ̇̇ = cos sin cos sin − ̇̇ ̇
Góc xoay và tọa độ xe là các yếu tố quan trọng trong việc xác định vận tốc góc xoay và vận tốc xe theo phương x và y Vận tốc góc của bánh trái và bánh phải cũng ảnh hưởng đến chuyển động của xe, trong khi bán kính bánh xe và khoảng cách từ tâm bánh xe tới bánh xe đóng vai trò quyết định trong việc tính toán vận tốc tổng thể của xe.
Phương trình động học thân xe:
Mô hình động lực học robot hai bánh tự cân bằng [2]
Động lực học của thân và bánh xe được phân tích riêng biệt, từ đó hình thành hai phương trình chuyển động mô tả hoạt động của robot cân bằng.
Bảng 2-1 Bảng ý nghĩa các ký hiệu
Ký hiệu Đơn vị Ý nghĩa x m Vị trí ̇ m/s Vận tốc dài ̈ m/s 2 Gia tốc dài
N.m.s/rad Hằng số ma sát N.m/A Hằng số momen V.s/rad Hằng số sức điện động
V Sức điện động i A Dòng điện qua phần ứng
Kg.m 2 Momen quán tính roto
Kg Khối lượng bánh xe
Kg Khối lượng thân xe Kg.m 2 Mômen quán tính của các bánh xe Kg.m 2 Mômen quán tính của thân xe
HL, HR, PL, PR N Phản lực giữa bánh xe và khung xe m Khoảng cách giữa tâm của trục nối hai bánh xe và trọng tâm của xe
CL, CR N.m Tác dụng mô-men xoắn từ động cơ đến bánh xe
HfL, HfR N Lực ma sát giữa mặt đất và bánh xe
Rad Góc quay của bánh xe Rad Góc quay của thân xe ̇ Rad/s Vận tốc góc bánh xe ̈ Rad/s 2 Gia tốc góc bánh xe r m Bán kính bánh xe
Phương trình cho động cơ
Hình 2.3 Sơ đồ động cơ điện một chiều
Khi một điện áp được áp dụng vào các đầu cực của động cơ, dòng điện i sẽ được sinh ra trong phần ứng Động cơ sẽ tạo ra một mômen tỷ lệ thuận với cường độ dòng điện, mối quan hệ này có thể được diễn đạt bằng công thức cụ thể.
= (2.11) Điện áp sức điện động được tạo ra vì các cuộn dây của động cơ đang chuyển động trong một từ trường
= (2.12) Áp dụng định luật Kirchoff ta có:
Để xác định phương trình chuyển động của động cơ, cần xem xét ma sát trên trục như một hàm tuyến tính của vận tốc Theo định luật Newton, tổng các mômen tác động lên trục tỷ lệ thuận với gia tốc của trục, được gây ra bởi tải quán tính của phần ứng IR.
Thay phương trình (2.11), (2.12) vào (2.13), (2.14) và theo đạo hàm thời gian, ta được hai phương trình chi phối chuyển động của động cơ:
Cả hai phương trình đều là hàm tuyến tính của dòng điện và vận tốc, với các đạo hàm thời gian bậc nhất Độ tự cảm và ma sát của động cơ được coi là không đáng kể, gần đúng bằng không Do đó, các phương trình có thể được viết lại một cách đơn giản hơn.
Thay phương trình (2.17) vào phương trình (2.18):
Động lực học của động cơ có thể được mô tả thông qua mô hình không gian trạng thái, trong đó các đầu vào chính bao gồm điện áp đặt và mô-men xoắn đặt vào.
Hình 2.4 Lực tác dụng lên hai bánh xe
Vì các phương trình cho bánh xe bên trái và bên phải là tương tự, chúng ta chỉ cần trình bày phương trình cho bánh xe bên phải Áp dụng định luật Newton, tổng các lực tác động lên phương ngang sẽ được xem xét.
Tổng các lực xung quanh tâm của bánh xe:
Mômen động cơ suy ra từ phương trình (2.18) có thể được biểu thị bằng:
Mômen xoắn đầu ra cho các bánh xe (coi = 0) ta được:
Do đó, phương trình (2.25) trở thành: ̈ = − ̇ + − (2.28)
Thay phương trình (2.29) vào phương trình (2.23) Ta được:
Biến đổi chuyển động quay theo góc thành chuyển động thẳng: ̈ = ̈ ⟹ ̈ = ̈
Thế vào phương trình (2.32) và (2.33) vào (2.30) và (2.31) ta được: Bánh trái: ̈ =− ̇
Cộng phương trình (2.34) và (2.35) với nhau ta được:
Phương trình cho thân xe
Hình 2.5 Lực tác dụng lên khung xe
Sử dụng định luật II Newton, tổng các lực theo phương ngang:
Tổng các lực vuông góc với con lắc:
Tổng các mômen xung quanh khối tâm của con lắc:
Mômen tác dụng lên con lắc từ động cơ được xác định trong phương trình (2.27) và sau khi chuyển đổi tuyến tính:
(2.44) Thay thế vào phương trình (2.43):
Thay thế phương trình (2.46) trong phương trình (2.47): ̈ − 2 ̇ + 2
+ + ̈ = − ̈ (2.48) Để loại bỏ (HL+HR) khỏi phương trình động lực học, thay phương trình (2.39) vào phương trình (2.36):
Sắp xếp lại các phương trình (2.48) và (2.49) cho các phương trình chuyển động phi tuyến tính của hệ thống:
Hai phương trình trên có thể được tuyến tính hóa bằng cách giả sử = + ∅, trong đó ∅ biểu diễn một góc nhỏ so với phương thẳng đứng hướng lên
Sự đơn giản hóa này giúp xây dựng mô hình tuyến tính, từ đó cho phép triển khai các bộ điều khiển không gian trạng thái tuyến tính một cách hiệu quả.
Phương trình tuyến tính của chuyển động là:
+ ̈ + 2 ̇ − ̈ (2.53) Để có được biểu diễn không gian trạng thái của hệ thống, các phương trình (2.52) và (2.53) được sắp xếp lại: ϕ̈ = I + M l ̈ + 2
Bằng cách thay phương trình (2.54) vào phương trình (2.53), thay phương trình (2.55) vào phương trình (2.52) ta được phương trình không gian trạng: ̇ ̈ ̇ ̈
Trong mô hình trên, giả định rằng bánh xe của xe sẽ luôn tiếp xúc với mặt đất và không có hiện tượng trượt bánh xe.
Các thành phần hệ thống
Động cơ bước (stepper motor) là một loại động cơ điện đặc biệt, khác với các động cơ điện thông thường Nó hoạt động dựa trên nguyên lý đồng bộ, chuyển đổi các tín hiệu điều khiển thành các xung điện rời rạc, từ đó tạo ra chuyển động góc quay hoặc di chuyển rôto đến các vị trí cố định cần thiết.
Động cơ bước là sự kết hợp của động cơ một chiều không tiếp xúc và động cơ đồng bộ giảm tốc công suất nhỏ Khác với các loại động cơ thông thường, động cơ bước quay theo từng bước, mang lại độ chính xác cao trong điều khiển Chúng hoạt động nhờ vào các bộ chuyển mạch điện tử, đưa tín hiệu điều khiển vào stato theo thứ tự và tần số nhất định Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, trong khi chiều quay và tốc độ của rôto phụ thuộc vào thứ tự và tần số chuyển đổi.
Trong điều khiển chuyển động kỹ thuật số, động cơ bước đóng vai trò là một cơ cấu chấp hành đặc biệt hiệu quả, vì nó có khả năng thực hiện chính xác các lệnh được cung cấp dưới dạng số.
Động cơ bước là một phần quan trọng trong ngành tự động hóa, được sử dụng rộng rãi trong các thiết bị yêu cầu độ chính xác cao Chúng đóng vai trò thiết yếu trong việc điều khiển robot, điều chỉnh tiêu cự trong hệ quang học, định vị trong các hệ quan trắc, cũng như trong việc bắt và bám mục tiêu trong các khí tài quan sát Ngoài ra, động cơ bước còn được áp dụng trong điều khiển lập trình cho các thiết bị gia công cắt gọt và trong việc điều khiển các cơ cấu lái phương và chiều trong máy bay.
Trong công nghệ máy tính, động cơ bước được sử dụng cho các loại ổ đĩa cứng, ổ đĩa mềm, máy in
Hình 2.6 Cấu tạo động cơ bước
Cấu tạo của một động cơ bước
Rotor là một cấu trúc bao gồm nhiều lá nam châm vĩnh cửu được xếp chồng lên nhau, trong đó các lá nam châm được phân chia thành các cặp cực đối xứng.
Stato được tạo bằng sắt từ được chia thành các rãnh để đặt cuộn dây
Ưu điểm của động cơ bước
Động cơ có ưu điểm là khả năng cung cấp moment xoắn cực lớn ở dải vận tốc thấp và trung bình
Một động cơ bước trên thị trường khá bền, giá thành cũng tương đối thấp
Việc thay thế cũng khá dễ dàng
Không nên dùng động cơ bước cho các thiết bị đòi hỏi tốc độ cao
Động cơ hay xảy ra hiện tượng bị trượt bước Lí do bởi vì lực từ yếu hay nguồn điện cấp vào không đủ
Động cơ bước thường phát ra tiếng ồn và nóng lên khi hoạt động, nhưng các thế hệ động cơ bước mới đã giảm đáng kể hiện tượng này, mang lại hiệu suất hoạt động êm ái và mát mẻ hơn.
Hình 2.7 Động cơ bước size 42 1,8 o /step
Thông số kỹ thuật của Động cơ bước size 42 1.8 o /step
Kích thước bao: 42mm x 42mm x 38mm
Điện áp làm việc: DC 9-24V
Độ phân giải: 1.8 độ/1 bước
Loại động cơ bước: 2 pha
Động cơ bước size 42 1,8 step là loại 2 pha 6 dây, bao gồm 2 cuộn dây với mỗi cuộn có 3 đầu ra Để sử dụng, cần xác định dây chung tính của mỗi cuộn và nối chúng lại, sau đó sẽ còn lại 4 dây: A+, A-, B+, B- Những dây này được sử dụng để kết nối vào mạch điều khiển động cơ bước.
Cảm biến GY-521 6DOF IMU MPU 6050
Cấu tạo gồm hai phần
Gia tốc kế (Accelerometer): Đo chuyển động của vật thể trong không gian gồm 3 gia tốc kế đơn giản được đặt theo 3 phương x, y, z
Con quay hồi chuyển (Gyroscope) là thiết bị đo lường sự định hướng và góc nghiêng, giúp xác định hướng của hệ thống cả theo phương ngang lẫn phương thẳng đứng.
Như vậy, cảm biến GY-521 6DOF IMU MPU6050 được sử dụng để đo 6 thông số: 3 trục góc quay (Gyroscope), 3 trục gia tốc hướng (Accelerometer)
Hình 2.9 Cảm biến GY-521 6DOF IMU MPU6050
Cảm biến có khả năng đo
Giá trị Gyroscopes trong khoảng: +/- 250, 500, 1000, 2000 Degree/sec
Giá trị Acceleration trong khoảng: +/- 2g, +/- 4g, +/- 8g, +/- 16g
Chức năng các chân của cảm biến MPU6050
VCC: Điện áp nguồn cấp (3.3 – 5 V)
SCL: Chân SCL trong giao tiếp I2C
SDA: Chân SDA trong giao tiếp I2C
XDA: Chân dữ liệu (kết nối với cảm biến khác)
XCL: Chân xung (kết nối với cảm biến khác)
AD0: Bit0 của địa chỉ I2C
Cảm biến siêu âm HC-SR04
Cảm biến siêu âm HC-SR04 là một thiết bị phổ biến trong việc xác định khoảng cách nhờ vào độ chính xác cao Thiết bị này sử dụng sóng siêu âm để đo khoảng cách từ 2cm đến 450cm HC-SR04 bao gồm các chân kết nối như VCC (5V), trig (chân điều khiển phát), echo (chân nhận tín hiệu phản hồi) và GND (chân nối đất) Nguyên lý hoạt động của cảm biến dựa trên việc phản xạ sóng siêu âm, với hai module: một module phát sóng siêu âm tần số 40KHz và một module thu sóng phản xạ Khi sóng siêu âm gặp chướng ngại vật, nó sẽ phản xạ trở lại, và bằng cách đo thời gian từ lúc phát đến lúc nhận sóng, chúng ta có thể tính toán khoảng cách đến chướng ngại vật.
Khoảng cách = (thời gian * vận tốc âm thanh (340 m/s) / 2
Hình 2.10 Cảm biến siêu âm HC-SR04
Mạch Arduino Nano V3.0 ATmega328P là phiên bản thu nhỏ của Arduino Uno, nổi bật với thiết kế gọn nhẹ và linh hoạt Sản phẩm này rất tiện lợi cho việc sử dụng trên các breadboard nhỏ và phù hợp cho những dự án yêu cầu tính nhỏ gọn.
Board mạch arduino nano V3 sử dụng chip Atmega 328-AU nên có thêm
Bảng mạch Arduino Nano trang bị 2 chân analog A6 và A7, cùng với opamp tự động chuyển nguồn khi có điện áp cao hơn Một điểm nổi bật khác là việc sử dụng chip CH340 để giao tiếp, giúp tiết kiệm chi phí và giảm giá thành sản phẩm.
Hình 2.11 Board mạch arduino nano V3.0 ATmega328P Bảng 2-2 Thông số kỹ thuật arduino nano V3.0 ATmega328P
Vi điều khiển ATmega328 Điện áp hoạt động 5V Điện áp đầu vào (khuyên dùng) 7-12V Điện áp đầu vào (giới hạn) 6-20V
Chân digital I/O 14 (Với 6 chân PWM output)
Chân đầu vào analog 8 (thêm A6, A7) so với uno Dòng sử dụng I/O pin 20 mA (tối đa 40mA)
Bộ nhớ flash 32 KB (ATmega328)
Arduino Uno sử dụng các vi điều khiển 8 bit AVR như ATmega8, ATmega168 và ATmega328 Với bộ não này, Arduino có khả năng thực hiện các tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, cũng như tạo ra một trạm đo nhiệt độ và độ ẩm, hiển thị thông tin trên màn hình LCD.
Điện áp hoạt động: 5 VDC (chỉ được cấp qua cổng USB)
Tần số hoạt động: 16 MHz
Điện áp vào khuyên dùng: 7-12 VDC
Số chân Digital I/O: 14 (6 chân PWM)
Số chân Analog: 6 (độ phân giải 10 bit)
USB: Hỗ trợ điện áp khoảng 5V trong khi power jack hỗ trợ dải điện áp trong khoảng từ 7V đến 20V
GND: Chân mass chung cho toàn mạch arduino
Reset: Chân reset để thiết lập lại về ban đầu
IOREF: Chân này để cung cấp tham chiếu điện áp cho arduino
PWM: PWM được cung cấp bởi các chân 3, 5, 6, 9, 10, 11 Các chân này được cấu hình để cung cấp PWM đầu ra 8 bit
SPI: Chân này được gọi là giao diện ngoại vi nối tiếp Các chân 10 (SS),
11 (MOSI), 12 (MISO), 13 (SCK) cung cấp liên lạc SPI với sự trợ giúp của thư viện SPI
AREF: Chân này được gọi là tham chiếu tương tự, được sử dụng để cung cấp điện áp tham chiếu cho các đầu vào tương tự
TWI: Chân giao tiếp TWI được truy cập thông qua thư viện dây Chân A4 và A5 được sử dụng cho mục đích này
Serial communication: Giao tiếp nối tiếp được thực hiện thông qua hai chân 0 (Rx) và 1 (Tx)
External interrupts (Ngắt ngoài): Chân 2 và 3 được sử dụng để cung cấp các ngắt ngoài
Mạch điều khiển CNC Shield V4
Mạch điều khiển CNC shield V4 làm việc với Arduino Nano Nó có thể được sử dụng làm bảng mở rộng trình điều khiển cho máy khắc và máy in 3D
Bài viết đề cập đến việc sử dụng module điều khiển động cơ bước A4988, có tổng cộng 3 khe cắm kênh để điều khiển 3 động cơ bước Mỗi kênh chỉ cần 2 cổng IO, do đó chỉ cần 6 cổng IO là đủ để quản lý cả 3 động cơ bước.
Tương thích với máy khắc laser vi truyền động, máy khắc CNC ba trục
Hình 2.13 Mạch điều khiển động cơ CNC Shield V4
Tương thích với Arduino nano V3.0
Tương thích với module A4988 và DRV8825
Tương tích với kit Arduino Nano CH340
Kết hợp với tối đa 3 module động cơ A4988
Giúp xây dựng hoàn thiện bộ máy CNC
Mạch điều khiển nhỏ gọn dễ sử dụng
Ứng dụng trong công nghệ CNC, máy CNC mini
Module Bluetooth 4.0 UART CC2541 HM-10 cho phép vi điều khiển giao tiếp và truyền dữ liệu hiệu quả qua giao tiếp UART, kết nối với các thiết bị sử dụng công nghệ Bluetooth.
Dòng tiêu thụ tối đa: 8,5 mA
Chuẩn bluetooth 4.0 cho tốc độ truyền nhận cao
Khoảng cách thu sóng trong môi trường không vật cản: 100m
Tần số hoạt động: 2.4 GHz
Sử dụng IC CC2541 để giao tiếp
Mạch điều khiển động cơ bước A4988 là một driver nhỏ gọn và hiệu quả, cung cấp nhiều chế độ hoạt động cho động cơ bước lưỡng cực, bao gồm Full, 1/2, 1/4, 1/8 và 1/16 Nó cho phép điều chỉnh dòng ra cho động cơ và tự động ngắt điện khi quá nhiệt, đảm bảo an toàn và hiệu suất cao trong quá trình sử dụng.
Công suất ngõ ra lên tới 35V, dòng max 2A
Có 5 chế độ: Full bước, 1/2 bước, 1/4 bước, 1/8 bước, 1/16 bước
Điều chỉnh dòng ra bằng triết áp: Current Limit = VREF × 2.5
Tự động ngắt điện khi quá nhiệt hoặc quá áp
Lựa chọn chế độ full hay 1/2 hay 1/4… sẽ được thông qua 3 pin MS1, MS2, MS3
Bật tắt động cơ thì thông qua pin Enable, mức LOW là bật module, mức HIGH là tắt module
Điều khiển chiều quay của động cơ thông qua pin Dir
Điều khiển bước của động cơ thông qua pin Step, mỗi xung là tương ứng với 1 bước (hoặc vi bước)
Hai chân Sleep với Reset luôn nối với nhau
Kết nối giữa một vi điều khiển với A4988
Kết nối giữa A4988 với Board Arduino
Các chi tiết cơ khí a Trụ đồng
MÔ HÌNH HÓA VÀ MÔ PHỎNG
Khảo sát tính ổn định của hệ thống
Hình 3.1 Đồ thị pole-zero
Dựa vào nghiệm của hàm truyền và các cực, zero của hệ thống ta có thể kết luận hệ thống không ổn định theo tiêu chuẩn Routh Hurwitz.
Khảo sát tính điều khiển được của hệ thống
Dựa vào lí thuyết điều khiển tự động với một hệ tuyến tính có phương trình không gian trạng thái dạng như sau: ̇ = +
Xây dựng ma trận điều khiển:
Điều kiện cần và đủ để một hệ thống mô tả toán học dưới dạng phương trình trạng thái có thể điều khiển được là rank(P) = n, trong đó n là số biến trạng thái của hệ thống.
Bậc của ma trận P bằng với số biến trạng thái của hệ thống nên hệ thống điều khiển được.
Khảo sát tính quan sát được của hệ thống
Ta lựa chọn ma trận C = 1 0 0 0
Xây dựng ma trận quan sát:
Bậc của ma trận L bằng với số biến trạng thái của hệ thống
Dựa vào hai kiểm chứng, có thể kết luận rằng hệ thống có khả năng điều khiển và quan sát bốn biến trạng thái Bằng cách thiết lập ma trận C, chúng ta có thể theo dõi hai biến trạng thái quan trọng là vị trí xe và góc nghiêng Nếu hai biến này ổn định, toàn bộ hệ thống sẽ đạt trạng thái ổn định.
Bộ điều khiển PID
PID, viết tắt của Proportional Integral Derivative, là một cơ chế phản hồi trong các hệ thống điều khiển Bộ điều khiển PID thường được áp dụng rộng rãi trong các hệ thống điều khiển vòng kín và những hệ thống có tín hiệu phản hồi.
Bộ điều khiển PID giúp các máy công nghệ tính toán sai số giữa giá trị đo và giá trị mong muốn, từ đó điều chỉnh giá trị đầu vào để giảm thiểu sai số và nâng cao độ chính xác trong hoạt động Để đạt hiệu quả tối ưu, các thông số PID cần được điều chỉnh phù hợp với tính chất của từng hệ thống.
Phương pháp điều chỉnh tỉ lệ (P - Proportional) là một cách thức điều chỉnh nhằm tạo ra tín hiệu thông báo về sự thay đổi tỷ lệ so với sai lệch đầu vào trong quá trình lấy mẫu theo thời gian.
Phương pháp điều khiển tích phân (I - Integral) là một công cụ quan trọng trong việc phân tích và điều chỉnh sai lệch theo thời gian lấy mẫu Bằng cách sử dụng phương pháp này, người dùng có thể tạo ra các tín hiệu điều chỉnh nhằm giảm độ sai lệch về mức 0 Điều này giúp dễ dàng xác định tổng sai số tức thời theo thời gian, tức là sai số tích lũy từ quá khứ Đặc biệt, mức độ điều chỉnh phân tích sẽ mạnh mẽ hơn khi thời gian tác động nhỏ, dẫn đến độ lệch cũng giảm theo.
Vi phân (D) là một phần quan trọng trong điều khiển vi phân, giúp tạo ra tín hiệu điều chỉnh phù hợp với tốc độ thay đổi của sai lệch đầu vào Khi thời gian tăng lên, vấn đề vi phạm điều chỉnh vi phân trở nên nghiêm trọng hơn, đòi hỏi bộ điều chỉnh phải đáp ứng nhanh chóng với các biến đổi đầu vào.
Bộ điều khiển PID được xem là giải pháp lý tưởng cho các hệ thống điều khiển quy trình hiện đại, được ứng dụng rộng rãi trong ngành công nghiệp để tự động điều chỉnh các thông số như nhiệt độ, áp suất và lưu lượng Với khả năng tối ưu hóa hiệu suất, PID giúp nâng cao độ chính xác và ổn định trong các quy trình tự động.
Giảm các sai số xác lập ở mức tối thiểu nhất có thể
Hạn chế được độ dao động
Giảm thời gian xác lập, độ vọt lố.
Xây dựng bộ điều khiển
Trong hệ thống điều khiển robot hai bánh tự cân bằng, việc điều chỉnh ổn định hai tham số quan trọng là góc nghiêng và vị trí được thực hiện thông qua hai bộ điều khiển song song hoặc lồng nhau Các thông số Kp, Ki, Kd cần được hiệu chỉnh để kiểm soát điện áp cấp cho động cơ, nhằm đạt được đáp ứng mong muốn Để đảm bảo xe cân bằng, trước tiên cần ổn định góc nghiêng, sau đó tiến hành hiệu chỉnh bộ điều khiển vị trí cho xe.
Xây dựng mô hình Matlab Simulink
Hình 3.3 Toàn bộ hệ thống với bộ điều khiển
Hình 3.4 Khối mô tả phương trình không gian trạng thái của hệ thống
Việc điều chỉnh các giá trị thông số PID được thực hiện theo nguyên tắc thử sai, trong đó nếu hệ thống dao động mạnh, cần giảm KP và tăng KD Để giảm sai số xác lập, người dùng nên tăng KI Ngược lại, nếu muốn tăng thời gian đáp ứng và giảm sai số xác lập, cần tăng KP Qua quá trình thực nghiệm, các thông số điều khiển đã được chọn như thể hiện trong hình 3.5 và hình 3.6.
Hình 3.5 Bộ điều khiển PID vị trí
Hình 3.6 Bộ điều khiển PID góc nghiêng
Hình 3.7 Đáp ứng vi trí của hệ thống
Hình 3.8 Đáp ứng góc nghiêng của hệ thống
Qua quá trình thử nghiệm và áp dụng giải thuật di truyền, chúng tôi đã tìm ra thông số PID tối ưu cho hệ thống điều khiển robot hai bánh tự cân bằng Hệ thống đạt được sự ổn định trong khoảng thời gian 3 giây, đồng thời có độ vọt lố chấp nhận được cho bộ điều khiển vị trí, cho phép xe tự cân bằng ở góc nghiêng 0 độ.
Trong chương 3, nhóm nghiên cứu đã đánh giá tính ổn định, tính điều khiển và khả năng quan sát của hệ thống Việc mô hình hóa và mô phỏng hệ thống điều khiển trên Matlab đã đảm bảo cho hệ thống hoạt động chính xác và ổn định Dựa trên những kết quả đạt được, nhóm đã tiến hành thiết kế và chế tạo robot hai bánh tự cân bằng.
THIẾT KẾ, CHẾ TẠO, TÍCH HỢP HỆ THỐNG
Thiết kế hệ thống cơ khí
Thiết kế hình dáng hình học
Hình 4.1 Bản vẽ lắp robot hai bánh tự cân bằng
Xe được thiết kế và lắp ráp bằng phần mềm Solidworks, giúp việc kết hợp các chi tiết trở nên dễ dàng và gần gũi với thực tế hơn.
Hình 4.2 Phần khung robot hai bánh tự cân bằng
Hình 4.3 Mô hình phân rã robot hai bánh tự cân bằng
Hình 4.4 Mô hình robot hai bánh tự cân bằng hoàn chỉnh
Tấm đỡ tầng 1 được cải tiến với 8 lỗ bắt vít cho 2 giá đỡ động cơ, 4 lỗ ở các góc để kết nối các tầng, 8 lỗ gắn trụ đồng làm cữ chặn hộp pin và 1 lỗ chữ nhật để luồn dây từ động cơ lên.
Hình 4.5 Tấm đỡ tầng một của robot
Tấm đỡ tầng 2 của robot được thiết kế 8 lỗ để gắn shield V4 và arduino uno, 4 lỗ ở 4 góc để nối tầng, 1 lỗ chữ nhật để luồn dây
Tấm đỡ tầng 3 của robot được thiết kế 4 lỗ ở 4 góc để nối tầng, và 2 lỗ chữ nhật để gắn công tắc
Hình 4.6 Tấm đỡ tầng hai của robot
Hình 4.7 Tấm đỡ tầng ba của robot
Tính toán lựa chọn kích thước đảm bảo các điều kiện bền
Robot hai bánh tự cân bằng có cấu trúc chịu lực tập trung vào vị trí của hai trục động cơ và hai tấm đỡ Để đảm bảo độ bền, chúng ta cần tính toán sức bền cho cả hai trục và hai tấm đỡ Phần mềm Solidworks được sử dụng để mô phỏng quá trình tính toán này, với lực thử nghiệm đặt lên mỗi tấm đỡ là 5 N, tương ứng với tổng lực tác dụng lên xe là 10 N.
Hình 4.8 Ứng suất của xe
Hình 4.9 Biến dạng của xe
Mô phỏng cho thấy ứng suất lớn nhất tập trung ở hai trục động cơ, mỗi trục chịu ứng suất 11342152 N/m², trong khi ứng suất giới hạn là 282685049 N/m², với độ biến dạng tương ứng là 0.0001 mm Tấm đỡ trên có biến dạng lớn nhất là 0.828 mm và ứng suất tương ứng là 1323939 N/m² Các giá trị ứng suất và độ biến dạng của từng bộ phận đều nằm trong phạm vi cho phép, cho thấy hệ thống xe hoạt động bình thường.
Tính toán lựa chọn các chi tiết điển hình
Hình 4.10 Lực tác động lên bánh xe
⃗ : Mô mem quán tính của động cơ tác dụng lên bánh xe
⃗ , ⃗ : Phản lực liên kết giữa trục động cơ và bánh xe
⃗: Phản lực giữa bánh xe và mặt đất
⃗ : Lực ma sát giữa bánh xe và mặt đất
Tổng trọng lượng xe là 1.5 Kg
Tại vị trí cân bằng = 0
Mômen tác dụng lên bánh xe
: Vị trí góc của bánh xe
: Hệ số ma sát của bánh xe với sàn Để xe hoạt động thì ̈ > 0
2 ≈ 0.24 Vậy Mômen trục động cơ tác dụng lên bánh xe phải lớn hơn 0.24
Chọn động cơ có thông số kỹ thuật
Kích thước bao: 42mm x 42mm x 38mm
Điện áp làm việc: DC 9-24V
Độ phân giải: 1.8 độ/1 bước
Loại động cơ bước: 2 pha
Hình 4.11 Động cơ bước size 42 1,8 0 /step
Thiết kế hệ thống điều khiển
Hình 4.12 Sơ đồ khối hệ thống
Khối pin: Cung cấp nguồn năng lượng cho khối bộ xử lý và khối bộ điều khiển động cơ
Khối cảm biến góc nghiêng MPU6050: Thu thập về góc nghiêng và đưa thông tin về khối bộ xử lý Arduino Nano
Khối cảm biến siêu âm HC-SR04: Thu thập về khoảng cách từ robot đến vật cản và đưa thông tin về khối bộ xử lý Arduino Uno
Khối điều khiển qua app bluetooth: Gồm các thiết bị điều khiển các thông số qua app bluetooth giao tiếp được với module bluetooth HM-10
Bộ xử lý Arduino Nano đảm nhận vai trò đọc tín hiệu từ cảm biến góc nghiêng, giao tiếp với module Bluetooth HM-10 và xuất tín hiệu điều khiển tới bộ điều khiển động cơ bước A4988.
Bộ xử lý Arduino Uno nhận tín hiệu từ cảm biến siêu âm HC-SR04 và truyền tín hiệu đó về bộ xử lý Arduino Nano.
Khối module bluetooth HM-10: Làm nhiệm vụ giao tiếp giữa bộ xử lý Arduino Nano và app điều khiển bluetooth
Khối bộ điều khiển động cơ bước A4988: Xử lý tín hiệu gửi đến từ bộ xử lý Arduino Nano để điều khiển động cơ bước
Khối động cơ bước: Nhận tín hiệu điều khiển từ bộ điều khiển động cơ bước A4988 và thực hiện nhiệm vụ theo yêu cầu
Hình 4.13 Lưu đồ thuật toán hệ thống
Hình 4.14 Lưu đồ thuật toán hệ thống – điều khiển bluetooth
Hình 4.15 Lưu đồ thuật toán hệ thống – bám vật
Hình 4.16 Lưu đồ thuật toán – chương trình ngắt
Hình 4.17 Sơ đồ kết nối của hệ thống
Các cơ cấu chấp hành, hệ thống cảm biến và hệ thống điều khiển được kết nối chặt chẽ với nhau Động cơ bước được cung cấp năng lượng từ ba nguồn riêng biệt: nguồn 7.4V cho động cơ, nguồn 7.4V cho bộ điều khiển Arduino Uno R3 và nguồn 5V cho bộ điều khiển Arduino Nano.
Hình 4.18 Sơ đồ kết nối Arduino Nano với module A4988
Sơ đồ đi dây (Hình 4.18) mô tả cách điều khiển động cơ bước thông qua module A4988, được kết nối với bộ xử lý Arduino Nano Module A4988 nhận tín hiệu từ cảm biến, từ đó điều chỉnh hoạt động của động cơ bước một cách chính xác.
Bảng 4-1 Bảng kết nối Arduino Nano với module A4988
Module A4988 có chân Sleep nối với chân Reset, cùng với chân VMOT và GND, cung cấp nguồn cho động cơ từ bên ngoài Bốn chân 1A, 2A, 1B và 2B của module được kết nối với các chân tương ứng của động cơ bước.
Hình 4.19 Sơ đồ kết nối Arduino Nano với MPU 6050
Cảm biến gia tốc MPU 6050 nhận các tín hiệu từ trạng thái của robot
Bảng 4-2 Bảng kết nối MPU6050 với Arduino Uno R3
Chân VCC là chân nguồn cho cảm biến được cấp từ nguồn 5V trên arduino
Chân SCL và SDA là hai chân nhận dữ liệu giao tiếp I2C được kết với hai chân tín hiệu tương tự analog trên Arduino
Hình 4.20 Sơ đồ kết nối Arduino Nano với module bluetooth HM-10
Module Bluetooth HM-10 nhận tín hiệu từ bên ngoài đưa tín hiệu đó vào Arduino để xử lý tín hiệu và đưa ra tín hiệu điều khiển robot
Bảng 4-3 Bảng kết nối Arduino Nano với module bluetooth HM-10
Hình 4.21 Sơ đồ kết nối Arduino Uno với cảm biến siêu âm
Cảm biến siêu âm HC-SR04 phát hiện khoảng cách từ robot đến vật cản
Bảng 4-4 Bảng kết nối Arduino Nano với cảm biến siêu âm
Cảm biến siêu âm Arduino Uno