Nguyên văn bởi thieuhuy
View Post
Bộ điều khiển PID
Collapse
This is a sticky topic.
X
X
-
Tôi nhớ hồi đó để tăng setpoint vị trí theo thời gian, tôi tạo một cái timer, mỗi khi có ngắt thì tăng setpoint lên một lượng. T của timer và lượng tăng càng nhỏ thì đường setpoint cho điều khiển bám sẽ càng mịn.Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.
Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263
-
bác dùng invertor và servo driver thì ngon rồi, vấn đề bây h là muốn dùng PIC. Vấn đề của bạn thieuhuy ko phải là kô giải quyết đc. Năm ngoái tối cũng đã làm qua vềbook DK PID cho PIC. Dựa vào viêc thay đổi các tham số P, I, D thì đồ thị đáp ứng về cơ bản thay đổi tốt theo đúng luật DK, tuy nhiên vi mất khoang thời gian truyền thông lên PC nên tốc độ đáp ứng và bám theo setpoint tạm chấp nhận đc. Với lại PIC hồi đó mình dùng 876, đọc Encoder 400 xung mềm nên việc đáp ứng chậm chưa đạt chính xác cao có thể là do nguyên nhân đó, sau chuyển qua DsPIC và PIC18 thấy khả quan hơn.
Mình vì học DTVT nên nhiều vấn đề về DKTD còn beginer lắm, chỉ làm dc đến vậy. Thuật toán đk ta thực hiên trên chip, còn việc truyền tham số lên PC để vẽ đồ thị đáp ứng ko khó đâu, mình dung RS232 và VB6 vẽ dạng đồ thị khá tốt.
BT với bộ đk P thì ta chỉ cần đơn giản thực hiện phép toán sau.
1. error = |setpoint - currentpoint|
2. set_pwm_value(error*Kp);
... như vậy cũng đã tạm ổn. Cao hơn nữa ta thêm các hệ số Kp,Ki,Kd vào để sao cho bài toán tìm ra PWM value đạt giá trị sát với giá trị thực nhất. Tốc độ lấy mẫu từ encoder cũng cần phải nhanh (Dùng encoder cứng QEI sẽ làm tốt việc này vì số xung sẽ chính xác) từ đó ta đưa vào ĐK, khi đó sẽ đạt dc độ ổn định nhanh nhất.
Về Driver mình vẫn mới chỉ làm với DC Motor, còn AC Motor thì vẫn chưa làm đc. Cái này quan trọng vì trong công nghiệp đều đùng AC 1 pha và 3 pha.
Chúc thành công.CallerID, Ethernet-RS232, PICWEB, Cảnh báo BTS
Giải pháp toàn diện giám sát - điều khiển từ xa qua GSM/Internet
0988006696
http://linhnc308.blogspot.com
linhnc308@gmail.com
Comment
-
Hic, không có cái quả trị tuyệt đối đâu, nếu trị tuyệt đối thì nó mất ổn định ngay, vì lúc nào nó cũng tăng vù vù, càng tăng lố nó lại càng tăng PWM. Thế nào chạy một lúc rồi nó cũng chạy tới PWM = 100% mà không bao giờ giảm lại được. Thế là toi roài....
Comment
-
Xin hoi ve Zeigler-Nichols
Tôi dọc về phương pháp điều chỉnh này trong 2 cuốn "Moderm control engineering" và "The PID control algorithm" thì thấy 2 kết quả khác nhau như sau.
Trong cuốn "Moderm control engineering" thì là 2 hình dầu tiên (1&2).
1.JPG
2.JPG
Cuốn còn lại là 2 hình cuối (3&4).
3.JPG
4.JPG
Điểm khác nhau ở đây là chổ cột Gain, một bên không chia cho K, bên còn lại thì chia.Tôi thực sự không hiểu lắm,mong mọi người giải thich dùm.Xin cảm ơn
P/s : tôi cũng đã tham khảo sách của cô Hà và thấy Lăng thì thấy 2 cuốn này lại cũng theo 2 cách như trên.
Comment
-
Công thức đó họ viết theo dạng nhân Kp ra bên ngoài, chỉ là cách viết khác nhau thôi, còn lại thì giống nhau mà.
Chúc vui
Comment
-
-
Hic hic, e biet là thế nào đại ca cũng sẽ có bàiNguyên văn bởi falleaf View PostHic, không có cái quả trị tuyệt đối đâu, nếu trị tuyệt đối thì nó mất ổn định ngay, vì lúc nào nó cũng tăng vù vù, càng tăng lố nó lại càng tăng PWM. Thế nào chạy một lúc rồi nó cũng chạy tới PWM = 100% mà không bao giờ giảm lại được. Thế là toi roài....
. Đúng là ko có j qua mắt được đại ca, đặc biệt vấn đề liên quan đến điều khiển tự động. E tuy không đc học chính ngạch về dk nhưng khi tìm hiểu để làm thì thấy quả thật rất hay.
Quay lại với bài viết trước của e, đúng như a F nói, không có cái trị tuyệt đối đâu. Nếu bạn nào có làm theo rùi mà báo error hay bị cháy cái j thì cho tại hạ một lời xin lỗi. Cụ thể của thuật toán đó là như sau:
1. if (setpoint > currentpoint)
{
error = setpoint - currentpoint;
new = old + error*Kp;
set_pwm_value(new);
old = new;
}
else
{
error = currentpoint - setpoint;
new = old - error*Kp;
set_pwm_value(new);
old = new;
}
Thuật toán trên chỉ là dạng đơn giản, đúng với một mức độ nào đó. Còn thực tế đk còn nhiều vấn đề ví như quá dòng, quá áp, quá tải ta cũng cần đưa ra xử lý phù hợp.
Với bài toán đk DC motor, mục tiêu là đạt đếm giá trị setpoint nhanh nhất có thể, do đó ta cần tính toán các tham số Kp,Kd,Ki để có đc giá trị phù hợp.
Mấy lời của dân nghiệp dư, có j sai các đại ca, a F và a Nam chỉ giáo, phương châm của e là học cái hay, cái giỏi từ mọi người.
Last edited by linhnc308; 05-04-2007, 10:15 PM.CallerID, Ethernet-RS232, PICWEB, Cảnh báo BTS
Giải pháp toàn diện giám sát - điều khiển từ xa qua GSM/Internet
0988006696
http://linhnc308.blogspot.com
linhnc308@gmail.com
Comment
-
Để hạn chế mấy cái quá dòng, quá áp,... nên dùng thêm khâu khuếch đại bão hòa. Thực chất là đưa thêm vào hai giá trị Vmax, Vmin sao cho tín hiệu điều khiển luôn nằm trong [Vmin, Vmax].
Nên đưa thêm thành phần Ki và Kd vào (tùy theo yêu cầu) để nâng cao chất lượng điều khiển.Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.
Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263
Comment
-
Pid
Xin lỗi tôi download hai tài liệu này không được! Mong bạn sữa lại đường LinkNguyên văn bởi HaiAu2005 View PostCó hai quyển sau về PID controllers, ai có nhu cầu thì download:
1. Autotuning of PID Controllers:
2. PID Trajectory Tracking Control for Mechanical Systems
H.A.
Comment
-
Bác F cho cái link bên này đi, đc ko? Hiện giờ e chỉ có acc bên này thôi, mà tạo acc bên kia nữa thì ko có thời gian vào, nếu gom về một chổ thì anh em dể dàng thuận tiện down hơn. Cảm ơn.Nguyên văn bởi falleaf View PostCác tài liệu này đã đựơc chuyển về tailieuvietnam
Chúc vuiGóp tay đưa điều khiển tiến lên !
CNC - niềm mơ ước của tôi !
Comment
-
bộ điều khiển PID
vậy đề tài của tui có phải là đối tượng điều khiển gồm hai khâu :thứ nhất là van , hai là role
vậy sơ đồ khối của tui là vi xử lý kết nối với van ,đầu ra của van kết nối với role
vậy tín hiệu phản hồi của van được ghép nói thế nào
hic giải đáp cho tui mới
Comment

Mecha
falleaf
Comment