1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án chuyên ngành Tự Động Hóa - Ứng dụng PID điều khiển động cơ cho Robot

33 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng PID Điều Khiển Động Cơ Cho Robot
Người hướng dẫn Thầy Dương Hòa An
Trường học Trường Đại Học Kỹ Thuật
Chuyên ngành Tự Động Hóa
Thể loại Đồ Án Chuyên Ngành
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 33
Dung lượng 1,55 MB

Nội dung

LỜI NÓI ĐẦU Trước khi em bắt đầu trình bày về dự án, em xin gửi lời tri ân chân thành đến thầy Dương Hòa An đã dành thời gian, kiến thức, và sự hỗ trợ đáng quý để hướng dẫn em trong suốt quá trình thực hiện đồ án đã giúp em hoàn thành đồ án thực tập chuyên nghành với đề tài “Ứng dụng PID điều khiển động cơ cho Robot”. Robot và các hệ thống tự động ngày càng trở nên phổ biến và quan trọng trong đời sống cũng như công nghiệp hiện đại. Trong bối cảnh đó, việc nghiên cứu và ứng dụng các phương pháp điều khiển hiệu quả, như PID, vào điều khiển động cơ cho Robot là một bước đi quan trọng nhằm cái thiện hiệu suất và độ chính xác của các hệ thống này. Đề tài “Ứng dụng PID điều khiển động cơ cho Robot” tập trung nghiên cứu cách ứng dụng bộ điều khiển PID để tối ưu hóa hoạt động của động cơ trong Robot. PID là một phương pháp điều khiển phản hồi nổi tiếng, có khả năng điều chỉnh tín hiệu điều khiển dựa trên sai lệch giữa giá trị thực và giá trị mong muốn. Việc áp dụng PID không chỉ giúp hệ thống đạt được hiệu suất cao mà còn ổn định và giảm thiểu sự ảnh hưởng của các yếu tố ngoại vi. Tuy nhiên, thách thức lớn nằm ở việc điều chỉnh các thông số của PID sao cho phù hợp với từng môi trường hoạt động và yêu cầu cụ thể của hệ thống. Báo cáo này là thành quả của nhiều tháng học hỏi, nghiên cứu và thực hành, đồng thời là một dấu mốc quan trọng trong quá trình học tập của em. Em hy vọng rằng những kiến thức thu được từ đề tài này sẽ là nền tảng để tiếp tục khám phá và đóng góp cho lĩnh vực điều khiển tự động trong tương lai. Cuối cùng, em rất mong nhận được sự góp ý từ thầy để báo cáo này ngày càng hoàn thiện hơn. CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1. Sự cần thiết của đề tài. Việc nghiên cứu và ứng dụng PID (Proportional-Integral-Derivative) trong điều khiển động cơ cho robot là một đề tài vô cùng cần thiết trong bối cảnh phát triển công nghệ hiện nay. Hệ thống điều khiển PID không chỉ là một trong những phương pháp điều khiển phổ biến và được sử dụng rộng rãi nhất mà còn đóng vai trò quan trọng trong việc cải thiện hiệu suất của các hệ thống tự động, từ các thiết bị gia dụng đơn giản đến các hệ thống robot phức tạp trong công nghiệp. 1. Ứng dụng thực tế của PID trong công nghiệp và robot: Trong công nghiệp hiện đại, hệ thống điều khiển tự động đã trở thành một phần không thể thiếu, đảm bảo cho quá trình sản xuất diễn ra ổn định và hiệu quả. Điều khiển PID được sử dụng để điều chỉnh các yếu tố như nhiệt độ, áp suất, lưu lượng, và đặc biệt là điều khiển động cơ. Đối với robot, PID đóng vai trò điều khiển chính xác các chuyển động, từ việc duy trì tốc độ đến điều chỉnh vị trí của các cánh tay robot. Khả năng điều khiển ổn định của PID giúp robot thực hiện các nhiệm vụ phức tạp với độ chính xác cao mà không gây ra hiện tượng rung lắc hay dao động quá mức. 2. Hiệu quả trong việc tối ưu hóa hoạt động của hệ thống: Điều khiển PID có khả năng phản ứng nhanh với các thay đổi của hệ thống, từ đó đảm bảo rằng động cơ robot có thể thích ứng với các điều kiện môi trường khác nhau một cách nhanh chóng và chính xác. Ví dụ, khi một robot phải di chuyển trên địa hình gồ ghề hoặc gặp phải những cản trở bất ngờ, hệ thống PID có thể tự động điều chỉnh để đảm bảo rằng động cơ của robot hoạt động ổn định mà không bị mất điều khiển. Khả năng tự điều chỉnh này giúp tối ưu hóa hiệu suất của hệ thống robot, giảm thiểu năng lượng tiêu thụ và kéo dài tuổi thọ của các linh kiện cơ khí. 3. Học tập và nghiên cứu chuyên sâu về điều khiển tự động Đề tài "Ứng dụng PID điều khiển động cơ cho robot" còn mang lại giá trị giáo dục to lớn, giúp sinh viên hiểu rõ hơn về các nguyên lý cơ bản trong điều khiển tự động. Bằng cách nghiên cứu và ứng dụng thực tế, sinh viên không chỉ nắm vững lý thuyết mà còn có cơ hội thực hành, phát triển kỹ năng lập trình, mô phỏng và triển khai hệ thống trên phần cứng. Điều này giúp họ chuẩn bị tốt hơn cho công việc tương lai, nơi mà các hệ thống điều khiển tự động đang trở nên ngày càng quan trọng. 4. Đóng góp vào sự phát triển của công nghệ robot: Robot đang ngày càng trở nên thông minh hơn và được ứng dụng rộng rãi trong nhiều lĩnh vực từ sản xuất công nghiệp, y tế, nông nghiệp cho đến dịch vụ và quân sự. Sự phát triển của các hệ thống điều khiển như PID là một phần quan trọng trong việc cải tiến khả năng hoạt động của robot. Điều khiển PID không chỉ giúp robot hoạt động hiệu quả hơn mà còn tạo nền tảng cho việc nghiên cứu các phương pháp điều khiển tiên tiến hơn như điều khiển thích nghi (adaptive control) hay điều khiển dự báo mô hình (model predictive control). 5. Ứng dụng rộng rãi và linh hoạt PID có ưu điểm là dễ hiểu và dễ triển khai, khiến nó trở thành phương pháp điều khiển phổ biến nhất trong các hệ thống thực tế. PID có thể được ứng dụng không chỉ trong các hệ thống điều khiển động cơ mà còn trong nhiều lĩnh vực khác như điều khiển nhiệt độ, áp suất, lưu lượng, và thậm chí là các hệ thống tài chính hay quản lý sản xuất. Chính sự linh hoạt và khả năng ứng dụng rộng rãi này đã làm cho việc nghiên cứu và triển khai PID trở nên vô cùng cần thiết trong giáo dục kỹ thuật và khoa học. 6. Tiềm năng nghiên cứu và phát triển Ngoài việc áp dụng vào thực tiễn, việc nghiên cứu về điều khiển PID còn mở ra nhiều cơ hội phát triển các giải pháp tối ưu hơn. Các nghiên cứu có thể tập trung vào việc cải tiến các thuật toán PID, tích hợp với trí tuệ nhân tạo để tạo ra các hệ thống điều khiển thông minh hơn. Hơn nữa, với sự phát triển mạnh mẽ của các công nghệ như Internet of Things (IoT) và các hệ thống nhúng, việc tích hợp điều khiển PID vào các hệ thống phức tạp, kết nối đa chiều sẽ mở ra nhiều hướng nghiên cứu mới. Kết luận: Tóm lại, đề tài "Ứng dụng PID điều khiển động cơ cho robot" không chỉ cần thiết trong việc nâng cao hiểu biết và kỹ năng của sinh viên về điều khiển tự động, mà còn đóng góp vào sự phát triển chung của công nghệ robot và tự động hóa. Với sự phát triển nhanh chóng của công nghiệp 4.0 và xu hướng tự động hóa trong mọi lĩnh vực, việc nghiên cứu và ứng dụng PID sẽ tiếp tục giữ vai trò quan trọng trong cả hiện tại và tương lai. 1.2. Phạm vi nghiên cứu. 1) Nghiên cứu về lý thuyết điều khiển PID: Sinh viên sẽ nghiên cứu các nguyên lý cơ bản của PID, cách hoạt động của từng thành phần (P, I, D) và phương pháp tính toán các tham số PID (Kp, Ki, Kd) để tối ưu hóa hệ thống. 2) Mô hình hóa hệ thống động cơ của robot: Nghiên cứu về động cơ sử dụng cho robot, bao gồm các mô hình toán học mô tả động cơ và mối liên hệ giữa đầu vào (điện áp, dòng điện) và đầu ra (tốc độ, vị trí). 3) Thiết kế bộ điều khiển PID: Tính toán và thiết kế bộ điều khiển PID cho hệ thống động cơ của robot, bao gồm việc tối ưu hóa các tham số PID để đạt được hiệu suất tốt nhất (đáp ứng nhanh, ổn định, giảm thiểu dao động). 4) Mô phỏng hệ thống: Nghiên cứu và mô phỏng hoạt động của hệ thống điều khiển PID trong phần mềm như MATLAB/Simulink hoặc các công cụ mô phỏng khác để kiểm tra tính hiệu quả và sự ổn định của bộ điều khiển. 5) Triển khai trên phần cứng: Xây dựng hệ thống phần cứng bao gồm vi điều khiển (ví dụ: Arduino, Raspberry Pi) và các cảm biến, động cơ cho robot. Lập trình và triển khai bộ điều khiển PID trên phần cứng này để điều khiển động cơ của robot. 6) Thử nghiệm thực tế: Thực hiện các thí nghiệm trên mô hình robot thực tế, đánh giá hiệu suất của hệ thống điều khiển PID trong các điều kiện hoạt động khác nhau (ví dụ: thay đổi tải trọng, địa hình, môi trường). 7) Đánh giá và phân tích kết quả: Phân tích dữ liệu thử nghiệm để đánh giá độ chính xác, tính ổn định, và hiệu quả của hệ thống PID, so sánh với các phương pháp điều khiển khác (nếu có). 8) Hạn chế và cải tiến: Xác định các hạn chế của hệ thống và đề xuất các giải pháp cải tiến, bao gồm việc áp dụng các phương pháp điều khiển tiên tiến hơn hoặc tinh chỉnh các tham số của PID để nâng cao hiệu suất. Phạm vi nghiên cứu có thể mở rộng hoặc thu hẹp tùy thuộc vào yêu cầu cụ thể của đề tài, nhưng thường sẽ tập trung vào các khía cạnh lý thuyết, mô phỏng và triển khai thực tế của hệ thống điều khiển PID trong robot. 1.3. Cơ sở lý thuyết 1.3.1 Nguyên lý hoạt động của PID. PID (Proportional-Integral-Derivative) là một loại bộ điều khiển phản hồi được sử dụng phổ biến trong điều khiển tự động. Bộ điều khiển này hoạt động dựa trên việc điều chỉnh tín hiệu đầu vào của hệ thống dựa trên sự khác biệt giữa giá trị thực tế và giá trị mong muốn (hay còn gọi là sai số). Bộ điều khiển PID bao gồm ba thành phần chính: • Proportional (P): Thành phần tỷ lệ giúp điều chỉnh tín hiệu điều khiển dựa trên sai số hiện tại. Tỷ lệ càng lớn thì tín hiệu điều khiển càng mạnh, giúp hệ thống nhanh chóng giảm sai số. Tuy nhiên, chỉ điều khiển bằng P có thể dẫn đến tình trạng hệ thống không thể đạt giá trị mong muốn hoàn toàn (sai số dư). • Integral (I): Thành phần tích phân tính tổng sai số theo thời gian, từ đó loại bỏ sai số dư bằng cách tăng dần tín hiệu điều khiển khi có sai số kéo dài. Tuy nhiên, thành phần này cũng có thể làm cho hệ thống phản ứng chậm hơn và dễ gây dao động nếu không được điều chỉnh hợp lý. • Derivative (D): Thành phần vi phân dự đoán xu hướng thay đổi của sai số, giúp hệ thống giảm tốc độ thay đổi đột ngột của tín hiệu điều khiển, từ đó tăng cường độ ổn định. Thành phần này giúp giảm thiểu hiện tượng dao động và cải thiện hiệu suất điều khiển, nhưng cần được điều chỉnh cẩn thận để tránh làm tăng độ nhạy của hệ thống đối với nhiễu. Ba thành phần này hoạt động phối hợp để điều chỉnh tín hiệu điều khiển sao cho hệ thống có thể nhanh chóng đạt được giá trị mong muốn với độ ổn định cao và ít dao động. Quá trình điều chỉnh các tham số Kp (hệ số P), Ki (hệ số I), và Kd (hệ số D) đòi hỏi sự hiểu biết sâu về hệ thống cũng như các phương pháp tối ưu hóa phù hợp. 1.3.2 Tầm quan trọng của PID trong điều khiển động cơ robot. Trong các ứng dụng điều khiển động cơ robot, PID đóng vai trò vô cùng quan trọng do khả năng xử lý sai số hiệu quả và điều chỉnh tín hiệu liên tục. Các động cơ của robot thường yêu cầu sự chính xác cao trong việc điều khiển vị trí, tốc độ và lực để thực hiện các nhiệm vụ một cách chính xác và ổn định. Điều khiển PID cho phép các hệ thống này phản ứng nhanh chóng với các thay đổi trong môi trường, từ đó giúp robot thực hiện các hành động một cách chính xác, an toàn và hiệu quả. Ví dụ, trong các hệ thống robot di động, PID có thể giúp điều chỉnh tốc độ di chuyển, duy trì hướng đi, hoặc kiểm soát các động cơ liên quan đến việc điều hướng và tránh chướng ngại vật. Trong các robot công nghiệp, PID có thể điều khiển cánh tay robot để thực hiện các tác vụ như lắp ráp, hàn, hoặc cắt với độ chính xác cao. Nhờ khả năng điều chỉnh linh hoạt, PID trở thành phương pháp điều khiển được ưa chuộng trong nhiều loại robot khác nhau. 1.3.3 Phương pháp tính toán và tối ưu hóa các tham số PID. Một trong những thách thức lớn khi thiết kế hệ thống điều khiển PID là việc lựa chọn các tham số Kp, Ki, Kd sao cho phù hợp với đặc tính của hệ thống và đạt được hiệu 1.4 Tổng quan về Robot. Robot là các cỗ máy tự động được lập trình để thực hiện một loạt các nhiệm vụ mà trước đây chỉ con người mới có thể làm. Chúng có thể hoạt động trong nhiều lĩnh vực khác nhau, từ sản xuất công nghiệp đến y tế, giáo dục, và thậm chí là trong cuộc sống hàng ngày. Robot thường được thiết kế với các bộ phận cơ học để mô phỏng hoạt động của con người hoặc các sinh vật khác, bao gồm cánh tay, chân, và cảm biến. Các robot hiện đại có thể được điều khiển bởi các chương trình máy tính hoặc trí tuệ nhân tạo (AI), cho phép chúng tự động học hỏi và thích ứng với môi trường. Ứng dụng của robot trong sản xuất đã giúp tăng năng suất và độ chính xác, trong khi trong y tế, chúng có thể thực hiện các ca phẫu thuật tinh vi với độ chính xác cao hơn con người. Robot còn đang trở thành trợ thủ đắc lực trong việc giải quyết các vấn đề phức tạp, ví dụ như khám phá không gian hoặc xử lý các nhiệm vụ nguy hiểm mà con người khó có thể thực hiện. Sự phát triển của robot và trí tuệ nhân tạo đang dần thay đổi cách thức con người làm việc và tương tác với thế giới. Mục đích và ứng dụng của hệ thống • Điều khiển chính xác và ổn định: Mục tiêu chính của hệ thống điều khiển PID là đảm bảo động cơ của Robot hoạt động ổn định và chính xác theo yêu cầu đặt ra. PID giúp điều chỉnh tốc độ, vị trí, và mô-men xoắn của động cơ một cách hiệu quả, dựa trên sự phản hồi từ hệ thống. • Giảm thiểu sai số: PID giúp giảm thiểu sai số giữa giá trị thực tế và giá trị mong muốn bằng cách liên tục điều chỉnh các tín hiệu điều khiển. Việc tối ưu hóa các tham số P (tỷ lệ), I (tích phân) và D (đạo hàm) của bộ điều khiển giúp đạt được hiệu suất cao nhất. • Nâng cao hiệu quả hoạt động của Robot: Mục đích cuối cùng là cải thiện hiệu suất hoạt động của Robot, giúp nó thực hiện các nhiệm vụ phức tạp với tốc độ nhanh hơn và độ chính xác cao hơn, giảm thiểu sự can thiệp của con người. Thành phần chính của hệ thống • Máy tính: đây là thiết bị điều khiển cho Robot. • Vi điều khiển: truyền tín hiệu điều khiển cho Driver động cơ. • Driver động cơ: điều kiển động cơ. • Động cơ Servo: cơ cấu chấp hành của hệ thống. • Bánh xe Omni: Giúp robot di chuyển. 1.5 Tổng quan về vi điều khiển. Vi điều khiển (microcontroller) là một loại vi mạch tích hợp, được thiết kế để điều khiển các hoạt động và chức năng của các thiết bị điện tử. Chúng thường được sử dụng trong nhiều ứng dụng khác nhau, từ các sản phẩm tiêu dùng như điều khiển từ xa, máy tính cá nhân, điện thoại di động đến các ứng dụng công nghiệp như hệ thống tự động hóa, robot, và thiết bị y tế. • Trong đề tài này em sử dụng vi điều kiển Driver Smart PID đóng vai trò là vi điều khiển trung tâm. Hình 1.1: Vi điều khiển Driver Smart PID Một số thông tin về vi điều kiển: • Chạy động cơ công suất lớn tới 700W, điện áp điều khiển 24vDC. • Giao tiếp máy tính qua cổng com uart. • Đèn led báo trạng thái hoạt động. • Chạy PID vị trí theo chuẩn 1 xung và 1 hướng hỗ trợ t ần số lên tới 10mhz, ứng dụng làm máy CNC, với các thông sô Kp Kd Ki điều chỉnh được bằng giao diện máy tính. • Chạy PID vị trí theo chuẩn xung encoder AB hỗ trợ tần số lên tới 10mhz, ứng dụng làm cánh tay máy , với các thông sô Kp Kd Ki điều chỉnh được bằng giao diện máy tính. Các phạm vi ứng dụng: a. Làm các mô hình máy CNC. b. Cánh tay máy nhiều bậc tự do. c. Chế tạo robocon . d. Mô hình nghiên cứu khoa học. 1.2 Giới thiệu về Driver động cơ. Em sử dụng vi điều kiển Raspberry Pi Pico làm driver động cơ, để nhận tín hiệu dừ vi đều khiển chính cũng như điều động cơ của Robot. Hình 1.2: vi điều kiển Raspberry Pi Pico. Một số thông số kỹ thuật: • Điện áp cấp nguồn: 1.8~5.5VDC, cấp nguồn qua cổng USB / VBUS (5VDC) hoặc chân VSYS (1.8~5.5VDC). • Điện áp giao tiếp GPIO: TTL 1.8~3.3VDC. • 264kB SRAM, 2MB Flash memory • 26 chân GPIO. Hình 1.3: Các chân đấu nối của Raspberry Pi Pico. 1.3 Giới thiệt về động cơ. Trong đề tài lần này em chọn sử dụng động cơ Sevor. Hình 1.4: Động cơ Sevor. Động cơ Servo khả năng điều khiển và kiểm soát được mở rộng với nhiều phương thức khác nhau và nâng cao về độ chính xác: • Tốc độ quay (Speed). • Lực (Torque). • Vị trí (Position). Cấu Tạo Của Động Cơ Servo: Động cơ Servo được cấu tạo từ ba thành phần chính: • Stator : Phần quay thường sử dụng những nam châm vĩnh cửu có lực hút rất lớn bọc quanh trục • Roto : Phần tĩnh là tập hợp những vòng dây được gắn cố định trên lớp vỏ • Encoder. Hình 1.5: cấu tạo động cơ. Đặc điểm nổi bật: • Chịu được dòng điện lớn. • Thích hợp với những ứng dụng công nghiệp, ứng dụng trọng tải nặng. • Độ chính xác cao. • Vận hành êm ái. • Quán tính thấp. • Điều khiển phức tạp. 1.4 Giới thiệu về bánh xe Omni. Bánh xe Omni là một loại bánh xe đa hướng, có khả năng xoay 360 độ. Được thiết kế với cấu trúc vững chắc, phù hợp với môi trường khác nhau, loại bánh xe này được ứng dụng trong hệ thống băng chuyền bằng tay hoặc dây chuyền điện tử. Chẳng hạn như vận chuyển đường sắt, bàn xoay máy tính, bánh xe robot … Ngoài ra ưu điểm của bánh xe Omni là giá thành của nó vô cùng hợp lý. Hình 1.6: bánh xe Omni. Nguyên lý hoạt động: Khung xe robot đa hướng 3 bánh Omni sử dụng công nghệ bánh xe đa hướng để đạt được chuyển động đa chiều. Nó có thể chuyển động thẳng đứng và chuyển động ngang. Đặc tính cơ bản: • bánh xe Omni 58MM. • Chất liệu Nhôm và bánh vệ tinh làm bằng chất liệu cao su siêu bám đường tăng độ ma sát. • ông nghệ cắt gọn CNC tinh xảo đã cho ra bánh xe Omni đa hướng vô cùng đẹp và bền bỉ. 1.5 Giới thiệu về Arduino. Arduino là một nền tảng phát triển phần cứng mã nguồn mở được sử dụng để tạo ra các thiết bị điện tử và các ứng dụng IoT. Được phát triển từ năm 2003, Arduino là một công cụ hữu ích cho các nhà phát triển, sinh viên và những người có đam mê về công nghệ. Với sự đơn giản và dễ sử dụng, Arduino cho phép các nhà phát triển tạo ra các ứng dụng và thiết bị phức tạp một cách dễ dàng hơn bao giờ hết. Bằng cách sử dụng các module và board được thiết kế sẵn, người dùng có thể dễ dàng kết nối các thành phần với nhau để tạo ra các dự án điện tử đa dạng. Với sự phổ biến của Arduino, cộng đồng phát triển phần mềm ngày càng lớn, cung cấp nhiều thư viện và tài liệu hữu ích để giúp người dùng phát triển các ứng dụng và thiết bị của mình. Hình 1.7 Ngôn ngữ lập trình Arduino 1.6 Ngôn ngữ lập trình: Ngôn ngữ lập trình C và C++ là hai ngôn ngữ lập trình phổ biến và mạnh mẽ được sử dụng rộng rãi trong lĩnh vực phát triển phần mềm. Dưới đây là một sự giới thiệu về cả hai ngôn ngữ: * Ngôn ngữ lập trình C: • Lịch sử và xuất phát điểm: - Ngôn ngữ lập trình C được phát triển bởi Dennis Ritchie vào cuối những năm 1960 và đầu những năm 1970 tại Bell Labs. - C là một trong những ngôn ngữ đầu tiên được viết bằng ngôn ngữ máy (assembly) để tạo ra hệ điều hành UNIX. • Đặc điểm chính: - C là một ngôn ngữ lập trình thấp cấp (low-level) có sức mạnh và hiệu suất cao. - Nó cung cấp kiểm soát cao đối với phần cứng và bộ nhớ máy tính. - C được xem là một ngôn ngữ máy tính gần với phần cứng, do đó, nó thường được sử dụng trong việc phát triển hệ điều hành, trình điều khiển thiết bị, và các ứng dụng nhúng. • Ứng dụng: - Hệ điều hành: UNIX, Linux được viết bằng C. - Ứng dụng máy tính: C được sử dụng để viết ứng dụng desktop, ứng dụng hệ thống, và các ứng dụng dành cho game. - Công nghiệp: C thường được sử dụng trong lĩnh vực tự động hóa, điều khiển thiết bị, và IoT (Internet of Things). * Ngôn ngữ lập trình C++: • Lịch sử và xuất phát điểm: - C++ là một phần mở rộng của ngôn ngữ C, được phát triển bởi Bjarne Stroustrup vào cuối những năm 1970. - Nó ra đời với mục tiêu kết hợp tính đối tượng (object-oriented) vào C để tạo ra một ngôn ngữ lập trình mạnh mẽ hơn. - Đặc điểm chính: - C++ kế thừa tất cả các tính năng của C và bổ sung nhiều tính năng mới, chủ yếu là tính đối tượng. - Nó là một ngôn ngữ lập trình đa mô hình, có thể lập trình theo kiểu cấu trúc, đối tượng, và hàm. - C++ hỗ trợ quản lý bộ nhớ tự động thông qua hệ thống kiểm soát thùng rác (garbage collection). • Ứng dụng: - Phát triển phần mềm: C++ được sử dụng rộng rãi trong phát triển ứng dụng desktop, game, ứng dụng đa phương tiện, và phần mềm hệ thống. - Game development: Nhiều trò chơi video nổi tiếng được phát triển bằng C++, nhờ vào hiệu suất và tính năng đối tượng. - Công nghiệp: C++ được sử dụng trong phát triển phần mềm nhúng, điều khiển thiết bị, và hệ thống phức tạp. Cả C và C++ đều có cộng đồng lập trình mạnh mẽ, nhiều tài liệu học tập và cơ hội nghề nghiệp rộng lớn. Lựa chọn giữa hai ngôn ngữ này thường phụ thuộc vào dự án cụ thể, yêu cầu hiệu suất, và phong cách lập trình. Hình 1.8 Ngôn ngữ lập trình C và C++ 1.7 Phần mềm sử dụng: Arduino IDE là một phần mềm với một mã nguồn mở, được sử dụng chủ yếu để viết và biên dịch mã vào module Arduino. Nó bao gồm phần cứng và phần mềm. Phần cứng chứa đến 300,000 board mạch được thiết kế sẵn với các cảm biến, linh kiện. Phần mềm giúp bạn có thể sử dụng các cảm biến, linh kiện ấy của Arduino một cách linh hoạt phù hợp với mục đích sử dụng. Đây là một phần mềm Arduino chính thống, giúp cho việc biên dịch mã trở nên dễ dàng. Hình 1.9 Arduino IDE được sử dụng để viết và biên dịch mã vào module Arduino Arduino IDE sử dụng ngôn ngữ lập trình C/C++ rất phổ biến trong giới lập trình. Bất kỳ đoạn code nào của C/C++ thì Arduino IDE đều có thể nhận dạng, giúp các lập trình viên thuận tiện trong việc thiết kế chương trình lập cho các bo mạch Arduino. Arduino có một module quản lý bo mạch, nơi người dùng có thể chọn bo mạch mà họ muốn làm việc cùng và có thể thay đổi bo mạch thông qua Menu. Quá trình sửa đổi lựa chọn cũng liên tục tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệu sửa đổi đồng nhất với nhau. Bên cạnh đó, Arduino IDE cũng giúp bạn tìm ra lỗi từ code mà bạn viết, qua đó giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm sút. CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Yêu cầu xây dựng bài toán cho đồ án Thiết kế mô hình hệ thống điều kiển cho Robot, thiết kế hệ thống điều khiển PID phù hợp, và mô phỏng hệ thống để kiểm tra hiệu quả. Sau đó, triển khai hệ thống trên phần cứng, thử nghiệm trên robot thực tế, và đánh giá hiệu suất. Cuối cùng, cần phân tích kết quả và đề xuất cải tiến hệ thống. Sơ đồ khối: Hình 2.1 Sơ đồ khối hệ thống. - Máy Tính: đưa thông tin muốn điều khiển tới vi điều khiển. - Vi điều khiển: truyền yêu cầu của máy tính đến vi điều khiển trung tâm. - Vi điều kiển trung tâm: tính toán và truyền thông tin đến các Driver động cơ. - Driver động cơ: cập nhật tốc độ hiện tại của động cơ và so sánh với yêu cầu từ Vi điều khiển trung tâm để điều chỉnh tốc độ động cơ. - Động cơ: gửi tốc độ động cơ hiện tại về Driver động cơ. Sơ đồ bánh xe: Hình 2.2 Sơ đồ bánh xe 4 bánh xe của Robot sẽ được xếp chéo nhau thành hình dấu X như trên, và các bánh xe sẽ được đặt vuông góc với trục. Trong sơ đồ này chúng ta sẽ điều khiển theo cặp bánh xe 1-2 và bánh xe 3-4 để giúp Robot di chuyển. 2.2 Lưu đồ thuật toán.

