PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cảm biến (http://www.picvietnam.com/forum/forumdisplay.php?f=18)
-   -   encoder 300xung/vòng (http://www.picvietnam.com/forum/showthread.php?t=6437)

betabeta 30-05-2010 01:38 AM

encoder 300xung/vòng
 
Tớ dùng bộ QEI của PIC8F4431 để đọc tín hiệu từ encoder 300xung/vòng, 2 dây QEA và QEB.
Đọc tín hiệu tốt khi vận tốc thấp (quay tay đếm đủ số xung)
Nhưng khi vận tốc cao, khoảng 5.000 vòng/phút, dùng chế độ đọc X2 (25.000 xung tương đương 50.000 sự kiện/s, 50KHz) thì các hiệu ứng delay không còn chạy chính xác (delay 1s thành hơn 10s) nếu cho động cơ dừng lại thì delay chính xác như cũ.
Nghĩ rằng do thạch anh dao động không đủ đáp ứng, tớ thay thạch anh 4MHz thành 20MHz, kết quả cải thiện (delay 1s thành hơn 2s)

Vậy tớ muốn hỏi lí do gì khiến chip chạy thiếu ổn định như vậy dù tớ đã tắt cả 3 nguồn ngắt của bộ QEI,chỉ định thời đọc giá trị của POSCNT và cách khắc phục nhược điểm này, vì không lẽ đọc encoder thì ko còn làm gì ra hồn được cả sao?

chestnut 30-05-2010 06:09 PM

Trích:

Nguyên văn bởi betabeta (Post 36412)
Tớ dùng bộ QEI của PIC8F4431 để đọc tín hiệu từ encoder 300xung/vòng, 2 dây QEA và QEB.
Đọc tín hiệu tốt khi vận tốc thấp (quay tay đếm đủ số xung)
Nhưng khi vận tốc cao, khoảng 5.000 vòng/phút, dùng chế độ đọc X2 (25.000 xung tương đương 50.000 sự kiện/s, 50KHz) thì các hiệu ứng delay không còn chạy chính xác (delay 1s thành hơn 10s) nếu cho động cơ dừng lại thì delay chính xác như cũ.
Nghĩ rằng do thạch anh dao động không đủ đáp ứng, tớ thay thạch anh 4MHz thành 20MHz, kết quả cải thiện (delay 1s thành hơn 2s)

Vậy tớ muốn hỏi lí do gì khiến chip chạy thiếu ổn định như vậy dù tớ đã tắt cả 3 nguồn ngắt của bộ QEI,chỉ định thời đọc giá trị của POSCNT và cách khắc phục nhược điểm này, vì không lẽ đọc encoder thì ko còn làm gì ra hồn được cả sao?

Hàm delay của bạn viết như thế nào?

HAI1817 20-07-2010 05:56 PM

giúp em về cái đọc encoder
 
1 Attachment(s)
code em không chạy được

LeDuc 20-07-2010 10:25 PM

Trích:

Nguyên văn bởi betabeta (Post 36412)
Tớ dùng bộ QEI của PIC8F4431 để đọc tín hiệu từ encoder 300xung/vòng, 2 dây QEA và QEB.
Đọc tín hiệu tốt khi vận tốc thấp (quay tay đếm đủ số xung)
Nhưng khi vận tốc cao, khoảng 5.000 vòng/phút, dùng chế độ đọc X2 (25.000 xung tương đương 50.000 sự kiện/s, 50KHz) thì các hiệu ứng delay không còn chạy chính xác (delay 1s thành hơn 10s) nếu cho động cơ dừng lại thì delay chính xác như cũ.
Nghĩ rằng do thạch anh dao động không đủ đáp ứng, tớ thay thạch anh 4MHz thành 20MHz, kết quả cải thiện (delay 1s thành hơn 2s)

Vậy tớ muốn hỏi lí do gì khiến chip chạy thiếu ổn định như vậy dù tớ đã tắt cả 3 nguồn ngắt của bộ QEI,chỉ định thời đọc giá trị của POSCNT và cách khắc phục nhược điểm này, vì không lẽ đọc encoder thì ko còn làm gì ra hồn được cả sao?

Mạch của mình chạy thạch anh 8M , sử dụng 18f2331 đk servo 100w , encoder 500 xung , chạy tốc độ tối đa 3000v/phút .
Bộ QEI đọc encoder ở chế độ x4 . Kô thấy hiện tượng gì bất thường cả .
Bạn nên xem lại đoạn code và cách thiết lập cấu hình cho chip đi .


Múi giờ GMT. Hiện tại là 03:18 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam