![]() |
|
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ử 2 túi
Tham gia ngày: Jul 2005
Bài gửi: 26
: |
Cập nhật file tạo S-Curve
Phiên bản này tốt hơn. Viết rõ ràng, và cẩn thận hơn. Đổi lại extension *.m để chạy trong Matlab.
các bạn có thể thay đổi thông số của DCMotor vào các parameter phía trên. Xem trong Attach là S-Curve thực sự của motor tracking theo S-Curve tạo tuần tự. Phương pháp của tôi rất đơn giản, tất nhiên không thể là best được vì tôi chỉ dùng duy nhất một vòng hồi tiếp vị trí: Code:
error = ref_pos - enc_pos; PWM = Kp*error + Kd*(error - prev_error); có thêm thêm Iterm Code:
if (error<prev_error){ Intergrate_error -= prev_error; //Anti windup } else { Intergrate_error += prev_error; } if (Intergrate_error>threshold){ //threshold chọn từ 0.1~0.5 maximum của //PWM Intergrate_error = threshold; } PWM = Kp*error + Kd*(error - prev_error) + Ki thay đổi nội dung bởi: minhcuong, 04-11-2006 lúc 09:01 PM. |
![]() |
![]() |
|
|