无线电是最早的长距离电信媒体之一,因此它是一项非常古老的技术。见下图:
这里还有另一个收音机:
说明和接线图(原理图):
Si473x 是一款采用 DSP(数字信号处理)技术的完整接收器,与 SDR(软件定义无线电)接收器中使用的技术相同。
Arduino 通过 I2C 接口控制 Si473x IC 并与之“对话”,向其中写入数据并从中读取数据。图形界面由一块1.8英寸ST7735彩色TFT显示屏组成,通过SPI数据接口进行通信。在 Si473x IC 内部,射频信号通过 A/D 转换器数字化并由 DSP(数字信号处理器)处理,然后通过 D/A 转换器转换为音频并发送到输出端。
有两张电气图,一张用于 PL102BA-S V2 模块,另一张用于 Si4732-A10 分线 PCB。
天线输入电路(RF 前端)很简单,我没有使用 RF 前置放大器 (LNA) 或更复杂的 LPF/BPF 滤波器,即使如此也可以获得良好的无线电接收效果。
S1 开关用于选择短波 (SW) 或中波/长波 (MW/LW) 天线。当开关 S1 处于 MW 位置时,必须断开外部短波天线以获得更清晰的接收效果,因为在这种情况下铁氧体棒起到天线的作用。
D1 和 D2(BAV199 - 双二极管)可以用 2 x 1N4148 代替,甚至可以为了简化而省略,我没有在接收器上使用它们,但它可以防止静电放电 (ESD)。
arduino 由应用于 VIN 输入的 7.8V(2x18650 电池)供电。arduino 还提供 5V 稳定电压为 TFT 显示器供电,3.3V 稳定电压为 Si4732(或 PLB102)供电。
一直存疑的一点是Arduino 5V和Si473x芯片在逻辑电平上的区别,没有实际依据和测试的信息很多。
由于 Arduino 在 I2C 总线上有 5V 逻辑电平而 Si473x 使用 3.3V,如果需要,可以在 I2C SCL/SDA 总线和 RESET 线上使用一个 5V 到 3.3V 逻辑电平转换器双向,在 Arduino 和Si473x。
然而,我在我的项目中没有使用逻辑电平转换器,我确实使用了电阻器,并且在各种实践经验中(我已经做了 2 年多)我从来没有任何问题,我从来没有任何 Si4730/32/ 35 个设备损坏,甚至没有 I2C 通信问题,我从未注意到任何不稳定。实际上,有一个由 1k 电阻和连接到 3.3V 的上拉电阻组成的电阻分压器,因此 Si473x 引脚上的逻辑高电平永远不会超过 3.3V(测量值)。如果没有逻辑电平转换器,您将获得电路简化和 I2C 通信速度的增益。
陶瓷去耦电容 C3-C6 用于减少显示器和 SPI 数据总线产生的噪声辐射 (EMI)。
根据技术论文,Arduino 的 EEPROM 存储器可以重写多达 100、000 次而不会失败(尽管在实际测试中它在失败之前达到了超过 100 万次循环)。为了节省EEPROM的寿命,只有在按下PB2按钮(SAVE)时才会保存一次数据,所以内存会有很长的寿命,可以说在正常使用中绝对不会失效方法。
必须使用外部音频放大器来放大此收音机的声音,可以是“JBL”型放大器盒或任何其他具有线路输入的音频放大器。其他选择是自己组装,请参阅下面的完整 DIY LM386 音频放大器项目(原理图和 PCB),该项目在该项目上运行良好。此外,TDA2822(DIP-8 封装中的立体声放大器 IC)在这里也是一个不错的选择,因为它很容易找到/价格便宜并且可以提供非常好的声音。
在这个项目中,我使用了由Michael J. Kennedy 先生编写的高性能库 Si4735-I2C-R4 ,这是一部于 2012 年编写的出色的创新作品。它是现有最好的 Si473x 库,非常稳定、快速、友好,并具有专业级的 RDS 解码器,比今天在 Internet 上找到的库(顺便说一下,它们基于 Kennedy 的工作)要好得多。我刚刚对其进行了一些更新,以包括一些命令和显示引脚的配置。
此处使用的 DSP收音机芯片(IC)注意事项:
1-此处使用的无线电模块是 PL102BA-S V2(它具有 IC Si4730-D60 QFN 封装)。只有带有 3060 标记的 Si4730-D60 IC 附带的模块才能接收短波波段和 FM 上的 RDS。请注意,制作为 NE928-10A V.01 的模块只能在 AM/FM(不是 SW 或 RDS)中工作。我通过 Aliexpress 订购了这个模块。下面是 PL102BA-S V2 模块的图片和引脚排列:
2-最近我在 Aliexpress 上发现这个无线电模块可能适用于这个项目:Si4730 Si4731 Integrated High-quality FM / AM Radio Head Module
3-Si4732-A10 IC:PLB102BA 模块变得很难找到,所以我决定设计一个 PCB 分线器以使用 Si4732-A10 IC (SOP16),它更容易在板上焊接,将接收短波波段和 FM 上的 RDS并且在 Aliexpress、Mouser 等网站上有售。此分线板可用于其他带有 Si473x 的无线电项目,包括互联网上提供的其他库。
这是您在 PCBWay 网站上订购此 PCB 分线(不含组件)的链接,甚至可以免费下载 Gerber / BOM 文件以在其他地方制造。
以下是:PCB 设计、原理图、引出线和 BOM。
4-附加评论:有用户报告说 RDS 和 Shortwave 也可以使用 SSOP-24 封装(不是 QFN)的 Si4730-D60 和 Si4734-D60 芯片,这些设备的优势是更便宜,但是我没有有机会测试一下。还要记住,Si4735-D60 SSOP-24 可以用作 RDS/SW 肯定会起作用。
我为采用 SSOP-24 封装的 SI4730/34/35 设计了分线板适配器,单击此处下载 PCB 布局。
5-如果您不想使用分线板和/或使用其他 MCU(微控制器单元),下面是使用 SSOP-24 封装的 Si4730-D60 / Si4734-D60 / Si4735-D60 芯片的电路原理图, 以便您可以设计自己的印刷电路板。该电路需要具有 I2C(Arduino Uno、Nano、ESP32、STM32 等)的 MCU 才能工作。
对于任何有兴趣使用 SI5351 和 SI4735(32) 制作双转换接收器的人,这是我构建的接收器块的框图,它工作得很好。使用 JCR 10kHz-225MHz VFO。混频器是流行的NE602 / SA612 IC。
****************************************************** ************************
接收器规格:立体声 FM 64-108MHz,带 RDS、LW、MW、SW 频段,涵盖 150kHz 至 30MHz 和 AM/SSB 解调。显示 TFT 1.8” ST7735 彩色 128x160pix 和 Arduino Nano (Atmega328P)。
对于那些想尝试带 SSB 版本的人(仅限有经验的用户),我在这里提供带 SSB 的固件(.hex 格式)和许多改进(专业版,见下图)。在这里下载。
要在 Arduino UNO / Nano 上安装固件(.hex 格式),需要使用 Xloader 应用程序将“.hex”文件上传到 Arduino Uno/Nano,运行 Xloader.exe(在文件夹中),连接USB 电缆连接到 Arduino Nano。在 Xloader 中选择正确的 COM 端口,波特率 115200,选择设备微处理器 UNO(ATmega328),选择固件文件(.hex 在文件夹中)并点击 Xloader 中的上传。Arduino LED 将在此过程中点亮,Xloader 将在完成时提供建议。就这样,真的很快,大约需要 12 秒。
在专业版中,按钮具有不同的功能,如原理图所示:
笔记:
- 该电路设计用于 6.5v 至 8.5v 电源(来自两个串联的 18650 电池),并且该电压施加到 Arduino Nano 的 VIN 引脚,在内部调节电压。Arduino 读取此电池电压以指示并在收音机关闭时使用此值将值保存到 EEPROM。如果您为 Arduino 提供低于此的电压,电路将无法正常工作。此外,此版本使用 Si473x I2C 地址 0x63,请确保在您的硬件上正确设置它。
- 请注意,市场上有许多带有变体/假冒 ATMEGA328P U-TH 微控制器的 Arduinos Nano,在这种情况下,它可能无法在该项目中使用。在这种情况下,您可以尝试更正文件“avrdude.config”上的签名编号(设备签名 = 0x1e 0x95 0x16),以便能够加载固件。要恢复此类 Arduino Nano 的引导加载程序,请使用 IDE 上的 Minicore 板并选择处理器变体 328PB。
****************************************************** *******************
关于 Arduino 产生的数字噪声/干扰的最终考虑:
每个带有微控制器和 I2C/SPI 数据/时钟总线流量的数字电路都会产生一定程度的电磁噪声 (EMI),干扰和扰乱无线电接收,因为它具有传播到各种频率的谐波。
尝试减少此问题的一种方法是在面包板下方放置一块绝缘金属板(钢、铝或铜)并连接到电路的 GND(电池负极),或者将整个电路组装在正确连接的金属盒内到 GND 电路。
您还必须在 TFT 显示器和 Arduino 之间的连接中使用尽可能短的电线。您还应尽可能将 DSP 无线电芯片与 Arduino 保持距离,理想的做法是将 DSP 无线电芯片和 Arduino + 显示器放置在由接地金属板隔开的隔间内。
精心规划的印刷电路板 (PCB) 将数字部分与模拟 RF 部分分开并带有接地层,这将有助于降低噪声。
祝大家集会顺利!胡里奥·塞萨尔。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !