em có 1 encoder 1000 xung/vòng, gắn vào trục động cơ để đo tốc độ của động cơ, em dùng chương trình ngắt để đọc xung, động cơ dc 43 vòng / phút.
em dùng int0 để nhận xung và lấy cạnh xuống(falling), chương trình ngắt em tăng biến lên mỗi khi có tín hiệu ngắt.sau 10ms em lấy kết quả 1 lần.nhưng em không đọc được giá trị chính xác như ước lượng.
Và có phải là tốc độ ngắt của Atmega 32 L không đủ nhanh để đáp ứng không?? .
em quay thử encoder thật chậm thì 1 vòng đạt được khoảng 980-985 xung.
các anh có thể tư vấn cho em được không??. Em có đọc phần interrupt trong datasheet của nó, nhưng hổng thấy đề cập đến tốc độ hay tần số ngắt gì hết híc híc.
em dùng int0 để nhận xung và lấy cạnh xuống(falling), chương trình ngắt em tăng biến lên mỗi khi có tín hiệu ngắt.sau 10ms em lấy kết quả 1 lần.nhưng em không đọc được giá trị chính xác như ước lượng.
Và có phải là tốc độ ngắt của Atmega 32 L không đủ nhanh để đáp ứng không?? .
em quay thử encoder thật chậm thì 1 vòng đạt được khoảng 980-985 xung.
các anh có thể tư vấn cho em được không??. Em có đọc phần interrupt trong datasheet của nó, nhưng hổng thấy đề cập đến tốc độ hay tần số ngắt gì hết híc híc.
Comment