![]() |
|
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 |
Nhập môn đệ tử
Tham gia ngày: Nov 2005
Bài gửi: 8
: |
new style driver
cho minh hoi co ai da lam mach dieu khien dong co dung Hbridge nhu so do da cho ma chay duoc hoan chinh tai cong suat lon chua.
cac bac xai bo fet irf9540(19A/100V) voi irf(28A/100V), ma cac bac chay dong co ti hon the lam gi duoc cho doi chu it ra phai chay gan sat voi so the moi thu duoc truong trinh duoc. con 1 viec nua do la can phai nang phan driver len sao cho lap trinh cang do ton cong cang tot chu theo nhu cac bac no co san cu choi the thi lap trinh co ma chet ah? that su ra minh da tham gia dien dan lau roi nhung ko co thoi gian cua minh rat it. nhung minh se dua cac ban so do mach dieu khien dong co hoi nam truoc minh thi robocon cua doi minh cho cac ban tham khao thu se don gian lai rat nhieu cho cac ban. sao attach file ko duoc? |
![]() |
![]() |
![]() |
#2 |
Đệ tử 2 túi
Tham gia ngày: Jul 2005
Bài gửi: 26
: |
Nếu bạn cần điều khiển H Bride dòng lớn. Search Google, OSMC.
Ở lab có thằng bạn đã thiết kế nhái bo mạch OSMC. Hôm nào rỗi tôi post lên cái schematics và cả PCB layout (nếu xin được nó). À mà hình như trong mục file của OSMC yahoo groups cũng có rất đầy đủ đấy. |
![]() |
![]() |
![]() |
#3 |
Đệ 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. |
![]() |
![]() |
![]() |
|
|