Điều Khiển Vị Trí Dc Servo, Hướng Dẫn Điều Khiển Động Cơ Servo

Một một trong những vấn đề từng làm chống mặt tổ lập trình robot trong những năm qua là robot chạy bất ổn định, vừa new lập trình chạy được khi chạy thêm 1 vòng nữa thì lại bị lỗi, khi Pin đầy robot chạy xuất sắc , pin sạc yếu một ít thì lại chạy sai. Vấn đề dừng trên một vị trí chính xác nào đấy trên sân cũng rất quan trọng, mặc dù robot lại khi thì dừng khu vực này, thời gian lại dừng dừng chỗ kia.

Bạn đang xem: Điều khiển vị trí dc servo


Sau nhiều nghiên cứu và phân tích một giải pháp đã được kiếm tìm ra, chính là bộ điều khiển và tinh chỉnh động cơ dùng lời giải PID. Kỹ thuật điều khiển PID tuy không phải là một kỹ thuật điều khiển và tinh chỉnh mới, mà lại lại là kỹ thuật thông dụng nhất chuyên dùng làm điều khiển các hệ thống trong công nghiệp như hệ thống lò nhiệt, điều khiển và tinh chỉnh tốc độ, vị trí, moment hộp động cơ AC và DC. Trong những lý bởi bộ tinh chỉnh PID trở nên phổ biến như vậy là do tính solo giản, dễ thực thi trên những vi xử lý nhỏ dại với hiệu năng đo lường và tính toán hạn chế.

Cấu trúc tầm thường của khối hệ thống vòng bí mật như sau:

*

Hình 1: cấu trúc chung của khối hệ thống điều khiển vòng kín

Trong hình mẫu vẽ trên:

- Plant: là hệ thống cần được điều khiển

- Controller: cung cấp tín hiệu tinh chỉnh và điều khiển cho Plant, được thiết kế theo phong cách để điều khiển toàn bộ đáp ứng của hệ thống.

Hàm truyền của bộ điều khiển và tinh chỉnh PID có dạng như sau:

*

Trong đó:

- KP: Độ lợi khâu tỷ lệ

- KI: Độ lợi khâu tích phân

-KD: Độ lợi khâu vi phân

Biến số (e) thay mặt đại diện cho không đúng số giữa giá bán trị mong muốn (R) và cực hiếm ngõ ra (Y). Không đúng số này (e) vẫn được mang lại bộ điều khiển và tinh chỉnh PID, với bộ tinh chỉnh và điều khiển này sẽ đo lường và tính toán cả vi phân cùng tích phân của biểu đạt sai số này. Biểu thị (u) sẽ có giá trị như sau:

*

Tín hiệu (u) sẽ tiến hành đưa đến đối tượng người sử dụng điều khiển với ta vẫn thu được một biểu đạt (Y) mới. Biểu đạt này đã lại được chuyển đến cảm biến để đo lường và tính toán ra không nên số bắt đầu (e). Bộ tinh chỉnh lại đo lường và tính toán các quý giá vi phân, tích phân của không nên số này. Quy trình cứ ráng lặp đi lặp lại.

Đặc tính của bộ điều khiển P, I với D: cỗ điều khiển tỷ lệ (KP) có công dụng làm giảm thời hạn lên cùng sẽ có tác dụng giảm, nhưng lại không triệt tiêu, sai số sinh hoạt trạng thái xác lập (steady- state error).

Bộ tinh chỉnh và điều khiển tích phân (KI) sẽ triệt tiêu không nên số nghỉ ngơi trạng thái xác lập, cơ mà lại rất có thể làm giảm unique của thỏa mãn nhu cầu quá độ.

Bộ điều khiển và tinh chỉnh vi phân (KD) vẫn làm tăng cường độ ổn định của hệ thống, bớt độ vọt lố và tăng chất lượng đáp ứng thừa độ.

Tác động của từng bộ tinh chỉnh và điều khiển KP, KI, KD được trình bày trong bảng sau:

Thời gian lên

Độ vọt lố

Thời gian

quá độ

