Arduino สร้าง pwm ในการทำหม้อแปลงเทสลา

พี่ครับโค้ดของผมความถี่มันลดลงตามคลิปอ่ะครับ จะมีวิธีแก้ไขอย่างไรบ้างเพื่อให้ความถี่คงที่อ่ะครับ ผมใช้อาปรับค่าได้ในการปรับความถี่อ่ะครับ

%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%94%E0%B8%B8%E0%B9%8A%E0%B8%81

เท่าที่ดู f มันแกว่งรึป่าวครับ มันไม่ได้ลดสะทีเดียว

ใช่ครับ พอจะมีแนวทางแก้ไขมั้ยคับ หรือพอจะแนะนำให้หน่อยได้มั้ยครับ

ลองเปลี่ยน 1023 เป็น 1024 ดูครับ

ได้ผลยังไง อัพเดทด้วยครับ

1 Likes

S__3825905

ถ้าผมจะเปลี่ยนจาก R ปรับค่าได้เป็น Keypad ป้อนค่า สัญญาณจะนิ่งกว่ามั้ยคับ?
ถ้าผมใช้ keypad จะต้องเขียนโค้ดประมาณไหนคับ แล้วจะต้องเขียนไว้ในบรรทัดไหนของโค้ดเก่าอ่ะคับ

คือตอนนี้ใช้ f ที่เท่าไหร่??

ที่ต้องการคือ ประมาณ 250 kHz คับ

เราใช้โค้ตชุดนี้เวรี่ความถี่ใช่ไหมครับ

ใช่ครับพี่

เท่าที่ดูสัญญาณอ้างอิงที่เข้ามาน่าจะไม่คงที่ครับ ลองมัดมือชกดูก่อนว่าค่าที่เราเข้ามาต้องเท่าไหรถึงจะได้ f = 250kHz สมมติว่าค่านั้นคือ 200 จับ period = 200; ดู f นิ่งไหมถ้านิ่งก็แสดงว่ามาจาก สัญญาณ จริงๆ
วิธีแก้มี 2 วิธี คือ

  1. แก้ที่ฮาร์ดแวร์ โดยการหาวงจรหรือตัวช่วยที่ทำให้ สัญญาณ อ้างอิงเรานิ่งที่สุด
  2. แก้ที่ซอฟแวร์ คือ ต้องเช็คก่อนว่าสัญญาณอ้างอิงเรานั้นมันแกว้ง +/- อยู่ในช่วงใน สมมติ ว่า 200 บวก 210 ลบ 190 เราก็เขียนเข้าไปในโปรแกรมครับว่า
if( (analogRead(A1)) < 210 && (analogRead(A1)) > 190 ){
   period = 200;
}

ความหมายก็คือ ถ้ามีสัญญาณอ้างอิงเข้ามาในช่วง 190 ถึง 210 ให้ตัดเป็น 200 เท่านั้น ซึ่งจะทำให้ ความถี่ที่เราต้องการนิ่งขึ้น

แล้วถ้าผมเอามันไปใส่คีแพทเพื่อปรับความถี่กับduty cycleมันพอมีแนวทางไหมครับ

ก็ต่อคีย์แพทเข้าไป ลง libraly จากนั้นรับค่าที่ได้ไปใช้ถ้ามันรับมาเป็น String ก็แปลงเป็น int ก่อนน้ำไปใช้ครับ

ผลเป็นยังไงบ้างครับ @Palm_Witchapol

ผมเปลี่ยนตัว R ปรับค่าได้ที่มีความละเอียดมากกว่าตัวเดิมแทนครับ

แต่กราฟก็ยังไม่นิ่งมากเท่าไหร่ครับ

ดูเรื่องนอยส์ด้วยครับ ลดสายให้สั่นที่สุดเท่าที่จะทำได้