Ví dụ đây là một "khung chương trình" của 89C52
Code:
;******************************************************** |
Xin hỏi rằng nếu tốc độ xử lý không xử lý được số xung thì có thể dùng biện pháp phần cứng nào để xử lý ko?
(liệu có thể dùng bộ đếm như kiểu chia tần không?, lúc đó pha còn chính xác ko nhỉ) Giúp em với nhé, em đang phải đọc 1 encoder quang mà vẫn chưa thành công. Cám ơn mọi người trước! |
Trích:
Thân, |
Cảm ơn anh Nam, em cũng đã nghĩ như vậy.
Em chưa hiểu đoạn anh nói về cách "đọc giá trị tức thời của bộ đếm ngoài qua 4 đường I/O của PIC, các bit cao hơn sẽ nằm trong vi điều khiển" lắm Em nghĩ đơn giản là dùng bộ đếm 4bit thì tốc độ xung sẽ giảm 16 lần, và xung đó chính là xung thể hiện ở bit cao nhất bộ đếm. Như vậy thì ta tiến hành đếm xung ở chân này của bộ đếm? (vì vậy mà em mới hỏi về pha, em định cho cả 2 kênh A,B qua 2 bộ đếm để giảm tốc độ xung, sau đó giải mã như bình thường?) |
Trích:
- Trường hợp encoder phát xung trên hai kênh A và B: mình nghĩ là không dùng được giải pháp bộ đếm nhị phân ngoài được vì khi đó thông tin về độ lệch pha giữa A và B (để quyết định chiều quay của encoder) bị mất hay nói cách khác là không thể nhận biết được khi lập trình trên PIC. Tôi nghĩ thông tin đã đủ, bạn làm mạch thử nghiệm và thông báo kết quả cho mọi người nhé. |
Trích:
Thân, |
Trích:
Nguyên lý của SR-FF: http://i13.photobucket.com/albums/a2..._FlipFlops.jpg Theo hình vẽ, giả sử nếu sử dụng chân Set (S) cho cổng A, chân Reset (R) cho cổng B thì: - Nếu A sớm pha hơn B (S=1, R=0) thì suy ra encoder quay thuận (Q=1) - Nếu A chậm pha hon B (S=0, R=1) thì suy ra encoder quay nghịch (Q=0) Vì vậy ta có thể sử dụng chân Q như chân địch chiều quay. Vấn đề giờ có thể quy về "Trường hợp encoder chỉ phát xung trên một chân, hướng (chiều) của xung được quy định bởi 1 chân khác". |
Trích:
Chẳng hạn, kênh A đưa vào chân D và kênh B đưa vào chân clock: - Nếu A sớm pha hơn B, thì lúc có clock (tức là B lên 1) logic '1' được đưa vào FF (chiều thuận) - Nếu A chậm pha hơn B, thì lúc có clock (tức là B lên 1) logic '0' được đưa vào FF (chiều nghịch) Thân, |
mình dùng con 18f4331 để đọc encoder,con này có module đọc encoder nhưng trong tập lệnh của CCS ko thấy có lệnh nào sử dụng cho module này cả,có bạn nào làm đọc encoder rồi chỉ mình với,
|
Múi giờ GMT. Hiện tại là 09:41 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam