Hướng dẫn sử dụng Kit 89 - Bài 11 doc

3 351 0
Hướng dẫn sử dụng Kit 89 - Bài 11 doc

Đang tải... (xem toàn văn)

Thông tin tài liệu

Hướng dẫn sử dụng Kit 89 Bài 11 : Điều khiển encoder Mục đích: Hiểu được nguyên lý hoạt động của encoder. Nắm vững kĩ thuật điều khiển encoder bằng ngắt ngoài. Yêu cầu: Xây dựng chương trình đọc số xung encoder và hiển thị giá trị ra led 7 đoạn. 11.1 Nguyên lý điều khiển encoder Encoder là thiết bị cảm biến được dùng phổ biến trong các ứng dụng cần đo khoảng cách, vận tốc hoặc trong các ứng dụng cần độ chính xác cao. Hình dạng thực tế của encoder như sau: Cấu tạo của encoder gồm 1 vòng tròn, trên đó xẻ nhiều rãnh (còn gọi là đĩa), và 1 mạch cảm biến để phát xung Số rãnh trên đĩa gọi là độ phân giải hay số xung của encoder. Đối với encoder có độ phân giải thấp (dưới 200 xung) thì đĩa này là đĩa thép. Đối với các encoder có độ phân giải cao, cỡ 1000 xung, thì đĩa này được làm bằng đĩa từ, encoder như vậy còn gọi là encoder quang. BKIT HARDWARE CLUB – www.bkit4u.com 60 Hướng dẫn sử dụng Kit 89 Tín hiệu trả về của encoder có 3 kênh A, B và Z. Thông thường ta sử dụng 2 kênh A và B là đủ thông tin cho quãng đường và chiều quay của encoder. Tín hiệu trả về trên 2 kênh này như sau : Như vậy nếu ta đưa tín hiệu A vào chân ngắt ngoài và cấu hình là ngắt cạnh lên, thì khi tín hiệu B ở mức cao là chiều quay thuận của encoder, khi B ở mức thấp là chiều quay ngược lại. 11.2 Kết nối phần cứng Gạt switch 4 lên ON để kích hoạt led 7 đoạn. Kết nối với encoder gồm 4 chân : VCC, GND, A và B vào board. Tín hiệu A được nối vào P3.2 gây ra ngắt ngoài 0, tín hiệu B nối với P3.5 11.3 Viết chương trình Chương trình gồm có 3 group : TIMER dùng để quét led, hiển thị giá trị encoder ra led 7 đoạn; EXT_INT dùng để cập nhật giá trị encoder mỗi khi có ngắt ngoài 0 ở chân P3.2, MAIN chứa file main.c là chương trình chính để chạy. Chương trình trong bài này hoàn toàn tương tự như bài trước, đoạn code trong hàm phục vụ ngắt ngoài sửa đổi lại như sau: void ext0_isr() interrupt 0 { if(P3 & (1 << 5)) pulse ++; else pulse ; } Biến pulse được khai báo là unsigned int, dùng để lưu trữ giá trị của encoder. BKIT HARDWARE CLUB – www.bkit4u.com 61 Hướng dẫn sử dụng Kit 89 Để xuất giá trị encoder ra led 7 đoạn, ta thêm 2 dòng lệnh sau trong hàm phục vụ ngắt timer 0: set_position(2); put_number(pulse); Hàm main() chỉ đơn giản là khởi tạo các thông số cần thiết và sau đó loop vô tận. Tất cả mọi công việc sẽ do các hàm phục vụ ngắt quãng thực hiện. Đây là 1 mô hình lập trình cơ bản của vi điều khiển trong các ứng dụng thực tế. Chi tiết code các bạn xem thêm trong thư mục Bài 11. BKIT HARDWARE CLUB – www.bkit4u.com 62 . còn gọi là encoder quang. BKIT HARDWARE CLUB – www.bkit4u.com 60 Hướng dẫn sử dụng Kit 89 Tín hiệu trả về của encoder có 3 kênh A, B và Z. Thông thường ta sử dụng 2 kênh A và B là đủ thông. Hướng dẫn sử dụng Kit 89 Bài 11 : Điều khiển encoder Mục đích: Hiểu được nguyên lý hoạt động của encoder khai báo là unsigned int, dùng để lưu trữ giá trị của encoder. BKIT HARDWARE CLUB – www.bkit4u.com 61 Hướng dẫn sử dụng Kit 89 Để xuất giá trị encoder ra led 7 đoạn, ta thêm 2 dòng lệnh sau

Ngày đăng: 13/08/2014, 22:22

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan