视觉巡线小车(STM32+OpenMV)——总结

文章目录

目录

文章目录

前言

一、效果展示

二、完整流程

1、STM32CubeMX配置

2、Keil编辑

3、硬件接线

4、参数调试

5、图像处理调试

三、总结


前言

基于前面的系列文章,已基本介绍完了基于STM32+OpenMV的视觉巡线小车,本文将以小编自己的小车对其进行一下总结。

系列文章请查看:视觉巡线小车------STM32+OpenMV系列文章


一、效果展示

视频展示,无倍速。

视觉巡线小车(STM32+OpenMV)视频

完整工程如下,可进行二次开发(有需要的可以留言):

其中包含STM32CubeMX生成的Keil工程,需要添加外设功能时,可用CubeMX打开进行配置;OpenMV图像处理代码示例,可自行修改代码,实现更多识别功能以及进一步优化代码;附加野火的多功能调试助手,用来进行PID参数的调试(主要是速度环),助手免安装;最后是一个简单的配置调试流程,也可参看本文后续内容。

写这个示例,主要是为了方便后续的二次开发,比如在遇到各种设计以及巡线作品制作时,只需要在此基础上添加相关功能即可,避免每次都从零开始。

二、完整流程

整体控制方案:

1、STM32CubeMX配置

2、Keil编辑

部分代码编辑如下:

3、硬件接线

由于硬件差异,接线只做参考。

电机A: PWMA---PA8; AIN1---PB14;AIN2---PB15

编码器A---PA6

编码器B---PA7

电机B: PWMB---PA11;BIN1---PB12;BIN1---PB13

编码器A---PB6

编码器B---PB7

注意:电机的极性需要自己调整,当电机的转向极性有问题时,交换驱动引脚的接线,当编码器测得速度的极性有问题时,交换交换编码器AB相的接线。

串口接线:

OpenMV与单片机通讯:

OpenMV_Rx:P0---STM32_Tx2:PA2

OpenMV_Tx:P1---STM32_Rx2:PA3

注意:不同型号OpenMV的串口号有区别,需仔细检查,切勿将线接反了,需供地。

单片机与上位机(野火多功能调试助手)通讯:

TTL_Rx---STM32_Tx3:PB10

TTL_Tx---STM32_Rx3:PB11

注意:需要供地。

4、参数调试

找到自己满意的参数即可,电机B的调试方法一样。

注意:如果调试助手出现卡顿现象,可以适当将其所用的串口中断优先级调高一些。

5、图像处理调试


三、总结

如果完成了前面**视觉巡线小车------STM32+OpenMV系列文章**的内容,那么已经实现了一辆基于STM32+OpenMV的视觉巡线小车了。可根据此框架加入自己的功能,如识别线路分支,指示灯提示,蜂鸣器报警,按键切换状态,OLED显示参数,陀螺仪检测姿态等等。

到此你已经学到了:

1、直流减速电机的控制;

2、编码器测速;

3、STM32------定时器(PWM、正交编码、中断)、串口等;

4、OpenMV------图像二值化,线性回归处理等;

5、PID算法------速度环、转向环控制以及串级使用;

6、数据解析------串口接收处理。

小白文章,有误之处望指正!!

相关推荐
JasmineX-14 小时前
下位机直接控制57步进电机匀速转动
stm32·单片机·嵌入式硬件
小李不想当小白19 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
LCG米19 小时前
STM32驱动W5500以太网模块实测:TCP吞吐瓶颈定位、TX指针回绕陷阱与断线重连保活落地
stm32·单片机·嵌入式硬件·tcp/ip
创界工坊工作室21 小时前
63-基于STC89C52霍尔传感器的智能化电能表设计
stm32·单片机·嵌入式硬件·51单片机·proteus
意法半导体STM321 天前
【官方原创】LAT6048 如何扩大MP2的A35核和M33核共享内存
stm32·单片机·嵌入式硬件·内存映射·stm32mp2
en.en..1 天前
STM32(F429)启动模式与两种烧录方式
stm32·单片机·嵌入式硬件
Zw-awa1 天前
从 printf 到曲线:把数据送上 VOFA+
stm32
【 STM32开发 】1 天前
【CubeMX+STM32】SD卡 文件系统读写 FatFs+SDIO+DMA (F103版本)
stm32·单片机·嵌入式硬件·1024程序员节
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
STM32 USART 串口
stm32·单片机·嵌入式硬件
LCG米2 天前
STM32 ADC多通道DMA定时器触发实测:TRGO触发链、采样率精确控制与乒乓缓冲落地
stm32·单片机·嵌入式·adc