PIC Vietnam

Go Back   PIC Vietnam > Robotics > Cảm biến

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ảm biến Camera, siêu âm, hồng ngoại, gyro, la bàn...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 28-05-2009, 01:18 PM   #31
lequocbao
Đệ tử 6 túi
 
lequocbao's Avatar
 
Tham gia ngày: Oct 2008
Nơi Cư Ngụ: HCM
Bài gửi: 137
:
mình đọc encoder bằng timer1(counter) qua rc0 của thằng 77a.vậy là pó tay hả bác?
__________________
A&A
lequocbao vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2009, 12:52 AM   #32
dongdu2907
Nhập môn đệ tử
 
Tham gia ngày: Sep 2009
Bài gửi: 1
:
[QUOTE=falleaf;1069]

Kết quả, nếu đĩa encoder có đến 10 vòng lỗ, thì chúng ta sẽ quản lý được đến 1/(2^10) tức là đến 1/1024 vòng. Hay người ta nói là độ phân giải của encoder là 1024 xung trên vòng (pulse per revolution - ppr).



Anh felleaf: em muốn hỏi anh là như anh nói thì số xung của encoder phu thuộc vào số vòng rãnh đúng ko anh. Em có 1 cái encoder chỉ có 1 vòng rãnh như thế tức là encoder của em chỉ có 2 xung trên một vòng theo cách tính của anh, nhưng em được người bán hàng nói là encoder đó là 50 xung / vòng. Vậy thì anh có thể giải thích cho em biết vì sao lại có sự sai khác như vậy được không? Cám ơn anh rất nhiều
dongdu2907 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2009, 08:38 AM   #33
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
[QUOTE=dongdu2907;29838]
Trích:
Nguyên văn bởi falleaf View Post

Kết quả, nếu đĩa encoder có đến 10 vòng lỗ, thì chúng ta sẽ quản lý được đến 1/(2^10) tức là đến 1/1024 vòng. Hay người ta nói là độ phân giải của encoder là 1024 xung trên vòng (pulse per revolution - ppr).



Anh felleaf: em muốn hỏi anh là như anh nói thì số xung của encoder phu thuộc vào số vòng rãnh đúng ko anh. Em có 1 cái encoder chỉ có 1 vòng rãnh như thế tức là encoder của em chỉ có 2 xung trên một vòng theo cách tính của anh, nhưng em được người bán hàng nói là encoder đó là 50 xung / vòng. Vậy thì anh có thể giải thích cho em biết vì sao lại có sự sai khác như vậy được không? Cám ơn anh rất nhiều
Em phân biệt 2 loại encoder Incremental (loại của em) và Absolute (loại em đang trích dẫn bài của anh).

Nên đọc kỹ và hiểu từ từ, đừng trích dẫn lung tung và đọc trước bỏ sau.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-01-2010, 02:01 AM   #34
trungmaidinh
Nhập môn đệ tử
 
Tham gia ngày: Mar 2009
Bài gửi: 3
:
Thưa các anh, mảng encoder mà các anh đang thảo luận là encoder quang, hoạt động theo nguyên tắc thu phát. Tức là có một led phát sáng chiếu qua lỗ encoder rồi phía bên kia sẽ có sensor thu tín hiệu (hiểu nôm na là thế). Em đọc trong một số tài liệu thì thấy còn có loại encoder quang PHẢN XẠ, hoạt động trên nguyên tắc phản xạ ánh sáng, tuy nhiên tài liệu nói quá sơ sài về phần này. Mong các anh giải thích nguyên lý hoạt động của loại này cho em được không ạ. Cảm ơn các anh rất nhiều.
trungmaidinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-04-2010, 08:42 AM   #35
121388th
Đệ tử 1 túi
 
Tham gia ngày: Apr 2010
Bài gửi: 12
:
bai viet nay hay lam hi hi
121388th vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-04-2010, 09:17 AM   #36
121388th
Đệ tử 1 túi
 
