Thông báo

Collapse
No announcement yet.

Đo tốc độ động cơ dùng encoder

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Đo tốc độ động cơ dùng encoder

    Em viết một chương trình đo tốc độ động cơ dùng encoder (mặc dù trong tay chưa có cái encoder nào hết! ). Cách làm của em như sau: dùng chức năng capture để bắt xung lên hay xuống khi động cơ quay làm che encoder. Đọc giá trị timer1 tại lúc đó. Xóa cờ và tiếp tục đợi đến khi nào có xung để đọc tiếp. Sau đó lấy 2 giá trị đó trờ nhau (16bit), rối ở chỗ này, Timer1 có 16bit, em nhét 2 nữa 8bit vào 1 biến 16bit. Sau đó trừ 2 cái biến 16bit đó với nhau. Nhưng kết quả thỉnh thoảng ra số âm! Dù không bị tràn timer1 nhưng cũng xảy ra số âm. Theo em thì do PIC hiểu nhầm số đó là số 16bit có dấu nên khi xuất ra lcd thì thành số âm. Dẫn đến kết quả em tính tốc độ quay cũng sai nốt!

    Giải pháp tạm thời của em là chỉ dùng 8bit cao. Trừ 2 giá trị 8bit cao cho nhau rồi nhân thêm 2^8. Coi như bỏ luôn 8bit thấp.....kết quả vẫn không đúng!

    P.S: mạch phần cứng, chỗ encoder em dùng ruột của con chuột bi được ko ? Có ai làm thành công mạch này chưa, chỉ em với ạ!

  • #2
    Ặc, sao ko ai giúp em hết vậy? Cộng đòng PIC có vẻ....im ắng quá. Bên box 8051 em vừa post bài đã có người trả lời rồi!

    Comment

    Về tác giả

    Collapse

    vaa_dtvn Tìm hiểu thêm về vaa_dtvn

    Bài viết mới nhất

    Collapse

    Đang tải...
    X