![]() |
|
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. |
|
|
|
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|