Tham gia ngày: Apr 2010
Bài gửi: 12
:
anh ơi em muôn hỏi các dạng đầu ra của encoder cho motor có 12 loại đầu ra
đó là A,B,C, và các tín hiệu phủ định cuat nó và tín hiệu V,U,W( cái này là phụ thuộc vào số cực của động cơ ) vậy nó phụ thuộc như thế nào ? dùng để làm j ??? hu hu hu
121388th vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-11-2010, 11:11 AM   #37
chimcon
Đệ tử 1 túi
 
Tham gia ngày: Apr 2010
Bài gửi: 24
:
encoder

void right_motor_forward(int value)
{
MOTOR_RIGHT_DIR=0;
setup_timer_2(T2_DIV_BY_4,124,1); // Dieu xung 10kHz
setup_ccp1(CCP_PWM);
set_pwm1_duty(value);
}
void left_motor_forward(int value)
{
MOTOR_left_DIR=0;
setup_timer_2(T2_DIV_BY_4,124,1); // Dieu xung 10kHz
setup_ccp2(CCP_PWM);
set_pwm2_duty(value);
}
void left_motor_reverse(int value)
{
MOTOR_LEFT_DIR=1;
setup_timer_2(T2_DIV_BY_4,124,1); // Dieu xung 10kHz
setup_ccp2(CCP_PWM);
set_pwm2_duty(value);
}
void right_motor_reverse(int value)
{
MOTOR_right_DIR=1;
setup_timer_2(T2_DIV_BY_4,124,1); // Dieu xung 10kHz
setup_ccp2(CCP_PWM);
set_pwm2_duty(value);
}
void left_motor_stop()
{
setup_ccp1(CCP_OFF);
}
void right_motor_stop()
{
setup_ccp1(CCP_OFF);
}
void left_motor_stop()
{
setup_ccp1(CCP_OFF);
}
void right_motor_stop()
{
setup_ccp1(CCP_OFF);
} // Chương trình xử lý tốc độ 2
động cơ
// 0:Stop,100:FORWARD 100%,-100:Reverse 100%
void speed (signed int left_motor_speed, signed int right_motor_speed)
{
int left_pwm_value=0,right_pwm_value=0;
/* Left motor */
if( left_motor_speed >= 0 )
{
left_pwm_value = 1.25*left_motor_speed; // (125*left_motor_speed/100)
left_motor_forward(left_pwm_value);
}
else
{
left_motor_speed = -left_motor_speed;
left_pwm_value = 1.25*left_motor_speed; // (125*left_motor_speed/100)
left_motor_reverse(left_pwm_value);
}
/* Right motor */
if( right_motor_speed >= 0 )
{
right_pwm_value = 1.25*right_motor_speed; // (125*left_motor_speed/100)
right_motor_forward(right_pwm_value);
}
else
{
right_motor_speed = -right_motor_speed;
right_pwm_value = 1.25*right_motor_speed; // (125*left_motor_speed/100)
right_motor_reverse(right_pwm_value);
}
}
chimcon vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-12-2010, 08:23 AM   #38
windfeast
Nhập môn đệ tử
 
Tham gia ngày: Jun 2009
Bài gửi: 4
:
Encoder 1 vòng rãnh nhưng có 3 đầu dây ra?

Hôm vừa rồi mình mua được cái động cơ có gắn sẵn Encoder này, 80k. Nhưng hỏi người bán thì người ta cũng ko biết nó bao nhiêu xung/giây. Trên thân động cơ có ghi 11K0575/22/C95X, mình tra trên mạng cũng ko thấy.
Ngõ ra của nó có 5 dây, 2 dây xanh lam và đỏ là nguồn mass cho động cơ, còn lại 3 dây, 1 lục, 1 xám, 1 trắng. Lúc đầu mình nghĩ là 3 kênh A, B và I (hoặc Z), nhưng coi lại thì thấy trên đĩa tròn của Encoder chỉ có 1 vòng rãnh (khoảng 68 lỗ trên 1 vòng duy nhất)...
Ai có kinh nhiệm gì về con này thì giúp mình với. Độ phân giải bao nhiêu và tác dụng của từng dây ngõ ra?
Thanks mọi người!
Ủa mà ngõ ra từ Encoder mình cho trực tiếp vào VXL hay có cần phải qua cái gỉ nữa ko nhỷ?
Hình Kèm Theo
File Type: jpg Encoder.jpg (12.7 KB, 556 lần tải)
windfeast vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-12-2010, 02:14 AM   #39
shakespeare_a18
Đệ tử 1 túi
 
