刚做了个单片机控制的数字音量前级+音源选择 电路板
本帖最后由 murphy.he 于 2013-8-30 22:06 编辑先来无事,突发奇想,用数字电位器做个数字音量前级如何
于是查找发现TI有一颗这样的IC,PGA4311,还是4声道,音量增益-95.5dB到+31.5dB,256级可调
失真度很低,具体数值请参看SPEC。
于是申请样片,画板,洗板,焊接,写代码,测试,基本功能已经测试完毕,下步装箱整体再测试并调整一下软件
设计为3声道后级使用,这样一台可以做2.1也可以做中置环绕,方便组合
两组输入,使用3个继电器切换,另外增加一个外部低通滤波电路板的信号接口(输出左右声道,输入低音信号,方便接笔记本电脑类的没有低音输出的设备),
使用编码开关,带按的,就是那种类似示波器旋钮的。
接1602字符型液晶,发现信息量不够大,又买了个2402的还在路上,反正接口是兼容的。
另外还加了个18B20测温度的,可以测散热片的温度,还有一个控制风扇的电路输出,是经过三极管驱动的。
操作是默认模式下三个声道音量同时加减,也可以通过按下编码开关实现两声道和低音通道的音量单独控制,以及音源选择
顺便无聊还做了个ADC测量主电源电压的功能。
目前是跳线到了板子的供电端上的,显示为12V
整个板子采用了12V供电,使用7805给单片机和其它芯片供电,使用一个DC-DC隔离模块提供-5V电源给PGA4311
继电器没吸合的情况下整板耗电120ma左右, 由于使用的是12V继电器,如果使用5V继电器的话,可以省去7805
7805目前电流120mA,有点烫手,加个小散热器比较好点,由于画板时觉得电流这么小应该不会怎么烫,所以没留散热器的空间,
只能找个小散热器加上了。
前天有同事建议我加个遥控,可是淘宝上没有找到合适形状的遥控器,所以就没搞,不过板子上也有接口可以接遥控接收头,加些代码就可以实现遥控控制所有功能了
哪位兄弟有兴趣的话,可以和我联系,我这还有几片空板,可以一起玩玩 不错啊。我也在搞这个东东,但是还没有出来:) jesonaqq 发表于 2013-8-31 00:31 static/image/common/back.gif
不错啊。我也在搞这个东东,但是还没有出来
你要是需要我的帮忙,所有资料度可以免费提供,哈哈 murphy.he 发表于 2013-8-31 18:34 static/image/common/back.gif
你要是需要我的帮忙,所有资料度可以免费提供,哈哈
先谢谢你:handshake。
我的第一版早做出来了,现在在做改良后的第二版。 我也想去申请样品!结果TI那个电话只能填写6个数字,我晕,难道要我买啊 我也做了一个实验板 用的pga2311 目前是用独立按键控制,旋转编码器部分不是很清楚 楼主能否指点下,谢谢! hifidiy_user 发表于 2013-9-2 19:29 static/image/common/back.gif
我也想去申请样品!结果TI那个电话只能填写6个数字,我晕,难道要我买啊
电话是要填的,那是人家的流程,能点击免费样品的地方就是可以申请免费样品的 youhaowaishe 发表于 2013-9-2 21:44 static/image/common/back.gif
我也做了一个实验板 用的pga2311 目前是用独立按键控制,旋转编码器部分不是很清楚 楼主能否指点下,谢谢!
旋转编码是两个引脚,其中一个接外部中断,下降沿触发,进入中断服务程序去读另外一个脚的高低,高和低就是对应左右两个方向的旋转。 这几天买了个2402,接上去,发现效果还不错,红色的字。
已经装机调试了,没有引入可闻噪声,整体感觉挺个性的 tsyg99 发表于 2013-9-6 00:41 static/image/common/back.gif
很懊恼,还是不明白为什么旋转会产生高或低
看波形吧,网上有不少图片,编码开关内部的结构我也不太清楚,你可以拆开研究一下 可是写不了我的手机号啊!随便写一个吗? 老兄,昨天晚上去试着申请,已经死功申请了Pga2310 ,但不知能不能通过审核 学习了! murphy.he 发表于 2013-9-3 08:38 static/image/common/back.gif
旋转编码是两个引脚,其中一个接外部中断,下降沿触发,进入中断服务程序去读另外一个脚的高低,高和低就 ...
bit idata Last_SWA;
void ProcessSW()
{
if(Last_SWA&&(!SWA))
{
if(!SWB)
{
功能语句;
}
}
else
{
功能语句;;
}
}
Last_SWA=SWA;
不用接中断,用普通IO也行。SWA/SWB是接在编码器里的两个IO定义. steven.ning 发表于 2014-10-12 21:57 static/image/common/back.gif
bit idata Last_SWA;
void ProcessSW()
{
不用中断会丢步的吧
页:
[1]
2