View Single Post
Old 12-07-2007, 10:32 AM   #10
andy
Nhập môn đệ tử
 
Tham gia ngày: Jul 2007
Bài gửi: 2
:
Cool

Trích:
Nguyên văn bởi Mecha View Post
Tần số lên tới 250kHz cơ à! Mình chưa bao giờ đếm xung tần số cao như thế này. Ở đây mình chỉ đề xuất một phương án là dùng bộ đếm xung bằng phần mềm. Bạn tạo môt vòng quét (bằng chương trình con) có chu kỳ T = 4 micro giây. Trong chương trình con này bạn viết các lệnh để nhận biết sườn xung lên. Vấn đề là thời gian để thực hiện các lệnh này phải nhỏ hơn 4 micro giây nếu không sẽ xảy ra hiện tượng đệ qui (các lệnh của chu kỳ trước chưa thực hiên xong thì lại được thực thi ở chu kỳ tiếp theo).
Anh Mecha oi! Làm sao trong 4 micro giây có thể đọc xung rồi kiểm tra chiều tiến lùi...Encoder em đang nghiên cứu cho tín hiệu ra TTL với 3 dãy xung A,B,C. Trong đó A và B có cùng chu kỳ và lệch pha nhau 90 độ, C có chu kỳ gấp đôi B. Tần số ra biến thiên nhưng lớn nhất là 250KHz.
Em định dùng bộ đếm để đếm xung trong một khoảng thời gian nhất định(vd:50ms dùng ngắt Timer) rồi cho hiển thị số xung đếm được. Còn xđ tiến lùi thì như anh Falleaf có một bài đã post lên, khi có sườn ở xung A thì đọc giá trị của B là biết chiều nhưng em chưa biết thuật toán thế nào cho hợp lý, khi có sườn ở A thì ngắt rồi đọc B, thì sẽ bị ngắt liên tục và không đảm bảo về thời gian. Xử lý về thời gian chỗ này rất phức tạp. Hay có loại nào có chân chuyên đếm xung không các anh? Các anh xem có cách nào giúp em nhé, em cảm ơn các anh.........

thay đổi nội dung bởi: andy, 12-07-2007 lúc 10:46 AM. Lý do: Bổ sung
andy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn