PIC Vietnam

Go Back   PIC Vietnam > Robotics > Công nghệ robot

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

Công nghệ robot Tất cả các vấn đề về robot di động, tay máy, haptics....

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 27-07-2008, 04:36 PM   #1
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
Mobile robot

Em đang làm về mobile robot,
- Khi cho 1 giá trị vận tốc --> tính được số vòng quay/phút --> tính được số xung cần phát trên encoder. nhưng em không tính được giá trị pwm để cấp vào động cơ ?
- Khi cho một giá trị độ rộng xung --> em tính được vận tốc nhờ vào giá trị encoder phản hồi về. Nhưng ngược lại từ vận tốc cho trước làm sao tính được giá trị độ rộng xung PWM để cấp cho động cơ chạy, các bác giúp em.
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-07-2008, 09:56 PM   #2
lion
Đệ tử 6 túi
 
lion's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 127
:
Trích:
Nguyên văn bởi manhha2799 View Post
Em đang làm về mobile robot,
- Khi cho 1 giá trị vận tốc --> tính được số vòng quay/phút --> tính được số xung cần phát trên encoder. nhưng em không tính được giá trị pwm để cấp vào động cơ ?
- Khi cho một giá trị độ rộng xung --> em tính được vận tốc nhờ vào giá trị encoder phản hồi về. Nhưng ngược lại từ vận tốc cho trước làm sao tính được giá trị độ rộng xung PWM để cấp cho động cơ chạy, các bác giúp em.
bạn tham khảo cách này xem nhé :

Cách 1 :

giả sử có PWM = 100(xung/s) --> tính được V= 5(m/s) --> tỉ lệ Vận tốc/Xung = 5%

như vậy ta sẽ dựa vào số % mà tinh' các thông số còn lại khi biết được 1 thông số.

bây giời giả sử có vận tốc V = 20(m/s) --> PWM = 400(xung/s)

Cách 2 :

giả sử có PWM = 100(xung/s) --> tính được V= 5(m/s)

có PWM = X (xung/s) biết V= 20(m/s)

X = (100x20)/5
= 400

thay đổi nội dung bởi: lion, 27-07-2008 lúc 10:03 PM.
lion vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-07-2008, 10:42 PM   #3
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
Cám ơn, nhưng cho mình hỏi PWM=100(xung/s) là sao?.
- Mình lập trình Ccs c cấp giá trị xung PWM có giá trị từ 0-->255 (phần trăm duty)
- Mình muốn hỏi giả sử vận tốc là 2m/s thì cần cấp PWM có giá trị là bao nhiêu ( trong khoảng từ 0-->255)

thay đổi nội dung bởi: manhha2799, 27-07-2008 lúc 11:32 PM.
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-07-2008, 11:45 PM   #4
lion
Đệ tử 6 túi
 
lion's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 127
:
Trích:
Nguyên văn bởi manhha2799 View Post
Cám ơn, nhưng cho mình hỏi PWM=100(xung/s) là sao?.
- Mình lập trình Ccs c cấp giá trị xung PWM có giá trị từ 0-->255 (phần trăm duty)
- Mình muốn hỏi giả sử vận tốc là 2m/s thì cần cấp PWM có giá trị là bao nhiêu ( trong khoảng từ 0-->255)
1 chu kỳ có 1 duty + 1 khoảng trống , như vậy 100xung <=> 100 chu kỳ , nôm na là như thế

cách tính trên chỉ là gợi ý (sườn) cho bạn tính toán PWM .

bạn phải tự tính nấy mới có kinh nghiệm , sao lại nhờ từ đầu đến cuối thế .

