杂项——编码器控制小车走固定距离(stm32)

作者 : admin 本文共486个字,预计阅读时间需要2分钟 发布时间: 2024-06-17 共1人阅读

先算出轮子转一周编码器的数值(假设为1000),再算出轮子一周的周长(假设为10cm)。

那么要前进1米只需要转1米/10cm等于10圈,10圈编码器数值为10000。

我们只需要在代码里面写出编码器数值如果10000让小车停止,即可实现控制小车走固定的距离

编码器.c函数(编码器初始化和中断已省略)


int mi=0;


/**********************
编码器
速度读取函数
入口参数:定时器
**********************/
int Read_Speed(int TIMx)
{
	int value_1;
	
	

	switch(TIMx)
	{
		case 2:
				value_1=(short)TIM_GetCounter(TIM2);		//读取编码器的值	
				if(value_1>6230|value_16230|value_1<-6230)
				{
					TIM_SetCounter(TIM4,0);
					//mi++;
				}			
		break;
		default:value_1=0;
	}
	return value_1;
}

主函数(只列出主要部分) 

	
		if(mi<1)
		{
		Load(2250,2200);
		}
		else
		{
		
		Load(0,0);
		}
		
		
		

本站无任何商业行为
个人在线分享 » 杂项——编码器控制小车走固定距离(stm32)
E-->