Java高频面试题:Redis为什么把所有数据都放内存?

核心内容摘要

《jEasyUI 转换 HTML 表格为数据网格》
手把手教你配置WSL2与Neo4j:从安装到浏览器访问的全流程

云主机ubuntu24上安装openclaw操作步骤详解,避坑指南

摘要三轮竞速智能车拥有一个完全智能的系统智能研究已成为我国达到全球技术水平的重要任务。

三轮竞速智能车具有其独特的功能成本低涉及的信息范围广且易于扩展。

三轮竞速智能车系统是一个完整的智能化体系从方案的实施到实现虚拟完成需要有相关的电子知识作为基础并且需要对电路安装有很好认识这对于培养学生的实践技能很有用。

基于以上背景描述了基于速度障碍法的智能车路径规划特别是设备电路的设计算法分析和特定的三轮车软件系统。

以STM32单片机为主控制器设备电路主要包括单片机小电路系统电源电路红外通讯电路和三轮车电路。

之所以选择STM32单片机为主控制器主要是因为单芯片STM32芯片具有良好的稳定性适用于简单的控制系统。

此外红外模块被选作主要的跟踪代理这主要是因为阻塞车辆需要一个智能障碍物源该设计最终将智能跟踪的功能与软件和硬件相结合。

它对复杂环境中的救灾仓储物流和配送具有一定的现实意义。

其他三轮竞速智能车可以在多个行业中配备具有不同功能的外围传感器以自动避开障碍物并在特定环境中完成指定任务。

【关键词】智能车STM32单片机寻迹红外通信

三轮竞速智能车系统方案设计

1 总体任务及任务解析基于STM32单片机的智能轨道以STC89CSTM32为主要芯片使用两轮驱动两个电机分别驱动左右轮。

车轮的旋转可以通过车辆电机进行调节以了解驾驶控制功能此外还需要一个万向轮来支撑和平衡三轮车。

在车身的左侧和右侧安装了红外光电传感器以获取带有黑白线的跟踪功能当左侧的动词检测到黑色线时将向微控制器发送信号当微控制器接收到信号时会控制左轮电机并且三轮车将开始调整到左车道类似地当右三轮车传感器检测到黑线时控制芯片将开始控制三轮车向右行驶然后三轮车开始向右调整。

预先在推车上安装了一个红外光电开关以检测障碍物。

当通过该动作检测到障碍物时车轮开始旋转并且推车会阻挡障碍物并继续移动。

红外遥控组件由移动和接收组件组成红外控制键的

2、

4、

8个组件用于控制三轮车的前进后退左转和右转。

按下红外遥控器在输入代码并在传输结束时进行调节后将其发送到红外头以到达接收功率转换器的末端此远程控制系统将通过一系列过程来完成。

2 总体方案设计主要是对智能寻迹小车系统的硬件电路设计和软件程序的编程通过前期的调查和查阅资料可以确定设计方案和技术路线然后通过硬件电路的施画和元器件的选型再到焊接。

软件方面主要是通过C语言进行编程并且对程序的单独功能进行测试通过软硬件联合调试完成本系统的功能。

主要功能包括完成小车自动寻迹的功能完成小车的智能寻迹绕开障碍物完成红外通信使得小车能够不受信号干扰解决小车在移动过程中的稳定供电问题。

通过点击按钮选择三轮车模式该系统下共有三种模式分别为跟踪模式障碍模式和红外控制模式分别由黄色绿色和红色LED灯表示默认的电源输入模式为远程红外控制。

首次按下触摸按钮时绿灯点亮开始进入障碍物模式再次按该按钮以启动跟踪模式此时红灯亮。

是智能跟踪系统的框图。

系统结构框图

3 赛道循迹方案设计赛道寻迹方案主要启动寻迹程序然后检测是否有黑线然后进行检测判断处理是左转还是右转左边由P

3和P

2控制右边由P

1和P

0控制如果P O也就说右边电机。

如果遇到障碍物它不会转弯[16]。

当P

0 0时P

1 O可以向前移动表示没有遇到障碍物F为反向当值等于1时也旋转这是在右侧获得限制的方法是汽车在左侧

1在前面以及10也是背景。

可以在30厘米内发现前方障碍物尤其是在设置时使用该对的P 01值。

寻迹算法图

