PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Thực hành (http://www.picvietnam.com/forum/forumdisplay.php?f=20)
-   -   Tìm người làm bài tập thực hành: Bộ ĐK PID động cơ DC (http://www.picvietnam.com/forum/showthread.php?t=485)

gà mờ 08-04-2009 10:40 PM

Cảm ơn trưởng lão ! Từ gợi ý của anh em làm như vầy không biết có đúng không mong anh chỉ giáo giùm thêm (tạm thời em tiến hành làm hai vòng phản hồi là tốc độ và dòng.) như sau:
Bước 1:
Thực hiện vòng phản hồi tốc độ với chu kỳ 100msec
ev=Vset-Vcur;
ev_cur = ev + evlast; // e_cur sai so hien tai
ev_sum+= ev_cur;
ev_del=ev-elast;
duty +=((kp*ev)+(ki*ev_sum)+(kd*ev_del)); // Công thưc tinh PID(không biết += hay chỉ = thôi anh nhỉ)
if(duty >511) //gioi han PWM 9Bit
{ duty =511; }
if(duty <0) {duty =0; }
evlast=ev;
Bước 2 từ duty em suy ra điện áp Uư= (duty/TOP)*Umax (top =511)
--> Iset = (Uư-kb*ω)/Rư
---> sau đó em cũng thực hiện phản hồi dòng như trên chu kỳ 10msec
ei=I set-Icur;
ei_cur = ei + eilast;
ei_sum+= ei_cur;
ei_del=ei-eilast;
duty +=((kp*ei)+(ki*ei_sum)+(kd*ei_del));
if(duty >511)
{ duty =511; }
if(duty <0) {duty =0; }
eilast=ei;
Pwm = duty;
Anh xem giúp xem em làm vậy có được không nếu không thì anh chỉ giúp em cách lồng hai vòng phản hồi này vào nhau với nếu mà lồng được cả vòng phản hồi vị trí nữa thì càng tốt
Em cảm ơn!!!

Mecha 09-04-2009 01:38 AM

Bạn chú ý những chỗ in đậm:
- Đây là PID số nên bạn phải có chu kỳ trích mẫu trong công thức.
- Tín hiệu ra của vòng điều chỉnh tốc độ được dùng làm setpoint cho vòng điều chỉnh dòng điện.

Code:


// Cho mach vong toc do:
// ham truyen PI trong s-plane: uOutvantoc = Kvantoc [1 + 1/(s*Tivantoc)] errorV
Tvantoc = 0.1; // sampletime = 100ms
errorV = Vref - Vcur;
uPvantoc = Kvantoc * errorV;
uIvantoc = uIvantoc_previous + ( ( Kvantoc * Tvantoc * errorV ) / Tivantoc );
uOutvantoc = uPvantoc + uIvantoc;
uIvantoc_previous = uIvantoc;
 
 
// Cho mach vong dong dien:
// ham truyen PI trong s-plane: uOutdong = Kdong [1 + 1/(s*Tidong)] errorD
Tdong = 0.01; // sampletime = 10ms
errorD = uOutdong - Dcur;
uPdong = Kdong * errorD;
uIdong = uIdong_previous + ( ( Kdong * Tdong * errorD ) / Tidong );
uOutdong = uPdong + uIdong;
uIdong_previous = uIdong;


gà mờ 20-04-2009 01:05 AM

Anh mecha ! cho em làm phiền chút trong công thức trên của anh có nói tín hiệu điều chỉnh vòng tốc độ được dùng làm setpoint của vòng phản hồi dòng có nghĩa là mình đặt luôn uOutdong = uOutvantoc hay gì bởi vì nếu làm như thế thì setpoint sẽ bị thay đổi nên em hỏi lại mong anh chỉ rõ thêm nữa
Cảm ơn anh!!

hutdragon 25-05-2009 03:10 AM

Trích:

Nguyên văn bởi Mecha (Post 24522)
Như bạn mtuankct đã trả lời, công thức PID cho vòng dòng điện và tốc độ là như nhau (thường là PI). Chỉ khác nhau ở thông số P và I của bộ điều khiển. Vòng điều khiển dòng yêu cầu tốc độ đáp ứng phải nhanh hơn vòng tốc độ nên chu kỳ trích mẫu sẽ phải nhỏ hơn. Tương tự nếu vòng ngoài cùng là điều chỉnh vị trí thì chu kỳ trích mẫu của vòng tốc độ cũng phải nhỏ hơn chu kỳ trích mẫu của vòng điều chỉnh vị trí.

Chu kỳ trích mẫu được chọn theo định lý Nyquist-Shannon (http://en.wikipedia.org/wiki/Nyquist...mpling_theorem) thì tần số lấy mẫu được chọn > 2 lần bandwidth của hệ thống (tức là chu kỳ mẫu nhỏ hơn 2 lần):

- Bandwidth của vòng điều chỉnh dòng điện vào khoảng 10^6 rad/s (chu kỳ khoảng 6 micro giây) => chu kỳ lấy mẫu tầm 3 micro giây. Mô phỏng với chu kỳ lấy mẫu nhỏ như thế này thì oki những khi lập trình thực tế thì vòng điều khiển (real-time) với chu kỳ lấy mẫu nhỏ như thế này là không tưởng. Nên thực tế thường thực hiện lấy mẫu cỡ 0.1 mili giây (10kHz).
- Bandwidth của vòng điều chỉnh tốc độ vào khoảng 120-150 rad/s (20-25Hz) => tần số trích mẫu vào khoảng > 40-50Hz. Tuy nhiên thực tế thường chọn f của vòng điều chỉnh tốc độ vào khoảng 1kHz.
- Bandwidth của vòng điều chỉnh vị trí vào khoảng 30-40 rad/s (5-6Hz) => tần số trích mẫu vào khoảng > 10-12Hz. Tuy nhiên thực tế thường chọn f của vòng điều chỉnh vị trí vào khoảng 100Hz.

Thực hiện 3 tần số trích mẫu khác nhau trên cùng 1 hệ thống điều khiển real-time sẽ là một vấn đề. Cách đơn giản nhất là dùng tần số trích mẫu cơ bản = 10kHz, rồi dùng biến counter trong vòng lặp để giảm tần số trích mẫu xuống cho vòng tốc độ và vị trí. Ví dụ counter=10 sẽ được f=1kHz, counter=100 sẽ được f=100Hz.

cho em hỏi cách tính cái Bandwidth của vòng điều chỉnh dòng điện,tốc độ như thế nào vậy bác

baodinh88 30-05-2009 04:18 PM

hic
 
Trích:

Nguyên văn bởi Mecha (Post 5780)
Mecha xin cung cấp một số tài liệu về vấn đề chỉnh định thông số cho bộ điều khiển PID:

1. PI and PID controller tuning rules for time delay processes: A summary
http://www.tailieuvietnam.net/downlo...0processes.pdf
Tài liệu tiếng Anh, tập hợp khoảng 60 phương pháp chỉnh định PID cho nhiều dạng mô hình đối tượng có trễ khác nhau.

2. Một số khái niệm cơ bản về lý thuyết điều khiển PID, điều khiển mờ và mờ lai PID.
http://www.tailieuvietnam.net/downlo...BPG.221205.pdf
Tài liệu tiếng Việt nhưng hiện vẫn còn đang trong giai đoạn xây dựng.

3. Một phần mềm viết bằng Basic cho phép tính toán thông số bộ điều khiển PID theo phương pháp Reinisch
http://www.tailieuvietnam.net/downlo...D_Reinisch.zip
Phần mềm tự động tính toán thông số bộ điều khiển PID cho các đối tượng quán tính bậc nhất, bậc hai và các đối tượng theo mô hình của Reinisch; xét ổn định theo tiêu chuẩn Routh và vẽ đồ thị đáp ứng quá độ. Trong phần mềm đã có phần hướng dẫn sử dụng.
Chú ý: sử dụng không đúng các bước rất dễ bị báo lỗi. Thông cảm chạy lại từ đầu!;)

Falleaf: Các tài liệu này đã được chuyển về kho. Nếu sau này bị mất link của ftp, các bạn tìm lại bằng tên trong www.kho.tailieuvietnam.net.

link death roi bac oi !!

nguyenluong 30-05-2009 09:52 PM

Nếu vậy thì rất tuyệt. Nhưng bác F nói rõ đề tài đi, làm trong thời gian bao lâu, và nộp đề tài qua phương tiện gì?

king0205 15-06-2009 07:35 PM

sao du an toi day lai ket thuc?ket qua cac ban da dat duoc chua?bac F cung ko con port bai len nua vay?de tu mao mui hoi.co gi bo qua nhe!

chuc vui!

TQN1234 17-06-2009 12:14 PM

Thấy đề tài hay mà lại bị bỏ bê thế này thì hơi tiếc. Mình xin đóng góp cái luận văn của mình làm từ năm 2005. LV này làm về đề tài đk tay máy 3 bậc tự do dùng động cơ DC, có dùng thuật toán PID để điều khiển vận tốc và vị trí động cơ. Lúc làm mô hình, mình đã điều khiển chính xác được vị trí (số vòng quay hay số xung) và tốc độ của động cơ đối với tải thay đổi, Có thể cho động cơ quay với vận tốc rất thấp, chẳng hạn 1 v/p mà vẫn bảo đảm moment...
Nếu bạn nào có đam mê thì nghiên cứu để phát triển tiếp nhé. Lúc đó có tham vọng làm mô hình máy CNC nhưng không có tiền đầu tư, và cũng chẳng có nhiều thời gian nữa, đành bỏ lỡ một thời đam mê, hic hic.

qtiem 17-06-2009 12:31 PM

Hic, dùng acc kia không up được file. Thử dùng acc này cũng thế. MÌnh úp lên MF, các bạn chịu khó down nhé
http://www.mediafire.com/download.php?mt1nqlzgoza
Mà tại sao mình hay bị log out lắm. Mỗi lần log out, đăng nhập lại bị báo sai pass, chán :(

anhga 14-07-2009 10:50 AM

Đề tài hay nhưng kết thúc k có hậu:D
Việt Nam mình k ít người làm được bài toán này rồi nhưng ít người chịu chia sẻ. Nếu có chia sẻ thì cũng k hết mình. Có lẽ nước mình nghèo nên các bậc tiền bối giũ miếng kiếm xiền.
Em có vài lời tâm sự vậy thôi. Hy vọng các đề tài hay sẽ có kết thúc có hậu.

biengam 13-09-2009 11:02 PM

Còn tham gia được không
 
Chào mọi người, không biết kế hoạch này còn thưc hiện không, một ý tưởng rất hay như thế này cần duy trì và phát triển chứ nhỉ.Nếu còn thì tôi xin được tham gia, tôi học dh lạc Hồng.

greenfield 21-09-2009 12:33 AM

Em đang định làm mạch điều khiển động cơ dùng L298 bác nào có sơ đồ úp lên cho em xem với. Chúc mọi người vui vẻ!

thienhaiblue 19-10-2009 12:16 PM

uhm! Chào all mọi người! 1 năm trước khi mình còn gà mờ về điều khiển động cơ! Và mình cũng đã đọc qua luồng này và cũng đã đọc all các mục roài! Mình nhận thấy cái gì cũng vậy! căn cơ phải cứng rồi mới tính đến bước tiếp theo! giống như cố nhân đã dạy "chưa học bò đã lo học chạy" Bởi vậy trước khi chúng ta muốn điều khiển động cơ theo các thuật toán trên trời dưới đất gì đó thì cũng phải có một cái mạch driver cho động cơ thiệt tốt cái đã! Chứ chơi kiểu relay đóng ngắt mà đòi PID thì khác gì bắn pháo hoa chơi! :D .Nhưng mà nói đi thì cũng phải nói laị mình thấy có rất nhiều ý bạn đã viết bài ý kiến về việc chưa có ai post một mạch thực sự hoàn chỉnh lên cho mọi người tham khảo, ngay cả bac namqn cũng chỉ post mạch IR2110 bản ko đầy đủ chức năng! Cứ làm theo cái mạch đó thì chắc là phải chạy mua linh kiện dài dài! Chấp nhận là ở đây để cho mọi người chủ động tìm hiểu đi nữa thì cũng phải có nền tảng để mà dựa theo!
Còn 1 điều nữa mình muốn gửi đến những người đã từng đọc luồng này làm thành công mà không chịu chia sẻ cho mọi người là "Đừng có chỉ biết nhận, mà hãy biết chia sẻ"
để đi đầu phong trào mình xin chia sẻ mạch công suất của mình làm và đã test chạy rất tốt!
+chạy ở PWM 20k và duty đáp ứng từ 0 đến 95%
+chống quá dòng và deadtime phần cứng là 3us
+ OPTO cach ly high speed 6N137 10MHZ
+Nguồn nuôi chia làm 2 nguồn: 15V cho driver và 0V đến 100V cho động cơ!
+Có chế độ shutdown
Nơi mua linh kiện:
OPTO 6N137 + IR2110 Mua ở tiệm bên phải tiệm Ngọc nhìn từ trước vào giá 17K và 20k;
Cách linh kiện dán trong mạch mua tại chip lê trần 88 đường nguyễn kim!
file .zip các bạn down về bỏ đuôi zip di và mở bằng orcad layout!
Hy vọng sẽ giúp ích được cho mọi người!
http://dientuvietnam.net/forums/atta...2&d=1255919116
http://dientuvietnam.net/forums/atta...1&d=1255918788

nguyenbahai 10-05-2010 03:43 PM

Trích:

Nguyên văn bởi greenfield (Post 29679)
Em đang định làm mạch điều khiển động cơ dùng L298 bác nào có sơ đồ úp lên cho em xem với. Chúc mọi người vui vẻ!

Bạn có thể xem tài liệu L298 tại đây (tiếng Việt) và tự làm một cái driver với giá vài chục ngàn.
http://vagam.dieukhien.net/bibliogra...&name=DSH00001

Hoặc nếu không thích tự làm thì có thể mua tại đây dùng IC 18200 (sản phẩm do nhóm của mình sản xuất và bán, nếu bạn khó khăn tài chính thì apply chương trình Bạn và Hocdelam thì có thể mua giá rất rẻ < 3-8USD).
http://sanpham.hocdelam.org/index.ph...tid=1:hang-doc

http://sanpham.hocdelam.org/images/s...20version2.jpg

xinhgai1010 15-05-2010 08:42 PM

các bác làm xong thì share cho mọi người chiêm ngưỡng nhé !


Múi giờ GMT. Hiện tại là 01:18 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam