![]() |
|
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 |
|
![]() |
#1 |
Đệ tử 3 túi
Tham gia ngày: Apr 2006
Bài gửi: 54
: |
các bác ơi, vậy là cái đề án này vẫn còn đang dở dang ah, đã có ai làm thành công chưa ah, các bác post lên cho newmember bọn em học hỏi với
|
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Oct 2007
Bài gửi: 3
: |
![]() |
![]() |
![]() |
![]() |
#3 |
Đệ 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 } |
![]() |
![]() |
![]() |
|
|