วิธี "ง่ายที่สุด" คือการใช้สัญญาณและตัวอย่างกับ ADC เก็บผลลัพธ์ไว้ในบัฟเฟอร์จากนั้นแสดงผลตามต้องการ (ในกรณีของคุณส่งไปยังพีซีผ่าน RS232)
หากคุณต้องการระดับ RMS ของสัญญาณคุณจะต้องคำนวณสิ่งนี้ในบางจุดก่อนส่งไปยังพีซีหรือหลังจากนั้น
วงจรขยายของคุณดังที่แสดงไม่เหมาะ แต่ควรทำงานอย่างมีเหตุผลสำหรับเครื่องวัด VU พื้นฐาน แก้ไข - ฉันเพิ่งสังเกตเห็น C2 นำสิ่งนี้ออกเพราะมันจะปิดกั้นอคติ DC จากทรานซิสเตอร์และสัญญาณจะแกว่งลงมาที่พื้น
แก้ไข - นี่คือวงจรที่ดีกว่าสำหรับทรานซิสเตอร์ขยาย:
นี่ไม่ควรสนใจมากเกินไปเกี่ยวกับทรานซิสเตอร์ที่ใช้อคติเอาท์พุทควรอยู่ที่ประมาณ 2.5V
ค่าที่แน่นอนสำหรับตัวแบ่งอินพุต (R3 และ R4) ไม่สำคัญเกินไปมันเป็นอัตราส่วน 1: 4 ที่มากกว่านั้น ดังนั้นคุณสามารถใช้เช่น 400k และ 100k หรือ 40k และ 10k เป็นต้น (พยายามอย่าไปสูงหรือต่ำกว่าค่าที่เกี่ยวข้องเหล่านี้) C2 ควร> 10uF C1 ควร> 1uF (แทนที่ C1 ในแผนผังของคุณ)
R1 และ R2 ไม่จำเป็นต้องเป็นค่าเหล่านี้
สิ่งที่คุณต้องมีก็คืออิเลคเตรตที่มีตัวต้านทานไบอัส (R1 ในแผนผังของคุณ)
สิ่งหนึ่งที่น่ากังวลคือ Arduino 3.3V และสาย 5V ดูเหมือนจะเชื่อมโยงเข้าด้วยกัน - ฉันคิดว่านี่เป็นข้อผิดพลาดทางวงจร แต่ถ้าเป็นเช่นนี้ในวงจรจริงมันจะไม่ทำงานและอาจสร้างความเสียหายบางอย่าง
เพื่อระบุปัญหามันจะช่วยให้เห็นรหัสของคุณและสิ่งที่คุณเห็นในด้านพีซี คุณใช้ทรานซิสเตอร์ตัวไหน?
หากคุณมีออสซิลโลสโคปแล้วคุณสามารถตรวจสอบเพื่อดูว่าไมโครโฟน / ทรานซิสเตอร์ทำงานได้อย่างถูกต้องหรือไม่ ถ้าไม่ใช้มัลติมิเตอร์ก็สามารถทำการทดสอบขั้นพื้นฐานเพิ่มเติมได้ (เช่นยืนยัน + 5V ปัจจุบันยืนยันว่าฐานทรานซิสเตอร์อยู่ที่ ~ 0.6V, ตัวสะสมการทดสอบเพื่อให้แน่ใจว่ามันไม่ได้ถูกตรึงที่ + 5V หรือกราวด์โดยไม่มีสัญญาณ)
นอกจากนี้คุณต้องตรวจสอบให้แน่ใจว่า RS232 ทำงานอย่างถูกต้องดังนั้นการเขียนโค้ดง่าย ๆ เพื่อส่งค่าทดสอบบางอย่างจะเป็นความคิดที่ดี
หากคุณสามารถให้ข้อมูลที่ร้องขอและแจ้งให้เราทราบว่าเครื่องมือใดที่คุณสามารถให้ความช่วยเหลือเฉพาะเจาะจงมากขึ้น
แก้ไข - หากคุณสุ่มตัวอย่างช้ามากคุณจะต้องมีวงจรตรวจจับจุดสูงสุดดังนี้:
คุณจะวางวงจรนี้ไว้ระหว่างทรานซิสเตอร์และขา Arduino (ลบ C2)
ไดโอดสามารถเป็นไดโอดเพียงใดก็ได้ ค่า cap และตัวต้านทานเป็นเพียงแนวทางซึ่งสามารถเปลี่ยนได้เล็กน้อย ค่าของพวกเขากำหนดว่าแรงดันไฟฟ้าจะใช้เวลานานแค่ไหนในการเปลี่ยนแปลงตามระดับสัญญาณ คุณสามารถคำนวณสิ่งนี้โดยใช้ค่าคงที่ RC (เช่น R * C - ในตัวอย่างด้านบนค่าคงที่ RC คือ 1e-6 * 10e3 = 10ms แรงดันไฟฟ้าจะใช้เวลาประมาณ 2.3 เวลาคงที่ถึง 90% ของค่าเดิมดังนั้น ในตัวอย่างด้านบนหากแรงดันไฟฟ้าเริ่มต้นที่ 1V และคุณลบสัญญาณออกมันจะลดลงเหลือ 0.1V ประมาณ 23ms ในภายหลัง
แก้ไข - โอเคคิดว่าฉันพบปัญหาใหญ่ ทรานซิสเตอร์S9012ของคุณเป็นทรานซิสเตอร์PNP (เช่นเดียวกับ S9015) คุณต้องมีทรานซิสเตอร์ NPN สำหรับวงจรนี้ S9014เป็นทรานซิสเตอร์ NPN ดังนั้นคุณจะต้องใช้คนนี้
ตัวเก็บประจุที่ระบุว่า "104" เป็นตัวเก็บประจุเซรามิก 0.1uF เกือบแน่นอน ค่า (ใน pF) คือ 2 หมายเลขแรกตามด้วยจำนวนศูนย์ที่ตั้งค่าด้วยหมายเลขสุดท้าย สำหรับ 104 ค่าคือ 10 + 4 ศูนย์หรือ 100,000pF 100,000pF คือ 100nF หรือ 0.1uF
แก้ไข - ไม่มีขอบเขตหรือมัลติมิเตอร์ทำให้ชีวิตยากมากที่นี่ (คุณควรจะถือหนึ่งหรือทั้งสองอย่างเร็วที่สุดเท่าที่จะทำได้)
อย่างไรก็ตามมีออสซิลโลสโคปการ์ดเสียงพื้นฐานสำหรับพีซีที่สามารถใช้ทดสอบวงจรอิเลคตร้า / ทรานซิสเตอร์ Visual Analyzerเป็นตัวอย่างที่ดี:
หากคุณแทนที่ C2 (ไม่จำเป็นอย่างเคร่งครัด แต่เป็นความคิดที่ดี) คุณควรจะสามารถป้อนสัญญาณเข้าสู่พีซีโดยตรงและสังเกตในซอฟต์แวร์เพื่อดูว่าไมโครโฟนและเครื่องขยายเสียงทำงานอย่างถูกต้องหรือไม่ หากพีซีของคุณมีสายการใช้งานอยู่ แต่อินพุตไมโครโฟนมักจะดีสำหรับ 2V IIRC คุณสามารถทดสอบอิเล็กเตรตโดยตรง - เพียงแค่ถอดบิตทรานซิสเตอร์และเก็บ R1 และ C1 เอาสัญญาณจากอีกด้านหนึ่งของ C1
โปรดทราบว่าวิธีนี้จะไม่ทดสอบระดับ DC เฉพาะ AC (เนื่องจากฝาปิดกั้น DC ในอินพุต souncard) แต่สัญญาณ AC (เสียง) เป็นสิ่งที่คุณสนใจที่นี่
หากคุณลองทำสิ่งนี้โพสต์ภาพหน้าจอเพื่อที่เราจะได้ทราบว่าเกิดอะไรขึ้น