历史上的今天
返回首页

历史上的今天

今天是:2026年01月11日(星期日)

2023年01月11日 | 基于STM32的自动跟踪小车

2023-01-11 来源:zhihu

概述

小车外形:

功能简介

利用摄像头识别前车尾部的AprilTag,得到前车位置,传回stm32主控板处理,使两车在行驶时保持恒定距离,实现自动跟车。

openMV4摄像头

1.1 Apriltag识别与串口传输

AprilTag是一个视觉基准库,在AR,机器人,相机校准领域广泛使用。通过特定的标志(与二维码相似,但是降低了复杂度以满足实时性要求),可以快速地检测标志,并计算相对位置。

Apriltag示例:

通过识别Apriltag,可以得到x,y,z三个方向的距离以及偏移角度。这里只需要三维的距离即可,通过串口传回stm32.

STM32主控板(型号为F407)

2.1 时钟与中断配置

附上stm32时钟示意图:

定时器示意图:

定时器分配:


所有时钟初始化的函数:(每个函数的详细内容在后面)

2.2 串口收发与数据处理

串口中断:USART1,USART2
串口初始化函数(以USART1为例):

串口中断处理函数:

字符串接收与处理(从openMV接收到的数据):

字符串转化为两位小数浮点数(用于后续PID控制):


2.3 LCD显示模块

LCD模块用于调试时观察数据,调试完成可以删去,因为显示屏很耗时,使处理速度变慢
驱动函数总览:

TFT屏幕初始化:

字符串显示函数;

2.4 电机、舵机与编码器

定时中断:TIM2,用于修改电机和舵机的PWM占空比
初始化函数:

TIM2中断处理函数:

PWM输出:TIM3(舵机),TIM8(电机)

初始化函数(以TIM8为例):

编码器初始化函数:

编码器返回速度值:

定时从编码器取数,注意,时间不一样,取回的数值也不一样,取决于实际速度以及编码器线数。这里50ms取一次:

2.5 PID控制

PID库函数:

主函数中的PID调节:

定时器TIM2中断里改变占空比:

电源与电机驱动

3.1 L298N电机驱动板

电源与电机驱动

因为后面两路电机要求同速,故把AB两通道用线短接,用一路PWM控制两路电机。
下面是使用说明:

具体控制代码见上面TIM2中断处理函数中,利用两路定时器轮流输出PWM(另一路为零),即可控制电机正反转。

3.2 LM2596降压模块

手册中的典型连接:

原理图如下:

3.3 电源部分注意事项

1.电池用的是12v航模锂电池,为了防止过放导致电池损坏,必须要在电池输入端加一个电压表模块,如下图:

2.控制部分电源和电机舵机电源分开,因为电机舵机启动时会过大电流,导致电压不稳定,影响芯片供电。这里LM2596给电机供电,一个LM2596给舵机供电,另一个LM2596给单片机和openMV供电。

3.控制电源和电机舵机电源分别加开关,下程序的时候先关闭电机和舵机的电源。因为此时控制器没有给信号,电机和舵机可能会不受控制的运动。


推荐阅读

史海拾趣

DESIGNERSYSTEMS公司的发展小趣事

DESIGNERSYSTEMS公司非常注重人才的培养和引进。他们建立了一套完善的人才培养机制,通过内部培训、外部交流等多种方式不断提升员工的综合素质和专业能力。同时,DESIGNERSYSTEMS还积极引进国内外优秀人才,为公司的发展注入新的活力和创新力。这种对人才的重视和投入使得DESIGNERSYSTEMS在电子行业中保持了持续的创新力和竞争力。

FDI [Future Designs , Inc.]公司的发展小趣事

随着环保意识的提高,电子产品的绿色环保问题日益受到关注。FDI公司积极响应这一趋势,投入大量资源研发绿色电子产品。公司采用环保材料和生产工艺,推出了一系列符合国际环保标准的电子产品。这些产品不仅具有优良的性能和品质,而且对环境友好,深受消费者的喜爱。

Hamlin ( Littelfuse )公司的发展小趣事

在电子行业的早期,FDI(Future Designs, Inc.)还只是一家名不见经传的小公司。创始人李明,凭借其对电子技术的热爱和敏锐的商业洞察力,带领团队研发出了一款具有革命性的电子芯片。这款芯片不仅性能卓越,而且成本较低,迅速在市场上获得了认可。正是这款产品,为FDI公司赢得了第一桶金,也为公司后续的发展奠定了坚实的基础。

CR Magnetics公司的发展小趣事

