PIC Vietnam

Go Back   PIC Vietnam > Robotics > Thực hành

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Thực hành Bắt đầu làm một robot như thế nào? Mẹo vặt? Kỹ thuật? Công nghệ?... Hãy bắt tay vào việc...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 08-04-2009, 10:40 PM   #1
gà mờ
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 10
:
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!!!
gà mờ vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-04-2009, 01:38 AM   #2
Mecha
Trưởng lão PIC bang
 
Mecha's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 315
:
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;
__________________
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

thay đổi nội dung bởi: Mecha, 09-04-2009 lúc 01:44 AM.
Mecha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam