
自2009年10月23日在宿舍里沒什么事做&&之前做的TDA2030又出了點(diǎn)問題&&在一個(gè)偶然的時(shí)候看到了一手機(jī)的盒子,所以想到用這個(gè)手機(jī)外殼做一個(gè)功放.開始構(gòu)思整個(gè)制作。
做功放首先要考慮的是做什么功放,思考了一段時(shí)間,最后決定做10+10W的TDA2009加AT89S52,CD4051等做為控制和檢測(cè)系統(tǒng).接下來(lái)要做的就是去收集任何關(guān)于2009的功放的資料和畫電路板了。
最初構(gòu)思結(jié)構(gòu):
整個(gè)電路以模塊化建設(shè)為主,以便于在以后有其他想法時(shí)不會(huì)因?yàn)樾枰渲械哪巢糠蛛娐范鴰н@這個(gè)功放板,再一個(gè)就是不必因?yàn)槠渲心巢糠蛛娐穱?yán)重?fù)p壞而丟棄整塊板。
整個(gè)電路分為以下模塊:
1, 中央處理器模,以TA89S52為核心元件;
2, 功率模塊,以TDA2009為核心元件;
3, 信號(hào)采樣模塊以LM393為核心元件;
4, 控制,顯示模塊;
5, 電源模塊,其中正電源用全波整流輸出,5V電源用7805穩(wěn)壓輸出;負(fù)電源采用半波整流 7905穩(wěn)壓輸出;
6, 音量控制模塊等,以CD4051為核心元件。
整個(gè)電路功能構(gòu)思(實(shí)際與構(gòu)思基本一致):
1, 信號(hào)輸入檢測(cè),在60秒內(nèi)無(wú)信號(hào)輸入自動(dòng)關(guān)機(jī);
2, 可進(jìn)入睡眠模式,既定時(shí)關(guān)機(jī)功能(范圍為1~60分種);
3, 10級(jí)LED電平顯示;
4, 工作時(shí)間顯示;
5, 欠壓,過(guò)流,短路延遲斷電保護(hù),保護(hù)裝置動(dòng)作后無(wú)需更換部件既可從新開機(jī);
6, 機(jī)體溫度檢測(cè),當(dāng)機(jī)體溫度到達(dá)n攝氏度時(shí)讓電路開始以聲音或光的方式發(fā)出警告。當(dāng)溫度繼續(xù)升高并到達(dá)一定高度時(shí)自動(dòng)打開電扇,溫度降低后又自動(dòng)關(guān)閉;
7, 可用按鍵控制音量等。
畫電路板中……
首先畫完的是功率,電源和音量控制模塊,原來(lái)的計(jì)劃是將這幾個(gè)模塊分開,但由于雕刻機(jī)的原因,他們只能在一起了,但他們之間沒有任何聯(lián)系,在必要的時(shí)候隨時(shí)可將他們割斷;
焊接并調(diào)試完成!!
接下來(lái)是畫中央處理器(CPU)和控制,顯示板面。
中央處理器部分: 
正在雕刻控制部分:
、
CPU模塊:

顯示,控制面板:

