พี่ครับโค้ดของผมความถี่มันลดลงตามคลิปอ่ะครับ จะมีวิธีแก้ไขอย่างไรบ้างเพื่อให้ความถี่คงที่อ่ะครับ ผมใช้อาปรับค่าได้ในการปรับความถี่อ่ะครับ
เท่าที่ดู f มันแกว่งรึป่าวครับ มันไม่ได้ลดสะทีเดียว
ใช่ครับ พอจะมีแนวทางแก้ไขมั้ยคับ หรือพอจะแนะนำให้หน่อยได้มั้ยครับ
ลองเปลี่ยน 1023 เป็น 1024 ดูครับ
ได้ผลยังไง อัพเดทด้วยครับ
ถ้าผมจะเปลี่ยนจาก R ปรับค่าได้เป็น Keypad ป้อนค่า สัญญาณจะนิ่งกว่ามั้ยคับ?
ถ้าผมใช้ keypad จะต้องเขียนโค้ดประมาณไหนคับ แล้วจะต้องเขียนไว้ในบรรทัดไหนของโค้ดเก่าอ่ะคับ
คือตอนนี้ใช้ f ที่เท่าไหร่??
ที่ต้องการคือ ประมาณ 250 kHz คับ
ใช่ครับพี่
เท่าที่ดูสัญญาณอ้างอิงที่เข้ามาน่าจะไม่คงที่ครับ ลองมัดมือชกดูก่อนว่าค่าที่เราเข้ามาต้องเท่าไหรถึงจะได้ f = 250kHz สมมติว่าค่านั้นคือ 200 จับ period = 200;
ดู f นิ่งไหมถ้านิ่งก็แสดงว่ามาจาก สัญญาณ จริงๆ
วิธีแก้มี 2 วิธี คือ
- แก้ที่ฮาร์ดแวร์ โดยการหาวงจรหรือตัวช่วยที่ทำให้ สัญญาณ อ้างอิงเรานิ่งที่สุด
- แก้ที่ซอฟแวร์ คือ ต้องเช็คก่อนว่าสัญญาณอ้างอิงเรานั้นมันแกว้ง +/- อยู่ในช่วงใน สมมติ ว่า 200 บวก 210 ลบ 190 เราก็เขียนเข้าไปในโปรแกรมครับว่า
if( (analogRead(A1)) < 210 && (analogRead(A1)) > 190 ){
period = 200;
}
ความหมายก็คือ ถ้ามีสัญญาณอ้างอิงเข้ามาในช่วง 190 ถึง 210 ให้ตัดเป็น 200 เท่านั้น ซึ่งจะทำให้ ความถี่ที่เราต้องการนิ่งขึ้น
แล้วถ้าผมเอามันไปใส่คีแพทเพื่อปรับความถี่กับduty cycleมันพอมีแนวทางไหมครับ
ก็ต่อคีย์แพทเข้าไป ลง libraly จากนั้นรับค่าที่ได้ไปใช้ถ้ามันรับมาเป็น String ก็แปลงเป็น int ก่อนน้ำไปใช้ครับ
ผลเป็นยังไงบ้างครับ @Palm_Witchapol
ผมเปลี่ยนตัว R ปรับค่าได้ที่มีความละเอียดมากกว่าตัวเดิมแทนครับ
แต่กราฟก็ยังไม่นิ่งมากเท่าไหร่ครับ
ดูเรื่องนอยส์ด้วยครับ ลดสายให้สั่นที่สุดเท่าที่จะทำได้