單片機(jī)產(chǎn)生SPWM課程設(shè)計(jì)報(bào)告_第1頁(yè)
單片機(jī)產(chǎn)生SPWM課程設(shè)計(jì)報(bào)告_第2頁(yè)
單片機(jī)產(chǎn)生SPWM課程設(shè)計(jì)報(bào)告_第3頁(yè)
單片機(jī)產(chǎn)生SPWM課程設(shè)計(jì)報(bào)告_第4頁(yè)
單片機(jī)產(chǎn)生SPWM課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程設(shè)計(jì)基于89C52單片機(jī)SPWM波形發(fā)生器摘 要本系統(tǒng)由89C52單片機(jī)控制模塊、濾波和穩(wěn)壓模塊組成。利用Matlab計(jì)算SPWM脈沖序列占空比,采用查表方式,控制雙極性SPWM控制脈沖序列的輸出。關(guān)鍵字:?jiǎn)纹瑱C(jī) Matlab 查表 SPWM1設(shè)計(jì)目的和要求1.1設(shè)計(jì)目的設(shè)計(jì)并制作一套單相SPWM觸發(fā)脈沖電路,掌握SPWM算法和硬件實(shí)現(xiàn)方法,理解驅(qū)動(dòng)電路功能。1.2任務(wù)要求采用雙極調(diào)制算法,產(chǎn)生一個(gè)7脈沖SPWM觸發(fā)脈沖,并用單片機(jī)數(shù)字化近似實(shí)現(xiàn);完成拓展硬件電路,軟件編程和調(diào)試;具有2ms死區(qū)設(shè)計(jì);低次諧波較少;2設(shè)計(jì)方案本系統(tǒng)以89C52單片機(jī)為控制核心,由查表法通過(guò)定時(shí)器產(chǎn)生SPWM

2、波,系統(tǒng)設(shè)計(jì)框圖如下:電源模塊輸出+5V雙極性pwm轉(zhuǎn)換電路spwm波單片機(jī)主控電路模塊圖1 設(shè)計(jì)框圖3 理論分析和計(jì)算3.1查表產(chǎn)生SPWM波理論分析SPWM采用頻率數(shù)倍于正弦波的三角波調(diào)制正弦波,可得到近似于正弦波的輸出。三角波的頻率越高,即載波比越高,諧波的頻率就越高,輸出端濾波器就更容易去除諧波。查表就是通過(guò)計(jì)算得到脈沖序列中每一個(gè)矩形脈沖周期內(nèi)高低電平持續(xù)時(shí)間,c語(yǔ)言編程時(shí)用數(shù)組來(lái)表示,通過(guò)編寫(xiě)對(duì)應(yīng)程序來(lái)查表進(jìn)而控制輸出端口高低電平時(shí)間及轉(zhuǎn)換,從而產(chǎn)生SPWM波。圖2 SPWM原理圖3.2利用Matlab計(jì)算SPWM脈沖序列占空比MATLAB是一個(gè)高級(jí)的數(shù)學(xué)分析與運(yùn)算軟件,具有強(qiáng)大的

3、計(jì)算功能。SPWM控制通過(guò)MATLAB進(jìn)行分析和設(shè)計(jì),可取得事半功倍的效果。采用MATLAB可方便地得到正弦波與三角波的交點(diǎn)。在判斷交點(diǎn)時(shí),可通過(guò)交點(diǎn)的數(shù)學(xué)定義來(lái)判斷。所謂交點(diǎn),就是在交點(diǎn)附近時(shí)刻兩函數(shù)之差值的絕對(duì)值趨于0或許某一精度,而在交點(diǎn)附近的極小區(qū)域,離交點(diǎn)越遠(yuǎn),差值的絕對(duì)值逐漸增大。3.2.1Matlab計(jì)算程序以下子程序?yàn)橛?jì)算交點(diǎn)的MATLAB程序?;〝?shù)據(jù)L2 =4*sin(2*pi*f*x)/5,載波數(shù)據(jù)L1=sawtooth(2*pi*9*f*(x+1/1800),0.5),t(j)為交點(diǎn)時(shí)刻數(shù)據(jù)。 % 設(shè)置clc;prec = 0.00001; %精度f(wàn)=50;step =

