เครื่องเล่นบลูทูธสำหรับลำโพงเก่าด้วย ESP32 และ DAC PCM5102
ฉันพบบทความการประกอบที่แสดงให้เห็นอย่างดีว่าระบบเสียงที่ใช้งานได้จริงสร้างจากชิ้นส่วนเก่าได้อย่างไร ผู้เขียนซึ่งเขียนบน Habr เก็บลำโพง Yamaha ขนาด 50 วัตต์สองตัวไว้บนชั้นมาหลายปี และมีบอร์ดที่มี ESP32 นอนอยู่ในลิ้นชัก เขาตัดสินใจเอาสองอย่างนี้มารวมกันและสร้างเครื่องเล่นบลูทูธของตัวเอง
แกนหลักของอุปกรณ์คือโมดูล ESP32 WROOM-32 ที่ดูแลบลูทูธและอุปกรณ์ต่อพ่วง และ DAC GY-PCM5102 ที่รับเสียงผ่านอินเทอร์เฟซ I2S ปรับระดับเสียงและหยุดชั่วคราวด้วยโรตารีเอนโค้ดเดอร์ และหน้าจอ OLED แสดงภาพสเปกตรัม เขาเลือกแอมป์ XH-A232 เพียงเพราะมีอยู่แล้ว กำลังขับสูงสุดอยู่ที่ 30 วัตต์ต่อช่อง ต่ำกว่า 50 วัตต์ที่ระบุของลำโพง แต่เขาบอกว่าสำหรับห้องเดียวก็ดังพอแล้ว
สิ่งที่น่าสนใจที่สุดสำหรับฉันคือรายละเอียดเล็กๆ ที่แทบไม่มีใครเขียนถึง มีตัวแบ่งแรงดันอยู่ระหว่าง ESP32 กับ DAC ซึ่งลดเอาต์พุตของ DAC จาก 2.1 V เหลือ 0.27 V (RMS) เพราะไม่อย่างนั้นแอมป์จะโอเวอร์โหลดและมีเสียงซ่า อัตราส่วนนี้เขาหาได้จากการทดลอง และเตือนว่าหากใช้แอมป์อื่นอาจต่างออกไป
อีกปัญหาคือสัญญาณรบกวนดิจิทัลจากการจ่ายไฟให้ DAC และ ESP32 จากแหล่งเดียวกัน ทางแก้คือจ่ายไฟแยกให้แต่ละตัวด้วยตัวแปลงแยกกัน สายสั้นและถักเกลียวระหว่าง DAC กับแอมป์ และตัวเก็บประจุเซรามิก 0.1 µF สองตัวหลัง DAC ก็ช่วยได้เช่นกัน
ซอฟต์แวร์สร้างด้วย PlatformIO โดยใช้ไลบรารี arduino-audio-tools และ ESP32-A2DP จึงไม่ต้องเขียนการส่งเสียง A2DP ระดับต่ำเอง เขาเผยแพร่โค้ดไว้บน GitHub เป็นตัวอย่างที่ดีว่าโมดูลราคาถูกก็สร้างสิ่งที่มีประโยชน์ได้ และระหว่างทางก็เรียนรู้ได้ว่าสัญญาณรบกวนมาจากไหน
ที่มา: Habr
แกนหลักของอุปกรณ์คือโมดูล ESP32 WROOM-32 ที่ดูแลบลูทูธและอุปกรณ์ต่อพ่วง และ DAC GY-PCM5102 ที่รับเสียงผ่านอินเทอร์เฟซ I2S ปรับระดับเสียงและหยุดชั่วคราวด้วยโรตารีเอนโค้ดเดอร์ และหน้าจอ OLED แสดงภาพสเปกตรัม เขาเลือกแอมป์ XH-A232 เพียงเพราะมีอยู่แล้ว กำลังขับสูงสุดอยู่ที่ 30 วัตต์ต่อช่อง ต่ำกว่า 50 วัตต์ที่ระบุของลำโพง แต่เขาบอกว่าสำหรับห้องเดียวก็ดังพอแล้ว
สิ่งที่น่าสนใจที่สุดสำหรับฉันคือรายละเอียดเล็กๆ ที่แทบไม่มีใครเขียนถึง มีตัวแบ่งแรงดันอยู่ระหว่าง ESP32 กับ DAC ซึ่งลดเอาต์พุตของ DAC จาก 2.1 V เหลือ 0.27 V (RMS) เพราะไม่อย่างนั้นแอมป์จะโอเวอร์โหลดและมีเสียงซ่า อัตราส่วนนี้เขาหาได้จากการทดลอง และเตือนว่าหากใช้แอมป์อื่นอาจต่างออกไป
อีกปัญหาคือสัญญาณรบกวนดิจิทัลจากการจ่ายไฟให้ DAC และ ESP32 จากแหล่งเดียวกัน ทางแก้คือจ่ายไฟแยกให้แต่ละตัวด้วยตัวแปลงแยกกัน สายสั้นและถักเกลียวระหว่าง DAC กับแอมป์ และตัวเก็บประจุเซรามิก 0.1 µF สองตัวหลัง DAC ก็ช่วยได้เช่นกัน
ซอฟต์แวร์สร้างด้วย PlatformIO โดยใช้ไลบรารี arduino-audio-tools และ ESP32-A2DP จึงไม่ต้องเขียนการส่งเสียง A2DP ระดับต่ำเอง เขาเผยแพร่โค้ดไว้บน GitHub เป็นตัวอย่างที่ดีว่าโมดูลราคาถูกก็สร้างสิ่งที่มีประโยชน์ได้ และระหว่างทางก็เรียนรู้ได้ว่าสัญญาณรบกวนมาจากไหน
ที่มา: Habr
ความคิดเห็น 0
เป็นคนแรกที่แสดงความคิดเห็น ด้วยภาษาใดก็ได้
เข้าสู่ระบบเพื่อแสดงความคิดเห็น