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

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

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

我们只需要在代码里面写出编码器数值如果<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_1<-6230)				//如果轮子正转一米或反转一米将计数器清零
				{
					TIM_SetCounter(TIM2,0);	
					mi++;
				}			
		break;
		
		
		
		case 4:	
				value_1=(short)TIM_GetCounter(TIM4);	
				if(value_1>6230|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);
		}
相关推荐
梁洪飞2 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
进击的小头2 小时前
实战案例:51单片机低功耗场景下的简易滤波实现
c语言·单片机·算法·51单片机
宵时待雨5 小时前
STM32笔记归纳8:时钟
笔记·stm32·单片机·嵌入式硬件
JJRainbow6 小时前
SN75176 芯片设计RS-232 转 RS-485 通信模块设计原理图
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
不做无法实现的梦~6 小时前
PX4编译环境配置和qgc配置安装教程(2)
linux·stm32
花月mmc6 小时前
CanMV K230 波形识别——整体部署(4)
人工智能·python·嵌入式硬件·深度学习·信号处理
宁静致远20217 小时前
STM32模拟IIC读取PCF8563
stm32·单片机·嵌入式硬件
三佛科技-134163842127 小时前
宠物洗澡打泡机方案,宠物泡泡机MCU方案开发设计分享
单片机·嵌入式硬件·物联网·智能家居·pcb工艺·宠物
芯岭技术7 小时前
低成本315/433M接收芯片 XL420 SOP8封装,支持 1527 等常见 OOK编码
单片机·嵌入式硬件
Wangshanjie_987 小时前
【通讯协议】-01、Modbus协议
单片机·信息与通信