[Help Capture-MSP430] - Đo tốc độ động cơ DC

LeeTruHee

Thành Viên PIF
em đang cần đo tốc độ động cơ DC, cứ ngắt ngoài (thông qua chân P1.3) xảy ra thì capture đếm thời gian từ lần ngắt đầu tiên đến lần ngắt thứ 2 (1 vòng quay của DC) từ đó suy ra tốc độ, mà em không biết code làm sao, mong anh chị giúp đỡ :3cool_adore: đang rất cần ạ! cảm ơn anh chị nhiều!:)
 

levanchuc

Trứng gà
có 2 cách:
Cách 1: encoder có độ phân giải thấp: 1 vòng có m xung
Đếm thời gian 1 xung:
- Khởi đông 1 timer chu kì là Ts, cứ vô ngắt timer tăng biến đếm lên 1 đơn vị
- Vô ngắt ngoài thì cập nhật thời gian 1 lần vô ngắt ngoài tức là thời gian 1/m của 1 vòng là Ts* dem + T0R(thanh ghi đếm của timer) => thời gian 1 chu kì là m * (Ts* dem + T0R)
Cách 2: encoder có độ phân giải cao ( n xung) hoặc động cơ quay nhanh
- Đếm số xung trong 1 khoảng thời gian:
+Vô ngắt ngoài tăng biến đếm lên 1
+ Vô ngắt timer( chu kì Ts) thì cập nhật giá trị trong biến đếm giả sử k xung
k xung -> Ts
n xung -> Ts * n / k
có chu kì thì bạn có thể tính vận tốc dễ dàng.
 
Top