Trang 1

LỜI NÓI ĐẦU

Trước khi em bắt đầu trình bày về dự án, em xin gửi lời tri ân chân thành đến thầyDương Hòa An đã dành thời gian, kiến thức, và sự hỗ trợ đáng quý để hướng dẫn emtrong suốt quá trình thực hiện đồ án đã giúp em hoàn thành đồ án thực tập chuyên nghành

với đề tài “Ứng dụng PID điều khiển động cơ cho Robot”.

Robot và các hệ thống tự động ngày càng trở nên phổ biến và quan trọng trong đờisống cũng như công nghiệp hiện đại Trong bối cảnh đó, việc nghiên cứu và ứng dụngcác phương pháp điều khiển hiệu quả, như PID, vào điều khiển động cơ cho Robot là mộtbước đi quan trọng nhằm cái thiện hiệu suất và độ chính xác của các hệ thống này

Đề tài “Ứng dụng PID điều khiển động cơ cho Robot” tập trung nghiên cứu cách

ứng dụng bộ điều khiển PID để tối ưu hóa hoạt động của động cơ trong Robot PID làmột phương pháp điều khiển phản hồi nổi tiếng, có khả năng điều chỉnh tín hiệu điềukhiển dựa trên sai lệch giữa giá trị thực và giá trị mong muốn Việc áp dụng PID khôngchỉ giúp hệ thống đạt được hiệu suất cao mà còn ổn định và giảm thiểu sự ảnh hưởng củacác yếu tố ngoại vi Tuy nhiên, thách thức lớn nằm ở việc điều chỉnh các thông số củaPID sao cho phù hợp với từng môi trường hoạt động và yêu cầu cụ thể của hệ thống

