Các số liệu, tài liệu ban đầu: Nội dung thực hiện đề tài: Đối với đề tài thiết kế và điều khiển cân bằng hệ bóng đĩa bằng PID , nhiệm vụ chính là cần phải dựa vào những kiến thức đã học
TỔNG QUAN
Đặt vấn đề
Trong những năm gần đây, công nghệ và kỹ thuật điều khiển tự động đang dần thay thế con người trong nhiều lĩnh vực, đặc biệt là trong công nghiệp Việc sử dụng Arduino để điều khiển cho phép xây dựng các cấu trúc đa dạng tùy thuộc vào mục đích sử dụng Một trong những ứng dụng nổi bật là điều khiển cân bằng, thu hút sự quan tâm và phát triển mạnh mẽ từ sinh viên và các phòng thực nghiệm trong tương lai.
Hiện nay, nhiều công ty và phòng lab lớn đang nghiên cứu về vấn đề cân bằng hệ bóng đĩa Tuy nhiên, Trường Đại học Sư Phạm Kỹ Thuật thành phố Hồ Chí Minh vẫn chưa có nhiều nghiên cứu khoa học hoặc mô hình đồ án liên quan đến đề tài này.
Quả bóng trên đĩa thường dao động và mất cân bằng do các lực vật lý như trọng lực và ma sát Để duy trì sự cân bằng, hệ thống điều khiển PID cần phải đối phó hiệu quả với tính không ổn định này Mục tiêu chính là giữ quả bóng ở vị trí cân bằng, yêu cầu độ chính xác cao trong phản ứng và điều chỉnh tín hiệu điều khiển Sai số và độ trễ trong quá trình điều khiển có thể ảnh hưởng đến khả năng cân bằng Việc điều chỉnh hệ số PID cần phải phù hợp với tính chất của hệ thống và yêu cầu cân bằng, đòi hỏi sự hiểu biết và thử nghiệm để tối ưu hóa hiệu suất.
Hệ thống điều khiển PID cần đảm bảo ổn định và khả năng đáp ứng nhanh với các biến đổi ngoại lực và điều kiện thay đổi, giúp quả bóng được cân bằng trong thời gian ngắn và tránh tình trạng không ổn định hoặc dao động không mong muốn Để hiểu sâu hơn về đề tài này, nhóm chúng tôi đã tiến hành nghiên cứu tài liệu, thiết kế và thi công đồ án “Nghiên cứu và điều khiển cân bằng hệ bóng đĩa bằng PID”.
Mục tiêu
Mục tiêu chính của đề tài “Nghiên cứu và điều khiển cân bằng hệ bóng đĩa bằng PID” là đưa ra giải pháp và các mục tiêu cụ thể cần đạt được trong quá trình nghiên cứu.
Xây dựng hệ thống điều khiển tự động hiệu quả để duy trì sự cân bằng của quả bóng trên đĩa là một nhiệm vụ quan trọng, có ứng dụng trong robot cân bằng, máy chơi trò chơi và các hệ thống cân bằng khác Nghiên cứu này tập trung vào việc phát triển mô hình toán học chính xác cho hệ thống, bao gồm các thông số quan trọng như khối lượng, mômen quán tính và các lực tác động lên quả bóng từ đĩa.
- Giải bài toán để quả bóng luôn nằm ở điểm cân bằng của bánh xe mà không bị rơi rớt
- Mô phỏng kiểm chứng trên Matlab, lấy thông số PD thực nghiệm
Để đảm bảo hệ thống hoạt động ổn định và thích ứng với các biến đổi ngoại lực cũng như điều kiện khác nhau, việc điều chỉnh và tinh chỉnh thông số PID là rất cần thiết.
Nội dung nghiên cứu
Đối tượng nghiên cứu: Bộ điều khiển cân bằng quả bóng trên đĩa
- Xây dựng và tìm ra phương trình toán học cho hệ bóng đĩa
- Điều khiển cân bằng hệ thống bằng bộ điều khiển PID
- Mô phỏng hệ thống thông qua phần mềm Matlab/Simulink
Giới hạn
Giới hạn của mô hình:
Quả bóng có ít ma sát trên bề mặt bánh xe, dẫn đến việc dễ dàng bị trượt khi bánh xe quay nhanh hoặc khi quả bóng lăn với tốc độ vượt quá tốc độ của bánh xe.
Nghiên cứu chỉ tập trung vào một phần cụ thể của hệ thống như bóng đĩa, trục, vòng bi hoặc hệ thống chịu tải Phạm vi nghiên cứu có thể được giới hạn để
Đề tài chỉ tập trung vào một phương pháp nghiên cứu cụ thể như mô phỏng số học, phân tích hệ thống, thử nghiệm thực nghiệm hoặc sử dụng các công cụ phân tích mô phỏng Việc lựa chọn phương pháp nghiên cứu này có thể hạn chế phạm vi và khả năng áp dụng của kết quả nghiên cứu.
- Giới hạn về kinh phí không vượt quá mười triệu đồng, thời gian hoàn thành mô hình và viết báo cáo trong vòng năm tháng
- Mô hình so với thực nghiệm có sự khác nhau về thông số nội của động cơ, quả bóng không cân đối…
Ý nghĩa của đề tài
Hệ thống cân bằng bóng đĩa đóng vai trò quan trọng trong việc phát triển các hệ thống tự cân bằng khác, bao gồm xe hai bánh tự cân bằng, tháp vô tuyến, giàn khoan và các công trình biển.
Nghiên cứu về việc cân bằng quả bóng trên đĩa sử dụng phương pháp PID giúp làm rõ nguyên lý hoạt động và ứng dụng của hệ thống điều khiển PID trong việc duy trì sự cân bằng PID là một phương pháp điều khiển cơ bản và phổ biến, nghiên cứu này không chỉ nâng cao kiến thức mà còn tăng cường sự hiểu biết về việc áp dụng PID trong các tình huống thực tiễn.
Hệ thống cân bằng bóng trên đĩa có nhiều ứng dụng đa dạng, đặc biệt trong lĩnh vực robot hỗ trợ, giúp duy trì sự ổn định và cân bằng khi di chuyển Bên cạnh đó, trong các thiết bị chơi trò chơi và sản phẩm giải trí, hệ thống này mang lại trải nghiệm thú vị và nâng cao tính tương tác cho người dùng.
Nghiên cứu này giới thiệu một phương pháp điều khiển hiệu quả cho việc cân bằng quả bóng trên đĩa, sử dụng PID, một phương pháp linh hoạt và có thể điều chỉnh để thích ứng với các điều kiện khác nhau Kết quả nghiên cứu không chỉ cải thiện hiệu suất và độ ổn định của hệ thống mà còn giảm thiểu sai số và dao động không mong muốn Thành công của PID trong hệ thống này mở ra cơ hội cho các nghiên cứu và ứng dụng tương tự trong lĩnh vực điều khiển tự động Ngoài ra, nghiên cứu cũng tạo nền tảng cho việc phát triển các phương pháp điều khiển tự động trong nhiều hệ thống khác nhau, khuyến khích ứng dụng công nghệ trong thực tế.
CƠ SỞ LÝ THUYẾT
Yêu cầu điều khiển
Mô hình "cân bằng hệ bóng đĩa" là một hệ thống cơ học đơn giản và thú vị, trong đó quả bóng được đặt trên một bánh xe có khả năng lăn trên mặt phẳng Mục tiêu chính của hệ thống này là kiểm soát vị trí hoặc góc quay của quả bóng trên bánh xe.
Yêu cầu điều khiển của mô hình "ball on wheel" phụ thuộc vào mục tiêu cụ thể mà chúng em muốn đạt được
Mô hình điều khiển bóng trên bánh xe có một số yêu cầu cơ bản Đầu tiên, điều khiển vị trí là yêu cầu quan trọng, nhằm đưa bóng về vị trí cụ thể trên bánh xe bằng cách điều chỉnh tốc độ quay hoặc độ lệch giữa vị trí hiện tại và mong muốn Thứ hai, điều khiển góc quay giúp điều chỉnh hướng di chuyển của bóng, thông qua việc tác động lực lên bóng hoặc điều chỉnh tốc độ quay của bánh xe Yêu cầu thứ ba là đảm bảo ổn định hệ thống, đòi hỏi bộ điều khiển phải phản ứng nhanh và điều chỉnh các thông số PID để duy trì sự ổn định trong điều kiện có nhiễu Cuối cùng, điều khiển tốc độ di chuyển của bóng cũng là một yếu tố quan trọng, có thể đạt được bằng cách điều chỉnh tốc độ quay của bánh xe hoặc lực tác động lên bóng.
Các yêu cầu điều khiển của hệ thống "ball on wheel" phụ thuộc vào ứng dụng và mục tiêu cụ thể Để đáp ứng những yêu cầu này, việc lựa chọn phương pháp điều khiển cùng với việc điều chỉnh các thông số PID là rất quan trọng Trong đồ án này, chúng em chủ yếu tập trung vào việc điều khiển tốc độ và góc quay nhằm ổn định vị trí của vật ở trạng thái cân bằng.
Hình 2 9: Mô hình mẫu Ball on Wheel
Mô hình toán học của hệ thống
Hình 2 10: Sơ đồ kí hiệu hệ thống
Ta có dạng phương trình Euler – Lagrangian của mô hình là: d L L dt q q Q
Trong đó Q là hàm các lực tác động, q là các góc bánh xe và động cơ thì L chính là hàm Lagrangian được định nghĩa:
Bảng 2 1: Quy ước tham số mô hình
Tham số Kí hiệu Giá trị
Quán tính bánh xe I w 1.71x10 -3 kg-m 2
Khối lượng của quả bóng m b 0.059 kg
Bán kính quả bóng R b 0.03125 m Điện trở phần cứng của động cơ R a 0.6558
Gia tốc trọng trường g 9.81 m/s 2 Đối với hệ này, T là động năng V là thế năng, thì q được cho là:
Trong đó, 1 là góc quay giữa trục y và đường đi nối tâm của quả bóng với bánh xe, còn 2 là góc quay của bánh xe so với trục x Q được xác định bởi các góc quay này.
Trong đó là mômen xoắn tác dụng lên bánh xe Động lượng của quả bóng được tính:
Momen quán tính của quả bóng được tính theo công thức T = m_b r_w ω + r_b θ̇ + I θ̇, trong đó m_b là khối lượng quả bóng, r_w là bán kính bánh xe, r_b là bán kính của quả bóng, và θ̇ là độ dời góc của tâm quả bóng so với phương thẳng đứng.
Còn động năng của bánh xe là:
Tiếp đến ta có tổng động năng của hệ là:
Khi quay đĩa và đặt quả bóng lên đĩa, một điều kiện được tạo ra giữa điểm tiếp xúc Cw và tâm bánh xe Ow, với vận tốc của điểm Cw so với Ow được biểu thị là V.
Trong đó e là một vector đơn vị tiếp tuyến với tiếp điểm và tăng theo chiều dương của 2 Và / b b
V C O biểu thị vận tốc của điểm tiếp xúc C b so với tâm quả bóng O b được quan sát từ hệ thống cố định Ta có công thức:
Giả sử quả bóng lăn không trượt, tiếp điểm C b đứng yên tức thời so với tiếp điểm
C w Ta có vận tốc của hai điểm tiếp xúc trên là:
Dựa vào mô hình toán học trên hình ta rút được vận tốc của tâm quả bóng đến tâm bánh xe tương đối là:
Từ (2.21), (2.22) và (2.23) ta thu được:
Ta có phương trình sau từ hai phương trình (2.24) và (2.25):
2 ( b ) 1 b 3. r & r r &r& (2.26) Một lưu ý là không thể đo trực tiếp & Để có thể tính được3 & 3thì ta cần dựa vào phương trình (2.26)
22 Động năng toàn phần được tính như sau
T I & m r r & m r & r & r & (2.27) Thế năng toàn phần V là:
Trong đó g là gia tốc trọng trường, hàm Larangian là:
Sau đó, chúng ta có đạo hàm của hàm Larangian theo theta 1:
Tiếp tục ta sẽ đạo hàm hàm Larangian theo vận tốc góc theta1:
Tiếp tục ta sẽ đạo hàm chúng theo thời gian:
Tương tự, ta sẽ đạo hàm hàm Larangian theo theta 2
Và đạo hàm hàm Larangian theo vận tốc góc theta 2
Sau đó đạo hàm chúng theo thời gian ta sẽ thu được phương trình sau:
Từ phương trình (2.13) và (2.30) và (2.35) Ta thu được 2 công thức dưới đây
Hình 2 11: Sơ đồ bóng lăn tự do trên đĩa
Để duy trì chuyển động tròn của quả bóng trên đĩa, lực hướng tâm phải đủ lớn; nếu không, quả bóng sẽ rơi khỏi đĩa Theo định luật III Newton, lực ly tâm có thể được mô tả bằng phương trình trong sơ đồ hình 3.
Lực phản lực N được xác định bởi công thức N = m g cos(θ) - m r ω², trong đó N cần thiết để duy trì chuyển động của quả bóng trên đĩa Khi N = 0, quả bóng sẽ rớt khỏi đĩa Do đó, để quả bóng có thể cân bằng trên đĩa, lực cung cấp từ m b δ cos(θ) phải đủ để duy trì trạng thái này.
Do hệ số ma sát nhớt không đáng kể, mô hình động cơ được đưa ra bằng công thức:
Trong đó là mômen điều khiển, u là điện áp điều khiển, K m là hằng số động cơ và R a là điện trở phần ứng động cơ, các biến trạng thái là:
Dựa trên công thức (2.36) và (2.37), không gian trạng thái của hệ thống và bánh đĩa có thể được biểu diễn trong cơ sở theo công thức (29).
Và a b c p q r , , , , , được xác định là:
Phương trình trạng thái ở trên là dạng hàm tổng quát Để có thể tính toán ma trận
K thì ta cần tuyến tính hóa lại theo dạng sau: x Ax Bu& (2.51)
Tuyến tính hóa hệ thống tại điểm cân bằng lúc này điện áp cấp vào và các góc theta 1 và theta 2 sẽ bằng 0
Ta tính được A và B như sau
| x x x x x x x x u u u u u u u u x x x x x x x x u u u u u u u u x x x x x x x x u u u u u u u u x x u u df df df df dx dx dx dx df df df df dx dx dx dx df df df df dx dx dx dx df df dx dx
Ta có ma trận Q được biểu diễn như sau
Vì ta chỉ điều khiển một biến đầu ra của điện áp nên ta chọn
Sau đó ta sẽ nhập lệnh vào matlab để có thể tính được ma trận K với công thức như sau
THIẾT KẾ MÔ HÌNH
Phần mềm thiết kế và mô phỏng lí thuyết
SolidWorks là phần mềm CAD 3D và mô phỏng cơ khí do Dassault Systèmes phát triển, được ứng dụng phổ biến trong ngành công nghiệp để thiết kế và mô phỏng sản phẩm cũng như các bộ phận cơ khí.
SolidWorks là phần mềm thiết kế 3D nổi bật với giao diện người dùng thân thiện và các công cụ mạnh mẽ, giúp người dùng tạo ra các mô hình 3D chính xác và chi tiết Phần mềm này hỗ trợ quy trình thiết kế bằng cách cho phép người dùng tạo ra các bộ phận, lắp ráp và bản vẽ kỹ thuật cho sản phẩm và máy móc một cách hiệu quả.
Hình 3 1: Giao diện lắp ráp của Solidworks
Với SolidWorks, người dùng có khả năng thiết kế và chỉnh sửa hình dạng 3D, sắp xếp các bộ phận, thực hiện phép tính và kiểm tra các yếu tố cơ khí Ngoài ra, phần mềm còn hỗ trợ tạo bản vẽ kỹ thuật và tệp mô phỏng để đánh giá hiệu suất và tương tác giữa các bộ phận.
SolidWorks cung cấp nhiều tính năng bổ sung, bao gồm khả năng tạo ra các bộ phận hoặc mô hình thông qua kỹ thuật in 3D Ngoài ra, phần mềm còn tích hợp các công cụ mô phỏng và phân tích, giúp đánh giá và tối ưu hóa hiệu suất sản phẩm một cách hiệu quả.
SolidWorks đã trở thành một công cụ thiết yếu trong ngành công nghiệp cơ khí và chế tạo, được sử dụng để thiết kế và phát triển sản phẩm, mô phỏng và kiểm tra các bộ phận và hệ thống Nó cũng tạo ra bản vẽ kỹ thuật và hướng dẫn sản xuất, đồng thời hỗ trợ quá trình gia công chính xác Sự đóng góp của SolidWorks không chỉ nâng cao hiệu suất mà còn thúc đẩy sự phát triển của ngành công nghiệp.
SolidWorks sở hữu một cộng đồng người dùng mạnh mẽ và nhiệt huyết, nơi các kỹ sư có thể chia sẻ kiến thức, kỹ năng và tài nguyên Thông qua các diễn đàn, trang web, nhóm người dùng và sự kiện, cộng đồng này tạo ra một môi trường hỗ trợ, khuyến khích sự học hỏi và chia sẻ kinh nghiệm giữa các thành viên.
SolidWorks đã trở thành một công cụ thiết kế toàn cầu, được sử dụng phổ biến ở nhiều quốc gia và khu vực khác nhau Với sự ảnh hưởng mạnh mẽ, phần mềm này đã được dịch sang nhiều ngôn ngữ, phục vụ cho cộng đồng người dùng đa dạng trên toàn thế giới.
SolidWorks là phần mềm thiết kế 3D nổi bật, được ứng dụng rộng rãi trong nhiều ngành công nghiệp như ô tô, hàng không vũ trụ, điện tử, máy móc và y tế
Hình 3 2: Giao diện làm việc của Solidworks
Matlab là phần mềm tính toán số và lập trình do MathWorks phát triển, cung cấp ngôn ngữ lập trình và nhiều công cụ mạnh mẽ cho phân tích dữ liệu, mô phỏng, thiết kế và triển khai thuật toán trong khoa học, kỹ thuật và toán học.
Dưới đây là một số chức năng quan trọng của Matlab:
Ngôn ngữ lập trình Matlab là một công cụ mạnh mẽ và dễ sử dụng, cho phép người dùng phát triển các chương trình và script để thực hiện tính toán số, xử lý dữ liệu và triển khai các thuật toán phức tạp.
Matlab cung cấp một bộ công cụ tính toán số phong phú, bao gồm các chức năng toán học, đại số tuyến tính, vi phân và tích phân, xử lý tín hiệu, thống kê và tối ưu hóa Những chức năng này giúp người dùng thực hiện các phép toán số phức tạp và phân tích dữ liệu một cách hiệu quả.
Matlab cung cấp công cụ mạnh mẽ cho mô phỏng và xử lý hình ảnh, cho phép người dùng thực hiện các phép biến đổi, lọc ảnh, phát hiện đối tượng và phân tích hình ảnh phức tạp.
Matlab cung cấp các công cụ mạnh mẽ cho việc phân tích, khám phá và trực quan hóa dữ liệu Các chức năng của nó bao gồm xác định cụm, phân loại, hồi quy và khai phá dữ liệu, giúp người dùng xử lý thông tin một cách hiệu quả.
Matlab cho phép người dùng tương tác với dữ liệu và kết quả tính toán thông qua giao diện đồ họa và các công cụ trực quan hóa, giúp tạo ra biểu đồ, đồ thị và giao diện tương tác để trình bày kết quả Với ứng dụng đa lĩnh vực, Matlab được sử dụng rộng rãi trong khoa học, kỹ thuật, công nghệ thông tin, tài chính, y sinh học, điện tử, robotica và nhiều lĩnh vực khác, đóng vai trò quan trọng trong nghiên cứu, phát triển sản phẩm và giảng dạy.
Tầm ảnh hưởng của phần mềm Matlab:
Matlab là công cụ phổ biến trong nghiên cứu và giảng dạy, cung cấp môi trường thuận tiện cho tính toán số, phân tích dữ liệu và mô phỏng Với khả năng hỗ trợ nhanh chóng trong việc thực hiện thí nghiệm số và phát triển thuật toán mới, Matlab giúp các nhà nghiên cứu và sinh viên nâng cao hiệu quả công việc của mình.
Phần mềm sử dụng cho mô phỏng thực nghiệm
Arduino là nền tảng mã nguồn mở cho phát triển phần cứng và phần mềm, cho phép người dùng dễ dàng tạo và lập trình thiết bị điện tử Nó cung cấp bộ công cụ và môi trường phát triển tích hợp thân thiện, giúp thiết kế và lập trình ứng dụng điện tử một cách linh hoạt và nhanh chóng.
Arduino là một nền tảng phát triển dựa trên vi xử lý nhúng có thể lập trình, cho phép người dùng kết nối và điều khiển các thành phần điện tử như cảm biến, động cơ và màn hình thông qua các chân I/O Người dùng có thể lập trình các chức năng cho thiết bị bằng ngôn ngữ lập trình Arduino và các thư viện hỗ trợ, tạo ra nhiều ứng dụng sáng tạo.
Arduino lập trình bằng một biến thể của ngôn ngữ C/C++, cho phép người dùng sử dụng các câu lệnh điều khiển, hàm và thư viện có sẵn để tương tác với các linh kiện điện tử và thực hiện những chức năng cụ thể.
Arduino IDE là phần mềm lập trình dễ sử dụng cho Arduino, cung cấp giao diện đồ họa giúp người dùng viết, biên dịch và nạp chương trình vào board một cách thuận tiện Phần mềm hỗ trợ nhiều loại board Arduino khác nhau, kèm theo thư viện và ví dụ mã nguồn để người dùng có thể bắt đầu nhanh chóng.
Arduino cung cấp một bộ thư viện phong phú, giúp người dùng dễ dàng giao tiếp và điều khiển các thành phần điện tử khác nhau Việc sử dụng các thư viện này không chỉ tiết kiệm thời gian mà còn giảm bớt công sức lập trình Hơn nữa, cộng đồng Arduino lớn và sôi nổi cho phép người dùng chia sẻ kiến thức, ý tưởng và nhận hỗ trợ lẫn nhau.
Arduino cung cấp hỗ trợ cho các module mạng như Ethernet, Wi-Fi và Bluetooth, giúp kết nối và giao tiếp với mạng lưới cũng như các thiết bị khác Nhờ đó, người dùng có thể phát triển các ứng dụng IoT và kết nối dễ dàng với các dịch vụ trực tuyến.
Arduino cung cấp nhiều phiên bản và loại board đa dạng, giúp người dùng dễ dàng lựa chọn theo nhu cầu Bên cạnh đó, nền tảng này còn tương thích với các module mở rộng và shield, nâng cao khả năng kết nối và tính năng cho board Arduino.
Arduino được sử dụng nhiều trong đời sống và nhiều lĩnh vực khác nhau:
Arduino là một công cụ mạnh mẽ cho phép người dùng thiết kế và chế tạo các thiết bị điện tử gia đình như đèn chiếu sáng thông minh, hệ thống an ninh nhà cửa và bảng điều khiển thiết bị gia dụng Việc sử dụng Arduino không chỉ nâng cao tiện ích trong ngôi nhà mà còn giúp tiết kiệm năng lượng hiệu quả.
Robotica: Arduino là công cụ mạnh mẽ cho việc xây dựng và lập trình robot Người dùng có thể điều khiển động cơ, cảm biến và các module khác để phát triển robot tự động, robot điều khiển từ xa, robot di động, cùng nhiều ứng dụng khác trong lĩnh vực robot.
Điện tử nông nghiệp đang trở thành xu hướng quan trọng, trong đó Arduino đóng vai trò then chốt trong việc giám sát và điều khiển hệ thống tưới cây tự động, cảm biến môi trường nông nghiệp, và điều khiển đèn hồ quang Những ứng dụng này không chỉ nâng cao hiệu suất sản xuất mà còn giúp tự động hóa quy trình nông nghiệp, mang lại lợi ích lớn cho người nông dân.
Arduino là một công cụ phát triển thiết yếu trong lĩnh vực IoT, cho phép người dùng tạo ra các thiết bị thông minh kết nối internet Với Arduino, người dùng có thể thu thập và chia sẻ dữ liệu, phát triển các ứng dụng IoT như hệ thống giám sát, điều khiển từ xa, và nhiều thiết bị thông minh khác.
HyperTerminal là phần mềm kỹ thuật giúp người dùng thiết lập và quản lý kết nối cổng nối tiếp trên máy tính Phần mềm này cho phép truy cập và tương tác với các thiết bị điện tử như máy tính nhúng, modem, router, switch và nhiều thiết bị khác thông qua giao diện serial.
HyperTerminal là một công cụ hữu ích với giao diện đồ họa thân thiện, giúp người dùng dễ dàng thiết lập các thông số kết nối, bao gồm tốc độ baud, bit dữ liệu, kiểu stop bit và kiểu điều khiển.
34 khiển dòng Người dùng có thể tạo và quản lý các kết nối serial, gửi và nhận dữ liệu từ thiết bị, và theo dõi trạng thái kết nối
HyperTerminal cung cấp các tính năng hữu ích như:
Người dùng có khả năng gửi và nhận dữ liệu qua cổng nối tiếp, điều này giúp kiểm tra, cấu hình và giao tiếp với các thiết bị điện tử từ xa một cách hiệu quả.
Phần mềm hỗ trợ hiển thị dữ liệu ở định dạng nhị phân và ASCII, giúp người dùng dễ dàng hiểu và phân tích thông tin được truyền qua kết nối serial.
THI CÔNG HỆ THỐNG
Thiết kế mô hình trên Solidwork
Hình 4 1: Bánh xe của mô hình thiết kế trên Solidworks
Nhóm đã vẽ và in 3d bánh xe với bán kính của xe là 35.5cm
Hình 4 2: Đế của mô hình được vẽ trên phần mềm Solidworks
Chúng tôi đã thiết kế một mô hình với đế có chiều dài 80 cm và chiều rộng 40 cm Chiều cao để đặt cảm biến trong mô hình được thiết kế là 40 cm.
Hình 4 3: Mô hình được lắp ráp hoàn thiện trên Solidwork
Lựa chọn thiết bị
4.2.1 Danh sách thiết bị cần sử dụng:
Bảng 4 1: Danh sách thiết bị sử dụng
Số Tên Hình ảnh Đặc điểm
- Điện áp ngõ vào: 185V- 260VAC
- Điện áp ngõ ra: 24V DC
2 Dây bus đực đực và đực cái Chiều dài 15cm
3 Ốc M5 Đường kính ren: 5mm
4 Con trượt có bi hãm cỡ 40-M5
- Điện áp sử dụng: 4.5 ~ 5.5VDC
- Dòng sử dụng trung bình:
- Dạng tín hiệu trả về: analog voltage
- Outputv oltage differential over distance range: 2.05 V (typical)
7 Nhôm định hình - Chiều dài 30cm
- IC nạp và giao tiếp UART: CH340
- Điện áp cấp: 5VDC cổng USB hoặc 6-9VDC chân Raw
- 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)
Việc lựa chọn động cơ là một yếu tố thiết yếu trong thiết kế và xây dựng hệ thống cơ khí và điện, ảnh hưởng trực tiếp đến hiệu suất và độ tin cậy của toàn bộ hệ thống.
Động cơ là thiết bị thiết yếu trong việc chuyển đổi năng lượng điện thành năng lượng cơ học, phục vụ cho nhu cầu của hệ thống Lựa chọn động cơ phù hợp không chỉ giúp tối ưu hóa hiệu suất mà còn mang lại nhiều lợi ích đáng kể.
Động cơ hiệu suất cao không chỉ tiết kiệm năng lượng mà còn giảm chi phí vận hành Việc lựa chọn động cơ với hiệu suất tối ưu sẽ đảm bảo hệ thống hoạt động hiệu quả và kinh tế.
Để đảm bảo hiệu quả hoạt động của hệ thống, việc lựa chọn động cơ có công suất phù hợp với tải trọng là rất quan trọng Sử dụng động cơ có công suất quá cao hoặc quá thấp so với yêu cầu tải trọng có thể dẫn đến hiệu suất làm việc không tối ưu, hoặc không đủ sức mạnh để hoàn thành nhiệm vụ.
Khi lựa chọn động cơ, tính đáng tin cậy là yếu tố quan trọng hàng đầu Nên chọn động cơ từ các nhà sản xuất uy tín để đảm bảo hoạt động ổn định và bền bỉ theo thời gian Động cơ không đáng tin cậy có thể dẫn đến sự cố hoạt động và thời gian chết không mong muốn, từ đó làm giảm hiệu suất và gia tăng chi phí bảo trì.
Để đảm bảo hiệu quả và tính thống nhất của toàn bộ hệ thống, việc lựa chọn động cơ cần phải tương thích với các thành phần khác như bộ truyền động, hệ thống điều khiển và các thiết bị liên quan.
Nhóm chúng em đã chọn động cơ Servo Nisca NF5475 vì độ chính xác cao và khả năng kiểm soát vị trí, tốc độ, cũng như mô-men xoắn Động cơ này thường được sử dụng trong các ứng dụng công nghiệp, robot hình thức, máy CNC và tự động hóa Nó có thể được điều khiển bằng các tín hiệu số, giúp tích hợp dễ dàng vào các hệ thống điều khiển tự động và cung cấp thông tin phản hồi chính xác Động cơ phù hợp với tải trọng của bánh đĩa 0,7kg và quả bóng tennis nặng 0,051kg.
Việc chọn cảm biến khoảng cách phù hợp là yếu tố quan trọng trong nhiều ứng dụng, đặc biệt trong lĩnh vực tự động hóa và điều khiển Cảm biến ảnh hưởng trực tiếp đến khả năng đáp ứng yêu cầu của ứng dụng, bao gồm khoảng cách đo, độ chính xác, tốc độ phản hồi, độ bền và điều kiện hoạt động.
Cảm biến khoảng cách chất lượng cao là yếu tố then chốt trong việc đáp ứng đầy đủ các yêu cầu của ứng dụng Độ chính xác của cảm biến rất quan trọng, đặc biệt trong các lĩnh vực như sản xuất và kiểm tra vật thể, nơi mà việc đo khoảng cách và phát hiện vật thể cần phải chính xác tuyệt đối.
Khi lựa chọn cảm biến khoảng cách, cần xem xét phạm vi đo lường để đảm bảo cảm biến hoạt động hiệu quả trong khoảng cách mong muốn Bên cạnh đó, các điều kiện hoạt động như độ ẩm, bụi bẩn, rung động và nhiễu có thể ảnh hưởng đến hiệu suất của cảm biến Do đó, việc lựa chọn cảm biến có khả năng chịu đựng các điều kiện này là rất quan trọng để đảm bảo độ tin cậy và hiệu suất của hệ thống.
Việc lựa chọn cảm biến khoảng cách phù hợp là rất quan trọng để đảm bảo hiệu suất, độ chính xác và độ tin cậy của hệ thống Chúng tôi đã quyết định chọn cảm biến Sharp vì tính tương thích cao với vi xử lý Arduino Nano mà chúng tôi sử dụng, đồng thời cảm biến này cũng ít bị nhiễu khi đọc dữ liệu từ Arduino.
Chúng em chọn vi xử lý Arduino Nano vì kích thước nhỏ gọn 45mm x 18mm, dễ dàng tích hợp vào các dự án hạn chế không gian Arduino Nano cung cấp nhiều chân I/O kỹ thuật số và analog, cho phép kết nối và điều khiển linh kiện, cảm biến, phù hợp với nhiều ứng dụng từ đơn giản đến phức tạp Hơn nữa, Arduino Nano được hỗ trợ mạnh mẽ từ cộng đồng Arduino với nhiều tài liệu, ví dụ và dự án sẵn có, giúp việc học tập và sử dụng trở nên dễ dàng hơn.
Bảng 4 2: Bảng giá các linh kiện được sử dụng
STT Tên thiết bị Số lượng Giá tiền
2 Dây bus đực đực và đực cái 1 17.000 đ
4 Con trượt có bi hãm cỡ 40-M5 6 30.000 đ
6 Động cơ Servo Nisca NF5475 1 250.000 đ
Thiết kế mô hình thực
Khi lắp đặt thiết bị điện trên thanh gỗ, chúng tôi luôn tuân thủ các nguyên tắc an toàn điện và quy định của mã nguồn điện.
Để lắp đặt thiết bị điện, trước tiên bạn cần xác định vị trí trên thanh gỗ và đảm bảo rằng nó đủ mạnh để chịu tải trọng của thiết bị và cáp điện Sau đó, hãy đánh dấu các vị trí khoan lỗ bằng bút chì hoặc công cụ đánh dấu khác, đảm bảo rằng những vị trí này an toàn và thuận tiện cho việc sử dụng thiết bị điện.
Khoan lỗ: Sử dụng mũi khoan có kích thước phù hợp để khoan tại các điểm đã đánh dấu trên thanh gỗ Chúng tôi đảm bảo khoan lỗ đủ sâu để thiết bị điện và cáp có thể gắn chặt vào thanh gỗ.
Gắn thiết bị điện một cách an toàn bằng cách sử dụng bu lông và ốc vít để cố định chúng vào thanh gỗ Đảm bảo rằng các thiết bị được gắn chặt và không gây nguy hiểm cho người sử dụng Khi thực hiện đấu nối điện, chúng tôi tuân thủ nghiêm ngặt các quy định về an toàn điện để bảo vệ người dùng.
Bảo vệ dây điện là rất quan trọng để đảm bảo an toàn và tránh tình trạng đứt gãy Chúng tôi sử dụng ống bọc dây, ống ruột gà và các phương pháp bảo vệ khác để giữ cho dây điện luôn gọn gàng và an toàn.
Kiểm tra an toàn là bước quan trọng sau khi lắp đặt thiết bị điện Chúng tôi luôn đảm bảo rằng mọi kết nối được kiểm tra kỹ lưỡng để không xảy ra sự cố hay nguy hiểm Đồng thời, chúng tôi xác nhận rằng tất cả thiết bị hoạt động đúng cách và không có hiện tượng rò rỉ điện.
Hình 4 4: Phần cứng của hệ thống nhìn theo hướng trực diện
Hình 4 5:Phần cứng của hệ thống nhìn theo hướng nghiêng
Bảng 4 3: Tên thiết bị của mô hình
2 Cảm biến khoảng cách hồng ngoại Sharp GP2Y0A02YK0F
5 Động cơ Nisca NF5475 encoder 200ppr
6 Vi xử lí Arduino Nano
Sơ đồ đấu dây
Để thiết lập hệ thống, chúng tôi sử dụng nguồn laptop để cung cấp năng lượng cho Arduino, và nguồn tổ ong 24V/10A cho mạch công suất Các chân của cảm biến Sharp được kết nối lần lượt với chân A0, 5V, GND của Arduino để đọc giá trị khoảng cách Sau khi nhận được dữ liệu, Arduino sẽ tính toán và xuất xung từ chân 9 sang chân P+ và từ chân 10 vào chân D+ của mạch công suất.
Sau đó mạch công suất sẽ điều khiển chiều
Mạch công suất lúc này sẽ cấp dòng điện để động cơ quay
Khi động cơ quay em đã kết nối chân đọc encoder của động cơ với Arduino để có thể tính toán góc quay được
MÔ PHỎNG, THỰC NGHIỆM VÀ KẾT QUẢ ĐẠT ĐƯỢC
Mô phỏng mô hình với giải thuật di truyền tìm thông số PID trên Matlab simulink
số PID trên Matlab simulink
Hình 5 1: Mô phỏng hệ thống với bộ điều khiển GA PD
Chúng tôi sử dụng giải thuật di truyền (GA) để kết hợp các thế hệ nhằm tìm ra thông số PD tối ưu cho hệ thống Mục tiêu của chúng tôi là chứng minh rằng sau mỗi lần lai ghép, thế hệ mới sẽ có hiệu suất vượt trội hơn hẳn so với thế hệ trước.
Mô phỏng mô hình với bộ điều khiển LQR
Hình 5 2: Mô phỏng hệ thống với bộ điều khiển LQR
Giải thuật LQR hỗ trợ tìm hệ số K của hệ thống, phản ánh đáp ứng của nó Đồng thời, LQR cũng giúp giới hạn thông số KD trong giải thuật di truyền GA, từ
Mô phỏng thực nghiệm mô hình
Hình 5 3:Mô hình khi chạy thực nghiệm
Ban đầu, chúng tôi đã sử dụng cảm biến khoảng cách SRF05, nhưng gặp phải vấn đề nhiễu tín hiệu Mặc dù đã áp dụng bộ lọc Kalman Filter, nhưng động cơ phản hồi chậm Cuối cùng, chúng tôi đã chuyển sang sử dụng cảm biến Sharp để đọc trực tiếp vị trí của quả bóng về Arduino.
Mô hình thực nghiệm có nhiều hạn chế so với việc mô phỏng hệ thống, nhưng chúng tôi đã nỗ lực tìm kiếm thông số PID phù hợp để Arduino xử lý, giúp động cơ cân bằng quả bóng hiệu quả.
Kết quả đạt được
5.4.1 Mô phỏng với giải thuật LQR
Hình 5 4: Đáp ứng hệ thống của quả bóng khi mô phỏng LQR
Hình 5 5: Đáp ứng của bánh xe khi mô phỏng LQR
5.4.2 Mô phỏng với giải thuật di truyền GA tìm thông số
Hình 5 6: Đáp ứng của quả bóng khi chạy được thế hệ thứ nhất
Hình 5 7: Đáp ứng của bánh xe khi chạy được thế hệ thứ nhất
Hình 5 8: Đáp ứng của quả bóng khi chạy được thế hệ thứ ba
Hình 5 9: Đáp ứng của bánh xe khi chạy được thế hệ thứ 3
Hình 5 10: Đáp ứng của quả bóng khi chạy được thế hệ thứ 42
Hình 5 11: Đáp ứng của bánh xe khi chạy được thế hệ thứ 42
5.4.3 Mô phỏng thực nghiệm Ở phần mô phỏng với hệ thống thật, em sẽ viết chương trình điều khiển cho Arduino Arduino sẽ lấy tín hiệu từ cảm biến và tín hiệu encoder đọc được sau đó sẽ xử lí tín hiệu và phát xung cho động cơ giúp quả bóng đứng cân bằng
Hình 5 12: Lưu đồ giải thuật tổng quan của mô hình
Với từ lưu đồ 2 đến 3 bọn em sẽ xác định sai đó giữa khoảng cách đo được từ mô hình với khoảng cách đặt trước
Hình 5 13: Lưu đồ giải thuật từ 2 đến 3
Với lưu đồ từ 3 đến 4, chúng ta sẽ tiến hành khai báo các giá trị thông số của bộ điều khiển PID rời rạc nhằm tính toán đầu ra để tác động vào động cơ.
Hình 5 14: Lưu đồ giải thuật từ 3 đến 4
Để đảm bảo động cơ hoạt động hiệu quả, nên giới hạn xung của động cơ ở mức 80% so với xung thực Việc để động cơ chạy ở công suất tối đa có thể dẫn đến tình trạng không ổn định.
Hình 5 15: Lưu đồ giải thuật từ 4 đến 5
Hình 5 16: Lưu đồ giải thuật từ 5 đến 6
Giao tiếp với Hyper Terminal Để giao tiếp với HyperTerminal, bạn cần thiết lập các thiết lập kết nối như sau:
Mở HyperTerminal: Trên máy tính Windows, nhấp vào nút Start và tìm kiếm
"HyperTerminal" Chọn HyperTerminal từ kết quả tìm kiếm để mở chương trình
Tạo một kết nối mới: Nhấp chuột phải trong cửa sổ HyperTerminal và chọn "New Connection" Đặt tên cho kết nối của bạn và chọn "OK"
Chọn cổng COM từ danh sách các cổng khả dụng mà thiết bị của bạn đang kết nối Để thực hiện điều này, bạn cần xác định số cổng COM mà thiết bị của mình đang sử dụng.
Để thiết lập các thiết bị ngoại vi, bạn cần cấu hình tốc độ baud, số bit dữ liệu, kiểm tra chẵn lẻ, bit dừng và kiểm tra luồng dữ liệu theo yêu cầu của thiết bị Thông tin chi tiết về các cài đặt này thường được cung cấp trong tài liệu hướng dẫn của thiết bị.
Sau khi thiết lập kết nối, bạn sẽ thấy một cửa sổ dòng lệnh trống, cho phép bắt đầu giao tiếp Bạn có thể gửi và nhận dữ liệu từ thiết bị ngoại vi qua cổng COM Những gì bạn gõ sẽ được gửi đến thiết bị, và dữ liệu nhận được sẽ hiển thị trên cửa sổ HyperTerminal.
Hình 5 17: Giao diện làm việc của Hyper Terminal
56 Ở đây chúng tôi chọn Kp=6.45, Kd=0, Ki=0 để hoạt động mô hình, đồng thời cũng kết nối lấy dữ liệu từ Hyper Terminal
Hình 5 18: Góc đọc được từ Encoder với trường hợp một
Hình 5 19: Cảm biến khoảng cách đọc được ở trường hợp một
Chúng em đã tiến hành khảo sát với các thông số Kp=7, Kd=1, Ki=0 Sau khi quan sát ở trường hợp 1, khi quả bóng đứng vững khoảng 2 giây, chúng em quyết định tăng Kp để quan sát rõ hơn về góc quay và cách mà cảm biến đọc dữ liệu.
Hình 5 20: Góc đọc từ Encoder với trường hợp hai
Hình 5 21: Cảm biến khoảng cách đọc được ở trường hợp hai
Với Kp=7, tôi nhận thấy sai số và độ vọt lố của cảm biến khá cao Do đó, tôi quyết định giữ nguyên Kp ở mức 6.45, giảm kd xuống còn 0.45 và giữ ki không thay đổi ở mức 0.01.
Hình 5 22:Góc đọc được từ Encoder ở trường hợp ba
Hình 5 23: Cảm biến khoảng cách đọc được ở trường hợp ba
Tăng Kp = 6.5 và Ki không thay đổi Kd bằng 0.44
Hình 5 24: Góc đọc được từ Encoder với trường hợp bốn
Hình 5 25: Cảm biến khoảng cách đọc được ở trường hợp bốn
Hình 5 26: Cảm biến khoảng cách đọc được ở trường hợp năm
Hình 5 27: Góc đọc được từ Encoder với trường hợp năm
Ta thấy ở trường hợp này, dữ liệu cảm biến lên xuống đều nhau, quả bóng đứng yên và cân bằng lâu