新品发布:使用Arduino控制的调频立体声收音机

反复调试了好几个版本的收音机终于可以发布了,真是一个开心的时刻。

IMG_0552

我对收音机的感情非常深厚,早年创客文化和经济并不发达的年代,在封闭的小乡村中,收音机伴随着我度过了童年,给我带来了莫大的欢乐。

如今已经很少有人听收音机了,地方电台节目逐步沦落,充斥着到各种恶俗的广告。很庆幸,首都北京还是有好多高质量的FM电台的,比如91.5MHz的EasyFM,飞鱼秀、摩天轮这些节目,给我忙碌的工作中增添了几分轻松和愉悦。

在大城市中,AM的广播基本无法正常收听,干扰太多,而FM广播具有先天的抗干扰能力,让其能够在嘈杂的都市中特立独行。目前比较物美价廉的FM芯片解决方案有两种,一种是飞利浦(现在是NXP)的TEA5767芯片,另外一种是Silicon Labs的Si4703,后者价格较贵并且不易获得,所以我选择了TEA5767。

TEA5767_Datasheet

市场上有一种基于TEA5767的微型模块,很便宜。这个模块把基本的外围元件都焊接好了,包括晶振电阻电容。使用起来很方便。

IMG_0583

我们需要使用I2C总线控制TEA5767,最重要的操作就是设定电台频率。使用Arduino来操作I2C总线的器件很方便,更方便的是,已经有开发好的Arduino Library可以直接使用。

http://mathertel.github.io/Radio/

我使用了一片TM1638芯片来实现LED数码管的驱动和按键的扫描,这样就可以显示电台频率,读取用户输入操作了。

TM1638

TM1638芯片功能强大,也有做好的Arduino Library可以直接拿来使用。

http://code.google.com/p/tm1638-library/

音频输出部分使用了一块PAM8403 D类功放芯片,D类功放的最大特点就是效率高。

PAM8403

设计制作此收音机的最大难点在于降低各种干扰,因此我在电路中使用了各种滤波手段,大家可以在电路板上看到很多电容和磁珠,这都是经过多次实践后的选择。最终版本在实际收听过程中,背景噪音极低,效果很好。

IMG_0547

IMG_0584

下面是完整的操作收音机的Arduino源码,供大家参考。

参考资料:

https://www.sparkfun.com/datasheets/Wireless/General/TEA5767.pdf

http://www.diodes.com/_files/datasheets/PAM8403.pdf

http://www.titanmec.com/index.php/product/lists/typeid/6/p/2.html

 

Published by

Meng Guang

thinking ahead of what's possible

2 thoughts on “新品发布:使用Arduino控制的调频立体声收音机”

Comments are closed.