杂项——编码器控制小车走固定距离(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);
		}
相关推荐
sayang_shao30 分钟前
STM32H7+FreeRTOS+LwIP移植EtherCAT开源主站SOEM
stm32·soem·ethercat·canopen
源远流长jerry1 小时前
电路基础相关知识
stm32·单片机·嵌入式硬件
1+2单片机电子设计2 小时前
基于STM32的数控机床物联网改造研究
stm32·单片机·嵌入式硬件·51单片机
猫猫的小茶馆2 小时前
【STM32】HAL库中的实现(三):PWM(脉冲宽度调制)
stm32·单片机·嵌入式硬件·mcu·51单片机·智能硬件
国科安芯2 小时前
ASP3605I同步降压调节器的高频化设计与多相扩展技术优化方案
网络·单片机·嵌入式硬件·硬件架构
许野平4 小时前
Rust:如何开发Windows 动态链接库 DLL
windows·单片机·rust·dll·动态链接库
嵌入式×边缘AI:打怪升级日志4 小时前
韦东山STM32_HAl库入门教程(SPI)学习笔记[09]内容
stm32·嵌入式硬件·microsoft
yiqiqukanhaiba6 小时前
江协科技STM32学习笔记1
科技·stm32·学习
码小文8 小时前
Altium Designer 22使用笔记(4)---添加封装、ERC检查、PDF文档与BOM生成
笔记·嵌入式硬件·硬件工程·学习方法·硬件经验
猫猫的小茶馆8 小时前
【STM32】HAL库中的实现(四):RTC (实时时钟)
stm32·单片机·嵌入式硬件·mcu·51单片机·实时音视频·pcb工艺