全部回復(fù)(20)
正序查看
倒序查看
@ainadexiaoqiang
沒有跑飛。波形很穩(wěn)定。但不是我想要的。我覺得應(yīng)該出這樣的波形:[圖片] 但這個(gè)程序出的波形是:[圖片] 中間那段低電平大約5.4ms(我算了一下是65536次計(jì)數(shù)時(shí)間)。但是每一組波形倒是很穩(wěn)定。沒有抖動(dòng)什么的。
不知道你的驅(qū)動(dòng)電路是怎樣的,上面那個(gè)波形如何驅(qū)動(dòng)MOS管?我倒覺得下面那個(gè)實(shí)際波形是對的,只不過是頻率有點(diǎn)不準(zhǔn).如果是按上面波形設(shè)計(jì)的,可在調(diào)試時(shí)打開反匯編窗口看看.
0
回復(fù)
@無衣
不知道你的驅(qū)動(dòng)電路是怎樣的,上面那個(gè)波形如何驅(qū)動(dòng)MOS管?我倒覺得下面那個(gè)實(shí)際波形是對的,只不過是頻率有點(diǎn)不準(zhǔn).如果是按上面波形設(shè)計(jì)的,可在調(diào)試時(shí)打開反匯編窗口看看.
我現(xiàn)在迷惑了。
SPWM的波形應(yīng)該是:1.周期固定,但占空比隨時(shí)間變化的PWM?(體現(xiàn)在示波器上是上升沿固定,下降沿按正弦變化的速度左右擺動(dòng)?)
2.周期固定,占空比也隨時(shí)間變化。但體現(xiàn)在示波器上是一組穩(wěn)定的等周期,但不等占空比的脈沖?
到底是這兩種哪一種呢?
請指點(diǎn)。。
0
回復(fù)
@ainadexiaoqiang
我現(xiàn)在迷惑了。SPWM的波形應(yīng)該是:1.周期固定,但占空比隨時(shí)間變化的PWM?(體現(xiàn)在示波器上是上升沿固定,下降沿按正弦變化的速度左右擺動(dòng)?) 2.周期固定,占空比也隨時(shí)間變化。但體現(xiàn)在示波器上是一組穩(wěn)定的等周期,但不等占空比的脈沖?到底是這兩種哪一種呢?請指點(diǎn)。。
我也是初學(xué)正弦波,發(fā)過一個(gè)求教的貼子:http://bbs.dianyuan.com/topic/608685
0
回復(fù)
@宛東驕子
你想要的是雙極性,出來的卻是單極性。
你的中斷函數(shù)耗時(shí)太長,而且丟失的那一個(gè)脈沖一定是序列當(dāng)中,占空比最小的那個(gè)。原因是你的重載值寫入之前。PCA計(jì)數(shù)器已經(jīng)跑在了前面,所以電平不會(huì)反轉(zhuǎn)。比如說你跑了65500個(gè)時(shí)鐘的低電平后,應(yīng)該加一個(gè)36的高電平吧!應(yīng)該進(jìn)中斷了吧!于是PUSH了一堆的數(shù)據(jù),并且計(jì)算、賦值、判斷、返回……注意!此時(shí)PCA仍在計(jì)數(shù),并且已經(jīng)跑出了36時(shí)鐘。這時(shí)PCA計(jì)數(shù)器已經(jīng)大于PCA0CPx中的值,當(dāng)然不會(huì)翻轉(zhuǎn),只有跑了一圈之后,16位(65536)計(jì)數(shù)器才重新匹配了你的PCA0CPx中的值。并翻轉(zhuǎn)。所以你的感覺就是丟了一個(gè)周期的電平變化。
0
回復(fù)
你的中斷函數(shù)耗時(shí)太長,而且丟失的那一個(gè)脈沖一定是序列當(dāng)中,占空比最小的那個(gè)。原因是你的重載值寫入之前。PCA計(jì)數(shù)器已經(jīng)跑在了前面,所以電平不會(huì)反轉(zhuǎn)。比如說你跑了65500個(gè)時(shí)鐘的低電平后,應(yīng)該加一個(gè)36的高電平吧!應(yīng)該進(jìn)中斷了吧!于是PUSH了一堆的數(shù)據(jù),并且計(jì)算、賦值、判斷、返回……注意!此時(shí)PCA仍在計(jì)數(shù),并且已經(jīng)跑出了36時(shí)鐘。這時(shí)PCA計(jì)數(shù)器已經(jīng)大于PCA0CPx中的值,當(dāng)然不會(huì)翻轉(zhuǎn),只有跑了一圈之后,16位(65536+36)計(jì)數(shù)器才重新匹配了你的PCA0CPx中的值。并翻轉(zhuǎn)。所以你的感覺就是丟了一個(gè)周期的電平變化。
0
回復(fù)