⚙️
1. Giới thiệu vấn đề
Encoder là “mắt” của hệ thống điều khiển vị trí/tốc độ.
Nhưng nếu xung đọc bị lệch (thiếu, thừa, hoặc trễ), PID và hệ thống điều khiển sẽ phản hồi sai → robot chạy lệch, CNC cắt sai, băng tải mất đồng bộ.
2. Nguyên nhân kỹ thuật chính
Nguyên nhân Giải thích kỹ thuật Tác động
Nhiễu điện từ (EMI) Motor, relay tạo xung nhiễu vào dây encoder Mất xung hoặc sai pha A/B
Dây dài / không shield Tăng điện trở & nhiễu xuyên Xung bị méo, sai biên
Lỗi cơ khí Encoder trượt trục, lỏng khớp nối Sai số định vị
Lỗi code Đọc xung không đồng bộ, debounce sai Bỏ sót hoặc đếm sai xung
Xung tốc độ cao MCU không kịp xử lý → trễ ngắt Mất xung khi tốc độ motor cao
3. Cách khắc phục thực chiến
3.1. Giảm nhiễu phần cứng
Dây tín hiệu: dùng dây xoắn đôi + shield, nối mass một đầu.
Tụ lọc: 100nF gần chân encoder → lọc xung cao tần.
Cách ly nguồn: dùng opto-isolator hoặc bộ đệm Schmitt trigger.
3.2. Ổn định cơ khí
Siết chặt khớp nối encoder → trục không trượt.
Kiểm tra bạc đạn encoder tránh rung lắc.
3.3. Tối ưu code đọc xung
Dùng interrupt thay vì polling.
Đảm bảo ISR ngắn gọn, chỉ đếm xung và lưu vào biến volatile.
Với ESP32: dùng pcnt hardware counter để giảm tải CPU.
3.4. Đồng bộ tín hiệu & PID
Lấy mẫu encoder theo chu kỳ cố định (ví dụ 1ms) để tính tốc độ mượt hơn.
Lọc giá trị tốc độ bằng moving average hoặc Kalman filter để giảm jitter.
4. Ví dụ thực tế
Robot dò line tốc độ cao: encoder 600 xung/vòng, dây dài 1m → nhiễu → bỏ xung → fix bằng dây shield + tụ lọc 100nF.
Máy CNC mini: encoder trượt trục → định vị sai 0.5mm → siết lại khớp nối + thêm keo Loctite.
Xe tự cân bằng ESP32: xung 20kHz → MCU bỏ xung → dùng hardware counter ESP32-PCNT → đọc đủ xung ở tốc độ cao.
5. Kết luận & CTA
Encoder lệch xung không chỉ là vấn đề phần cứng, mà còn liên quan đến cơ khí và phần mềm.
???? Bạn muốn mình gửi code đọc encoder tốc độ cao + sơ đồ chống nhiễu cho dự án của bạn không? Bình luận hoặc inbox để nhận ngay.
Hashtags:
#Encoder #PIDControl #ESP32 #Arduino #Robotics #CNC #IoT #Automation #MotorControl #EmbeddedSystems #PCBDesign #STEM #DIYRobotics #TechFix #ChiptalkGlobal
1. Giới thiệu vấn đề
Encoder là “mắt” của hệ thống điều khiển vị trí/tốc độ.
Nhưng nếu xung đọc bị lệch (thiếu, thừa, hoặc trễ), PID và hệ thống điều khiển sẽ phản hồi sai → robot chạy lệch, CNC cắt sai, băng tải mất đồng bộ.
2. Nguyên nhân kỹ thuật chính
Nguyên nhân Giải thích kỹ thuật Tác động
Nhiễu điện từ (EMI) Motor, relay tạo xung nhiễu vào dây encoder Mất xung hoặc sai pha A/B
Dây dài / không shield Tăng điện trở & nhiễu xuyên Xung bị méo, sai biên
Lỗi cơ khí Encoder trượt trục, lỏng khớp nối Sai số định vị
Lỗi code Đọc xung không đồng bộ, debounce sai Bỏ sót hoặc đếm sai xung
Xung tốc độ cao MCU không kịp xử lý → trễ ngắt Mất xung khi tốc độ motor cao
3. Cách khắc phục thực chiến
3.1. Giảm nhiễu phần cứng
Dây tín hiệu: dùng dây xoắn đôi + shield, nối mass một đầu.
Tụ lọc: 100nF gần chân encoder → lọc xung cao tần.
Cách ly nguồn: dùng opto-isolator hoặc bộ đệm Schmitt trigger.
3.2. Ổn định cơ khí
Siết chặt khớp nối encoder → trục không trượt.
Kiểm tra bạc đạn encoder tránh rung lắc.
3.3. Tối ưu code đọc xung
Dùng interrupt thay vì polling.
Đảm bảo ISR ngắn gọn, chỉ đếm xung và lưu vào biến volatile.
Với ESP32: dùng pcnt hardware counter để giảm tải CPU.
3.4. Đồng bộ tín hiệu & PID
Lấy mẫu encoder theo chu kỳ cố định (ví dụ 1ms) để tính tốc độ mượt hơn.
Lọc giá trị tốc độ bằng moving average hoặc Kalman filter để giảm jitter.
4. Ví dụ thực tế
Robot dò line tốc độ cao: encoder 600 xung/vòng, dây dài 1m → nhiễu → bỏ xung → fix bằng dây shield + tụ lọc 100nF.
Máy CNC mini: encoder trượt trục → định vị sai 0.5mm → siết lại khớp nối + thêm keo Loctite.
Xe tự cân bằng ESP32: xung 20kHz → MCU bỏ xung → dùng hardware counter ESP32-PCNT → đọc đủ xung ở tốc độ cao.
5. Kết luận & CTA
Encoder lệch xung không chỉ là vấn đề phần cứng, mà còn liên quan đến cơ khí và phần mềm.
???? Bạn muốn mình gửi code đọc encoder tốc độ cao + sơ đồ chống nhiễu cho dự án của bạn không? Bình luận hoặc inbox để nhận ngay.
Hashtags:
#Encoder #PIDControl #ESP32 #Arduino #Robotics #CNC #IoT #Automation #MotorControl #EmbeddedSystems #PCBDesign #STEM #DIYRobotics #TechFix #ChiptalkGlobal
- Category
- Công Nghệ











