• 方案介绍
  • 附件下载
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

19.5-【星曈科技】STM32接收openmv数据-根据状态控制电机

2024/06/25
1141
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

联系方式.txt

共1个文件

19.5-【星曈科技】STM32接收openmv数据-根据状态控制电机 超详细OpenMV与STM32单片机通信 (有完整版源码) OPENMV和STM32的识别追踪小车 STM32循迹小车系列教程
这个是全网最详细的STM32项目教学视频。
第一篇在这里:
视频在这里


STM32智能小车V3-STM32入门教程-openmv与STM32循迹小车-stm32f103c8t6-电赛 嵌入式学习 PID控制算法 编码器电机 跟随

19.5-STM32接收数据-根据状态控制电机

前面我们测试了openmv能够正确识别,正确发送数据、STM32能够正确接收、那么下面STM32单片机就要开始控制电机了。

这里控制电机其实和我们红外循迹PID基本一致。

需要注意的 因为我们的摄像头更加前瞻,距离车轮更远,所以电机同样的摆动幅度,摄像头摆动更大。

先分析一下之前的代码,然后明白我们要改什么了就
在这里插入图片描述
所以我们需要上面红色减蓝色 的部分

这里我们先定义一个结构体,这个是摄像头PID循迹,仿造那个红外对管的就可以。

tPid pidOpenmv_Tracking;//openmv摄像头的PID结构体类型变量

在这里插入图片描述

	pidOpenmv_Tracking.actual_val=0.0;
	pidOpenmv_Tracking.target_val=0.00;//摄像头PID 的目标值为0
	pidOpenmv_Tracking.err=0.0;
	pidOpenmv_Tracking.err_last=0.0;
	pidOpenmv_Tracking.err_sum=0.0;
	pidOpenmv_Tracking.Kp=-0.4;//摄像头循迹PID的K和d先调整的小一些
	pidOpenmv_Tracking.Ki=0;
	pidOpenmv_Tracking.Kd=0.10;

在这里插入图片描述
声明一下

extern tPid pidOpenmv_Tracking;//摄像头的PID

在这里插入图片描述

		sprintf((char*)OledString, "lHW:%d  ", g_lHW_State);//视觉识别结果
		OLED_ShowString(0,0,OledString,12);//这个是oled驱动里面的,是显示位置的一个函数,
		
		g_fHW_PID_Out = PID_realize(&pidOpenmv_Tracking,g_cThisState);//PID计算输出目标速度 这个速度,会和基础速度加减

		g_fHW_PID_Out1 = 0.5 + g_fHW_PID_Out;//电机1速度=基础速度+循迹PID输出速度
		g_fHW_PID_Out2 = 0.5 - g_fHW_PID_Out;//电机1速度=基础速度-循迹PID输出速度
		if(g_fHW_PID_Out1 >1.2) g_fHW_PID_Out1 =1.2;//进行限幅 限幅速度在0-1.2之间
		if(g_fHW_PID_Out1 <0) g_fHW_PID_Out1 =0;
		if(g_fHW_PID_Out2 >1.2) g_fHW_PID_Out2 =1.2;//进行限幅 限幅速度在0-1.2之间
		if(g_fHW_PID_Out2 <0) g_fHW_PID_Out2 =0;
		if(g_cThisState != g_cLastState)//如何这次状态不等于上次状态、就进行改变目标速度和控制电机、在定时器中依旧定时控制电机
		{
			motorPidSetSpeed(g_fHW_PID_Out1,g_fHW_PID_Out2);//通过计算的速度控制电机
		}
		
		g_cLastState = g_cThisState;//保存上次红外对管状态

在这里插入图片描述
注意摄像头不能仰角太大
在这里插入图片描述

联系:Q,1930299709

  • 联系方式.txt
    下载

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
74HC14DB,118 1 NXP Semiconductors 74HC(T)14 - Hex inverting Schmitt trigger SSOP1 14-Pin
$3.27 查看
XLH735080.000000I 1 Integrated Device Technology Inc OSC XO 80.000MHZ HCMOS SMD
$15.9 查看
LTC6905HS5-100#TRMPBF 1 Linear Technology LTC6905-XXX - Fixed Frequency SOT-23 Oscillator; Package: SOT; Pins: 5; Temperature Range: -40&deg;C to 125&deg;C
$41.05 查看
意法半导体

意法半导体

意法半导体拥有49,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广泛。我们正按计划在所有直接和间接排放(包括范围1和范围2)、产品运输、商务旅行以及员工通勤排放(重点关注的范围3)方面实现碳中和,并在2027年底前实现100%使用可再生电力的目标。 详情请浏览意法半导体公司网站:www.st.com.cn

意法半导体拥有49,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广泛。我们正按计划在所有直接和间接排放(包括范围1和范围2)、产品运输、商务旅行以及员工通勤排放(重点关注的范围3)方面实现碳中和,并在2027年底前实现100%使用可再生电力的目标。 详情请浏览意法半导体公司网站:www.st.com.cn收起

查看更多

相关推荐