การปรับ duty cycle ของ pwm ในแต่คาบทำยังไงคะ?

จุดประสงค์หลักคือต้องการสร้าง sine wave ความถี่สูงค่ะ ประมาณ 100-500kHz แรงดัน 15-20 V
เลยจะสร้าง pwm ที่มี cuty cycle ที่ต่างกันในแต่ละคาบ


ตอนนี้ใช้บอร์ด STM32F407-DISC1 ค่ะ สามารถสร้าง pwm ได้แล้ว แต่ยังปรับ duty cycle ในแต่ละคาบไม่ได้ ทุกคาบจะมี duty cycle เท่ากันหมด
ใช้ code จากเว็บนี้ค่ะ https://stm32f4-discovery.net/2014/05/stm32f4-stm32f429-discovery-pwm-tutorial/

ก่อนหน้านี้ใช้ arduino mega2560 สร้าง pwm ที่ปรับ duty cycle ในแต่ละคาบได้แล้ว ลองต่อกับ low pass filter แล้วได้ sine wave สูงสุด 10 kHz ที่ 8 samples จากเว็บนี้ค่ะ http://www.eprojectszone.com/how-to-generate-a-sine-wave-from-arduino-or-atmega-328/

ลองใช้ด้วยวิธีเดียวกันกับ STM32F407-DISC1 คือกำหนดความถี่คาบ แล้วก็ interrupt ไปอีก timer หนึ่งเพื่อกำหนด duty cycle แต่ใช้ไม่ได้
ต้องทำยังไงคะถึงจะสามารถปรับ duty cycle ในแต่ละคาบได้
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่