4、 0.00000001;start = 0;stop = 0.02;% plotx=start:step:stop;L1=sawtooth(2*pi*9*f*(x+1/1800),0.5);L2 =4*sin(2*pi*f*x)/5;plot(x,L1,'red',x,L2,'blue');legend('L1','L2','location','NorthWest');title('曲線交點(diǎn)圖', 'L1=sawtooth(2*pi*9*f*(x+1/1800),0.5)&

5、#39;,'L2=4*sin(2*pi*f*x)/5');xlabel('x');ylabel('y'); %找交點(diǎn)jCount = 0;t=0;j=0;for i=1:length(x) if(abs(L1(i)-L2(i) <prec) jCount = jCount + 1; j=j+1; t(j)=x(i); display(strcat('第',num2str(jCount),'交點(diǎn)是:'); if jCount=1 display(strcat('(',num2str(x(i),&

6、#39;,',num2str(L1(i),')') else X=216-(t(j)-t(j-1)*106;%計(jì)算定時(shí)器初值 HEX=dec2hex(round(X),4);%將初值化為十六進(jìn)制 display(strcat('(',num2str(x(i),',',num2str(L1(i),'),第 ',num2str(jCount),'與',num2str(jCount-1),'交點(diǎn)電平持續(xù)時(shí)間:',num2str(t(j)-t(j-1),'ms,','定時(shí)器初

7、始值:',num2str(HEX); end lh = line(x(i) x(i),min(min(L1),min(L2) L1(i); %橫坐標(biāo) set(lh,'color','green'); set(lh,'LineStyle','-'); text(x(i),L1(i),strcat('P_',num2str(jCount),'(',num2str(x(i),',',num2str(L1(i),')'); end end3.2.2Matlab運(yùn)行結(jié)果

8、>>第1交點(diǎn)是:(0,0)第2交點(diǎn)是:(0.00097685,0.24167),第2與1點(diǎn)電平持續(xù)時(shí)間0.00097685ms,定時(shí)器初值:FC2F第3交點(diǎn)是:(0.0025405,0.57283),第3與2點(diǎn)電平持續(xù)時(shí)間0.0015636ms,定時(shí)器初值:F9E4第4交點(diǎn)是:(0.0029758,0.64361),第4與3點(diǎn)電平持續(xù)時(shí)間0.00043531ms,定時(shí)器初值:FE4D第5交點(diǎn)是:(0.0048886,0.79952),第5與4點(diǎn)電平持續(xù)時(shí)間0.0019128ms,定時(shí)器初值:F887第6交點(diǎn)是:(0.0051114,0.79952),第6與5點(diǎn)電平持續(xù)時(shí)間0.000

9、22276ms,定時(shí)器初值:FF21第7交點(diǎn)是:(0.0070242,0.64361),第7與6點(diǎn)電平持續(xù)時(shí)間0.0019128ms,定時(shí)器初值:F887第8交點(diǎn)是:(0.0074595,0.57283),第8與7點(diǎn)電平持續(xù)時(shí)間0.00043531ms,定時(shí)器初值:FE4D第9交點(diǎn)是:(0.0090232,0.24167),第9與8點(diǎn)電平持續(xù)時(shí)間0.0015636ms,定時(shí)器初值:F9E4第10交點(diǎn)是:(0.01,0),第10與9點(diǎn)電平持續(xù)時(shí)間0.00097685ms,定時(shí)器初值:FC2F第11交點(diǎn)是:(0.010977,-0.24167),第11與10點(diǎn)電平持續(xù)時(shí)間0.00097685ms,

10、定時(shí)器初值:FC2F第12交點(diǎn)是:(0.01254,-0.57283),第12與11點(diǎn)電平持續(xù)時(shí)間0.0015636ms,定時(shí)器初值:F9E4第13交點(diǎn)是:(0.012976,-0.64361),第13與12點(diǎn)電平持續(xù)時(shí)間0.00043531ms,定時(shí)器初值:FE4D第14交點(diǎn)是:(0.014889,-0.79952),第14與13點(diǎn)電平持續(xù)時(shí)間0.0019128ms,定時(shí)器初值:F887第15交點(diǎn)是:(0.015111,-0.79952),第15與14點(diǎn)電平持續(xù)時(shí)間0.00022276ms,定時(shí)器初值:FF21第16交點(diǎn)是:(0.017024,-0.64361),第16與15點(diǎn)電平持續(xù)時(shí)間0

11、.0019129ms,定時(shí)器初值:F887第17交點(diǎn)是:(0.01746,-0.57283),第17與16點(diǎn)電平持續(xù)時(shí)間0.00043531ms,定時(shí)器初值:FE4D第18交點(diǎn)是:(0.019023,-0.24167),第18與17點(diǎn)電平持續(xù)時(shí)間0.0015636ms,定時(shí)器初值:F9E4第19交點(diǎn)是:(0.02,0),第19與18點(diǎn)電平持續(xù)時(shí)間0.00097685ms,定時(shí)器初值:FC2F圖3 Matlab運(yùn)行結(jié)果圖3.3單片機(jī)電平時(shí)間間隔表由MATLAB計(jì)算結(jié)果可以得出下表:十進(jìn)制電平時(shí)間間隔表:976 1563 435 1912 222 1912 435 1563 976976 1563

12、 435 1912 222 1912 435 1563 976十六進(jìn)制定時(shí)器初值表:FC2F F9E4 FE4D F887 FF21 F887 FE4D F9E4 FC2F FC2F F9E4 FE4D F887 FF21 F887 FE4D F9E4 FC2F4單片機(jī)程序設(shè)計(jì)4.1程序設(shè)計(jì)流程圖查表切換計(jì)數(shù)值,翻轉(zhuǎn)I/O口開(kāi)始I/O端口初始化定時(shí)器A初始化定時(shí)器A賦初始值,開(kāi)總中斷啟動(dòng)定時(shí)器定時(shí)器計(jì)數(shù),I/O端口保持電平圖4 程序流程圖4.2C語(yǔ)言實(shí)現(xiàn)程序4.2.1主程序#include<reg52.h>#include<intrins.h>#define uint

13、unsigned intint i=0;char flag=0;sbit P10=P10;sbit P17=P17;sbit P20=P20;/近似int a=1000,1000,1900,200,1900,500,1500,1000,1000,1500,500,1900,200,1900,500,1500,2000;/精確int a1=976 1563 435 1912 222 1912 435 1563 976 976 1563 435 1912 222 1912 435 1563 976;void main()P10=0;P17=0;IE=0x82;TMOD=0x01;TH0=(6553

14、6-ai)/256;TL0=(65536-ai)%256;TR0=1;while(1)if(flag=1)flag=0;P17=P17;P20=P20; 4.2.2中斷程序void timer0() interrupt 1i+;if(i=18)i=0;TH0=(65536-ai)/256;TL0=(65536-ai)%256;flag=1;5電路設(shè)計(jì)圖5 單片機(jī)主控電路圖6 電源模塊圖7 雙極性pwm轉(zhuǎn)換電路6測(cè)試和結(jié)果6.1測(cè)試過(guò)程6.1.1使用直流穩(wěn)壓電源,示波器,萬(wàn)用表以及低通濾波器進(jìn)行測(cè)試圖8 測(cè)試環(huán)境6.1.2使用低通濾波器對(duì)輸出電壓進(jìn)行處理圖9 濾波過(guò)程6.1.3正負(fù)12V直流電源

15、供電圖10 供電電源6.2測(cè)試波形6.2.1低通濾波的截止頻率較低時(shí)的輸出波形圖11 實(shí)驗(yàn)波形6.2.2含有少量雜波的輸出波形圖12 實(shí)驗(yàn)波形6.2.3截止頻率較大時(shí)的輸出波形圖13 實(shí)驗(yàn)波形6.2.4含有少量雜波的輸出波形圖14 實(shí)驗(yàn)波形6.2.5黃色為使用較低截止頻率的濾波器后的輸出波形圖15 實(shí)驗(yàn)波形6.2.6使用較高截止頻率的濾波器測(cè)試結(jié)果藍(lán)色為SPWM波形,黃色為使用較高截止頻率的濾波器后的輸出波形圖16 實(shí)驗(yàn)波形6.2.7使用非常高的截止頻率的濾波器測(cè)試結(jié)果藍(lán)色為SPWM波形,黃色為使用非常高的截止頻率的濾波器后的輸出波形圖17 實(shí)驗(yàn)波形圖18 實(shí)驗(yàn)波形7測(cè)試結(jié)果分析偏差原因:在定時(shí)器中斷服務(wù)程序中查表賦定時(shí)的初值,占用時(shí)間較多,導(dǎo)致定時(shí)不準(zhǔn)確;另外,測(cè)試儀器本身存在測(cè)量誤差。8體會(huì)和收獲經(jīng)過(guò)兩周的課程設(shè)計(jì),我們對(duì)SPWM波形產(chǎn)生的原理有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論