Sai số xác lập

KP

Giảm

Tăng

Thay thay đổi nhỏ

Tăng

KI

Giảm

Tăng

Tăng

Triệt tiêu

KD

Thay thay đổi nhỏ

Giảm

Giảm

Thay thay đổi nhỏ

Cần chú ý rằng vào bộ tinh chỉnh PID, sự những tác hễ này rất có thể không thiết yếu xác, vì KP, KI và KD phụ thuộc vào lẫn nhau. Thực ra, chuyển đổi một vào các thông số này hoàn toàn có thể làm biến đổi tác đụng của hai thông số kỹ thuật còn lại.

Chỉnh định bộ tinh chỉnh PID bằng cách thức Zeigler – Nichols: Ban đầu, đặt toàn bộ các độ lợi KP, KI, KD bởi 0. Sau đó tăng KP lên cho đến khi đã có được giá trị độ lợi Ku, là độ lợi mà ở kia ngõ ra của hệ thống ban đầu dao đụng với biên độ không đổi. Ku và chu kỳ xấp xỉ Tu được sử dụng để đo lường và thống kê các độ lợi KP, KI, KD nhờ vào công thức sau.

Bộ điều khiển

KP

KI

KD

P

Ku/2

-

-

PI

Ku/2.2

Tu/1.2

-

PID

Ku/1.7

Tu/2

Tu/8


Driver PID cho bộ động cơ DC:

*

Hình 2: Sơ đồ gia dụng khối phần cứng

Trong mạch điều khiển này, vi tinh chỉnh và điều khiển đóng vai trò quan trọng đặc biệt nhất. Nó nhận tín hiệu điều khiển và tinh chỉnh từ main board, dấu hiệu hồi tiếp từ đụng cơ thông qua incremental encoder để giám sát ra quý giá PWM cần thiết xuất ra cho bộ khuếch đại công suất tinh chỉnh và điều khiển động cơ đạt tốc độ/vị trí ước ao muốn. Như đang nói nghỉ ngơi trên, PID là thuật toán tinh chỉnh và điều khiển khá solo giản, bởi vì đó, ta rất có thể sử dụng những vi điều khiển và tinh chỉnh từ dòng 8bit (8051, AVR, PIC16, PIC18) đến các dòng cao cấp hơn như loại 16bit (ds
PIC, PIC24) hoặc 32bit (ARM, PIC 32bit, AVR 32bit).

Incremental encoder cũng là phần tử không thể thiếu trong hệ thống, nó cung cấp tin về trạng thái bây giờ của hệ thống cho vi điều khiển. Encoder gồm độ phân giải càng cao thì cho chất lượng điều khiển càng tốt. Tuy nhiên, encoder có độ sắc nét cao thì cũng yêu cầu kỹ năng xử lý của vi tinh chỉnh và điều khiển cao hơn.

Khối năng suất nhằm cung cấp điện áp đúng mực điều khiển đụng cơ vận động dựa trên bài toán xử lý, tính toán của vi điều khiển. Phụ thuộc vào công suất của bộ động cơ cần tinh chỉnh và điều khiển mà ta đề nghị thiết khối này đến phù hợp.

Có nhiều cách thức điều khiển hộp động cơ servo cùng tính năng đa số của bọn chúng là kĩ năng điều khiển một cách đúng mực vị trí của trục. Động cơ servo được coi là một khối hệ thống vòng kín, trong số đó sử dụng biện pháp phản hồi vị trí để hoàn toàn có thể điều khiển vận động của đồ đạc và vậy được vị trí ở đầu cuối của nó.


1. Quan niệm motor servo là gì?

Trong công nghiệp, bộ động cơ servo motor chính là loại cảm ứng phản hồi đúng chuẩn về vị trí. Vày đó, khi điều khiển động cơ servo thường là 1 trong những bộ code được mã hóa bao gồm độ chính xác cao. Trong khi đó, ở những động cơ RC hoặc motor nhỏ hơn, cảm biến vị trí hay được dùng là một phân tách áp rất đối chọi giản.

