![]() |
|
Tài trợ cho PIC Vietnam |
dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 2 túi
Tham gia ngày: Nov 2009
Bài gửi: 27
: |
Cầu cứu QEI
em đang lập trình cho dsPIC 30f4011 điều khiển động cơ DC
khi sử dụng module QEI nếu sử dụng cả hai pha A & B thì thường gây nhiễu trên đường truyền, mỗi khi động cơ chạy thì VDK bị reset. Bây giờ em chỉ sử dụng 1 pha A hoặc B thì cần thiết lập thế nào và giá trị PSOCNT sẽ cập nhật ra sao? dưới dây là code em đang dùng hai pha: void INT_QEI() { _TRISB4=1; _TRISB5=1; /* Enable QEI Interrupt and Priority to "1" */ ConfigIntQEI(QEI_INT_PRI_5 & QEI_INT_DISABLE); POSCNT = 0; MAXCNT = 0xffff; OpenQEI(QEI_DIR_SEL_CNTRL & QEI_INDEX_RESET_DISABLE & QEI_GATED_ACC_DISABLE & QEI_LOGIC_CONTROL_IO & QEI_INPUTS_NOSWAP & //QEI_MODE_TIMER & //QEI_MODE_x2_MATCH & QEI_MODE_x4_MATCH & QEI_IDLE_STOP, 0); //// QEICONbits.UPDN = 1; }; mong được giúp đỡ thanks! |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Feb 2010
Bài gửi: 1
: |
muốn điều khiển động cơ bằng QEI thì phải dùng cả 2 pha A và B, ngoài ra con có pha index. Mình thấy có thể vòng loop của bạn bị reset vì chương trình chứ không phải là do nhiễu trên pha A, B vì thường trong QEI module nó có cái filter để khử noise rồi. Bạn xem lại controller của bạn xem.
|
![]() |
![]() |
![]() |
|
|