硬件方案--主板及驅(qū)動(dòng)電路
類型 | 型號(hào) | 封裝 | 數(shù)量 |
電阻 | 10R | 0603*4 | 1 |
100R | 0805 | 1 | |
1K | 0603*4 | 7 | |
1K | 0805 | 3 | |
5.1K | 0805 | 13 | |
1M | 0805 | 1 | |
電容 | 12P | 0805 | 2 |
22P | 0805 | 2 | |
4.7UF | 1206 | 2 | |
16V1000UF | 電解 | 1 | |
LED | LED綠色 | 0805 | 25 |
LED紅色 | 0805 | 1 | |
LED黃色 | 0805 | 1 | |
二極管 | 1N4148 | 玻璃管 | 2 |
1N5822 | 貼片 | 1 | |
晶振 | 32.768K | 2*6 | 1 |
8.000MHz | 49SMD | 1 | |
芯片 | 1117-3.3 | SOT223 | 1 |
IR21364S | SOP-28 | 1 | |
SWM190RBT6-50 | LQFP64 | 1 | |
其它 | 5.1K電位器 | 3362P | 2 |
控制器采用的是一顆國產(chǎn)M0芯片-SWM190RBT6-50,封裝是LQFP64。電路包含AC轉(zhuǎn)DC電路,直流電機(jī)是高壓310V,然后通過SC1117DG轉(zhuǎn)成低壓15V,再由MP1482變成3.3V。電機(jī)的柵極驅(qū)動(dòng)芯片是IR21364S來控制WVU三路之間的通斷,上下臂是通過IGBT,RGS10B60KD1/D2PACK來開關(guān)。除此之外還包含一些光耦,LED的常用的電子元器件。
本方案缺失PCB源文件,但是不影響配套程序的相關(guān)閱讀及學(xué)習(xí),本方案的主要用于學(xué)習(xí)觀測(cè)器,鎖相環(huán),PID算法,SVPWM無感FOC算法以及五段式與七段式調(diào)制。
軟件方案
軟件方案包含了工程文件,無需自己再搭建工程。用的IDE是MDK,小編給大家編譯了一下,沒有錯(cuò)誤可以直接運(yùn)行。包含龍伯格電機(jī)觀測(cè)器,無感FOC算法,PID調(diào)節(jié)代碼,整套報(bào)錯(cuò)信息,順逆風(fēng)啟動(dòng)算法,雖然是基于國產(chǎn)M0的代碼,但是代碼本身耦合性做的很好,完全可以移植到別的MCU平臺(tái)上面去,同時(shí)也是非常適合對(duì)電機(jī)算法感興趣的小伙伴認(rèn)真閱讀一番。以下貼一段龍伯格觀測(cè)器的代碼出來:
/******************************************************************************* * Function Name : Speed_PI * Description : It implements the PLL PI regulator. * Input : (B-emf alpha)*sin(theta),(B-emf beta)*cos(theta). * Output : None. * Return : Motor speed (dpp, digit-per-pwm). *******************************************************************************/ s16 Speed_PI(s16 hAlfa_Sin, s16 hBeta_Cos) { s32 wSpeed_PI_error, wOutput; s32 wSpeed_PI_proportional_term, wSpeed_PI_integral_term; wSpeed_PI_error = hBeta_Cos - hAlfa_Sin; #if 1 //???? if(wSpeed_PI_error > 50) wSpeed_PI_error = 50; else if(wSpeed_PI_error < -50) wSpeed_PI_error = -50; #endif wSpeed_PI_proportional_term = hSpeed_P_Gain * wSpeed_PI_error; // !!!p wSpeed_PI_integral_term = hSpeed_I_Gain * wSpeed_PI_error; // !!!i if ( (wSpeed_PI_integral_sum >= 0) && (wSpeed_PI_integral_term >= 0) && (Max_Speed_Out == FALSE) ) { if ((s32)(wSpeed_PI_integral_sum + wSpeed_PI_integral_term) < 0) { wSpeed_PI_integral_sum = S32_MAX; } else { wSpeed_PI_integral_sum += wSpeed_PI_integral_term; //integral } } else if ( (wSpeed_PI_integral_sum <= 0) && (wSpeed_PI_integral_term <= 0) && (Min_Speed_Out == FALSE) ) { if((s32)(wSpeed_PI_integral_sum + wSpeed_PI_integral_term) > 0) { wSpeed_PI_integral_sum = -S32_MAX; } else { wSpeed_PI_integral_sum += wSpeed_PI_integral_term; //integral } } else { wSpeed_PI_integral_sum += wSpeed_PI_integral_term; //integral } wOutput = (wSpeed_PI_proportional_term >> 14) + (wSpeed_PI_integral_sum >> 18); if (wOutput > wMotorMaxSpeed_dpp) { Max_Speed_Out = TRUE; wOutput = wMotorMaxSpeed_dpp; } else if (wOutput < (-wMotorMaxSpeed_dpp)) { Min_Speed_Out = TRUE; wOutput = -wMotorMaxSpeed_dpp; } else { Max_Speed_Out = FALSE; Min_Speed_Out = FALSE; } return ((s16)wOutput); }
-
二極管
+關(guān)注
關(guān)注
149文章
10235瀏覽量
174905 -
驅(qū)動(dòng)電路
+關(guān)注
關(guān)注
158文章
1596瀏覽量
110835 -
FOC
+關(guān)注
關(guān)注
21文章
368瀏覽量
45436
發(fā)布評(píng)論請(qǐng)先 登錄
ST FOC 4.2的庫如何實(shí)現(xiàn)風(fēng)機(jī)的順逆風(fēng)啟動(dòng)?
基于XE160的無霍爾FOC風(fēng)機(jī)控制方案201208MC_FANE
低成本FOC風(fēng)機(jī)控制方案201208MC_FANB
英飛凌基于XMC1300的無感FOC風(fēng)機(jī)參考方案
收藏備用:FOC電機(jī)控制設(shè)計(jì)方案匯總下載
如何對(duì)SWM32SRET6芯片進(jìn)行測(cè)試呢
什么是FOC?帶你看看無傳感器FOC的BLDC電機(jī)驅(qū)動(dòng)芯片及解決方案
SWM190系列MCU數(shù)據(jù)手冊(cè)
英飛凌推出基于XMC1300的無感FOC風(fēng)機(jī)參考方案
小編科普如何使用SWM系列產(chǎn)品的TIMER功能?

評(píng)論