Vị trí thực tế đã được tra cứu thấy bởi những thiết bị điều khiển này sẽ được đưa quay lại bộ phát hiện lỗi nơi mà nó được so sánh so với vị trí đích. Sau đó, theo những lỗi, bộ tinh chỉnh sẽ sửa vị trí thực tiễn của rượu cồn cơ để cho nó khớp với địa điểm đích.

*

Động cơ servo motor bao gồm là cảm biến phản hồi đúng mực về vị trí

Động cơ thường sử dụng bộ truyền rượu cồn có kích cỡ nhỏ, bọn chúng được áp dụng để thực hành điều khiển xe ô tô, tàu thuyền, lắp thêm bay,... Chúng cũng được áp dụng bởi các sinh viên siêng ngành kỹ thuật dùng để chế tạo robot, tạo ra cánh tay của robot, robot lấy cảm giác từ nguyên vật liệu sinh học, robot hình người,...

2. Nguyên tắc tinh chỉnh động cơ DC servo

Bên vào một hộp động cơ servo cổ điển sẽ tất cả 4 yếu tắc chính, đó là hộp động cơ DC, vỏ hộp số, nhỏ biến trở cũng tương tự mạch điều khiển. Động cơ DC có tốc độ tương đối cao và mô men xoắn thấp, nhưng đồng thời vỏ hộp số lại giảm tốc độ xuống còn khoảng tầm 60 vòng/ phút, đồng thời tăng thêm mô men xoắn lên.

Chiết áp sẽ tiến hành gắn trên bánh răng sau cuối hoặc bên trên trục đầu ra output của nó, cho nên vì thế động cơ cũng quay theo phân tách áp.Từ đó, tạo nên một năng lượng điện áp liên quan không nhỏ đến góc tuyệt đối của mẫu trục đầu ra.

Trong mạch điều khiển, điện áp của cục chiết áp này được đem đối chiếu với năng lượng điện áp đến từ ngay đường tín hiệu. Trường hợp cần, bộ tinh chỉnh và điều khiển này sẽ kích hoạt mạch mong H nhằm mục tiêu tích hợp cho phép động cơ của sản phẩm quay theo 2 hướng cho tới khi cả hai tín hiệu có được mức chênh lệch giữa chúng bởi không.

Một bộ động cơ servo thông thường được điều khiển bằng cách gửi 1 loạt những xung chạy qua con đường tín hiệu. Tần số của biểu đạt của điều khiển lúc này phải là 50Hz hoặc 1 chu kỳ xung được xem là 20ms. Độ rộng của xung nhằm mục đích giúp xác xác định trí góc của servo cũng tương tự các loại servo này thường có thể xoay được cho tới 180 độ (chúng có giới hạn vật lý mọi khi di chuyển).

Xem thêm: Access Denied - Chụp Ảnh Hàn Quốc

Nói chung, các xung đã đạt được tại 1ms tương xứng với vị trí là 0 độ và 1,5ms 90 độ cùng 2ms 180 độ. Tuy vậy thời gian buổi tối thiểu và thời hạn tối đa của các xung đôi khi còn tồn tại thể biến đổi được theo các loại khác nhau nhưng chúng hoàn toàn có thể là 0,5ms mang đến 0 độ và 2,5ms sinh sống tại địa chỉ 180 độ.

3. Sơ đồ mạch điều khiển servo motor

Sơ đồ vật đấu nối mạch tinh chỉnh và điều khiển servo có có:

Arduino Uno

Động cơ Servo SG90

5V

Dây năng lượng điện màu đỏ

GND

Dây năng lượng điện màu đen

D9

Dây điện màu vàng

Khi có một nguồn năng lượng điện đi vào bên trong động cơ (Vin), vào trường hợp cố gắng vặn cũng được xoay về hướng R1 thì lúc này điện trở sẽ nhỏ dại nhất cùng cường độ cái điện của bộ động cơ sẽ cao nhất.

Và ngược lại, khi chúng ta vặn về hướng R2 thì điện trở đang đạt giá trị tối đa và cường độ chiếc điện của chính nó sẽ giảm dần.

