TEA5767收音机调谐器
摘要
一个基于ESP32的FM收音机调谐器项目,采用TEA5767模块,具有定制PCB设计,配备OLED显示屏和放大器,并在GitHub上记录。
暂无内容
查看缓存全文
缓存时间: 2026/08/16 00:39
turtushig22-blip/tea5767-radio-tuner 来源:https://github.com/turtushig22-blip/tea5767-radio-tuner 许可证:MIT # 基于TEA5767的收音机调谐器 基于ESP32的FM收音机,采用TEA5767调谐器、KY-040旋转编码器、PAM8403放大器和0.96英寸OLED显示屏。定制PCB设计。 ### 项目历史 本项目于2026年1月使用TEA5767收音模块和Arduino UNO搭建了FM收音设备。第二阶段旨在设计一块紧凑的定制PCB板,进行进一步改进,同时保持设计的简洁和可复现性。我将在推进PCB设计的过程中,在本仓库记录相关步骤(因此,希望我能完成这个项目)。原型Arduino电路的主要功能包括手动和预设FM调谐、在16x2 LCD上显示当前频率,以及通过有线耳机输出音频。由于TEA5767模块没有内置扬声器放大器,需要直接焊接在模块上,因此我们无法使用扬声器输出声音。原型电路的照片和电路原理图如图1和图2所示。 图1 [使用Arduino UNO的原型照片]。 图2 [原型电路原理图]。 如需观看原型的视频演示,请访问 https://youtu.be/HQ7OcgIyThs;有关理论、元件选型和电路设计的详细分析,可阅读此 PDF文件。 ## 演变为PCB设计项目 ### 原理图 为进一步改进项目,我决定在改进收音设备的同时,将其作为我的第一个PCB设计项目。所做的改进包括:PAM8403放大器将音频输入两个3瓦、4欧姆的扬声器,同时充当音量控制器;使用ESP32开发板替代Arduino UNO以节省PCB空间;使用0.96英寸OLED显示屏替换16x2液晶显示屏,出于类似考虑;以及使用KY-040旋转编码器,同时作为手动频率和预设频率控制器。在深入PCB设计之前,我花时间确保电路能在面包板上工作。在此过程中,我意识到一些重要事项,包括尽管TEA5767模块设计为5V供电,但它可以(且应该)由3.3V供电,以保护ESP32模块的数据引脚。微控制器制造商Nulllab提到,I/O引脚电压超过3.6V可能导致芯片损坏,而将TEA5767模块以5V供电并将SCL和SDA引脚连接到微控制器的数据引脚,会将这些引脚驱动至5V,使其面临烧毁风险。有关ESP32-DevKit-32E的更多信息可在 esp32-devkit-32e 找到。此外,引起注意的还包括PAM8403需要由微控制器以外的电源供电。我使用的扬声器是3瓦扬声器(因为有两个,总共6瓦),因此假设我们用5V为放大器供电,电流为I = P / V = 6W / 5V = 1.2A。通过微控制器引脚的这个电流量大大超过了制造商规定的限制(每引脚绝对最大值:40mA)。因此,放大器和微控制器并联连接到一个5V 1.5A容量的变压器上。由于放大器需要大电流运行,甚至需要更大电流来播放音乐,建议使用能提供超过1A的适配器,以避免音量调大时电路其他区域出现电压下降。考虑到这一点,我开始在KiCad的原理图编辑器中绘制电路图。原理图如图3所示。 图3 [基于ESP32的电路原理图]。(为了将音频信号从TEA5767模块传输到PAM8403放大器,我使用了一根裸线端的3.5mm插孔,然后连接到放大器的L、G和B引脚。注意,这些连接未在电路原理图中反映,因为KiCad不允许设备的原理图符号拥有超过设备封装的引脚数,这对于TEA5767模块变得有点复杂,因为它没有指定的L、G、R引脚。解决此问题的一种方法是在原理图编辑器中绘制3.5mm插孔;然而,由于插孔和两个模块之间的连接永远不会实际接触PCB,我决定简单地将放大器上的引脚保留为未连接,并仅绘制具有其物理引脚的TEA5767)。 ### 封装 由于项目需要KiCad中没有现成封装的模块,我也用它来学习创建自定义封装。ESP32-DevKit-32E、TEA5767、PAM8403、KY-040和0.96英寸OLED显示屏的封装包含在Custom_Footprints.pretty文件夹中。自定义封装的照片如下附上。 图4 [ESP32-DevKit-32E封装]。 图5 [TEA5767封装]。 图6 [PAM8403封装]。(注意,本项目中使用的PAM8403是“带旋钮”版本的PAM8403放大器板,使其能够充当音量控制器。此外,请注意PAM8403和KY-040模块上的旋钮未包含在它们各自的封装中,以便于绘制封装,并且因为这些板不会实际接触PCB)。 图7 [KY-040封装]。 图8 [0.96英寸OLED显示屏封装]。 ### PCB布局 创建自定义封装后,我在KiCad的PCB编辑器中创建了PCB设计。来自KiCad PCB编辑器的PCB布局图如图9所示。 图9 [收音模块的PCB布局]。 对于这个PCB项目,我选择了JLC PCB作为制造商。在订购PCB时,了解制造商的能力与避免电路短路同等重要。因此,我密切关注生成Gerber文件时的设置是否符合JLC的要求,这些要求可从 https://jlcpcb.com/capabilities/pcb-capabilities 查看。发送给制造商的最终Gerber文件可在gerbers文件夹中找到。注意,丝印文字“The first of many. Grateful for everyone who supported me.”已从制造文件中移除,因为它是个人化的,对于复制电路板并非必需。 要查看我为本项目编写的代码,请参见名为code的文件。PCB的图像如图10和图11所示。 图10 [PCB的正面]。 图11 [PCB的背面]。 设备本身的图像如图12所示。 图12 [使用TEA5767的基于ESP32的收音模块图像]。 如需观看PCB和收音设备的视频演示,请访问 https://www.youtube.com/watch?v=WM1Qq82G7yY。最后,设计我的第一块PCB是一次宝贵的学习经历,增强了我对电子和硬件设计的兴趣。我希望这个仓库对任何构建类似项目或开始自己PCB设计之旅的人都有用。我要感谢HTM Workshop团队信息丰富的YouTube教程系列,以及我的家人和女朋友Amy在整个项目中的鼓励和支持。
相似文章
我学习PCB设计、3D打印和C语言只是为了听音乐
一位开发者制作了一个定制音乐流媒体播放器,配备17英寸黑胶唱片封套大小的显示屏,在此过程中学习了PCB设计、3D打印和底层Linux编程。
Show HN:电容闹钟
一款基于ESP32的闹钟,通过电容器放电发出巨响来唤醒你。项目包含定制PCB、3D打印外壳和用于配置的Web界面。
如何逆向工程模拟芯片:TDA7000 FM收音机接收器
通过芯片显微照片逆向工程飞利浦TDA7000 FM收音机接收器芯片的详细指南,解释了逆向工程过程和模拟电路组件。
在Arduino上使用Magenta Realtime 2实现无限音乐故障
一位开发者使用ESP32微控制器、MacBook、用于实时音乐生成的Magenta Realtime 2、用于转录的MLX Whisper,以及用于工具调用的Qwen模型,构建了一个本地语音控制的音乐系统,实现了对音乐元素(如流派和乐器)的对话式控制。
Show HN: Chiptune Radio
Chiptune Radio 是 Aleph Void, LLC 的一个辅助项目,通过持续的 Twitch 直播,播放为经典音频硬件创作的芯片音乐。