最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
陵水| 乌兰浩特市| 曲靖市| 永宁县| 阿鲁科尔沁旗| 渭南市| 淄博市| 绩溪县| 常山县| 海安县| 嘉兴市| 康定县| 保康县| 青岛市| 台湾省| 汕头市| 绥江县| 增城市| 和静县| 永泰县| 定襄县| 永清县| 营山县| 湛江市| 沽源县| 尖扎县| 茶陵县| 双流县| 民和| 西乌| 大安市| 元阳县| 南平市| 灵川县| 古浪县| 密山市| 灵宝市| 阜平县| 张家港市| 博爱县| 闽清县|