亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標(biāo)題:
stm32電機(jī)速度閉環(huán)控制(代碼詳細(xì)注釋)
[打印本頁(yè)]
作者:
kaka_ning
時(shí)間:
2018-7-27 09:56
標(biāo)題:
stm32電機(jī)速度閉環(huán)控制(代碼詳細(xì)注釋)
PID 源碼,大家可以看看,討論討論。
單片機(jī)源程序如下:
#include "sys.h"
u8 Flag_Stop=1; //停止標(biāo)志位
int Encoder; //編碼器的脈沖計(jì)數(shù)
int Moto1; //電機(jī)PWM變量 應(yīng)是Motor的 向Moto致敬
int main(void)
{
Stm32_Clock_Init(9); //系統(tǒng)時(shí)鐘設(shè)置
delay_init(72); //延時(shí)初始化
LED_Init(); //初始化與 LED 連接的硬件接口
uart_init(72,115200); //初始化串口1
MiniBalance_PWM_Init(7199,0); //=====初始化PWM 10KHZ 高頻可以防止電機(jī)低頻時(shí)的尖叫聲
Encoder_Init_TIM2(); //初始化編碼器
Timer3_Init(99,7199); //=====10MS進(jìn)一次中斷服務(wù)函數(shù),中斷服務(wù)函數(shù)在control.c
while(1)
{
printf("%d\r\n",Encoder);
}
}
復(fù)制代碼
#include "motor.h"
void MiniBalance_Motor_Init(void)
{
RCC->APB2ENR|=1<<3; //PORTB時(shí)鐘使能
GPIOB->CRH&=0X0000FFFF; //PORTB12 13 14 15推挽輸出
GPIOB->CRH|=0X22220000; //PORTB12 13 14 15推挽輸出
}
void MiniBalance_PWM_Init(u16 arr,u16 psc)
{
MiniBalance_Motor_Init(); //初始化電機(jī)控制所需IO
RCC->APB2ENR|=1<<11; //使能TIM1時(shí)鐘
RCC->APB2ENR|=1<<2; //PORTA時(shí)鐘使能
GPIOA->CRH&=0XFFFF0FF0; //PORTA8 11復(fù)用輸出
GPIOA->CRH|=0X0000B00B; //PORTA8 11復(fù)用輸出
TIM1->ARR=arr; //設(shè)定計(jì)數(shù)器自動(dòng)重裝值
TIM1->PSC=psc; //預(yù)分頻器不分頻
TIM1->CCMR2|=6<<12; //CH4 PWM1模式
TIM1->CCMR1|=6<<4; //CH1 PWM1模式
TIM1->CCMR2|=1<<11; //CH4預(yù)裝載使能
TIM1->CCMR1|=1<<3; //CH1預(yù)裝載使能
TIM1->CCER|=1<<12; //CH4輸出使能
TIM1->CCER|=1<<0; //CH1輸出使能
TIM1->BDTR |= 1<<15; //TIM1必須要這句話才能輸出PWM
TIM1->CR1=0x8000; //ARPE使能
TIM1->CR1|=0x01; //使能定時(shí)器1
}
復(fù)制代碼
#include "encoder.h"
/**************************************************************************
函數(shù)功能:把TIM2初始化為編碼器接口模式
入口參數(shù):無(wú)
返回 值:無(wú)
**************************************************************************/
void Encoder_Init_TIM2(void)
{
RCC->APB1ENR|=1<<0; //TIM2時(shí)鐘使能
RCC->APB2ENR|=1<<2; //使能PORTA時(shí)鐘
GPIOA->CRL&=0XFFFFFF00;//PA0 PA1
GPIOA->CRL|=0X00000044;//浮空輸入
/* 把定時(shí)器初始化為編碼器模式 */
TIM2->PSC = 0x0;//預(yù)分頻器
TIM2->ARR = ENCODER_TIM_PERIOD-1;//設(shè)定計(jì)數(shù)器自動(dòng)重裝值
TIM2->CCMR1 |= 1<<0; //輸入模式,IC1FP1映射到TI1上
TIM2->CCMR1 |= 1<<8; //輸入模式,IC2FP2映射到TI2上
TIM2->CCER |= 0<<1; //IC1不反向
TIM2->CCER |= 0<<5; //IC2不反向
TIM2->SMCR |= 3<<0; //SMS='011' 所有的輸入均在上升沿和下降沿有效
TIM2->CR1 |= 0x01; //CEN=1,使能定時(shí)器
}
/**************************************************************************
函數(shù)功能:把TIM4初始化為編碼器接口模式
入口參數(shù):無(wú)
返回 值:無(wú)
**************************************************************************/
void Encoder_Init_TIM4(void)
{
RCC->APB1ENR|=1<<2; //TIM4時(shí)鐘使能
RCC->APB2ENR|=1<<3; //使能PORTb時(shí)鐘
GPIOB->CRL&=0X00FFFFFF;//PB6 PB7
GPIOB->CRL|=0X44000000;//浮空輸入
/* 把定時(shí)器初始化為編碼器模式 */
TIM4->PSC = 0x0;//預(yù)分頻器
TIM4->ARR = ENCODER_TIM_PERIOD-1;//設(shè)定計(jì)數(shù)器自動(dòng)重裝值
TIM4->CCMR1 |= 1<<0; //輸入模式,IC1FP1映射到TI1上
TIM4->CCMR1 |= 1<<8; //輸入模式,IC2FP2映射到TI2上
TIM4->CCER |= 0<<1; //IC1不反向
TIM4->CCER |= 0<<5; //IC2不反向
TIM4->SMCR |= 3<<0; //SMS='011' 所有的輸入均在上升沿和下降沿有效
TIM4->CR1 |= 0x01; //CEN=1,使能定時(shí)器
}
/**************************************************************************
函數(shù)功能:?jiǎn)挝粫r(shí)間讀取編碼器計(jì)數(shù)
入口參數(shù):定時(shí)器
返回 值:速度值
**************************************************************************/
int Read_Encoder(u8 TIMX)
{
int Encoder_TIM;
switch(TIMX)
{
case 2: Encoder_TIM= (short)TIM2 -> CNT; TIM2 -> CNT=0;break;
case 3: Encoder_TIM= (short)TIM3 -> CNT; TIM3 -> CNT=0;break;
case 4: Encoder_TIM= (short)TIM4 -> CNT; TIM4 -> CNT=0;break;
default: Encoder_TIM=0;
}
return Encoder_TIM;
}
復(fù)制代碼
所有資料51hei提供下載:
電機(jī)速度閉環(huán)控制(代碼詳細(xì)注釋).rar
(177.07 KB, 下載次數(shù): 238)
2018-7-27 16:33 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
wdliming
時(shí)間:
2018-10-2 14:06
謝謝分享、、、
作者:
angst
時(shí)間:
2019-1-20 13:33
很不錯(cuò)
作者:
newopen1
時(shí)間:
2019-5-15 16:20
沒(méi)看懂。。。
作者:
1286452520
時(shí)間:
2019-5-16 23:40
謝謝樓主,編程不容易
作者:
newhada
時(shí)間:
2019-5-17 13:57
謝謝分享!
作者:
h505459004
時(shí)間:
2019-7-25 09:46
謝謝樓主分享
作者:
黎黎呀
時(shí)間:
2019-8-5 15:32
謝謝分享,下來(lái)學(xué)習(xí),感覺(jué)講的很詳細(xì)
作者:
witp1
時(shí)間:
2019-10-8 00:06
謝謝樓主,編程不容易
作者:
660022
時(shí)間:
2019-10-8 09:17
很不錯(cuò)
作者:
joy2020
時(shí)間:
2020-6-20 11:09
感謝分享
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1