PIC Vietnam

Go Back   PIC Vietnam > namqn

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

Conversation Between namqn and tungtuantu
Showing Visitor Messages 1 to 2 of 2
  1. tungtuantu
    08-11-2008 09:54 PM
    tungtuantu
    bác namqn ơi, em gửi bài cho bác lúc 11h30 trưa, mong bác tả lời em sớm, bác giúp em nhé, em mới tìm hiểu, nên còn bỡ ngỡ
  2. tungtuantu
    08-11-2008 11:26 AM
    tungtuantu
    anh cho em hỏi về cái QEI của 30F4011, em đọc datasheet và hiểu theo như này, anh xem có đúng ko ah
    - có phải số xung đếm được từ encoder được lưu trong POSCNT ?
    110 = Quadrature Encoder Interface enabled (x4 mode) with Index Pulse reset of position counter : đây là chế độ x4 xung, giá trị trong POSCNT sẽ bị xóa về 0 khi chân index có xung, nghĩa là POSCNT bị xóa về 0 sau mỗi vòng
    101 = Quadrature Encoder Interface enabled (x2 mode) with position counter reset by match (MAXCNT): POSCNT = 0 khi POSCNT = MAXCNT, mà MAXCNT là giá trịn do mình đặt vào, ví dụ em có encoder 250 xung/vong, thì em sẽ đặt MAXCNT = 250x4=1000 xung, thì khi POSCNT = 1000 thì POSCNT=0 (cũng là quay dc 1 vòng thì reset).
    Em chưa hiểu về bộ filter lắm, anh có thể nói thêm về cái này dduocj ko ah.
    Về ngắt của QEI:
    - When operating in reset on match mode, QEIM<2:0> = ‘111’ and ‘101’, an interrupt occurs on position counter rollover/underflow : Ngắt khi gặp xung index
    - When operating in reset on index mode, QEIM<2:0> = ‘110’ and ‘100’, an interrupt occurs on detection of index pulse and optionally when CNTERR bit is set: Ngắt khi POSCNT=MAXCNT
    - When operating as a Timer/Counter, QEIM<2:0> = ‘001’, an interrupt occurs on a period match event or a timer gate falling edge event when TQGATE = 1: cái này em chưa hiểu lắm
    Em xin đưa ra 1 ví dụ cụ thẻ nhé.
    em có 1 encoder 250 x/v, ko có index, bây h em muốn đọc tốc độ động cơ và xuát ra LCD
    - nếu em dùng ngắt khi POSCNT = MAXCNT, thì ch trinh ngắt là đọc POSCNT , như thế em chỉ biết dduocj số xung đếm dduocj, ko biết nó đêm dc trong bao lâu để suy ra tốc đọ.
    - neu em dùng ngắt timer thì cứ 1s ngắt 1 lần thì trong ctr ngắt em đọc POSCNT, nhvis dụ trong 1s đó đếm dduocj 1500 xung chẳng hạn, nhung đếm đến 1000 thì bị reset về ko, lúc đó giá trị đọc dc chỉ là 500xung, như thế thì tốc đọ đọc về ko đúng
    Anh cho em xin giải pháp cho vấn đề này nhé
    Em có gắng đọc datasheet và chiểu dduocj như thế, tiếng anh chuyên ngahnhf của em còn kém lắm, mong anh giúp em nhé.
    Thanks anh nhiều

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