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年廣西青少年科技創新大賽,并獲得二等獎。