基于stm32f4的五路循迹小车(终章)

本文讲述了在智能车项目中,作者对电机转速调节的优化,尤其是循迹模块中控制转速差的细节,以及解决走线问题的方法。通过提供代码示例,展示了如何实现小车的循迹功能和基本操作。
摘要由CSDN通过智能技术生成

#本章为智能车部分的最后一章,主要将前面几部分的部分没解决的问题再强调一遍。

电机转速调节部分

我们使用的是tb6612驱动板,驱动的电机转速最大是2500.

我们在实现循迹模块的时候,控制小车左转右转时候,我们是控制左右电机转速差值,我最开始参考的网上的别人的一些代码和思路,发现别人主要将转速差控制在50或100。

当我实现小车循迹模块的时候,我发现50,100的转速差梯度根本体现不明显,当转速差200及以上才可以看出来轻微的区别,甚至有的地方的直角转弯我设置速度差为1000.

只有这个样子设置,才能完美的体现出左转右转的情况,(这也仅仅是针对我这一个的小车模型来说的,如果别的芯片驱动板可能会有些差异,具体还要看调试的过程。)

循迹电机控制部分的代码如下


void runCarLeft(){
	runMotorSpeed(LEFT,0);
	runMotorSpeed(RIGHT,1900);
	HAL_Delay(10);
}
void runCarLittleLeft(){
	runMotorSpeed(LEFT,50);
	runMotorSpeed(RIGHT,1300);
		//HAL_Delay(10);
}
void runCarLittleLeft1(){
	runMotorSpeed(LEFT,900);
	runMotorSpeed(RIGHT,1100);
		//HAL_Delay(10);	
}
void runCarRight(){
	
	runMotorSpeed(LEFT,1800);
	runMotorSpeed(RIGHT,0);
		HAL_Delay(10);
}
void runCarLittleRight(){
	runMotorSpeed(LEFT,1200);
	runMotorSpeed(RIGHT,50);
		//HAL_Delay(10);
}
void runCarLittleRight1(){
	runMotorSpeed(LEFT,1100);
	runMotorSpeed(RIGHT,900);
		//HAL_Delay(10);
}
void runCarGo(){
	runMotorSpeed(LEFT,520);
	runMotorSpeed(RIGHT,520);
		//HAL_Delay(10);
}
void runCarStop(){
	runMotorSpeed(LEFT,0);
	runMotorSpeed(RIGHT,0);
}



直接添加在motor.c文件中就可以,最后在主函数main里面添加循迹循环模块就行,也就是上一章提到的track函数。

直接在main里面写

while(1){

track();

}

这样就可以实现我们小车的循迹板块啦!!

这是第一个需要提到的点。

走线问题

前面几章说的可能不是很多,在这里总结的时候给大家走线问题解决一下。

走线其实很简单,引脚和对应的参数其实都很好看出来,也没有什么需要特别强调的,我就直接给大家放个走线图就好啦。

到这里来说,我们的智能车学习就告一段落啦,根据文章进度是肯定可以制造出来属于你自己的智能巡线小车。

最近学校有个机器人比赛,等完赛之后,我还会出一个系列手把手教大家如何制造出一个机器人,同时实现定点停车,精准射击等功能。

最近主要刚开学,要准备转专业的考试,要把高中学到的编程再重新拾起来,我会发一个30天速通c语言的系列,同时也可以很好的监督我按时完成自己的学习任务,与大家共勉,希望大家可以多多支持啦!

(在看me的文章的过程中,如果有不懂的地方欢迎提出来,看到了一定会回复嘞。)

STM32F4系列微控制器非常适合用于设计和开发循迹小车。下面是一个更详细的步骤,帮助您开始制作STM32F4系列的循迹小车: 1. 硬件准备: - STM32F4开发板:选择一款适合您需求的STM32F4开发板,如STM32F407 Discovery或NUCLEO-F401RE。 - 电机驱动器:选择合适的电机驱动器,可根据需求选择直流电机驱动器或步进电机驱动器。 - 电机:选择合适的电机,可根据需求选择直流电机或步进电机。 - 红外传感器:选择红外传感器用于检测地面上的黑线。 2. 连接硬件: - 将电机驱动器连接到STM32F4开发板的GPIO引脚,并配置相应的引脚为输出模式。根据需要,您可能需要使用PWM信号进行速度调节。 - 将红外传感器连接到STM32F4开发板的GPIO引脚,并配置相应的引脚为输入模式。 3. 编程: - 使用适合您的开发环境(如Keil MDK或STM32CubeIDE)进行编程。 - 在代码中初始化GPIO引脚,并使用相应的库函数读取传感器引脚的状态。 - 根据传感器数据的变化,编写控制算法来控制电机驱动器,实现循迹功能。可以使用PID控制算法来精确控制小车的转向角度和速度。 4. 测试和调试: - 将代码烧录到STM32F4开发板上,并连接电源。 - 在地面上放置黑线,然后观察小车是否能够准确地跟随黑线运动。 - 根据实际情况进行调试和优化,例如调整传感器的灵敏度、调整PID参数等。 以上是一个基本的步骤,您可以根据具体的需求和硬件进行相应的调整。希望这些信息对您有所帮助!如果您有任何进一步的问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值