*

Sơ vật đấu nối mạch điều khiển servo motor

4. Điều khiển hộp động cơ servo cần sử dụng Code Arduino

Chúng ta hãy triển khai kiểm tra những thông tin ở bên trên và làm một ví dụ thực tiễn về cách điều khiển và tinh chỉnh một servo motor cổ điển bằng Arduino. áp dụng MG996R đây là 1 hộp động cơ servo tất cả mô men xoắn cao và có bánh răng kim loại cùng với tế bào men xoắn đạt được 10 kg-cm. Mô-men xoắn cao thì sẽ có dòng điện định hình của servo là 2.5A. Loại điện sẽ chạy từ 500m
A 900m
A cùng điện áp cũng chuyển động từ 4,8 7,2V.

Xếp hạng bây giờ còn cho thấy thêm rằng động cơ không thể triển khai kết nối thẳng servo này vào với Arduino, nên họ cần phải áp dụng đến nguồn điện áp riêng mang đến nó. Đây là sơ vật dụng mạch nổi bật cho ví dụ như này.

*

Điều khiển bộ động cơ servo cần sử dụng Code Arduino

Chúng ta chỉ việc tiến hành kết nối chân tinh chỉnh và điều khiển của servo motor với ngẫu nhiên chân tiên tiến nhất nào của phần tử board Arduino, từ đó sẽ kết nối Ground cùng dây dương vào nguồn điện 5V mặt ngoài, đồng thời kết nối phần ground của Arduino vào chân GND của servo.

Bây giờ bọn họ hãy quan sát vào code Arduino để tiến hành điều khiển bộ động cơ servo. Code rất đối kháng giản, chỉ việc xác định được chân cơ mà servo motor được kết nối, xác định chân đó chính là đầu ra với trong phần vòng lặp sẽ khởi tạo ra các xung với chu kỳ luân hồi và tần số rõ ràng giống như bọn họ đã phân tích và lý giải ở phần trên.

Sau một vài thử nghiệm, bạn có thể đưa ra các giá trị vào khoảng thời hạn các xung hoạt động bên trong servo. Các xung gồm thời lượng khoảng chừng 0,6ms tương ứng với địa chỉ là 0 độ và 1,45ms cho đến 90 độ với 2,3ms.

Tiếp theo, kết nối một trang bị đo vạn năng cho nó nối liền với servo để thực hiện kiểm tra loại điện. Mức cái điện tối đa mà họ nhận thấy là lên đến 0,63A, cũng chính vì đây chưa phải là bản gốc của Tower
Pro MG996R, mà chỉ là bạn dạng sao rẻ hơn, mang đến nên cụ thể chúng sẽ có được hiệu suất kém hơn.

Tuy nhiên, họ hãy sử dụng 1 cách thuận tiện hơn để có thể điều khiển các servo bởi Arduino. Đó là sử dụng khối hệ thống thư viện Arduino Arduino. Ở đây, bạn chỉ cần nạp thư viện, tiếp nối xác định đối tượng người dùng servo rồi thực hiện hàm attach để xác định chân mà servo motor được kết nối tương tự như xác định được giá trị buổi tối thiểu cũng như giá trị về tối đa của thời lượng xung.

Sau đó, bọn họ hãy áp dụng hàm write để thực hiện đặt vị trí của servo từ bỏ 0 180 độ. Với tủ sách như trên, chúng ta cũng có thể điều khiển cùng 1 dịp tới 12 48 servo bằng phương pháp sử dụng phần tử board Arduino Mega.

5. Trình tinh chỉnh và điều khiển PWM của motor Servo Arduino với PCA9685

Ngoài ra, người ta còn sử dụng một cách khác để điều khiển và tinh chỉnh được motor servo bằng Arduino, đó là thực hiện trình điều khiển và tinh chỉnh động cơ servo PCA9685. Đây là trình điều khiển servo bao hàm 16 kênh 12 bit, rất có thể giao tiếp cùng với Arduino bằng bus I2C. Nó có một chiếc đồng hồ tích đúng theo để có thể chạy được cả 16 động cơ cùng lúc, hoặc hoạt động hòa bình với Arduino.

