一直以來(lái),傳統(tǒng)的伺服產(chǎn)品選擇將硬件電流環(huán)放在FPGA里,這樣的硬件方案需要消耗MCU更多引腳資源用于和FPGA進(jìn)行數(shù)據(jù)傳輸,雙芯片占用板子面積,導(dǎo)致PCB布局布線困難;再者,使用FPGA后也會(huì)增加產(chǎn)品成本,不利于市場(chǎng)競(jìng)爭(zhēng),始終為行業(yè)和客戶所困擾。
匠芯創(chuàng)科技M6800系列產(chǎn)品獨(dú)創(chuàng)Hardware Current Loop(HCL)硬件電流環(huán)。創(chuàng)新性地采用獨(dú)立于CPU的運(yùn)行模式,使其有效提升電流環(huán)帶寬,釋放更多的算力資源。可實(shí)現(xiàn)單顆M6800方案取代MCU+FPGA的架構(gòu),是實(shí)現(xiàn)伺服電機(jī)控制的電流環(huán)算法硬件化的關(guān)鍵一環(huán)。
01
HCL介紹
功能模塊:
Clarke變換
Park變換
防積分飽和PID
Ipark變換
死區(qū)補(bǔ)償
SVPWM計(jì)算和處理
特點(diǎn):
HCL將軟件電流環(huán)算法固化在芯片里,且獨(dú)立于CPU運(yùn)行,有效提升系統(tǒng)整體執(zhí)行效率;
通過(guò)內(nèi)部測(cè)試,整個(gè)硬件電流環(huán)執(zhí)行周期僅為200ns,完全做到PWM占空比立即更新,從而大大提高了電流環(huán)的帶寬,充分提升系統(tǒng)的快速響應(yīng)和魯棒性;
支持增量式編碼器和絕對(duì)式編碼器,單圈分辨率高達(dá)16777216ppr。
02
HCL操作步驟
第一步 初始化HCL
void HCL_Init(void) { U16 INV_PWM_TBPRD = 10000;hcl_cmu_init(); hcl_set_opm(0, HCL_OPM2);//Mode2,電角度選擇編碼器反饋的電角度 hcl_set_posm(0, TA_POS);//選擇絕對(duì)式編碼器
hcl_set_udm0(0, 0); //Mode0 D軸電壓 hcl_set_uqm0(0, 1475); //Mode0 Q軸電壓 0.045 hcl_set_epwmprd(0, INV_PWM_TBPRD);//電流環(huán)周期100us hcl_set_maxduty(0, (INV_PWM_TBPRD - 5));//設(shè)置最大占比 hcl_set_minduty(0, 5);//設(shè)置最小占空比//PWM時(shí)間常數(shù),3.2768 = _IQ(1)/ INV_PWM_TBPRD hcl_set_timeconst(0, _IQ(1.0)); hcl_set_curcal(0, _IQ10(1.0)); //電流增益校正 //set qaxi-pid _iq kp = _IQ(0.1983); _iq ki = _IQ(0.0244);
hcl_set_qpidkp(0, kp);//設(shè)置q軸pid比例系數(shù)初值 hcl_set_qpidki(0, ki); //設(shè)置q軸pid積分系數(shù)初值 hcl_set_qpidmax(0, _IQ( 0.9)); //設(shè)置q軸pid輸出最大值 hcl_set_qpidmin(0, _IQ(-0.9)); //設(shè)置q軸pid輸出最小值 hcl_set_intgsep(0, _IQ( 0.9));//0.9 hcl_set_iqref(0, _IQ(0.0)); //設(shè)置q軸pid給定初值
//set daxi-pid hcl_set_dpidkp(0, kp); //設(shè)置d軸pid比例系數(shù)初值 hcl_set_dpidki(0, ki); //設(shè)置d軸pid積分系數(shù)初值 hcl_set_dpidmax(0, _IQ( 0.125)); //設(shè)置d軸pid輸出最大值 hcl_set_dpidmin(0, _IQ(-0.125)); //設(shè)置d軸pid輸出最小值 hcl_set_idref(0, _IQ(0)); //設(shè)置d軸pid給定初值 hcl_dtcmp_en(0);//死區(qū)補(bǔ)償打開(kāi) hcl_set_dtcomp(0, 0);//死區(qū)補(bǔ)償值為0 hcl_set_dtflt(0, 262); //死區(qū)補(bǔ)償濾波時(shí)間 hcl_en(0);//打開(kāi)硬件電流環(huán)}
第二步 初始化ADC
void ADC_Init(void){//初始化ADC0 adc_q1_trig_sample_num(0, SMP_1_NODE); //設(shè)置ADC0隊(duì)列1有一個(gè)采樣點(diǎn) adc_q1_node0_set(0, ADCCH4); //設(shè)置轉(zhuǎn)換通道 adc_hcl_en(0); //使能HCL自動(dòng)獲取ADC0轉(zhuǎn)換值 adc_pre_set(0, 0x1); //ADC0預(yù)充設(shè)置為1 adc_smp_rate_set(0, SMP_RATE_1MHZ); //設(shè)置ADC0采樣頻率 adc_q1_cvra_en(0); //使能EPWM事件A作為ADC0轉(zhuǎn)換觸發(fā)信號(hào) adc_q1_int_en(0); //使能ADC0隊(duì)列1轉(zhuǎn)換結(jié)束中斷 adc_en(0); //使能ADC0
//初始化ADC1 adc_q1_trig_sample_num(1, SMP_1_NODE); //設(shè)置ADC1隊(duì)列1有一個(gè)采樣點(diǎn) adc_q1_node0_set(1, ADCCH5); //設(shè)置轉(zhuǎn)換通道 adc_hcl_en(1); //使能HCL自動(dòng)獲取ADC1轉(zhuǎn)換值 adc_pre_set(1, 0x1); //ADC1預(yù)充設(shè)置為1 adc_smp_rate_set(1, SMP_RATE_1MHZ); //設(shè)置ADC1采樣頻率 adc_q1_cvra_en(1); //使能EPWM事件A作為ADC1轉(zhuǎn)換觸發(fā)信號(hào) adc_en(1); //使能ADC1}
第三步 在EPWM中斷服務(wù)程序里面給硬件電流環(huán)賦值;本例中采樣EPWM0,中斷周期為100us,將速度環(huán)PID輸出值賦給硬件環(huán)即可,剩下的電流環(huán)算法自動(dòng)由硬件完成,無(wú)需CPU干預(yù)。
//EPMW0周期中斷服務(wù)程序void EPWM_IRQHandler_isr(void) { u32 epwm_sts; epwm_sts = Glb_Pwmcs_Regs.GLB_EPWM_INT_STS.all;//判斷是否epwm0中斷 if((epwm_sts & EPWM0_INT_PEND) == EPWM0_INT_PEND) {pi_spd0.Ref = speed_ref; //速度環(huán)PID給定值 pi_spd0.Fbk = speed_fack; //速度環(huán)PID反饋值 pi_cal(&pi_spd0); //速度環(huán)PID計(jì)算hcl_set_idref(0,0); //硬件電流環(huán)Id軸的給定給定為0 hcl_set_iqref(0,pi_spd0.Out); //硬件電流環(huán)Iq軸的給定為速度環(huán)的pid輸出值(*EPWM[0]).PWM_EVNT_CLR.bit.PWM_INT_CLR = 0x1 //清除中斷標(biāo)志}}
Hardware Current Loop(HCL)硬件電流環(huán)從硬件配置方案和軟件性能上,全方位提升算力,實(shí)現(xiàn)運(yùn)動(dòng)控制系統(tǒng)性?xún)?yōu)化升級(jí),為提升終端產(chǎn)品競(jìng)爭(zhēng)力提供堅(jiān)實(shí)的技術(shù)支持與成本優(yōu)勢(shì)。
未來(lái),我們將持續(xù)完善 M6800系統(tǒng)化解決方案,為更多行業(yè)客戶提供可持續(xù)、長(zhǎng)周期的技術(shù)和生態(tài)支持。
-
電機(jī)控制
+關(guān)注
關(guān)注
3600文章
2131瀏覽量
277687 -
硬件
+關(guān)注
關(guān)注
11文章
3594瀏覽量
69009 -
電流環(huán)
+關(guān)注
關(guān)注
0文章
55瀏覽量
14835 -
匠芯創(chuàng)
+關(guān)注
關(guān)注
0文章
58瀏覽量
193
發(fā)布評(píng)論請(qǐng)先 登錄
匠芯創(chuàng)發(fā)布新版GUI開(kāi)發(fā)工具 新增多國(guó)語(yǔ)言設(shè)置等功能
【匠芯創(chuàng)D133CBS KunLun Pi開(kāi)發(fā)板試用體驗(yàn)】開(kāi)箱評(píng)測(cè)
【匠芯創(chuàng)D133CBS KunLun Pi開(kāi)發(fā)板試用體驗(yàn)】介紹、環(huán)境搭建
移動(dòng)電源硬件三合一方案和軟件三合一方案對(duì)比
匠芯創(chuàng)M6801SPCS閉環(huán)步進(jìn)控制設(shè)計(jì)方案:工業(yè)自動(dòng)化的精密導(dǎo)航儀
解碼工業(yè)自動(dòng)化:匠芯創(chuàng)M6800系列編碼器接口協(xié)議全解析
智能伺服,精準(zhǔn)控制:匠芯創(chuàng)科技M6800系列方案助力工業(yè)升級(jí)
匠芯創(chuàng)M6800系列芯片內(nèi)置EPWM快速保護(hù)模塊,鍛造高精度電機(jī)控制安全保護(hù)鎖
匠芯創(chuàng)ArtInChip 2025年8月資訊
直擊工博會(huì) | 匠芯創(chuàng)M7000系列DSP賦能機(jī)器人關(guān)節(jié)精準(zhǔn)控制
匠芯創(chuàng)ArtInChip 2025年9月資訊
“芯”啟杭 創(chuàng)未來(lái) | 匠芯創(chuàng)杭州辦事處盛大開(kāi)業(yè)
匠芯創(chuàng)ArtInChip 2025年11月資訊
自主可靠 量產(chǎn)無(wú)憂 | 匠芯創(chuàng)離線燒錄器實(shí)現(xiàn)量產(chǎn)應(yīng)用
匠芯創(chuàng)ArtInChip 2025年12月資訊
匠芯創(chuàng)M6800方案獨(dú)創(chuàng)HCL硬件電流環(huán),實(shí)現(xiàn)精準(zhǔn)高效電機(jī)控制
評(píng)論