Chào các bạn. Mình đang lập trình để đo tốc độ động cơ có gắn encoder bằng atmega16
Ý tưởng của mình là:
1.đếm số xung của encoder vào chân INT0 (dùng ngắt ngoài) giả sử đếm được n xung trong 1s
2. dùng timer 1 để tạo khoảng thời gian đếm 1s
3. Hiển thị tốc độ lên LCD .
giả sử độ phân giải của encoder là m thì Tốc độ = n/m (V/s)
Tất cả từ lập trình đến mô phỏng đã OK. Nhưng khi làm mạch thật thì mình gặp một vấn đề rất khó đỡ là.
1. Chỉ khi động cơ quay rất chậm thì chương trình mới chạy đúng (cái này mình nghi là do chân INT0 không đáp ứng kịp)
2. Thay đổi tốc độ động cơ thì kết quả hiển thị trên LCD không thay đổi ngay mà một lúc sau mới thay đổi và thay đổi không chính xác cho lắm.
3. Khi động cơ chạy ổn định ở một tốc độ rồi mà LCD vẫn nhảy
4. Khi động cơ không chạy thì LCD vẫn hiển thị ở một mốc tốc độ VD: 27,31(V/s)
Mình nghi là có vấn đề gì về tốc độ hồi đáp của ATmega16 hoặc vấn đề hiển thị của mình còn thiếu sót gì. Mong các bạn giúp đỡ. Ai có tài liệu gì thì gửi cho mình xem nhé. Thank các bạn rất nhiều
Còn đây là code và file mô phỏng: http://www.mediafire.com/?4j4vvan7wc3lx94
Ý tưởng của mình là:
1.đếm số xung của encoder vào chân INT0 (dùng ngắt ngoài) giả sử đếm được n xung trong 1s
2. dùng timer 1 để tạo khoảng thời gian đếm 1s
3. Hiển thị tốc độ lên LCD .
giả sử độ phân giải của encoder là m thì Tốc độ = n/m (V/s)
Tất cả từ lập trình đến mô phỏng đã OK. Nhưng khi làm mạch thật thì mình gặp một vấn đề rất khó đỡ là.
1. Chỉ khi động cơ quay rất chậm thì chương trình mới chạy đúng (cái này mình nghi là do chân INT0 không đáp ứng kịp)
2. Thay đổi tốc độ động cơ thì kết quả hiển thị trên LCD không thay đổi ngay mà một lúc sau mới thay đổi và thay đổi không chính xác cho lắm.
3. Khi động cơ chạy ổn định ở một tốc độ rồi mà LCD vẫn nhảy
4. Khi động cơ không chạy thì LCD vẫn hiển thị ở một mốc tốc độ VD: 27,31(V/s)
Mình nghi là có vấn đề gì về tốc độ hồi đáp của ATmega16 hoặc vấn đề hiển thị của mình còn thiếu sót gì. Mong các bạn giúp đỡ. Ai có tài liệu gì thì gửi cho mình xem nhé. Thank các bạn rất nhiều
Còn đây là code và file mô phỏng: http://www.mediafire.com/?4j4vvan7wc3lx94
Comment