Báo cáo này là thành quả của nhiều tháng học hỏi, nghiên cứu và thực hành, đồngthời là một dấu mốc quan trọng trong quá trình học tập của em Em hy vọng rằng nhữngkiến thức thu được từ đề tài này sẽ là nền tảng để tiếp tục khám phá và đóng góp cho lĩnhvực điều khiển tự động trong tương lai

Cuối cùng, em rất mong nhận được sự góp ý từ thầy để báo cáo này ngày cànghoàn thiện hơn

Trang 2

CHƯƠNG I: CƠ SỞ LÝ THUYẾT

1.1 Sự cần thiết của đề tài.

Việc nghiên cứu và ứng dụng PID (Proportional-Integral-Derivative) trong điều khiển động cơ cho robot là một đề tài vô cùng cần thiết trong bối cảnh phát triển công nghệ hiện nay Hệ thống điều khiển PID không chỉ là một trong những phương pháp điều khiển phổ biến

và được sử dụng rộng rãi nhất mà còn đóng vai trò quan trọng trong việc cải thiện hiệu suất của các hệ thống tự động, từ các thiết bị gia dụng đơn giản đến các hệ thống robot phức tạp trong công nghiệp

1 Ứng dụng thực tế của PID trong công nghiệp và robot:

Trong công nghiệp hiện đại, hệ thống điều khiển tự động đã trở thành một phần không thể thiếu, đảm bảo cho quá trình sản xuất diễn ra ổn định và hiệu quả Điều khiển PID được sử dụng để điều chỉnh các yếu tố như nhiệt độ, áp suất, lưu lượng, và đặc biệt là điều khiển động cơ Đối với robot, PID đóng vai trò điều khiển chính xác các chuyển động, từ việc duy trì tốc độ đến điều chỉnh vị trí của các cánh tay robot Khả năng điều khiển ổn định của PID giúp robot thực hiện các nhiệm vụ phức tạp với

