ต้องการทำ PWM 50-200Hz กับ Arduino ครับ

Started by Chairat, October 03, 2018, 08:10:29 PM

Previous topic - Next topic

Chairat

พอดีมีโปรเจคในการทดลองครับ อยากใช้ Arduino สร้าง PWM Duty Cycle 50% ปรับความถี่ได้ตั้งแต่ 50-200Hz

ไม่ค่อยถนัดทาง AVR ครับรบกวนขออาจารย์หลายๆช่วยหน่อยครับ


moneyp1000

อันนี้เป็นตัวอย่าง การสร้างสัญญาณ pwm สามารถปรับค่าดิวตี้ไซเคิ้ล ได้ ลองอ่านและศึกษาทำความเข้าใจเพิ่มเติมดูครับ

อ้างอิง https://eleceasy.com/t/pwm-phase-shitf-arduino/615


tatree_b

ต้องใช้ไทมเมอร์ครับ ใช้ฟังค์ชั่นPWM โดยตรงไม่ได้ เพราะปกติความถี่ต่ำสุดที่ใช้งานก็เป็น kHz แล้ว

เอาไทม์เมอร์มานับค่าเอา อาจต้องใช้ 16 บิท วนหลายลูปด้วย พอมันอินเตอร์รัพท์ก็สั่งวนลูปใหม่จนกว่าจะได้ความถี่ที่พอใจแล้วค่อย  toggle พอร์ทเอ้าท์พุทที่ต้องการใช้ PWM