|
Tài trợ cho PIC Vietnam |
Cơ cấu chấp hành (Actuator) Động cơ DC, AC, động cơ không chổi than, động cơ không cảm biến... |
|
Ðiều Chỉnh | Xếp Bài |
|
01-09-2010, 10:24 AM | #1 |
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 21
: |
Anh E nào biết xin giúp mình về động cơ servo.
Trước mình có làm máy CNC bằng cách sử dụng động cơ bước. Hiện tại mình muốn tìm hiệu về động cơ servo ( AC hoặc DC ). Mình không thể hiệu được làm cách nào ta có thể cho động cơ quay khoảng 0.72 độ chính xác, hay là một giá trị góc nào đó ( để dùng cho nội suy các đường ). Vì theo mình hiểu thì động cơ servo( DC) nó cũng giống nhưng động cơ DC bình thường( Nhưng nó chỉ khác về kết cấu, cách thức chế tạo.....giúp đáp ứng tốt trong điều khiển). Vì ý tưởng điều khiển nào cho phép điều khiển động cơ servo quay 1 góc thật nhỏ ( ví dụ như 1 xung encoder ). Anh E nào biết giúp đỡ mình với.
|
01-09-2010, 06:13 PM | #2 |
Đệ tử 4 túi
Tham gia ngày: Nov 2008
Bài gửi: 84
: |
hệ thống servo giống như ta chạy xe theo 1 vạch thẳng, khi ta đi lệch , ta sẽ điều chỉnh sang trái hoặc sang phải sao cho xe lại trở về vạch
hệ thống motor servo cũng vậy, dựa vào encoder , hệ thống sẽ điều khiển motor khi có sai lệch, thuật toán để điều chỉnh thường là PID b.r |
13-01-2011, 11:17 PM | #3 |
Đệ tử 1 túi
Tham gia ngày: Apr 2008
Bài gửi: 14
: |
mình đã lam thành công một máy CNC với DC servo tuy nhiên độ chính xác chưa tốt và còn nhiều khuyết điểm nếu gì bạn có thể liên lạc với mình. 01696940958.!
thay đổi nội dung bởi: trâuđực, 13-01-2011 lúc 11:23 PM. |
06-03-2011, 10:53 PM | #4 |
Đệ tử 1 túi
Tham gia ngày: Mar 2011
Bài gửi: 11
: |
bạn muốn điều khiển vị trí cho một động cơ - điều đó có nghĩa là bạn phải viết giao tiếp với động cơ ac servo hoặc dc servo, lúc đó bạn viết chương trình phát xung tốc độ cao, tùy theo động cơ có encoder bao nhiêu xung , mà số xung kích cho nó quay được một vòng có thể 2000 xung , 3500 xung .
|
21-03-2011, 10:42 AM | #5 |
Nhập môn đệ tử
Tham gia ngày: Mar 2011
Bài gửi: 4
: |
#include <16F877A.h>
#fuses HS,NOWDT, NOPROTECT #use delay(clock=8000000) #include <LCD1.c> #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7) #use fast_io(b) int16 CCP1Value; int16 CCP1OldValue; BOOLEAN CCP1Captured; int16 DORONGXUNGON ; BOOLEAN CHIEU ; FLOAT GIATRI ; #int_CCP1 CCP1_isr() { //// viết code đếm số xung ở đây, cứ 200 xung = 1vong tùy thuộc vào encoder nữa bạn, xung++ ; if(xung == 200) vong++ ; printf(lcd_putc,"so vong quay: %2d",vong) ; } //-------------------------------------------------------------------------- void Init_ccp(void) { setup_ccp1(CCP_CAPTURE_RE); setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); CCP1Value = 0; CCP1OldValue = 0; CCP1Captured = TRUE; enable_interrupts(INT_CCP1); enable_interrupts(GLOBAL); } |
|
|