độ chính xác cao mà không gây ra hiện tượng rung lắc hay dao động quá mức

2 Hiệu quả trong việc tối ưu hóa hoạt động của hệ thống:

Điều khiển PID có khả năng phản ứng nhanh với các thay đổi của hệ thống, từ đó đảm bảo rằng động cơ robot có thể thích ứng với các điều kiện môi trường khác nhau một cách nhanh chóng và chính xác Ví dụ, khi một robot phải di chuyển trên địa hình

gồ ghề hoặc gặp phải những cản trở bất ngờ, hệ thống PID có thể tự động điều chỉnh

để đảm bảo rằng động cơ của robot hoạt động ổn định mà không bị mất điều khiển Khả năng tự điều chỉnh này giúp tối ưu hóa hiệu suất của hệ thống robot, giảm thiểu năng lượng tiêu thụ và kéo dài tuổi thọ của các linh kiện cơ khí

3 Học tập và nghiên cứu chuyên sâu về điều khiển tự động

Đề tài "Ứng dụng PID điều khiển động cơ cho robot" còn mang lại giá trị giáo dục

to lớn, giúp sinh viên hiểu rõ hơn về các nguyên lý cơ bản trong điều khiển tự động Bằng cách nghiên cứu và ứng dụng thực tế, sinh viên không chỉ nắm vững lý thuyết