CR Magnetics公司成立于1986年,自创立之初,公司便致力于提供高质量的传感器、传感器组件等系列产品。凭借创始人的远见卓识和团队的共同努力,CR Magnetics很快在电子行业中崭露头角。公司总部位于美国密苏里州圣路易斯市,拥有先进的生产设施和仓库,为产品的研发和生产提供了坚实的基础。

CLANDELL公司的发展小趣事

在电子产品市场日益同质化的背景下,CLANDELL公司意识到技术创新的重要性。公司投入大量资源研发新型电子元件,通过优化设计和材料选择,成功推出了具有更高性能、更低能耗的电子产品。这一创新不仅提升了CLANDELL公司的市场竞争力,也为整个行业带来了技术进步的推动力。

Delta Electronics公司的发展小趣事

Delta Electronics成立于1971年,最初只是台湾一家小型电子制造公司。随着技术的不断进步和市场的扩大,公司逐渐开始拓展其业务范围。上世纪90年代初,Delta在中国大陆设立了生产基地,这标志着公司全球扩展战略的重要一步。随后,公司陆续在美国、欧洲、亚洲等地建立了研发中心和生产基地,为全球客户提供优质的电子产品和解决方案。

问答坊 | AI 解惑

如何改善单片机通讯中光耦输出的波形

电路如下,测得TXD和TXA的波形如图中所示,TXD接单片机TXD,TXA为光耦输出波形,TXD波形还算理想,但TXA波形上升沿上升缓慢,请问各位大虾如何改善TXA波形? …

查看全部问答>

矩阵键盘程序汇总

最简单矩阵键盘扫描程序 key:mov p0,#00001111b;上四位和下四位分别为行和列,所以送出高 低电压检查有没有按键按下 jmp k10;跳到K10处开始扫描,这里可以改成其它条件转移指令来决 定本次扫描是否要继续,例如减1为0转移或者位为1或0才转移,这 ...…

查看全部问答>

请问各位老师有否400M丙类功率放大器制作方面的资料吗

请问各位老师有否400M丙类功率放大器制作方面的资料吗?…

查看全部问答>

太阳能飞机成功完成处女航

1架太阳能飞机样机于上周完成其处女航,开创了无燃料、无碳飞行新时代。推出这架飞机样机的Solar Impulse SA(瑞士,洛桑)公司计划将在2011年或2012年进行一次仅凭借太阳能环绕地球一周的飞行。 Solar Impulse公司的 HB-SIA(样机型号) 于在欧 ...…

查看全部问答>

请教:AD8337的增益范围到底是多少,请用过的回答一下,多谢!

芯片资料上写的是0-24dB,但是我在一篇文章上看到是-6dB~18dB,见下图,搞不懂怎么来的。 …

查看全部问答>

向所有eeworld社区网友道歉!因为我参与倒分了,发誓再也不倒分

向所有eeworld社区网友道歉!因为我参与倒分了,发誓再也不倒分…

查看全部问答>

请教一个关于wm_command消息的问题

我在一个窗口中添加一个button, 在WM_COMMAND中, 点击这个button, button处于按下的状态, 松开鼠标的时候, 弹出一个窗口, 关闭这个弹出的窗口之后, button才被弹起来, 我想要的是松开鼠标的同时, button进入弹起的状态, 也就是说, 这个弹出窗口被关 ...…

查看全部问答>

Window ce.net 4.0 如何开发屏幕保护程序,并指定快捷键Ctrl+Alt+Q

Window ce.net 4.0 如何开发屏幕保护程序,并指定快捷键Ctrl+Alt+Q 是一台设备上的系统,我想按下快捷键显示屏幕保护程序,并在中间显示几行字 知道的请帮助我一下…

查看全部问答>

tchar字符串转换为十进制的方法

请教一个问题: 在WinCE环境下,使用eVC编程 定义了2个字节的数据 TCHAR buf1[3]=_T(\"7A\"); SetDlgItemText(IDC_EDIT3,buf1); 显示的ASCII 现在我想用十进制显示出来,怎么转换呢?…

查看全部问答>

请教关于FPGA和PC机之间的通信接口问题

用RS232串口实现最简单,但是速度慢; 用EPP/ECP并口传输数据和用USB总线传输数据两种方案从开发难易程度、通信速度方面各有哪些优势呢? 开发难易程度需要考虑FPGA端的开发以及PC端软件的开发两方面; 谢谢各位,目前正在方案选择中,希望大家 ...…

查看全部问答>