五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

STM32編程L298N驅(qū)動(dòng)直流有刷電機(jī)實(shí)現(xiàn)PID位置、速度雙閉環(huán)控制實(shí)現(xiàn)

2022-11-30 11:29 作者:老-_-白  | 我要投稿

為實(shí)現(xiàn)完成PID控制需要使用STM32定時(shí)器的輸出通道和互補(bǔ)輸出通道共同控制引腳鏈接驅(qū)動(dòng)器驅(qū)動(dòng)電機(jī)和編碼器鏈接STM32 MCU定時(shí)器的編碼器接口來(lái)實(shí)現(xiàn)一個(gè)完成的驅(qū)動(dòng)、反饋閉環(huán),根據(jù)STM32MCU的數(shù)據(jù)手冊(cè)可以查詢定時(shí)器的各引腳的功能。


STM32F103ZET6MCU定時(shí)器引腳功能定義
使用功能引腳在芯片上的位置對(duì)照


在相應(yīng)的.h資源文件利用宏定義實(shí)現(xiàn)功能引腳和指定功能的一一對(duì)應(yīng)

電機(jī)驅(qū)動(dòng)控制引腳定義代碼
MCU編碼器反饋引腳定義代碼

為了調(diào)試我們還定義了串口輸出引腳和按鍵控制引腳的定義

串口調(diào)試引腳定義
按鍵控制引腳定義

根據(jù)定義的引腳初始化以后就可以控制運(yùn)行狀態(tài)的進(jìn)程里編輯PID控制代碼了

? uwTick++;

? if((uwTick % 50) == 0)

? {

//? ? /* 獲取當(dāng)前位置值,編碼器4倍頻之后的數(shù)值 */

? ? Sample_Pulse = (OverflowCount*CNT_MAX) + (int32_t)__HAL_TIM_GET_COUNTER(&htimx_Encoder);


? ? /* 計(jì)算PID結(jié)果 */

? ? if(Start_flag == 1)

? ? {

? ? ? tmpPWM_DutySpd = LocPIDCalc(Sample_Pulse);


? ? ? /* 設(shè)定速度環(huán)的目標(biāo)值 */

? ? ? if(tmpPWM_DutySpd >= TARGET_SPEED)

? ? ? ? tmpPWM_DutySpd = TARGET_SPEED;

? ? ? if(tmpPWM_DutySpd <= -TARGET_SPEED)

? ? ? ? tmpPWM_DutySpd = -TARGET_SPEED;

? ? }

? }

? ? ? /* 速度環(huán)周期50ms */

? if(uwTick % 50 == 0)

? {

? ? /* 獲得當(dāng)前速度 */

? ? Sample_Pulse = (OverflowCount*CNT_MAX) + (int32_t)__HAL_TIM_GET_COUNTER(&htimx_Encoder);

? ? Spd_PPS = Sample_Pulse - LastSample_Pulse;

? ? LastSample_Pulse = Sample_Pulse ;


? ? /* 11線編碼器,270減速比,一圈脈沖信號(hào)是11*270*4 PPR */

? ? Spd_RPM = ((((float)Spd_PPS/(float)PPR)*20.0f)*(float)60);//單位是rpm

//

? ? /* 計(jì)算PID結(jié)果 */

? ? if(Start_flag == 1)

? ? {

? ? ? sPID.SetPoint = tmpPWM_DutySpd;

? ? ? PWM_Duty = SpdPIDCalc(Spd_RPM);

? ? ? if(PWM_Duty < 0)

? ? ? {

? ? ? ? Motor_Dir = CW;

? ? ? ? BDDCMOTOR_DIR_CW();

? ? ? ? PWM_Duty = -PWM_Duty;

? ? ? }

? ? ? else

? ? ? {

? ? ? ? Motor_Dir = CCW;

? ? ? ? BDDCMOTOR_DIR_CCW();

? ? ? }

? ? ? __HAL_TIM_SET_COMPARE(&htimx_BDCMOTOR,TIM_CHANNEL_1,PWM_Duty );

? ? }

? ? printf("LOC:%d Sped: %2.2f r/m \n",Sample_Pulse,Spd_RPM );

? }




STM32編程L298N驅(qū)動(dòng)直流有刷電機(jī)實(shí)現(xiàn)PID位置、速度雙閉環(huán)控制實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
乐安县| 安庆市| 阜新市| 乐都县| 商南县| 霍城县| 利辛县| 常宁市| 延长县| 天全县| 江北区| 焦作市| 苏州市| 江安县| 阳信县| 江津市| 平度市| 周口市| 凌源市| 黄龙县| 韶山市| 东海县| 江口县| 佳木斯市| 太湖县| 开化县| 鹰潭市| 邹城市| 齐河县| 资兴市| 大港区| 贵港市| 环江| 乐安县| 邵阳县| 张家川| 天长市| 通州区| 新巴尔虎左旗| 焦作市| 兰考县|