mọi người chỉ đưa ra ý kiến giúp bạn thôi , vấn đề của bạn bạn phải tự mình giải quyết nấy chứ
lion vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-07-2008, 05:17 PM   #5
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
- Mình xài thạch anh 4M, có chu kì lệnh là 1us và chu kì PWM 100us, theo như bạn nói thì cần phải tính số xung PWM trong 1s. Như vậy trong chu kì PWM 100us sẽ có một 1 duty + 1 khoảng trống như vậy sau 1s sẽ có 10000xung/s.
- Theo bạn nói phía trên : PWM = 100(xung/s) --> tính được V= 5(m/s)
ngược lại có : V = 20(m/s) --> PWM = 400(xung/s)
- Mà cứ 1s thì có sẽ luôn có 10000xung, làm sao mà tính được vận tốc(tại bạn tính trên 1s, mà 1s thì lúc nào cũng có 10000xung, 100us thì có 1 xung lên cao và xuống thấp ).
- Bạn có thể giải thích dùm mình?

thay đổi nội dung bởi: manhha2799, 28-07-2008 lúc 05:23 PM.
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-07-2008, 05:24 PM   #6
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Bạn lion giải thích không chính xác. Thay đổi số xung/s tức là thay đổi tần số, vốn không ảnh hưởng đến điện áp trung bình đặt vào động cơ (nói chung), do đó sẽ không ảnh hưởng đến tốc độ.

Thay đổi duty cycle (tính bằng %) mới thay đổi điện áp trung bình và dẫn đến thay đổi tốc độ.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-07-2008, 01:12 AM   #7
lion
Đệ tử 6 túi
 
lion's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 127
:
bây giời bạn thử nấy cố định 50% duty và xuất ra 10000 xung xem được V = bao nhiêu .
khi có V rồi (gọi là V1) .

bây giờ bạn lại có V2(đã biết) => PWM = ( V2 * 10000 ) / V1
lion vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-07-2008, 04:46 PM   #8
LeDuc
Đệ tử 6 túi
 
LeDuc's Avatar
 
Tham gia ngày: Mar 2007
Bài gửi: 150
:
Trích:
Nguyên văn bởi lion View Post
bây giời bạn thử nấy cố định 50% duty và xuất ra 10000 xung xem được V = bao nhiêu .
khi có V rồi (gọi là V1) .

bây giờ bạn lại có V2(đã biết) => PWM = ( V2 * 10000 ) / V1
Nếu vậy thì có lẽ nên áp dụng luật điều khiển PID vận tốc để có tốc độ chính xác , rồi xem giá trị duty là bao nhiêu rồi tính ngược lại thử xem .
__________________
_________________________________________________
Le Trung Duc
Industry Research & Application Center
NTT Institute of Hi_technolog
ltduc@ntt.edu.vn
leduc_cktd@yahoo.com.vn
http://www.nttc.edu.vn
CNC DIY : http://quangcaosanpham.com/shop/driverservo
0909300332
LeDuc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-07-2008, 04:31 PM   #9
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
Em đã làm thử theo PID và thu được kết quả cũng tốt.
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-08-2008, 10:12 AM   #10
thaovma
Đệ tử 3 túi
 
Tham gia ngày: Jun 2007
Bài gửi: 50
:
Theo mình nghĩ, bạn có thể tìm được tỉ số giữa duty cycle PWM và vận tốc động cơ bằng cách xuất ra giá trị 50% duty cycle sau đó đo vận tốc động cơ tương ứng và sau đó áp dụng thêm giải thuật điều khiển PID đế đạt được vận tốc mong muốn tốt nhất, hoặc có thể áp dụng luôn PID mà ko cần tính tỉ số trên.
thaovma vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-08-2008, 02:52 PM   #11
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
- Mình đã làm thử đo tốc độ xuất xung duty cũng gần đúng,
- Nhưng khi áp dụng phương pháp Dead-reckoning do anh f đưa ra. Nếu để xe chạy trên không thì đo được tốc độ phương x, y bao nhiêu cm, nhưng khi để xe xuống ( xe nặng 6kg) thì nó không tính chính xác lâu lâu mới tính được nhưng tốc độ rất chậm, tần số lấy mẫu encoder của mình là 1s. Có ai chỉ giùm mình.
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


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à 07:19 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