三轮竞速智能车系统的硬件设计该章节主要进行了硬件原理的设计对红外寻迹模块单片机点击驱动进行设计。

1 单片机主控板硬件设计一个小型的单片系统包括一个单片机电路复位和一个晶振时钟电路。

单片机的正常功能必须在时钟节拍基础上并且必须在时钟芯片的控制下运行。

时钟芯片是系统的“心率”是微控制器正常运行的组成部分。

为了使微控制器正常工作时钟控制必须提供及时的复位电路以在启用系统时或者执行过程中出现错误能够及时纠正并防止系统错误运行[10]。

单片机最小系统的子电路如图

所示。

复位电路由一个10 F的电解电容器组成该电容器具有一个1K连接的电阻该电阻连接到微控制器的复位引脚并连接到VCC电源按钮。

有两个时钟电路一个提供最高级的频率另一个提供时钟。

分别由8MHz的时钟晶振和

3

768kHz的时钟晶振组成晶体振荡器的两端连接到STM32个单独的微型计算机。

STC89CSTM32最小系统电路单片机芯片电路的子系统是晶体振荡器电路由12MHz晶体振荡器和33pF剪切电容器组成从而使微控制器能够使用内部时钟模式提供稳定的时钟控制。

电路复位按钮电平由10uF电容器按钮和耐10k固体物体组成由 5V电源供电用于复位微控制器操作。

此设计中时钟电路是一个内置振荡器例如内部晶体XTAL1是输入引脚。

上电后振荡器旋转约10ms然后开始移动。

XTAL2是电路输出XTAL2可以产生大约3V的正弦波时钟信号。

单芯片时钟电路是由一个12MHz晶体振荡器和一个30PF陶瓷电容器组成将其分别连接到18和19引脚XTAL2和XTAL1。

XTAL1和XTAL2连接器通过切割电容器连接到石英晶体以形成稳定的振荡器。

石英晶体的恒定流量决定了振荡器的数量。

电路中的两个电容器C1和C2具有两个功能一是清洁振荡器对准。

第二是使帮助振荡器移动一种是振荡器运动。

C1和C2的正常值为30PF当MCU系统没办法正常运转时就必须重置MCU还要使它重新开始工作。

所以计算机复位电路起着重要的作用。

复位电路由一个10 F电解电容器和一个10KΩ电阻组成该电容器连接到微控制器连接器的9引脚。

当您想重置时按下重置按钮电容器C将关闭并且电容器的电源将立即断开。

它在很短的时间内为低在此期间将增加电阻分隔的电压[11]。

微控制器的RST电平开始反转第一电平将开始从下到上变化这样可以使整个小型电路的系统复位。

可接受的设置模式是复位电源系统。

2 循迹功能硬件设计寻迹如图

所示。

当未检测到黑线时则H4发光到白纸光上反射到H4接收端并且H4的末端已打开如果已打开则将T1接地0因此H4发光到黑线光全部被吸收并且H4的末尾没有收到信号因为H4没有打开截止所以T1 VCC。

在已经发现白纸有接收到反射光LM324的2引脚比较器反向端T10V。

然后检测到OUT1 1 A黑色线并且没有发现任何迹象。

LM324的2引脚比较器反向端子T1 5V[13]。

则3引脚匹配非终端 3V反向端子大于一端结果OUT1输出为0。

电检测原理图

4 电机选型一个直流电机有四个输出一般都是4部电机但由于单片机较小简化成四个出口一块板子整个直流电机的控制也是本研究的重点采用PID算法进行控制使用PWM直流电机型号是TC1508S。

原理图如

所示。

PWM直流电机原理图本研究中最重要的设置就是直流电机的设置如果没有直流电机实现增量式的转速那么整个研究的过程中将无法实现PID进行小车寻迹检测如果不适用PID算法小车寻迹的浓度检测则没有那么准确。

直流电机具有效果好可以很直观的解决整体的发生运转的速度而且还具有可以控制转速的效果。

三轮竞速智能车系统的软件设计构成整个车辆寻迹系统的软件系统设计一部分使用的是Keil4。

设计时选用C语言进行汇编。

该软件可以用于开发通用管理系统例如STM32控制系统ARM控制系统STM32芯片控制系统等这样可以满足开发人员的各种要求。

这是使用C语言的软件设计。

该软件设计使用C语言它比汇编语言要高级得多但又比高级语言更易于理解。

