2011年11月20日17时,所有元件总装测试,基本达到预计的要求。可是语音播放容易出问题,还要继续调试代码才行。不管怎样先上一张最终效果图,啦啦啦!我的小车车成为最先进的安全小车啦!
2011年11月25日23时
完成语音芯片全部的焊接,包括功放电路。功放IC使用TDA2822M,可以增大40dB的音量。
焊接时,由于使用的是普通的电烙铁,没有接地,加之焊接时ISD1730芯片忘记拔除开来,烙铁头上的电流将一片芯片击毁。
喇叭使用0.5W8Ω的喇叭。音量增益大,噪音也多了,放音稍有些失真。
2011年11月27日1时,液晶屏幕焊接、底层程序编写完成。对液晶显示内容,还有望下次重新排版,把车速、安全状态等都显示出来,这里先随手做个图像证明液晶屏可用。顺便拍下电脑上编程界面的这个装置的程序的主函数的一部分内容。
液晶屏为2.4寸的TFT屏幕,该液晶屏内部使用ILI9325指令芯片控制,不带任何字库的。不过AVR单片机16KB的内存够我装这几个字体的信息了。颜色格式是RGB565格式。还带有SD卡模块和未焊接的触摸芯片空位。
焊接相比之前的好看点了吧。锡走线,名副其实的好看,和PCB版差不多,不过也稍微有点费锡。
2011年11月27日23时,屏幕内容基本编排好了,如果不安全,则用红色字体显示。否则用绿色字体显示。相机忘记调白平衡,拍照时颜色变了。
2011年11月28日12时,将液晶屏上的“左手状态”改为“左手状况”。由于后座的红外热释传感器初始化需要时间,在后座状况后面如果处于初始化时间段,则显示初始化中。初始化时间大约15秒-60秒
2011年11月30日23时,由于功放芯片还不如人意,再次改进,改进后发现直接接PSP的耳机音频信号输出经4.7uF电容耦合输入到TDA2822M,声音变得非常非常大,而且音质还可以。但是将信号源接到ISD1730后,发现不是不能响,就是有部分音频丢了,声音不完整。
后来我测了下PSP输出的音频电压,在0.1~1.0mV之间,而 ISD1730语音芯片则大大不同。持续拉到PLAY引脚后,我测了输出引脚SP+、SP-的电压,过了毫伏级别,有0-2.8V的波动,并且它有上下波动,时正时负是个交流信号,由于没有示波器,就将就读数辨认了。
接到TDA2822M后,反而不是电压大的ISD1730的音量大,而是PSP输出的毫伏级别的音频信号音量大,而且是相当的大,几乎一层楼都听得见,语音芯片的声音只是一个小房间的范围而已。
TDA2822M数据手册上说,如果是直流信号,需要在输入引脚加一个电容来耦合,确实我加了,声音很好。但没说交流信号怎么处理,于是我直接将语音芯片的SP+接到功放IC的输入引脚上,虽然能播音,但是声音远不如直流信号的好。郁闷的我忽然有一个想法,既然直流低压信号音量如此大,那能不能试下强制的方法把0-2.8V的交流信号变成直流?我顺手找来一个二极管和一个22K的电阻,串起来,二极管能去掉半波的信号,我知道这肯定会严重失真,但不妨试试。
结果可想而知是不太理想的。
然后我又试了下,如果不砍掉半波,只把电压压低,只串了一个22K电阻,经4.7uF电容耦合输入到功放IC,声音似乎小了点,我再串一个810K的进去,这就有832K,声音确实是小得可怜。
功放这事还没完,在这些试验中,我发现将语音芯片上SP+引脚,不经过4.7uF电容耦合,用560Ω的下拉电阻然后接到TDA2822M的输入引脚7上,然后把扬声器放到一个塑料杯杯口上(这个杯我是用来装零散的电子元件的),杯子做共鸣,声音不但没有失真厉害,反而音量倒增加了不少。
另外,上面有几个元件的脚很长,我还没打算剪,只是焊接得很短而已,为的是方便调试更换,因为所需的功能暂未能实现。
好了,今晚就研究到这吧。晚安!
2011年12月2日13时,功放与语音芯片的电路连接有思路了!并且实验成功!语音芯片发出的声音也大声许多了。
我在这得感谢51hei论坛的坛友benli,对我的提问进行准确详细的解答。
看到他的建议后,我将AUD/AUX引脚串联4.7uF电容到2822M,照旧下拉10K电阻。
语音芯片1730上电后默认情况下这个引脚是电流输出(AUD),我试了下完全没效果,反而听不到任何东西。然后我再对Mega16L单片机编程,利用SPI通讯将此引脚设置为电压输出(AUX),然后下令播音,声音突然大声了,虽然被吓一跳,但我笑了。 由于时间的关系,现在没空整理好电路了,今晚再把电路焊接得完美点,现在只是点焊,元件脚还没剪,到今晚再拍照。
2011年12月2日23时,功放电路和语音芯片电路再次焊接完成。语音芯片上的TDA2822M已废弃不用,我没有把它取出来,但引脚不焊接了。取而代之的是那块小的功放板,这样好调试点。
小的功放板我预留DC接口和两个电源插针接口,方便输入各种不同的电源。
应该可以看得出金属光泽吧。。焊工个人觉得也不是很差。做完这个项目就去学下个人自做PCB版。准备做出第一块自己的PCB电路板。
ISD1730语音芯片背面
2011年12月4日10时,又是一个阳光明媚的早晨。这套装置已经全部完工,AVR单片机四组IO口也已用完,但如果将来有新想法,还会继续改进。
新增开机欢迎语音“欢迎使用杨宇庆制作的自行车安全监测器!”
照片中各个器件从左到右分别是:8欧姆0.5W喇叭,TDA2822M功放版,两个电池盒,ISD1730主板,AVR-ATmega16L单片机(液晶屏后面),2.4寸TFT液晶显示屏,左手握把传感器、霍尔测速传感器、右手握把传感器,还有后座载人的红外热释传感器(在后面,没完全拍到它)。
2012年2月28日中午,对两个触摸模块各加入一个红色LED警示灯,当未触摸(不抓车把)时,对应位置的指示灯亮起。CPU同时发出播放语音警告的命令。
这两个LED警示灯是独立于CPU的。不受CPU控制,受触摸IC的输出信号控制自行点亮或熄灭。
2012年3月18日中午,全车总装完成,各个功能正常。改写了些代码,主要是重写界面,使其表现更明白、清晰些,还有每次开机都出一句安全的警句,提醒大家注意安全。
安全状况评估分4个等级,从大到小分为:安全、不安全、危险、非常危险。
出现的警句包括:
一人出车全家念 一人平安全家福
行万里平安路 做百年长乐人
宁绕百步远 不抢一步险
飞速行车乐一时 一朝落马毁终生
安全在你脚下 生命在你手中
十字路口易闯祸 一慢二看三通过
身体是革命的本钱
出了车祸速报警 救死扶伤见真情
程序也快占满空间了:
AVR Memory Usage
----------------
Device: atmega16
Program: 14686 bytes (89.6% Full)
(.text + .data + .bootloader)
Data: 824 bytes (80.5% Full)
(.data + .bss + .noinit)
Build succeeded with 4 Warnings...
2012年3月19日中午,改进电源部分的电路,增强了电源的稳定性。
2012年3月23日-25日,将此作品拿去参加2012年广西青少年科技创新大赛,并获得二等奖。