当前位置: 首页 > news >正文

基于单片机的视觉导航小车设计

2 项目硬件设计

2.1 主控模块设计
2.1.1单片机选型
控制芯片的选择应适合设计要求,性能应具有功耗低,性能高,稳定性好,存储空间大的优点。当设计要求准确时,代码指令的兼容性就很高。 STM32结构设计最大限度地减少了外围设备,以实现最大的集成度。与STC89C51相比,它具有更多I/O口,可以进行更多的功能,包括上电复位,按钮复位,定时器时钟等功能,可以用作系统的主时钟,以满足丰富的片外设备和各种接口[2]。因此,在本设计中,选择了STM32,它起着编写程序的作用。它类似于微型计算机,可以用C语言和汇编语言进行编程,以它为核心,每个模块都连接到微控制器以实现各种功能。
2.1.2 STM32F103RCT6芯片
本设计使用STM32F103系列单片机的STM32F103RCT6作为主控制芯片。 STM32F103RCT6是嵌入式微控制器集成电路(IC)。该单片机具有32位ARM Cortex-M3内核,具有72MHz的速度和512K FLASH和48K SRAM存储器容量,具有3个ADC,13个通信接口。STM32F103系列芯片的主要参数如图2.1所示:

图2.1 STM32F103系列
其中本设计选用的STM32F103RCT6的管脚描述如图2.2所示:

图2.2 STM32F103RCT6引脚图
2.2单片机最小系统电路
STM32F103的最小系统电路由电源电路,时钟源电路,BOOT启动电路,调试接口电路,复位电路五部分组成。最小系统原理图如图2.3所示:

图2.3 最小系统原理图

3 项目软件设计

3.1 软件开发环境介绍
Keil是行业领先的微控制器(MCU)软件开发工具的独立供应商。 Keil是由Keil Software在美国生产的单片机C语言软件开发系统。与汇编语言相比,C语言在功能,结构,可读性和可维护性方面具有明显的优势,因此易于学习和使用, Keil提供了完整的开发解决方案,包括C编译器,宏汇编,链接器,库管理和强大的仿真调试器,这些部分通过集成的开发环境进行组合, Keil软件使用Windows界面提供了功能强大的集成开发和调试工具以及库功能,另一方面,Keil具有非常高效的代码编译功能,其生成的目标代码十分契合项目使用,并且大多数语句生成的汇编代码易于理解和紧凑[9]。在大规模软件开发中,它可以更好地体现高级语言的优势。

图3.1 Keil_5软件界面

4 仿真与调试

4.1 系统硬件调试
在调试的过程中,小车循迹出现了在地面上不走的情况,于是检查了两路循迹探头的发射和接收有没有焊接好,然后调节了上面的电位器,增加它的灵敏度,这样做了之后还是不好使,于是检查了红外发射二极管有没有红外光发出,打开手电筒功能对着红外发射二极管,看有没有红外光发出,发现没有红外光发出,找了商家重新更换了循迹探头,最后实现了功能。
在调试循迹功能的过程中,发现小车在规定的轨道上可以进行移动,但是拐弯的时候,会跑出轨道,检查程序,程序没有错误,于是把目标转到循迹探头灵敏度,原因是灵敏度太强了,于是看哪边先出的轨道,就把对应的那个循迹探头上面的电位器往顺时针方向调节降低灵敏度,最后实现功能。
4.2 系统软件调试
在软件调试过程中,点击编译按键,若文件在系统中正常运行,会在下面的应用窗口上显示提示信息。若显示的提示的信息中有“error”,就要根据提示找到错误程序并且进行改正,无提示错误信息的图如下4.1所示。

图4.1 无错误信息图
在程序编译无错误之后,烧录程序到单片机中,开始验证系统功能是否满足要求,如果功能有问题,需要继续调试程序,反复进行,直到所有功能都满足为止。
但在实际调试过程中,首次对程序进行编译时提示窗口提示错误,经过检查发现在程序句中无分号以及少符号。

4.3实物测试
根据本设计需求,对实物功能进行逐一测试:
(1)当按钮启动的同时,小车可以在平面上进行运动;
(2)小车可以避开障碍物,选择一条无碰路径,遇见障碍物就停止运动;
(3)小车能够将控制器发出的命令以及采集出来视频与控制器连接;
(4)PC或手机可以清晰显示小车采集到的视频数据以及可以显示各种命令。
所有预设功能均以实现,实物展示图如图4.2所示。

图4.2 实物展示图

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

http://www.jsqmd.com/news/210920/

相关文章:

  • 吐血推荐MBA必用TOP8 AI论文软件测评
  • 基于单片机的语音存储与回放系统设计
  • 信息安全从入门到精通:技术、管理与法规的全景解读
  • 基于单片机的蓝牙无线密码锁设计
  • 如何规划你的网络安全认证之路?详解通往CISSP的“黄金跳板”证书
  • 智能能耗优化:汽车制造企业如何落地EMS系统
  • 图解TCP核心机制:一张速查表搞定协议要点、面试题与实战调优
  • 基于单片机的智能晾衣架控制系统的设计与实现
  • 助力航空精密制造:Tube Qualify在管路在线检测与弯曲分析中的应用
  • 2026移动端工程师AI大模型3个月速成计划:从App开发到智能体架构师!
  • 网络协议硬核解析:应对HTTP/TCP/UDP及NoSQL的灵魂拷问与设计原理
  • 谷歌重磅测试Nano Banana2Flash AI图像模型,极速+高性价比双突破
  • 解决报错Error in sitecustomize; set PYTHONVERBOSE for traceback:NameError: name ‘reload‘ is not defined
  • 一篇文章讲透网络协议知识体系:从TCP/IP、HTTP到NoSQL的协议栈全景
  • 只会写Prompt怎么行?揭秘生产级Agent炼成之路:这10大工程维度,你一定要懂!
  • 突破传统点式测量:DIC技术在复合材料全场变形与损伤表征中的应用
  • 配管配线工程量计算规范实操
  • 耐达讯自动化CAN转PROFIBUS网关让软启动器如何让包装线告别“信号迷宫”
  • 3C电子制造质检升级:拍照式蓝光3D扫描在精密测量中的应用实践
  • 网络分析工具Wireshark系列专栏:20-Wireshark 快捷键大全,文末附备忘录
  • 如何用 4 种可靠的方法更换 iPhone
  • 从日跑百单到月入1.5W,外卖骑手的网络安全转行路
  • 工业通信中的“工业战狼”!耐达讯自动化CAN转PROFIBUS网关
  • 云负载测试实战:JMeter进阶 - 突破单机瓶颈,驾驭分布式云端压测
  • 计算机毕业设计springboot课程思政教学资源库 基于SpringBoot的高校思政课程数字化资源管理平台 SpringBoot+Vue 课程思政教学资源共享与互动系统
  • 2026运维工程师35岁倒计时:别等被淘汰!网安黄金窗口期早转行早享受
  • 拒绝噪声,提升RAG准确率!RobustMask原理深度拆解,排序模型的正确用法,干货太硬核了!
  • 网络分析工具Wireshark系列专栏:19-命令行工具 tshark
  • 微服务架构下的性能测试策略
  • 如何解决长上下文“太拥挤”难题?一文讲透上下文工程与RAG的演进,收藏这篇就够了!