mà còn có cơ hội thực hành, phát triển kỹ năng lập trình, mô phỏng và triển khai hệ thống trên phần cứng Điều này giúp họ chuẩn bị tốt hơn cho công việc tương lai, nơi

mà các hệ thống điều khiển tự động đang trở nên ngày càng quan trọng

4 Đóng góp vào sự phát triển của công nghệ robot:

Robot đang ngày càng trở nên thông minh hơn và được ứng dụng rộng rãi trong nhiều lĩnh vực từ sản xuất công nghiệp, y tế, nông nghiệp cho đến dịch vụ và quân sự

Sự phát triển của các hệ thống điều khiển như PID là một phần quan trọng trong việc cải tiến khả năng hoạt động của robot Điều khiển PID không chỉ giúp robot hoạt động

Trang 3

hiệu quả hơn mà còn tạo nền tảng cho việc nghiên cứu các phương pháp điều khiển tiên tiến hơn như điều khiển thích nghi (adaptive control) hay điều khiển dự báo mô hình (model predictive control).

5 Ứng dụng rộng rãi và linh hoạt

PID có ưu điểm là dễ hiểu và dễ triển khai, khiến nó trở thành phương pháp điều khiển phổ biến nhất trong các hệ thống thực tế PID có thể được ứng dụng không chỉ trong các hệ thống điều khiển động cơ mà còn trong nhiều lĩnh vực khác như điều khiển nhiệt độ, áp suất, lưu lượng, và thậm chí là các hệ thống tài chính hay quản lý sản xuất Chính sự linh hoạt và khả năng ứng dụng rộng rãi này đã làm cho việc

nghiên cứu và triển khai PID trở nên vô cùng cần thiết trong giáo dục kỹ thuật và khoahọc

6 Tiềm năng nghiên cứu và phát triển

