PIC Vietnam

Go Back   PIC Vietnam > Robotics > Thực hành

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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
Prev Previous Post   Next Post Next
Old 03-11-2006, 10:26 AM   #10
minhcuong
Đệ tử 2 túi
 
minhcuong's Avatar
 
Tham gia ngày: Jul 2005
Bài gửi: 26
:
Hiện giờ tôi đang điều khiển một số DC Motor đồng thời cho dự án của lab. Phần mềm, phần cứng, + các phần linh tinh tôi làm từ A-Z trừ việc chế tạo động cơ, và chip điều khiển.

Phương pháp trình PID là trial and error tất nhiên có suy nghĩ một tý, nhưng vẫn là nông dân thôi. Sẽ học hỏi các bác thêm vụ auto tuning.


Tôi gửi kèm các file ảnh capture và file matlab (đổi sang đuôi .txt) chứa transfer function và hàm tạo S-curve chỉ cần dùng mấy phép +,-,*/ shift cơ bản để tăng tốc độ tính toán.

Nhìn chung motor chạy rất êm, chính xác error<1xung, khi có disturbance. Video quay lúc nào rỗi tôi sẽ post lên YouTube.


Một số lưu ý: trong S-Curve nên chia thành 5 giai đoạn:
1- tăng positive acceleration, tốc độ tăng nhanh
2- giảm acceleration, tốc độ tăng chậm lại
3- tốc độ không đổi
4- tăng negative acceleration, tốc độ giảm nhanh
5- giảm acceleration, tốc độ giảm chậm lại
6- chỉnh sửa sai lệch vị trí và dừng hẳn

từ 1->4 chỉ nên dùng PD tránh windup
còn từ 5->6 dùng PID để có thêm phần sửa static error. Lưu ý khi dùng I ở giai đoạn này, nếu error giảm là lập tức reset ngay I term để tránh overshoot. Xem cái ControlScreen , để ý đoạn đồ thị cuối, có ít xung nhọn trồi lên là do I term dùng để sửa lổi vị trí

Khi đọc ghi vào RS232 nên dùng ngắt để tránh blocking main algorithm.

Nếu có thời gian, tôi định implement một đoạn chương trình sau đây:
A- Auto tuning PID:
1- Xác định dynamics của motor tự động bằng gửi step response. Dữ liệu thu thập được, gửi về máy tính để xác định transfer function
2- Sau khi biết transfer function, sampling rate là vòng lặp thử nghiệm các bộ thông số PID rồi chọn kết quả tốt nhất.
Việc tạo bộ thông số PID như thế nào, tôi chưa có thời gian tìm hiểu..... Bác nào có cao kiến thì cho vài lời hướng dẫn.

B- Thay RS232 bằng USB để có thể đọc trực tiếp nhiều dữ liệu hơn từ motor: position, vel, các loại thông số trong algorithm để dễ dàng debug và phân tích.
Hình Kèm Theo
File Type: jpg controlscreen.jpg (162.1 KB, 206 lần tải)
File Type: jpg MotorAmp.JPG (137.4 KB, 175 lần tải)
File Type: jpg MotorController.JPG (133.0 KB, 198 lần tải)
File Kèm Theo
File Type: txt FaulHarber1724SRModel.txt (1.6 KB, 150 lần tải)
File Type: txt SCurveSmooth2.txt (4.5 KB, 131 lần tải)

thay đổi nội dung bởi: minhcuong, 03-11-2006 lúc 11:29 AM.
minhcuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 08:36 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam