用ESP32和PCM5102 DAC为旧音箱打造的蓝牙播放器
我看到一篇装机记录,很好地说明了如何用废旧零件做出一套实用的音响系统。这位在Habr上发文的作者,多年来一直在架子上放着两台50瓦的雅马哈音箱,抽屉里则躺着一块ESP32开发板。他决定把两者结合起来,自己做一台蓝牙播放器。
设备的核心是负责蓝牙和外设控制的ESP32 WROOM-32模块,以及通过I2S接口接收声音的GY-PCM5102 DAC。音量和暂停由旋转编码器控制,OLED屏幕上显示频谱可视化。作者选用XH-A232功放只是因为手头已经有了。它每声道峰值功率为30瓦,低于音箱的额定50瓦,但他认为对于一个房间来说,音量已经足够。
对我来说最有意思的,是那些很少被写到的细节。ESP32和DAC之间接了一个分压器,把DAC输出从2.1 V(有效值)降到0.27 V,否则功放会过载并产生嘶嘶声。这个比例是作者靠实验摸索出来的,他提醒说,换了别的功放,数值可能就不一样了。
另一个问题是DAC和ESP32共用电源时产生的数字噪声。解决办法是让它们使用各自独立的变换器供电。DAC与功放之间的连线短而且做了绞合,DAC后面加了两个0.1 μF陶瓷电容,效果也很明显。
软件部分使用PlatformIO开发,依赖arduino-audio-tools和ESP32-A2DP两个库,因此无需自己实现底层的A2DP音频传输。作者已把代码发布在GitHub上。这是一个很好的例子:便宜的模块也能做出有用的东西,同时还能弄清楚噪声从哪里来。
来源:Habr
设备的核心是负责蓝牙和外设控制的ESP32 WROOM-32模块,以及通过I2S接口接收声音的GY-PCM5102 DAC。音量和暂停由旋转编码器控制,OLED屏幕上显示频谱可视化。作者选用XH-A232功放只是因为手头已经有了。它每声道峰值功率为30瓦,低于音箱的额定50瓦,但他认为对于一个房间来说,音量已经足够。
对我来说最有意思的,是那些很少被写到的细节。ESP32和DAC之间接了一个分压器,把DAC输出从2.1 V(有效值)降到0.27 V,否则功放会过载并产生嘶嘶声。这个比例是作者靠实验摸索出来的,他提醒说,换了别的功放,数值可能就不一样了。
另一个问题是DAC和ESP32共用电源时产生的数字噪声。解决办法是让它们使用各自独立的变换器供电。DAC与功放之间的连线短而且做了绞合,DAC后面加了两个0.1 μF陶瓷电容,效果也很明显。
软件部分使用PlatformIO开发,依赖arduino-audio-tools和ESP32-A2DP两个库,因此无需自己实现底层的A2DP音频传输。作者已把代码发布在GitHub上。这是一个很好的例子:便宜的模块也能做出有用的东西,同时还能弄清楚噪声从哪里来。
来源:Habr
评论 0
来写第一条评论吧,用任何语言都行。
登录后评论