制作完這些模塊后就要進(jìn)行單片機(jī)(AT89S52)進(jìn)行調(diào)試了……
開始編寫程序:
(此程序版本為09.11.21)
- /***********************************************************
- 單片機(jī)引腳說(shuō)明:
- P1口:0為數(shù)碼管開關(guān)的總開關(guān);
- 1,2,3,4均為數(shù)碼管開關(guān);
- 5繼電器開關(guān);
- 6為嗡鳴器;
- 7風(fēng)扇(在原I/O口上加了一三極管)
- 三個(gè)外接LED:P2.5, 6,7;其中在主板上的LED是P2.5;
- 接有上拉電阻(接數(shù)碼管)的是P0口;
- LM393的是P2.3,4 ;其中第一組輸出是P2.4 ;
- P三口全部引出;
- P2.0,1,2為CD4051控制端;
- 其他引腳:
- 電源:vss 16\GND38
- 寄存器選通:29;
- **************************************************************/
- #include<reg52.h>
- #define lxx unsigned char
- #define lxd unsigned int
- sbit lm393a=P2^4;
- sbit lm393b=P2^3;
- /****393因腳定義***/
- sbit zhongkaiguan=P1^0;
- sbit k1=P1^4;
- sbit k2=P1^3;
- sbit k3=P1^2;
- sbit k4=P1^1;
- /****數(shù)碼管開關(guān)****/
- sbit shijianjia=P3^0;
- sbit shijianjian=P3^1;
- sbit yljia=P3^4;
- sbit yljian=P3^5;
- sbit guanji=P3^6;
- /******按鍵*******/
- sbit xhsr=P2^6; //信號(hào)輸輸入
- sbit jianchewendu=P2^7; //檢測(cè)溫度
- sbit yxz=P2^5;
- /*******LED******/
- sbit a=P2^0;
- sbit b=P2^1;
- sbit c=P2^2;
- sbit xhjc=P3^7;
- sbit fs=P1^7;
- sbit jdq=P1^5;
- sbit wmq=P1^6;
- /*****特殊腳*****/
- bit wdjca;
- lxx sz[]={0x88,0xbe,0xc4,0x94,0xb2,0x91,0x81,0xbc,0x80,0x90,};
- lxx yl,yljc,wdjc,wjs,wjss,guanjis;
- lxd haomiao,Miao,fen,yxxs,miaotiaozhuan,ylxs,fens,xssj;
- void ys(lxd YS){while(YS--);}
- /*************************************************準(zhǔn)備工作******************************************************/
- void xs(void)
- {
-
- if(ylxs>=1){P0=sz[yl];k1=0;}else
- {
- k1=1;
- if(Miao<=15){P0=sz[Miao%10];k1=0;ys(200);k1=1;
- P0=sz[Miao/10%10];k2=0;ys(200);k2=1;
- }
- if(xssj>=1||fen<=1){P0=sz[fen%10];k3=0;ys(200);k3=1; if(fen/10%10){P0=sz[fen/10%10];k4=0;ys(200);k4=1;}}
- else k2=k3=1;
-
- }
- }
- void csh(void)
- {
- TMOD=0x11;
- TH0=15535/256;TL0=15535%256;
- TR0=1;ET0=1;
- TR1=0;ET1=1;
- EX0=1;IT0=0;
- EX1=1;IT1=0;
- EA=1;
- }
- void ajpd(void)
- {
- if(yljia==0){ys(20000);if(yljia==0){TR1=1;if(yl<=6)yl++;ylxs=120;}}
- if(yljian==0){ys(20000);if(yljian==0){TR1=1;if(yl>=1)yl--;ylxs=120;}}
-
- if(lm393b==0){fs=0;}else {fs=1;}
- if(lm393a==0){wjs=1;}else{wjs=0;}
-
- if(shijianjia==0){ys(20000);xssj=200;if(shijianjia==0&&fen<=59){fen++;}}
- if(shijianjian==0){ys(20000);xssj=200;if(shijianjian==0&&fen>=2){fen--;}}
- /*************************************/
- if(guanji==0){ys(50000);if(guanji==0){ys(50000);if(guanji==0)jdq=1;}}
- /**************************************/
- if(xhjc==1){Miao=60; xhsr=0;} else xhsr=1;
- if(yl==0){a=1;b=1;c=1;}
- if(yl==1){a=0;b=1;c=1;}
- if(yl==2){a=1;b=0;c=1;}
- if(yl==3){a=0;b=0;c=1;}
- if(yl==4){a=1;b=1;c=0;}
- if(yl==5){a=0;b=1;c=0;}
- if(yl==6){a=1;b=0;c=0;}
- if(yl==7){a=0;b=0;c=0;}
-
- }
- void main(void)
- {
- csh();
- yl=3;
- fen=59;
- jdq=0;
- Miao=30;
-
- zhongkaiguan=0;
- while(1)
- {
- xs();
- ajpd();
- }
- }
- void nzd0(void)interrupt 1
- {
- TH0=15535/256;
- TL0=15535%256;
- haomiao++;
- if(wjs==1){wjss++;} //溫度是否達(dá)到??
- if(wjss>=10){jianchewendu=0;}else{jianchewendu=1;}
- if(wjss==30)wjss=0;
- if(haomiao==40){haomiao=0;Miao--;fens++;}
- if(fens==60){fen--;fens=0;}
-
- if(Miao==0||fen==0){jdq=1;}else jdq=0;
- miaotiaozhuan++;
- if(miaotiaozhuan>=40)yxz=0;else yxz=1;
- if(miaotiaozhuan==40)miaotiaozhuan=0;
-
- if(xssj>=1){xssj--;}
- }
- void nzdi(void)interrupt 3
- {
- TH1=15535/256;TL1=15535%256;
- ylxs--;
-
- if(ylxs==0){TR1=0;}
-
- }
- void wz0(void)
- {
- yljc=yl;
- yl=0;
- }
- void wz1(void)
- {
-
- }
復(fù)制代碼
Over!!!
在編寫程序時(shí)遇到了問題:因?yàn)橐獙?duì)輸入信號(hào)檢測(cè)進(jìn)行編程,而在電路中我是將P3^7直接接到LM393的輸出,與LED并聯(lián),在LM393的電路中是高電平有效,而單片機(jī)又默認(rèn)I/O口的狀態(tài)為1,所以我認(rèn)為應(yīng)該讓P3^7初始化為0然后再檢測(cè)高電平?蓡栴}出現(xiàn)了:這樣做雖然可以檢測(cè)到是否有信號(hào)輸入,而在電平顯示中的最低位卻不亮了……
后來(lái)說(shuō)來(lái)神奇:我刪除了P3^7初始化為0的命令,再試就得了。我想我知道為什么讓他初始化為0為什么不亮了,原因是LM393的輸出能力有限,他輸出的1是LED兩端的2V電壓而且電流小,“拼不過(guò)” 單片機(jī)的0,但他的出現(xiàn)依然使得單片機(jī)的P3^7電壓升高但小于2V,所以單片機(jī)還可以檢測(cè)到有信號(hào)輸入但LED不亮。
但有點(diǎn)不明白為什么不讓P3^7初始化LED就不亮并且依然可以檢測(cè)到信號(hào)呢??
原因暫不明。。。。。。
結(jié)論:平時(shí)要注意自己的知識(shí)儲(chǔ)備!
把程序?qū)懭階T89S52后就開始試機(jī)了。(試機(jī)中……)
中央處理器,顯示局部調(diào)試:

