如何配置PWM控制模塊的電路補(bǔ)償和電流保護(hù)功能。
PWM進(jìn)行自動換相過程中,PWM的突變會引起電流的劇烈變化進(jìn)而造成電機(jī)旋轉(zhuǎn)的抖動,為了電機(jī)在換相過程能夠平滑順暢的運(yùn)行我們需要在電機(jī)換相的過程加入電流補(bǔ)償。
MM32SPIN2x的PWM脈沖寬度調(diào)制能夠控制電流補(bǔ)償模塊在換相后進(jìn)行換相補(bǔ)償,濾除電流的波動。為了補(bǔ)償換相過程中的電壓下降,換相后立即將PWM輸出直接設(shè)置為有效電平,然后一直檢測換相后的電流,直到換相后的電流恢復(fù)到換相前的電流值就把PWM恢復(fù)為換相前 PWM的值。具體實(shí)現(xiàn)波形如下:
如何使用MM32SPIN2x的PWM控制模塊實(shí)現(xiàn)電流補(bǔ)償功能。
先使能電流觸發(fā)功能 (CCE = 1),換相后 PWM 會輸出有效電平,直到檢測電流恢復(fù)正常,觸發(fā) PWM 恢復(fù)正常方波輸出。由上文PWM控制模塊框圖可以看出,電流補(bǔ)償觸發(fā)信號有三種選擇,可通過 PWM_CSR 寄存器的 CC_TRGSEL 選擇:軟件觸發(fā)電流補(bǔ)償,在 CC_STRG 寫 1 后觸發(fā) PWM 恢復(fù)正常輸出;ADC1 或者 ADC2 的數(shù)位比較器觸發(fā)電流補(bǔ)償功能;比較器 COMP4 觸發(fā)電流補(bǔ)償功能。
使用軟件觸發(fā)電流補(bǔ)償功能配置如下:
使能電流補(bǔ)償功能,設(shè)置PWM_CSR寄存器CCE = 1
配置電流補(bǔ)償觸發(fā)方式,設(shè)置PWM_CSR寄存器CC_TRGSEL = 11(軟件觸發(fā)電流補(bǔ)償功能)。在電流恢復(fù)正常時(shí)使用軟件觸發(fā)電流補(bǔ)償,設(shè)置PWM_CSR寄存器CC_STRG = 1
程序中配置如下:
//使能電流補(bǔ)償功能,配置電流補(bǔ)償觸發(fā)方式為軟件觸發(fā)
PWM ->CSR|= PWM_CSR_CC_TRGSEL_1 | PWM_CSR_CC_TRGSEL_0 | PWM_CSR_CCE;//軟件觸發(fā)電流補(bǔ)償(當(dāng)檢測到電流恢復(fù)時(shí)使用)
PWM ->CSR |= PWM_CSR_CC_STRG;
協(xié)議分析儀采集波形如下:
每次PWM換相后都會持續(xù)輸出一段有效電平,等到電流恢復(fù)后PWM波形恢復(fù)正常。
電機(jī)運(yùn)行過程中,不可避免的會出現(xiàn)過流現(xiàn)象,當(dāng)出現(xiàn)過流現(xiàn)象時(shí)我們會選擇關(guān)閉PWM輸出,使輸出引腳輸出無效電平。MM32SPIN2x將COMP 1/2/3/4/5連接到PWM脈沖寬度調(diào)制模塊的電流保護(hù)模塊上。當(dāng)檢測到 COMP 1/2/3/4/5 端的高電平觸發(fā)電流保護(hù)功能,電流保護(hù)將關(guān)閉 PWM 輸出 (引腳輸出無效電平),防止電機(jī)燒毀。
下面將教大家如何使用MM32SPIN2x的PWM控制模塊實(shí)現(xiàn)電流保護(hù)功能。
先使能電流保護(hù)功能(CPE = 1),再選擇電流保護(hù)的觸發(fā)信號由哪個(gè)比較器產(chǎn)生。當(dāng)電流過大的時(shí)候,PWM 輸出關(guān)閉,在電流恢復(fù)在正常區(qū)間后,PWM 輸出自動打開。
注意:在選擇比較器 COMP 1/2/3 作為電流保護(hù)的觸發(fā)信號時(shí),只檢測一個(gè)電流值。在選擇比較器 COMP 4/5 作為電流保護(hù)的觸發(fā)信號,并且在 PWM_CSR 寄存器的 CP_MDSEL 設(shè)置打開輪詢通道保護(hù)功能時(shí),可以同時(shí)監(jiān)測三個(gè)電流值,或者同時(shí)監(jiān)測三個(gè)電流值的上限和下限。
使用COMP 3觸發(fā)電流保護(hù)功能配置如下:
• 使能電流保護(hù)功能,設(shè)置PWM_CSR寄存器CPE = 1
• 配置電流保護(hù)觸發(fā)方式,設(shè)置PWM_CSR寄存器CP_TRGSEL[2:0] = 010(比較器 3 觸發(fā)電流保護(hù)功能)。
• 配置電流保護(hù)模式,設(shè)置PWM_CSR寄存器CP_MDSEL = 0(全通道關(guān)閉功能)
• 配置比較器3
程序中配置如下:
//使能電流保護(hù),配置電流保護(hù)為比較器3輸出,全通道關(guān)閉
PWM ->CSR |= PWM_CSR_CP_TRGSEL_1 | PWM_CSR_CPE;
//配置PC14、PC15為模擬輸入引腳,做為比較器輸入,中速、無遲滯
void Comp_Conf(void)
{
COMP_InitTypeDef COMP_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
//使能比較器的時(shí)鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_CPT, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
配置PC14/15為模擬輸入口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOC, &GPIO_InitStructure);
COMP_InitStructure.COMP_InvertingInput = COMP_InvertingInput_IO2;
COMP_InitStructure.COMP_NonInvertingInput = COMP_NonInvertingInput_IO2;
COMP_InitStructure.COMP_Output = COMP_Output_None;
COMP_InitStructure.COMP_OutputPol = COMP_OutputPol_NonInverted;
COMP_InitStructure.COMP_Hysteresis = COMP_Hysteresis_No;
COMP_InitStructure.COMP_Mode = COMP_Mode_MediumSpeed;
COMP_Init(COMP_Selection_COMP3, &COMP_InitStructure);
COMP_Cmd(COMP_Selection_COMP3, ENABLE);
}
協(xié)議分析儀采集波形如下:
當(dāng)出現(xiàn)電流過大的現(xiàn)象時(shí),PWM輸出無效電平,避免電機(jī)燒壞,等到電流恢復(fù)后PWM波形恢復(fù)正常。
電流補(bǔ)償功能在電機(jī)應(yīng)用中是不可或缺的,通常我們是直接操作TIM1控制PWM輸出有效電平,檢測到電流恢復(fù)時(shí)再去控制TIM1輸出PWM波形。這樣一來增加了算法的復(fù)雜性,二來實(shí)時(shí)性不能夠得到保障。而MM32SPIN2x的PWM控制模塊通過硬件控制可以實(shí)現(xiàn)自動控制電流補(bǔ)償,避免MCU使用軟件處理電流補(bǔ)償,減少了代碼空間、算法復(fù)雜度、運(yùn)行時(shí)間,且實(shí)時(shí)性也能夠得到保證,使得電機(jī)換相能夠平滑穩(wěn)定的進(jìn)行。而電流保護(hù)功能則能很好的保護(hù)我們的電機(jī),避免過流造成電機(jī)燒毀。
本文關(guān)鍵詞:
靈動微
相關(guān)文章:
如何用軟件檢測SRAM運(yùn)行狀態(tài)
深圳市英尚微電子有限公司是一家專業(yè)的靜態(tài)隨機(jī)記憶體產(chǎn)品及方案提供商,十年來專業(yè)致力代理分銷存儲芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,為客人提供性價(jià)比更高的產(chǎn)品及方案。
英尚微電子中國區(qū)指定的授權(quán)代理:VTI、NETSOL、JSC濟(jì)州半導(dǎo)體(EMLSI)、Everspin 、IPSILOG、LYONTEK、ISSI、CYPRESS、ISOCOME、PARAGON、SINOCHIP、UNIIC; 著名半導(dǎo)體品牌的專業(yè)分銷商 如:RAMTROM、ETRON、FUJITSU、LYONTEK、WILLSEMI。
?更多資訊關(guān)注SRAMSUN. cakyus.com 0755-66658299