Ngoài việc áp dụng vào thực tiễn, việc nghiên cứu về điều khiển PID còn mở ra nhiều cơ hội phát triển các giải pháp tối ưu hơn Các nghiên cứu có thể tập trung vào việc cải tiến các thuật toán PID, tích hợp với trí tuệ nhân tạo để tạo ra các hệ thống điều khiển thông minh hơn Hơn nữa, với sự phát triển mạnh mẽ của các công nghệ như Internet of Things (IoT) và các hệ thống nhúng, việc tích hợp điều khiển PID vào các hệ thống phức tạp, kết nối đa chiều sẽ mở ra nhiều hướng nghiên cứu mới

Kết luận:

Tóm lại, đề tài "Ứng dụng PID điều khiển động cơ cho robot" không chỉ cần thiết trong việc nâng cao hiểu biết và kỹ năng của sinh viên về điều khiển tự động, mà còn đóng góp vào sự phát triển chung của công nghệ robot và tự động hóa Với sự phát triển nhanh chóng của công nghiệp 4.0 và xu hướng tự động hóa trong mọi lĩnh vực, việc nghiên cứu và ứng dụng PID sẽ tiếp tục giữ vai trò quan trọng trong cả hiện tại vàtương lai

1.2 Phạm vi nghiên cứu.

1) Nghiên cứu về lý thuyết điều khiển PID: Sinh viên sẽ nghiên cứu các nguyên

lý cơ bản của PID, cách hoạt động của từng thành phần (P, I, D) và phương pháp tính toán các tham số PID (Kp, Ki, Kd) để tối ưu hóa hệ thống

2) Mô hình hóa hệ thống động cơ của robot: Nghiên cứu về động cơ sử dụng

cho robot, bao gồm các mô hình toán học mô tả động cơ và mối liên hệ giữa đầu vào (điện áp, dòng điện) và đầu ra (tốc độ, vị trí)

3) Thiết kế bộ điều khiển PID: Tính toán và thiết kế bộ điều khiển PID cho hệ

thống động cơ của robot, bao gồm việc tối ưu hóa các tham số PID để đạt đượchiệu suất tốt nhất (đáp ứng nhanh, ổn định, giảm thiểu dao động)

4) Mô phỏng hệ thống: Nghiên cứu và mô phỏng hoạt động của hệ thống điều

khiển PID trong phần mềm như MATLAB/Simulink hoặc các công cụ mô phỏng khác để kiểm tra tính hiệu quả và sự ổn định của bộ điều khiển

5) Triển khai trên phần cứng: Xây dựng hệ thống phần cứng bao gồm vi điều

khiển (ví dụ: Arduino, Raspberry Pi) và các cảm biến, động cơ cho robot Lập

Trang 4

trình và triển khai bộ điều khiển PID trên phần cứng này để điều khiển động cơcủa robot.

6) Thử nghiệm thực tế: Thực hiện các thí nghiệm trên mô hình robot thực tế,

đánh giá hiệu suất của hệ thống điều khiển PID trong các điều kiện hoạt động khác nhau (ví dụ: thay đổi tải trọng, địa hình, môi trường)

7) Đánh giá và phân tích kết quả: Phân tích dữ liệu thử nghiệm để đánh giá độ

chính xác, tính ổn định, và hiệu quả của hệ thống PID, so sánh với các phương pháp điều khiển khác (nếu có)

8) Hạn chế và cải tiến: Xác định các hạn chế của hệ thống và đề xuất các giải

pháp cải tiến, bao gồm việc áp dụng các phương pháp điều khiển tiên tiến hơn hoặc tinh chỉnh các tham số của PID để nâng cao hiệu suất

Phạm vi nghiên cứu có thể mở rộng hoặc thu hẹp tùy thuộc vào yêu cầu cụ thể của đề tài, nhưng thường sẽ tập trung vào các khía cạnh lý thuyết, mô phỏng và triển khai thực tế của hệ thống điều khiển PID trong robot

1.3 Cơ sở lý thuyết

1.3.1 Nguyên lý hoạt động của PID.

PID (Proportional-Integral-Derivative) là một loại bộ điều khiển phản hồi được sử dụng phổ biến trong điều khiển tự động Bộ điều khiển này hoạt động dựa trên việc điều chỉnh tín hiệu đầu vào của hệ thống dựa trên sự khác biệt giữa giá trị thực tế và giá trị mong muốn (hay còn gọi là sai số) Bộ điều khiển PID bao gồm ba thành phần chính:

 Proportional (P): Thành phần tỷ lệ giúp điều chỉnh tín hiệu điều khiển dựa trên

sai số hiện tại Tỷ lệ càng lớn thì tín hiệu điều khiển càng mạnh, giúp hệ thống nhanh chóng giảm sai số Tuy nhiên, chỉ điều khiển bằng P có thể dẫn đến tình trạng hệ thống không thể đạt giá trị mong muốn hoàn toàn (sai số dư)

 Integral (I): Thành phần tích phân tính tổng sai số theo thời gian, từ đó loại bỏ

sai số dư bằng cách tăng dần tín hiệu điều khiển khi có sai số kéo dài Tuy nhiên, thành phần này cũng có thể làm cho hệ thống phản ứng chậm hơn và dễ gây dao động nếu không được điều chỉnh hợp lý

 Derivative (D): Thành phần vi phân dự đoán xu hướng thay đổi của sai số, giúp

hệ thống giảm tốc độ thay đổi đột ngột của tín hiệu điều khiển, từ đó tăng cường độ ổn định Thành phần này giúp giảm thiểu hiện tượng dao động và cải thiện hiệu suất điều khiển, nhưng cần được điều chỉnh cẩn thận để tránh làm tăng độ nhạy của hệ thống đối với nhiễu

Ba thành phần này hoạt động phối hợp để điều chỉnh tín hiệu điều khiển sao cho hệ thống có thể nhanh chóng đạt được giá trị mong muốn với độ ổn định cao và ít dao động Quá trình điều chỉnh các tham số Kp (hệ số P), Ki (hệ số I), và Kd (hệ số D) đòi hỏi sự hiểu biết sâu về hệ thống cũng như các phương pháp tối ưu hóa phù hợp

1.3.2 Tầm quan trọng của PID trong điều khiển động cơ robot.

Trang 5

Trong các ứng dụng điều khiển động cơ robot, PID đóng vai trò vô cùng quan trọng dokhả năng xử lý sai số hiệu quả và điều chỉnh tín hiệu liên tục Các động cơ của robot thường yêu cầu sự chính xác cao trong việc điều khiển vị trí, tốc độ và lực để thực hiệncác nhiệm vụ một cách chính xác và ổn định Điều khiển PID cho phép các hệ thống này phản ứng nhanh chóng với các thay đổi trong môi trường, từ đó giúp robot thực hiện các hành động một cách chính xác, an toàn và hiệu quả.

Ví dụ, trong các hệ thống robot di động, PID có thể giúp điều chỉnh tốc độ di chuyển, duy trì hướng đi, hoặc kiểm soát các động cơ liên quan đến việc điều hướng và tránh chướng ngại vật Trong các robot công nghiệp, PID có thể điều khiển cánh tay robot đểthực hiện các tác vụ như lắp ráp, hàn, hoặc cắt với độ chính xác cao Nhờ khả năng điều chỉnh linh hoạt, PID trở thành phương pháp điều khiển được ưa chuộng trong nhiều loại robot khác nhau

