• slider image 442
  • slider image 492
  • slider image 493
  • slider image 494
  • slider image 495
  • slider image 496
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users






Re: 用30f4011产生SPWM的思路,请大家指点
#6
中級會員
中級會員


查看用戶資訊
while(1);
{
} /* Infinite Loop */

這樣的程式有可能會錯誤

應該是寫成
while(1)
{
;
}

才對

之前讓主程式什麼都沒做會發生執行錯誤

試試看吧

發表於: 2008/4/29 14:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用30f4011产生SPWM的思路,请大家指点
#5
資深會員
資深會員


查看用戶資訊
假設您知道PWM輸出邏輯, 單純只是查表問題, 那麼爬文一下, 本網站應該就有資料了.
僅是提醒一些事:
例如馬達控制常用的方式, 就是建立1/4週的正弦波, 其餘3/4是用對稱原理組合出來, 好處是頻率低時, 正弦失真小.
而類似UPS等, 頻率範圍小, 可以直接建立一整週, 當然時間夠, 用快速傅立葉級數, 當然誤差度更小.

假設要產生50Hz, 不變頻, PWM 20KHz, 那麼代表TABLE需要20K/50 = 400, 你只要建一400點正弦TABLE, 依序循環放到PWM 輸出即可, 當然, 期間因為架構不同, PWM放的方式就會不同.
若是要變頻呢?? 請往固定PWM方式思考, 不要想變PWM頻率, 除非你FCC不用管..方法也不只一種, 各有所長, 看IC能力.
假如PWM邏輯正確就會有SIN波出現, 只有SVPWM才無法直接這樣產生. SPWM很基礎問題, 爬文一下, 應該很多人討論過....

發表於: 2008/4/28 16:52
Thanks,
Edward Lee
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用30f4011产生SPWM的思路,请大家指点
#4
新會員
新會員


查看用戶資訊
谢谢这位小哥的指点,固定占空比PWM我作过,没有问题。能把您的思路跟我说清楚吗,我是个初学者。你的思路是查表,具体怎么实现,还得请您赐教:)

發表於: 2008/4/28 15:58
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用30f4011产生SPWM的思路,请大家指点
#3
資深會員
資深會員


查看用戶資訊
1.大爺您固定PWM輸出有試過嗎?
沒幫你看設定, 是否先試過固定PWM, 看實際單相或三相PWM正常(包含SPWM應該有的邏輯, 無論單極性或雙極性)? 固定PWM都不能正常工作, 那就沒得玩了.
這是第一步, 錯就要弄到對才能繼續.
注意!! 互補PWM一般有極大與極小值限制, 不然會錯誤, 甚至短路!!

2.PDC1 = p; /* 占空比 更新*/
i++;
if(i=1999)i=0;
這段有點傻眼!!
執行一次, i假設由0開始, ++後=1. 請問Duty應該多少?
i是不是應該在中斷內執行? 不然怎麼控制sin(delta t), 怎麼控制sin的頻率.
而且怎麼看都是只會更新PWM一次??
PWM不是在中斷給值, 也算是創舉.

3.你的設計思路, 我會稱為"原理", 思路應該包含如何產生delta t, 而且很少看過SPWM不是查表.

發表於: 2008/4/27 23:45
Thanks,
Edward Lee
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用30f4011产生SPWM的思路,请大家指点
#2
新會員
新會員


查看用戶資訊
期待大家和版主对小弟的指点:)

發表於: 2008/4/27 21:29
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


用30f4011产生SPWM的思路,请大家指点
#1
新會員
新會員


查看用戶資訊
SPWM方法:对称采样法
程序设计思路:通过PWM中断来给PWM模块的占空比寄存器赋新值,从而实现SPWM。
程序主要部分如下:

#include "p30f4011.h"
#include "stdio.h"
#include "math.h"


/* Configuration Bit Settings */

_FOSC(CSW_FSCM_OFF & XT_PLL8); //XT with 4xPLL oscillator, Failsafe clock off
_FWDT(WDT_OFF); //Watchdog timer disabled
_FBORPOR(PBOR_OFF & MCLR_EN); //Brown-out reset disabled, MCLR reset enabled
_FGS(CODE_PROT_OFF); //Code protect disabled
/*****************************************************************************/
/* STANDARD PWM INITIALIZATION CODE */PWM初始化
/*****************************************************************************/
void init_PWM()
{
/* PWM1 I/O Control Register register */
PWMCON1bits.PEN1H = 1; /* PWM1H is controlled by GPIO module */
PWMCON1bits.PEN1L = 1; /* PWM1L is controlled by PWM module */
PWMCON1bits.PMOD1 = 0; /* Select Independent Output PWM mode */
PTCONbits.PTEN =1; /*PWM时基开启*/
PTCONbits.PTMOD = 0;
PTCONbits.PTCKPS =0;

/* Load PDTR1 and ALTDTR2 register with preset dead time value */
DTCON1bits.DTAPS = 0; /* Deadtime setting */
DTCON1bits.DTA =10;
/* PWM Time Base Control Register */
IFS2bits.PWMIF =0;
IEC2bits.PWMIE =1;
IPC9 =7;

}
/*****************************************/
/*中断变量*/
/******************************************/
void __attribute__((__interrupt__,no_auto_psv)) _PWMInterrupt(void)
{
IFS2bits.PWMIF =0;
p= long(abs(2000*sin(0.1*i)));/*对称采样得到占空比的公式*/
}

/******************************************************************************/
/* MAIN ROUTINE */
/******************************************************************************/
int main()
{
TRISEbits.TRISE1 = 0; /* Set RE1 as a digital output */
TRISEbits.TRISE0 = 0; /* Set RE3 as a digital output */
init_PWM();
/* Load PDC1 register with initial Duty Cycle value */

PDC1 = p; /* 占空比 更新*/
i++;
if(i=1999)
i=0; /*周期*/
while(1);
{
} /* Infinite Loop */
}



问题:我的输出波形式一直是低电平。请大家多讨论一下,也多指点一下小弟:)
谢谢

發表於: 2008/4/26 8:13
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------