Tham gia ngày: Aug 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 22
:
@windfeast: 3 dây còn lại là +5, GND cho led phát của encoder, dây còn lại lấy tín hiệu về.
Còn dây nào là dây nào thì bạn phải kiểm tra mới biết. Đa số đầu ra encoder có thể đưa vào vxl trực tiếp được.
Còn bao nhiêu xung/vòng, nếu bạn tháo ra đếm dc thì tốt, còn ko thì lập trình cho vxl đếm xung, rồi quay 1 vòng xme khoảng bao nhiêu xung.
shakespeare_a18 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-03-2011, 11:44 PM   #40
phamquocgia
Nhập môn đệ tử
 
Tham gia ngày: Jan 2010
Bài gửi: 8
:
Send a message via Yahoo to phamquocgia
Trích:
Nguyên văn bởi shakespeare_a18 View Post
@windfeast: 3 dây còn lại là +5, GND cho led phát của encoder, dây còn lại lấy tín hiệu về.
Còn dây nào là dây nào thì bạn phải kiểm tra mới biết. Đa số đầu ra encoder có thể đưa vào vxl trực tiếp được.
Còn bao nhiêu xung/vòng, nếu bạn tháo ra đếm dc thì tốt, còn ko thì lập trình cho vxl đếm xung, rồi quay 1 vòng xme khoảng bao nhiêu xung.
Bạn có thể chỉ mình cách kiểm tra được ko?
Mình mua cái động cơ có encoder 400xung/vòng, đĩa quay có 1 vòng lỗ. có 2 dây cấp cho động cơ. còn chỗ encoder có 1 cái bus 4 chân. nhìn sâu vào thì thấy có 2 chân được nối với nhau = 1 cái tụ dán thì phải! bạn chỉ mình cách để xác định nha!
phamquocgia vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-05-2011, 01:55 PM   #41
robocon1
Nhập môn đệ tử
 
Tham gia ngày: Sep 2009
Nơi Cư Ngụ: Philippines
Bài gửi: 2
:
Send a message via ICQ to robocon1 Send a message via AIM to robocon1 Send a message via Yahoo to robocon1
Xác định số vòng quay rpm

Chào các bạn. Mình có mạch đếm số vòng quay của encoder. Mạch đếm từ 0 -> 32768 thì quay lại 0.
Tần số trích mẫu của mình là 500HZ. Các bạn chỉ giúp mình công thức để tính số vòng quay của động cơ được không?

Theo nguyên lý thì: Số vòng quay = [w(k)-w(k-1)]*60/(2*pi*T)
Trong đó
w(k) là con số nhận được từ mạch đếm ở thời điểm hiện tại
w(k-1) là con số nhận được từ mạch đếm ở thời điểm lấy mẫu phía trước
T là tần số lấy mẫu.
Sau khi có số vòng quay mình đưa qua một mạch lọc thông thấp (LPF) nhưng kết quả không đúng.
Bạn nào có kinh nghiệm chỉ ra giúp mình xem phương pháp trên bị sai ở chỗ nào. Cám ơn các bạn nhiều.
robocon1 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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Mạch đếm dùng cho encoder thaychua Cảm biến 23 17-04-2015 12:54 AM
Encoder falleaf Cảm biến 7 09-05-2012 03:16 AM
Encoder: absolute và incremental? Dùng loại nào? falleaf Cơ cấu chấp hành (Actuator) 43 13-01-2012 01:00 AM
Các vấn đề về encoder? caonam Cơ cấu chấp hành (Actuator) 14 25-11-2010 12:01 PM
cần mua absolute rotary encoder kienvq Tìm mua sản phẩm 3 11-08-2006 09:44 PM


Múi giờ GMT. Hiện tại là 12: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