[問題] 利用DSP2407開發版寫SPWM調變訊號
各位大大我在利用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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):