和其他高端计算机语言相比它与计算机系统的底部相差无几具有更高的代码性能更强的可移植性并且可以针对软件平台的安装和维护进行适当调整。

1 软件设计语言与开发环境C语言是一种通用的高级编程语言被广泛应用于软件开发和系统编程中。

它于1972年由贝尔实验室的Dennis Ritchie开发并在接下来的几十年中不断发展和完善。

C语言以其简洁的语法、高效的执行和良好的移植性而闻名成为了许多其他编程语言的基础。

C语言的语法结构相对简单主要由一组关键字、标识符、运算符和标点符号组成。

它支持基本的数据类型如整数、浮点数、字符和指针并提供了丰富的运算符和控制结构使得程序员可以轻松地进行算术运算、逻辑判断和流程控制。

C语言的特点之一是它的面向过程的编程风格。

程序由一系列函数组成每个函数完成特定的任务并通过参数和返回值进行数据传递。

函数可以在程序中被多次调用提高了代码的重用性和可维护性。

此外C语言还提供了丰富的库函数可以用于处理文件、字符串、内存等常见操作简化了编程过程。

Keil4是一种集成开发环境Integrated Development Environment简称IDE用于嵌入式系统开发和C语言编程。

作为一个功能强大的软件工具Keil4提供了一系列的工具和功能帮助开发者在嵌入式系统设计中进行快速、高效的开发和调试。

Keil4提供了一个友好的用户界面方便开发者进行代码的编写、编辑和调试。

开发者可以通过Keil4的集成编辑器来编写C语言程序并可以利用其丰富的代码提示和自动完成功能提高编码效率。

此外Keil4还支持多窗口布局使开发者可以同时查看和编辑多个文件提高开发效率和代码可读性。

Keil4具备强大的编译器和调试器功能。

Keil4内置了高效的C语言编译器可以将开发者编写的C语言代码转化为可执行的机器码。

编译过程中Keil4能够进行代码优化提高程序运行效率并减小程序占用的存储空间。

同时Keil4还提供了强大的调试器功能支持单步调试、断点调试、变量监视等功能帮助开发者定位并修复程序中的错误。

2 三轮竞速小车系统软件总体设计该三轮竞速小车首先进行启动寻迹然后判断pwm电机速度然后进行设计总体方案中需要检测黑线有黑线是左转没黑线是右转pid算法进行计算检测pwm电机的速度。

总体设计的方案

三轮竞速智能车系统的实现与测试该章节主要进行了三轮竞速智能车的实现和测试先后对寻迹模块进行设计以及整体开发板的设计。

1 小车系统实现在对系统的安装之前请先检查自己所需要的器件要求是否完美和可靠并进行详细而可靠的检查以防止在组装过程中出现不必要的麻烦。

在经过一系列检查并确保所有项目正确无误后才可以开始进行第一次焊接工作需要在焊接前仔细分配焊接位置材料原则上先要困难然后再容易地先焊接大模块再焊接细小的部分。

这样可以使系统更好地和仔细地集成该系统。

在第一次焊接完成后应及时检查元器件的接通情况进行排查以一次发现并处理由于短路而引起的可见焊接问题并进行第二次焊接以保证焊接到位。

确保焊接正确后才可以尝试给电路板通电并检查组件是否能正常工作。

如果出现问题则需要及时进行修复[17]。

直到确保能够使所有工作模块和设备能正常运行。

小车硬件实现设计

2 小车系统测试在把小车安装上后上电经过调试没问题。

采用黑白线跑道进行测试如图

所示小车能够平稳的运行并且能够进行黑白线的自动寻迹并不会冲出跑道初步调试功能没问题。

寻迹小车实物图如图

所示可能会开始看到系统可以正常运行因为寻迹车辆需要在不一样区域中进行调整和模拟因此它必须考虑系统的安全性稳定性和功耗的多少。

如果遇到障碍物则停止。

停止前进

3 本章小结该章节主要进行了三轮小车竞速进行的测试并且进行寻迹的检测以及整体的检测。

文章底部可以获取博主的联系方式获取源码、查看详细的视频演示或者了解其他版本的信息。

所有项目都经过了严格的测试和完善。

对于本系统我们提供全方位的支持包括修改时间和标题以及完整的安装、部署、运行和调试服务确保系统能在你的电脑上顺利运行。

木瓜玩-木瓜玩应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123