1.3.3 Phương pháp tính toán và tối ưu hóa các tham số PID.

Một trong những thách thức lớn khi thiết kế hệ thống điều khiển PID là việc lựa chọn các tham số Kp, Ki, Kd sao cho phù hợp với đặc tính của hệ thống và đạt được hiệu

1.4 Tổng quan về Robot.

Robot là các cỗ máy tự động được lập trình để thực hiện một loạt các nhiệm vụ mà trước đây chỉ con người mới có thể làm Chúng có thể hoạt động trong nhiều lĩnh vực khác nhau, từ sản xuất công nghiệp đến y tế, giáo dục, và thậm chí là trong cuộc sống hàng ngày Robot thường được thiết kế với các bộ phận cơ học để mô phỏng hoạt độngcủa con người hoặc các sinh vật khác, bao gồm cánh tay, chân, và cảm biến Các robot hiện đại có thể được điều khiển bởi các chương trình máy tính hoặc trí tuệ nhân tạo (AI), cho phép chúng tự động học hỏi và thích ứng với môi trường Ứng dụng của robot trong sản xuất đã giúp tăng năng suất và độ chính xác, trong khi trong y tế, chúng có thể thực hiện các ca phẫu thuật tinh vi với độ chính xác cao hơn con người Robot còn đang trở thành trợ thủ đắc lực trong việc giải quyết các vấn đề phức tạp, ví

dụ như khám phá không gian hoặc xử lý các nhiệm vụ nguy hiểm mà con người khó

có thể thực hiện Sự phát triển của robot và trí tuệ nhân tạo đang dần thay đổi cách thức con người làm việc và tương tác với thế giới

Mục đích và ứng dụng của hệ thống

 Điều khiển chính xác và ổn định: Mục tiêu chính của hệ thống điều khiển PID

là đảm bảo động cơ của Robot hoạt động ổn định và chính xác theo yêu cầu đặt

ra PID giúp điều chỉnh tốc độ, vị trí, và mô-men xoắn của động cơ một cách hiệu quả, dựa trên sự phản hồi từ hệ thống

 Giảm thiểu sai số: PID giúp giảm thiểu sai số giữa giá trị thực tế và giá trị mong

Trang 6

tham số P (tỷ lệ), I (tích phân) và D (đạo hàm) của bộ điều khiển giúp đạt được hiệu suất cao nhất.

 Nâng cao hiệu quả hoạt động của Robot: Mục đích cuối cùng là cải thiện hiệu suất hoạt động của Robot, giúp nó thực hiện các nhiệm vụ phức tạp với tốc độ nhanh hơn và độ chính xác cao hơn, giảm thiểu sự can thiệp của con người

Thành phần chính của hệ thống

 Máy tính: đây là thiết bị điều khiển cho Robot

 Vi điều khiển: truyền tín hiệu điều khiển cho Driver động cơ

 Driver động cơ: điều kiển động cơ

 Động cơ Servo: cơ cấu chấp hành của hệ thống

 Bánh xe Omni: Giúp robot di chuyển

1.5 Tổng quan về vi điều khiển.

Vi điều khiển (microcontroller) là một loại vi mạch tích hợp, được thiết kế để điều khiển các hoạt động và chức năng của các thiết bị điện tử Chúng thường được sử dụngtrong nhiều ứng dụng khác nhau, từ các sản phẩm tiêu dùng như điều khiển từ xa, máy tính cá nhân, điện thoại di động đến các ứng dụng công nghiệp như hệ thống tự động hóa, robot, và thiết bị y tế

 Trong đề tài này em sử dụng vi điều kiển Driver Smart PID đóng vai trò là vi điều khiển trung tâm

Hình 1.1: Vi điều khiển Driver Smart PID

Một số thông tin về vi điều kiển:

• Chạy động cơ công suất lớn tới 700W, điện áp điều khiển 24vDC

• Giao tiếp máy tính qua cổng com uart

• Đèn led báo trạng thái hoạt động

• Chạy PID vị trí theo chuẩn 1 xung và 1 hướng hỗ trợ t ần số lên tới 10mhz, ứng dụng làm máy CNC, với các thông sô Kp Kd Ki điều chỉnh được bằng giao diện máy tính

• Chạy PID vị trí theo chuẩn xung encoder AB hỗ trợ tần số lên tới 10mhz, ứng dụng làm cánh tay máy , với các thông sô Kp Kd Ki điều chỉnh được bằng giao diện máy tính

Các phạm vi ứng dụng:

Trang 7

a Làm các mô hình máy CNC.

b Cánh tay máy nhiều bậc tự do

c Chế tạo robocon

d Mô hình nghiên cứu khoa học

1.2 Giới thiệu về Driver động cơ.

Em sử dụng vi điều kiển Raspberry Pi Pico làm driver động cơ, để nhận tín hiệu

dừ vi đều khiển chính cũng như điều động cơ của Robot

Hình 1.2: vi điều kiển Raspberry Pi Pico.

Một số thông số kỹ thuật:

 Điện áp cấp nguồn: 1.8~5.5VDC, cấp nguồn qua cổng USB / VBUS (5VDC) hoặc chân VSYS (1.8~5.5VDC)

 Điện áp giao tiếp GPIO:  TTL 1.8~3.3VDC

 264kB SRAM, 2MB Flash memory

 26 chân GPIO

Trang 8

Hình 1.3: Các chân đấu nối của Raspberry Pi Pico.

1.3 Giới thiệt về động cơ.

Trong đề tài lần này em chọn sử dụng động cơ Sevor

Cấu Tạo Của Động Cơ Servo:

  Động cơ Servo được cấu tạo từ ba thành phần chính:

 Stator : Phần quay thường sử dụng những nam châm vĩnh cửu có lực hút rất lớnbọc quanh trục

 Roto : Phần tĩnh là tập hợp những vòng dây được gắn cố định trên lớp vỏ

 Encoder

Hình 1.5: cấu tạo động cơ.

 Đặc điểm nổi bật:

 Chịu được dòng điện lớn

 Thích hợp với những ứng dụng công nghiệp, ứng dụng trọng tải nặng

 Độ chính xác cao

 Vận hành êm ái

 Quán tính thấp

 Điều khiển phức tạp

Trang 9

1.4 Giới thiệu về bánh xe Omni.

Bánh xe Omni là một loại bánh xe đa hướng, có khả năng xoay 360 độ Được thiết kế

với cấu trúc vững chắc, phù hợp với môi trường khác nhau, loại bánh xe này được ứngdụng trong hệ thống băng chuyền bằng tay hoặc dây chuyền điện tử Chẳng hạn như vận chuyển đường sắt, bàn xoay máy tính, bánh xe robot … Ngoài ra ưu điểm

của bánh xe Omni là giá thành của nó vô cùng hợp lý.

Hình 1.6: bánh xe Omni.

Nguyên lý hoạt động: Khung xe robot đa hướng 3 bánh Omni sử dụng công nghệ

