View Single Post
Old 12-07-2007, 03:20 PM   #12
Mecha
Trưởng lão PIC bang
 
Mecha's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 315
:
Ý của bạn andy là muốn xử lý chính xác xung tín hiệu ra từ encoder. Giả sử andy dùng encoder có độ phân giải 500 xung/vòng quay. Vậy khi động cơ quay 500 vòng/giây tương ứng với 30k vòng/phút thì đầu tín hiệu ra của encoder sẽ là là xung với tần số lên đến 250 kHz (T = 4 micro giây). Vì vậy muốn đếm được chính xác số xung thì vòng quét (tạo bởi chương trình con) hay Timer phải có chu kỳ nhỏ hơn hoặc bằng 4 micro giây. Nếu andy chỉ dùng Timer co T = 50ms, khi bạn đếm xung 250 kHz thì mới đếm được xung đầu tiên thì đã có (12500-1) xung khác xuất hiện và bạn sẽ không xử lý kịp. Vậy vấn đề như mình đã nói "tổng thời gian để thực hiện các lệnh xử lý xung phải nhỏ hơn 4 micro giây". Nghĩa là bạn lập trình rồi cộng tổng số chu kỳ máy của các lệnh trong chương trình con. Nếu nhỏ hơn 4 micro giây thi oki Mình nghĩ việc này là không thể cho các chip với tốc độ xử lý lệnh như hiện nay.
__________________
Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.


Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263
Mecha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn