[問題] 利用DSP2407開發版寫SPWM調變訊號

看板Electronics作者 (小E)時間15年前 (2010/09/28 20:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
各位大大我在利用DSP撰寫spwm調變訊號遇到一些問題 我選用的載波頻率為21.6kHz 等於每一個角度開出一個脈波 而DSP設置CPUCLK為40000000(40MHz) 所以切換頻率為PERIOD 925(40000000/2/21600=925) 用過DSP2407也知道因為選擇上下數所以要設置載波頻率的兩倍 我再來是先建立一組SINE TABLE表總共600比其中第0~360比為第一相的spwm 第120~480比為第二相的spwm 第240~600比為第三組的spwm 在利用FOR迴圈去抓這些data則我for迴圈寫法為 for(i=0;i<364;i++) { CMPR1=sine_table[i]*ma+20; CMPR2=sine_table[i+120]*ma+20; CMPR3=sine_table[i+240]*ma+20; } 其中20為我設置deadtime為1us所以必須把此段時間考慮進去 結果是成功的輸出60Hz三相弦波。 但是我利用相同方式建立一組單相spwm table表總共540比其中 第0~360比為an的spwm 第180~540比bn的spwm 在利用FOR迴圈去抓這些data則我for迴圈寫法為 for迴圈寫法為 for(i=0;i<360;i++) { CMPR1=sine_table[i]+20; CMPR2=sine_table[i+180]+20; } 結果我出來的弦波為137Hz不清楚是哪邊錯了,希望大大能幫我看一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.178.72
文章代碼(AID): #1CeTride (Electronics)
文章代碼(AID): #1CeTride (Electronics)