bánh xe đa hướng để đạt được chuyển động đa chiều Nó có thể chuyển động thẳng đứng và chuyển động ngang

1.5 Giới thiệu về Arduino.

Arduino là một nền tảng phát triển phần cứng mã nguồn mở được sử dụng để tạo ra các thiết bị điện tử và các ứng dụng IoT Được phát triển từ năm 2003, Arduino là một công cụ hữu ích cho các nhà phát triển, sinh viên và những người có đam mê về công nghệ Với sự đơn giản và dễ sử dụng, Arduino cho phép các nhà phát triển tạo ra các ứng dụng và thiết bị phức tạp một cách dễ dàng hơn bao giờ hết Bằng cách sử dụng các module và board được thiết kế sẵn, người dùng có thể dễ dàng kết nối các thành phần với nhau để tạo ra các dự án điện tử đa dạng

Với sự phổ biến của Arduino, cộng đồng phát triển phần mềm ngày càng lớn, cung cấpnhiều thư viện và tài liệu hữu ích để giúp người dùng phát triển các ứng dụng và thiết

bị của mình

Trang 10

Hình 1.7 Ngôn ngữ lập trình Arduino

1.6 Ngôn ngữ lập trình:

Ngôn ngữ lập trình C và C++ là hai ngôn ngữ lập trình phổ biến và mạnh mẽ được

sử dụng rộng rãi trong lĩnh vực phát triển phần mềm Dưới đây là một sự giới thiệu về cảhai ngôn ngữ:

* Ngôn ngữ lập trình C:

 Lịch sử và xuất phát điểm:

- Ngôn ngữ lập trình C được phát triển bởi Dennis Ritchie vào cuối những năm

1960 và đầu những năm 1970 tại Bell Labs

- C là một trong những ngôn ngữ đầu tiên được viết bằng ngôn ngữ máy (assembly)

để tạo ra hệ điều hành UNIX

 Đặc điểm chính:

- C là một ngôn ngữ lập trình thấp cấp (low-level) có sức mạnh và hiệu suất cao

- Nó cung cấp kiểm soát cao đối với phần cứng và bộ nhớ máy tính

- C được xem là một ngôn ngữ máy tính gần với phần cứng, do đó, nó thường được

sử dụng trong việc phát triển hệ điều hành, trình điều khiển thiết bị, và các ứngdụng nhúng

 Ứng dụng:

- Hệ điều hành: UNIX, Linux được viết bằng C

- Ứng dụng máy tính: C được sử dụng để viết ứng dụng desktop, ứng dụng hệthống, và các ứng dụng dành cho game

- Công nghiệp: C thường được sử dụng trong lĩnh vực tự động hóa, điều khiển thiết

bị, và IoT (Internet of Things)

* Ngôn ngữ lập trình C++:

Trang 12

Hình 1.8 Ngôn ngữ lập trình C và C++

1.7 Phần mềm sử dụng:

Arduino IDE là một phần mềm với một mã nguồn mở, được sử dụng chủ yếu đểviết và biên dịch mã vào module Arduino Nó bao gồm phần cứng và phần mềm Phầncứng chứa đến 300,000 board mạch được thiết kế sẵn với các cảm biến, linh kiện Phầnmềm giúp bạn có thể sử dụng các cảm biến, linh kiện ấy của Arduino một cách linh hoạtphù hợp với mục đích sử dụng Đây là một phần mềm Arduino chính thống, giúp choviệc biên dịch mã trở nên dễ dàng

Hình 1.9 Arduino IDE được sử dụng để viết và biên dịch mã vào module Arduino

Arduino IDE sử dụng ngôn ngữ lập trình C/C++ rất phổ biến trong giới lập trình.Bất kỳ đoạn code nào của C/C++ thì Arduino IDE đều có thể nhận dạng, giúp các lậptrình viên thuận tiện trong việc thiết kế chương trình lập cho các bo mạch Arduino

Arduino có một module quản lý bo mạch, nơi người dùng có thể chọn bo mạch mà họ muốn làm việc cùng và có thể thay đổi bo mạch thông qua Menu Quá trình sửa đổi lựa chọn cũng liên tục tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệusửa đổi đồng nhất với nhau Bên cạnh đó, Arduino IDE cũng giúp bạn tìm ra lỗi từ code mà bạn viết, qua đó giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm sút

Trang 13

CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Yêu cầu xây dựng bài toán cho đồ án

Thiết kế mô hình hệ thống điều kiển cho Robot, thiết kế hệ thống điều khiển PIDphù hợp, và mô phỏng hệ thống để kiểm tra hiệu quả Sau đó, triển khai hệ thống trênphần cứng, thử nghiệm trên robot thực tế, và đánh giá hiệu suất Cuối cùng, cần phân tíchkết quả và đề xuất cải tiến hệ thống

Sơ đồ khối:

Trang 14

Hình 2.1 Sơ đồ khối hệ thống.

- Máy Tính: đưa thông tin muốn điều khiển tới vi điều khiển

- Vi điều khiển: truyền yêu cầu của máy tính đến vi điều khiển trung tâm

- Vi điều kiển trung tâm: tính toán và truyền thông tin đến các Driver động cơ

- Driver động cơ: cập nhật tốc độ hiện tại của động cơ và so sánh với yêu cầu từ

Vi điều khiển trung tâm để điều chỉnh tốc độ động cơ

- Động cơ: gửi tốc độ động cơ hiện tại về Driver động cơ

Sơ đồ bánh xe:

Hình 2.2 Sơ đồ bánh xe

Trang 15

4 bánh xe của Robot sẽ được xếp chéo nhau thành hình dấu X như trên, và các bánh xe sẽ được đặt vuông góc với trục Trong sơ đồ này chúng ta sẽ điều khiển theo cặp bánh xe 1-2 và bánh xe 3-4 để giúp Robot di chuyển.

2.2 Lưu đồ thuận toán.

Hình 2.3 Lưu đồ thuận toán.

Chương trình này sẽ truyền tín hiệu của máy tính tới vi điều khiển thì vi điều kiển sẽ giao tiếp với vi điều khiển trung tâm bằng I2C, vi điều khiển sẽ truyền tín hiệu điều khiển sang cho vi điều khiển trung tâm lần lượt từng 4 bytes Vi điều khiển trung tâm

sẽ sử lý tín hiệu điều khiển để truyền yêu cầu tốc độ tới driver động cơ Driver động cơ

sẽ điều khiển tốc độ động cơ theo yêu cầu nhận từ vi điều khiển trung tâm Encoder trong động cơ sẽ đo tốc độ hiện tại của động cơ và truyền tín hiệu về cho Driver động cơ

Trang 16

1 Khai báo CODE động cơ.

#ifndef DONGCO_PI

#define DONGCO_PI

#define pprDc 388 // xung trên vòng

#define vanToc 10

#define ppr 2270 // xung trên vòng

#define ppm 1350 // xung trên met

#define minTimer 700 // max speed

#define maxTimer 3000 // min speed

#define timeTangoc 3000 // >1000

#define soLantang 5 // (maxTimer-minTimer)/100

#define time1lantang timeTangoc / soLantang

Ngày đăng: 27/11/2024, 09:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w