![]() |
|
Tài trợ cho PIC Vietnam |
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... |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#12 |
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!!! |
![]() |
![]() |
|
|