![]() |
|
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 |
![]() |
#11 |
Đệ tử 5 túi
|
Các bác cho em hỏi ý nghĩa những dòng sau(copy trong code mấy bài trên ):
1) v_set = 350; v_set là tốc độ động cơ tính bằng xung hay là tính bằng vòng/phút hay tính bằng gì? 2) Các thông số Kp,Ki,Kd lấy ở đâu? unsigned long kp =2.5; unsigned long ki = 0.0092; unsigned long kd = 0; 3) Giải thích giùm em đoạn code sau: void cal_pid() { e2 = v_set - v_cur; e_sum += e2; e_del = e2 - e1; e1 = e2; temp_kp = kp*e2; temp_ki = ki*e_sum; temp_kd = kd*e_del; pw_duty +=temp_kp; if (pw_duty <1000) pw_duty += temp_ki; if (pw_duty <1000) pw_duty += temp_kd; if (pw_duty <256) // vi khi pw_duty <256 thi PWM chi dieu rong xung 8 bit / //chu khong phai 10 bit, pw_duty = 256; if (pw_duty >1000) // bao hoa pw_duty = 1000; printf(" \t%ld", v_cur); // truyen toc do xung ve may tinh hien thi tren Hyperterminal } |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|