1.修改工程目錄 (個(gè)人習(xí)慣)
源文檔是這樣目錄



整改后的目錄

2.使用的工具 keil 作為編譯器 vscode 作為瀏覽和編輯器
3.軟件工程分析

4.工程文件分析
1)BLDC-MOTOR文件夾里面
①compu采樣文件
// 用于采集速度樣本數(shù)據(jù)
void SampleSpeed(void);
// 用于采集開環(huán)電流相關(guān)樣本數(shù)據(jù)
void SampleOI(void);
// 用于采集電流樣本數(shù)據(jù)
void SampleI(void);
// :用于采集電壓樣本數(shù)據(jù)
void SampleV(void);
②control控制文件
// 檢查電機(jī)是否滿足啟動(dòng)條件(如電源、信號(hào)、傳感器等)
void MotorStartCheck(void);
// 控制電機(jī)啟動(dòng)前的延時(shí)(如軟啟動(dòng)、防止瞬時(shí)電流過大)
void MotorStartDealy(void);
// 執(zhí)行電機(jī)開環(huán)啟動(dòng)操作(如PWM輸出、繼電器吸合等)
void MotorStartOPEN(void);
// 電機(jī)運(yùn)行 開環(huán) :維持電機(jī)正常運(yùn)行(如速度調(diào)節(jié)、電流控制等)
void MotorRunOPEN(void);
// 控制電機(jī)停止(如關(guān)閉PWM、剎車、自由停車等)
void MotorStop(void);
// 檢測(cè)到電機(jī)異常(如過流、堵轉(zhuǎn)、溫度過高)時(shí)執(zhí)行
void MotorError(void);
// 當(dāng)錯(cuò)誤超過閾值(如多次重啟失敗)時(shí)執(zhí)行保護(hù)動(dòng)作
void MotorErrorOver(void);
// 等待啟動(dòng)條件 : 信號(hào)(如按鍵、通信指令)以允許電機(jī)啟動(dòng)
void WaitStart(void);
// EN 檢查電機(jī)使能信號(hào)是否有效(如硬件使能引腳狀態(tài))
void ENCheck(void);
③global.參數(shù)文件 各種參數(shù)的初始化 和系數(shù)校準(zhǔn)


④init初始化文件
以名字為準(zhǔn)顧名思義就是各種初始化包含主控內(nèi)部rcciogpio電機(jī)pwmadc等操作
⑤MOTOR 電機(jī)文件
void PWMtimer_init(void);// PWM 定時(shí)器初始化函數(shù) 設(shè)置 PWM 頻率、占空比、死區(qū)時(shí)間等
void Halltimer_init(void);//霍爾傳感器定時(shí)器初始化 計(jì)算轉(zhuǎn)速/位置
void Commutation(unsigned int step,unsigned int PWM_ON_flag);//電機(jī)換相控制函數(shù)
void UPPWM(void);// 更新 PWM 占空比函數(shù)
unsigned char HALL_Check(void);// 霍爾信號(hào)檢測(cè)函數(shù)
void Hall_init(void);// 霍爾傳感器初始化函數(shù) 感覺這個(gè)應(yīng)該在霍爾函數(shù)里面吧
void HALL_MOTOR_START(void);// 霍爾啟動(dòng)電機(jī)函數(shù)
void MOTOR_STOP0(void);// 電機(jī)制動(dòng)/停止函數(shù)
⑥sensorless傳感器文件 現(xiàn)在這個(gè)應(yīng)該就是無感里面的反電動(dòng)勢(shì)輸入初始化了
extern void SENSORLESS_TIM_Config(void);///定時(shí)器初始化函數(shù)好像不用加全局聲明吧?
extern unsigned char Sensorless_START(void);//傳感器啟動(dòng)
2)USER文件夾里面之后主函數(shù)文件還有cw的中斷文件以及啟動(dòng)文件
我添加了一些注釋進(jìn)去
循環(huán)之前的初始化部分
初始化電位器的斜率
初始化相關(guān)外設(shè)
檢測(cè)電流偏執(zhí)
上電檢測(cè)電位器是否歸零

20mS采集一次速度設(shè)定值,并檢查傳感器
開環(huán)電流檢測(cè)

每100ms做一次電流檢測(cè)和電壓檢測(cè)做做一次速度計(jì)算

故障判斷是實(shí)時(shí)判斷的這個(gè)優(yōu)先級(jí)最高了

接下來是任務(wù)調(diào)度包含啟動(dòng)開環(huán)啟動(dòng)閉環(huán)啟動(dòng)開環(huán)轉(zhuǎn)閉環(huán)轉(zhuǎn)停止模式剎車模式錯(cuò)誤模式

中斷函數(shù)計(jì)時(shí)器任務(wù)函數(shù)時(shí)間調(diào)度就是用來各個(gè)任務(wù)調(diào)度的時(shí)間的恩

審核編輯 黃宇
-
電機(jī)驅(qū)動(dòng)
+關(guān)注
關(guān)注
60文章
1487瀏覽量
89676 -
CW32
+關(guān)注
關(guān)注
1文章
324瀏覽量
1958
發(fā)布評(píng)論請(qǐng)先 登錄
CW32L011電機(jī)驅(qū)動(dòng)器開發(fā)評(píng)估板的測(cè)評(píng)記錄
CW32L011開發(fā)支持
CW32生態(tài)社區(qū)開發(fā)板二三事兒
玩轉(zhuǎn)CW32L011無刷直流電機(jī)驅(qū)動(dòng)開發(fā)板
CW32L011電機(jī)驅(qū)動(dòng)器開發(fā)評(píng)估板測(cè)評(píng)
CW32L011 電機(jī)驅(qū)動(dòng)器開發(fā)板測(cè)試
一起來玩轉(zhuǎn)CW32L011無刷直流電機(jī)驅(qū)動(dòng)開發(fā)板
CW32L011電機(jī)開發(fā)板測(cè)評(píng)
CW32L011無刷電機(jī)驅(qū)動(dòng)測(cè)試
CW32L011電機(jī)開發(fā)板控制教程
CW32L011電機(jī)驅(qū)動(dòng)控制開發(fā)板-軟件
評(píng)論