標(biāo)題:
基于stm32的小車(chē)差速轉(zhuǎn)彎源程序
[打印本頁(yè)]
作者:
jeffrey.....
時(shí)間:
2018-8-19 06:54
標(biāo)題:
基于stm32的小車(chē)差速轉(zhuǎn)彎源程序
這個(gè)是我最近在做的一個(gè)比賽里用到的程序,分享給大家。
這個(gè)同樣也是需要ADC算法的,主函數(shù)如下:
int main(void)
{
int adcx1,adcx2,cha;
int m,last_m;
delay_init(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級(jí)為2
uart_init(115200); /串口初始化為115200
Adc1_Init(); //ADC初始化
Adc2_Init();
TIM2_PWM_Init(999,200); /不分頻,PWM頻率=72000000/900=80Khz
TIM3_PWM_Init(999,200);
TIM4_PWM_Init(999,200);
TIM_SetCompare1(TIM4,0);
TIM_SetCompare2(TIM4,0);
TIM_SetCompare3(TIM4,0);
TIM_SetCompare4(TIM4,0);
TIM_SetCompare1(TIM3,0);
TIM_SetCompare2(TIM3,0);
TIM_SetCompare3(TIM2,0);
TIM_SetCompare4(TIM2,0);
// adcx1=Get_Adc1_Average(ADC_Channel_0,20);
// adcx2=Get_Adc2_Average(ADC_Channel_1,20);
//
// m=adcx1-adcx2;
// cha=(float)m*2.0;
// SPEED(600-cha,600+cha);
// SPEED(300,300);
while(1)
{
adcx1=Get_Adc1_Average(ADC_Channel_0,20);
adcx2=Get_Adc2_Average(ADC_Channel_1,20);
if(adcx1<300||adcx2<(-300))
{
if(last_m>0)
m=+1000;
else
m=-1000;
}
else
{
m=adcx1-adcx2;
}
if(m>1000)
m=1000;
if(m<-1000)
m=-1000;
cha=(float)m*3.7;
if(abs(m)<30)
{
SPEED(950-cha,950+cha);
}
else
{
SPEED(900-cha,900+cha);
}
printf("%d\n",m);
// delay_ms(10);
last_m=m;
}
}
void SPEED(int L,int R)
{
if(L>999)
{
L=999;
}
if(L<-999)
{
L=-999;
}
if(R>999)
{
R=999;
}
if(R<-999)
{
R=-999;
}
if(L>0)
{
TIM_SetCompare2(TIM3,0);
TIM_SetCompare4(TIM2,0);
TIM_SetCompare1(TIM3,L);
TIM_SetCompare3(TIM2,L);
}
else
{
TIM_SetCompare1(TIM3,0);
TIM_SetCompare2(TIM3,-L);
TIM_SetCompare3(TIM2,0);
TIM_SetCompare4(TIM2,-L);
}
if(R>0)
{
TIM_SetCompare1(TIM4,R);
TIM_SetCompare2(TIM4,0);
TIM_SetCompare3(TIM4,R);
TIM_SetCompare4(TIM4,0);
}
else
{
TIM_SetCompare1(TIM4,0);
TIM_SetCompare2(TIM4,-R);
TIM_SetCompare3(TIM4,0);
TIM_SetCompare4(TIM4,-R);
}
}
復(fù)制代碼
全部資料51hei下載地址:
differ-speed.rar
(338.19 KB, 下載次數(shù): 82)
2018-8-19 15:52 上傳
點(diǎn)擊文件名下載附件
ADC算法搜集數(shù)據(jù)
下載積分: 黑幣 -5
作者:
jiabo
時(shí)間:
2019-4-23 22:24
謝謝分享
作者:
DukeKyrie
時(shí)間:
2020-3-27 17:28
謝謝樓主!請(qǐng)問(wèn)有電路原理圖嗎?
作者:
pmp
時(shí)間:
2020-10-11 12:39
感謝分享,電賽正在使用。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1