調(diào)試成功后就可進(jìn)行整體試機(jī)了。
在試機(jī)的過(guò)程中損壞了一塊單片機(jī),原因暫不明。。。。。。。
OK,可以進(jìn)行整體調(diào)試了。
調(diào)試時(shí)也要不斷對(duì)他們進(jìn)行調(diào)整,比如為了美觀,將顯示面板的一排電平顯示的LED換成了綠色的等。
電路整體測(cè)試:

電路整體測(cè)試基本順利,一個(gè)電路一般是不能沒有外殼的,在設(shè)計(jì)電路時(shí)我是就打算將這一電路裝到一手機(jī)盒里,所以在畫PCB時(shí)就要量手機(jī)盒的相關(guān)尺寸,但測(cè)量總是會(huì)有誤差的,當(dāng)時(shí)測(cè)量是我就沒有考慮到裝電路板時(shí)要剪掉的那部分的尺寸,使得大當(dāng)裝上電路板時(shí)由于電路板有點(diǎn)小所導(dǎo)致的機(jī)殼前有點(diǎn)空缺。只是我一般都比較樂觀,既然有空缺那就將就著拿來(lái)當(dāng)空氣流通的窗口吧。。!
結(jié)論:量一物體的尺寸時(shí)一定要考慮周到!
接下來(lái)就是裝機(jī)了。
將電路板裝入機(jī)盒:

(有點(diǎn)亂 )
在即將完成制作時(shí)又發(fā)現(xiàn)了一個(gè)問題,既在沒有信號(hào)輸入時(shí)喇叭也會(huì)發(fā)出一些躁聲,懷疑是功率部分出了問題,將輸入信號(hào)未經(jīng)過(guò)音量控制部分發(fā)現(xiàn)躁聲消失;再懷疑是音量控制部分的問題。在這部分可能會(huì)造成干擾的只有電源和CD4051的三個(gè)控制端,所以試著在CD4051控制端的A,B,C分別接一50p的電容濾波,結(jié)果沒用。拿示波器來(lái)檢查,A,B,C端都有24MHz的干擾,即使加有電容依然不濟(jì)于事;接著檢查了其他線路,結(jié)果發(fā)現(xiàn)除了GND以外每一條都受到24MHz的干擾。所以又試者在單片機(jī)+5v電源處加一電感濾波,但結(jié)果好象不怎么明顯……
一個(gè)不經(jīng)意讓我發(fā)現(xiàn)似乎在掃描數(shù)碼管時(shí)干擾特別大,所以只要盡量不去掃描數(shù)碼管干擾應(yīng)該就可以減小好多。
又回頭編寫程序,讓信號(hào)輸入檢測(cè)時(shí)顯示的時(shí)間在小于15s時(shí)才顯示,定時(shí)關(guān)機(jī)在小于等于1時(shí)或有關(guān)于時(shí)間的按鍵按下時(shí)才顯示,否則4個(gè)數(shù)碼管全部關(guān)閉。
結(jié)果和我想的一樣,干擾果然少了好多——至少聽起來(lái)。
結(jié)論:電路出了問題不要只從硬件上找原因,要適當(dāng)?shù)目紤]考慮軟件,生活中同樣適用。
整個(gè)制作完成:(已經(jīng)在2009年11月21日星期六投入正常使用)

整個(gè)制作總結(jié):
做這個(gè)制作所需的知識(shí)并不多,一個(gè)普通的電子專業(yè)的學(xué)生應(yīng)該都能做。在這過(guò)程中遇到了很多在設(shè)計(jì)時(shí)沒有想到的問題(上面只列出了一小部分,還有比如模塊與模塊之間都是采用插針連接的,怎么處理好接頭就是一個(gè)問題了等),從這些問題可以讓我感覺到平時(shí)積累知識(shí)的重要性和讓我感覺到想象與現(xiàn)實(shí)的差距。
在一個(gè)就是自己做一個(gè)制作花的錢并不比買一個(gè)成品少 ,但又能充實(shí)自己的業(yè)余生活和積累一些相關(guān)經(jīng)驗(yàn),所以不要做這種制作太多,但又不要不做。
|