Chúng ta có thể xâu chuỗi hoạt động lên tới 62 trình điều khiển và tinh chỉnh này ngay lập tức trên cùng một bus I2C. Vì vậy, về phương diện lý thuyết, nhỏ người có thể điều khiển được tới 992 hộp động cơ mà chỉ cần sử dụng 2 chân I2C tự board Arduino. Còn 6 chân chọn địa chỉ cũng sẽ tiến hành sử dụng để download đặt địa chỉ cửa hàng I2C không giống nhau cho từng trình nhằm mục tiêu điều khiển bửa sung. Họ chỉ cần kết nối với các miếng hàn dựa vào bảng này.

Dưới đó là sơ đồ gia dụng mạch và chúng ta sẽ nhận biết rằng, cồn cơ luôn cần một nguồn cung ứng điện giành cho các servo.

*

Trình tinh chỉnh và điều khiển PWM của motor Servo Arduino với PCA9685

Các linh kiện cần thiết sử dụng:

Động cơ motor Servo MG996RTrình tinh chỉnh motor Servo PCA9685 PWMBoard Arduino
Nguồn cung ứng điện cho bộ động cơ 5V6A DC

Bây giờ đồng hồ hãy chất vấn code Arduino. Để quản lý được trình tinh chỉnh và điều khiển servo này, chúng ta sẽ thực hiện thư viện PCA9685, bạn có thể tải xuống từ Git
Hub.

Code Servo Arduino PCA9685

Trước tiên, chúng ta cần bao quát, khu vực các thư viện và xác định đúng chuẩn đối tượng PCA9685. Sau đó, sử dụng đối tượng người dùng Servo Evaluator để xác định chu kỳ xung hoặc tính cổng output PWM của công tác điều khiển. Lưu ý rằng các đầu ra thường thì là 12 bit, độ phân giải sẽ được 4096 bước.

Vì vậy, thời gian xung về tối thiểu của bộ động cơ là 0,5ms hoặc 0 độ, bọn chúng sẽ tương ứng với 102 bước và thời lượng xung tối đa là 2,5ms hoặc 180 độ ở vị trí 512 bước. Như đã phân tích và lý giải ở trước đó, các giá trị này sẽ được auto điều chỉnh phụ thuộc vào động cơ servo của bạn. Trong trường thích hợp servo cò quý hiếm từ 102 470 thì sẽ khớp ứng với địa điểm từ 0 180 độ.

Trong phần thiết lập cấu hình mạch điều khiển, bọn họ cần khẳng định được vận tốc xung I2C, đặt add của trình điều khiển và sau cùng là để tần số thành 50Hz. Vào phần vòng lặp, các bạn hãy sử dụng các hàm phối Channel PWM với pwm For Angle, chúng ta chỉ cần thiết lập servo theo góc mà lại mình muốn muốn.

Khi đã kết nối 1 servo thứ 2 cùng cùng với trình tinh chỉnh và điều khiển thì chúng sẽ không còn ở vị trí giống hệt như ban đầu. Chính vì các động cơ mà ai đang sử dụng chỉ là phiên bản sao tốt tiền cùng chúng hoàn toàn không đáng tin cậy.

Tuy nhiên, chúng ta cũng đừng lo lắng, đây chưa hẳn là vấn đề lớn vì bên cạnh việc thực hiện phiên bản Servo Evaluator, chúng ta còn rất có thể đặt thêm các cài đặt đầu ra khác biệt dành cho mỗi servo. Họ cũng có thể tự mình kiểm soát và điều chỉnh vị trí 90 độ vào trường hợp hộp động cơ không bắt đầu ở giữa. Theo phong cách đó, toàn bộ các servo motor sẽ vận động giống y tương đồng và địa điểm góc cũng đúng đắn hơn.

Leave a Reply

Your email address will not be published. Required fields are marked *

x

Welcome Back!

Login to your account below

Retrieve your password

Please enter your username or email address to reset your password.