基于单片机的智能小车的开发与设计

摘要:本文论述了基于 STC89C52 单片机的智能小车的开发与设计过程。该设计采用单片机、电机驱动及光电循迹等技术,保证小车在无人管理状态下,能按照预先设定的线路实现自动循迹功能。在电路结构设计中力求方便,可操作,实用性强。本产品电路结构设计简单明了,系统可操作性和实用性强,故障率低,具有良好的应用前景。
关键词:单片机;光电循迹;驱动电路; C 程序;智能小车
智能小车是一种使用充电蓄电池作为动力来源的新型小车,工作中零噪音、零污染,对工作环境清洁度要求高的企业亦能适用。因此,智能循迹小车的相关研究,对未来工业、农业、制造业、服务等行业都拥有重要意义,是提升国家综合竞争力的重要体现[1] 。该方案应用单片机做作为主发与设计实现小车的相关功能。采用红外光电二极管和光电晶体管系统跟踪传感器模块,使用该模块对黑色轨迹预设的判断,再由单片机发出指令控制驱动系统,改变直流电机的现有工作状态,最终实现小车的自动循迹运行。

1 系统的基本构成

该智能循迹小车主要五大模块组成,如图 1 所示。单片机控制系统充当循迹小车的大脑,负责接收和下达指令,光电循迹系统充当循迹小车的触角,直流电机模块充当循迹小车的双脚。曲线所在位置可由检测系统检测出来并输出相应的信号,对该部分信号进行分析、处理后将信号输入至单片机,进而单片机按照输入信息进行处理,通过控制电机驱动模块和电机轨迹检测模块对小车进行判断,从而实现小车寻迹。

2 系统硬件设计

本设计整体方案的主控模块选用单片机 STC89C52 控制行进中的小车,以实现其既定的性能指标。为了达到更好的控制和驱动直流电动机目的,驱动模块选用L9110 。红外寻迹模块选用TCRT5000 的红外反射式开关,通过对接收管上是否接收 到红外光来判断小车得的行进路线。循迹过程是黑色引导线制作成不规则行进路线,检测系统对黑色路径进行检测,并将相应路径检测信息传输到单片机模块进行信息进行信号分析处理,再将控制命令输出到系统驱动模块,达到调控直流电机转向目的,使小车能在黑色引导线上循迹自动行驶[2]

2.1单片机模块与循迹模块设计

STC89C52 单片机 [3] 程序兼容传统的 8051 单片机,通过 ISP可在PCB 板上直接编写、修改,不需编程器,不需改变硬件,不仅不占用用户资源,而且功耗较低,抗干扰能力较强。图2 为单片机系统模块图。

2.2 光电循迹模块

光电循迹模块就是利用红外线对黑颜色漫反射的反射程度差异,再通过光敏二极或三级管所接收漫反射的程度不同,产生强弱不同的光信号,转换为电流信号通过电阻作用,将电流信号转换为高低电平进而可被单片机识别。小车行行驶过程中不断向附近地面发射红外光线,红外光探测白色地面时发生漫反射,小车上的接收管会接收这些漫反射红外光:当红外光照射到黑线时被吸收,小车的接收管无反射光信号接收。发射管与 330Ω 的电阻串联发射红外线,接收管与 47KΩ 的电 串联接收信号。当红外光被吸收接收管未收到漫反射时,其阻状态显示高阻态,TX 则为高电平输出。当接收管接收到反射光时,接收管导通,并且电阻非常小,TX 低电平输出 [4] 。下图为循迹模块电路图,如图3 所示。
3 循迹模块电路图

2.3 电机驱动原理

下图为小车运动逻辑。电机的运转就只需要用两个信号控制:如果 IB 为“ 0 ”, IA 信号为“ 1 ”,电机正转;如果 IB 信号变为:“1 ”,而 IA 信号变为“ 0 ”,电机反转。电机控制逻辑以电机 A为例如表1 所示。如果输入引脚 IA 为低电平而输入引脚 IB 为高电平,电机A 反转;相反情况时,电机 A 正转。

2.4 系统设计的结构

单片机模块分别与循迹模块和电动驱动模块构成了系统的整体设计结构,具体如图4 所示。

3 系统软件设计

单片机模块系统分别为数据处理和过程控制两个过程。其中数据处理过程包括数据信息的采集、数字滤波和标度变换三方面内容。过程控制程序重点是保证单片机遵循固定的方式进行计算,再将结果输出,实现控制生产目的。本系统软件采用模块化结构,由整体主程序和子程序构成。由于采用程序控制小车的行驶方向,因此软件的设计在整个系统中的地位也很重要。如图5 所示软件设计系统主程序流程图。

4 结论

现如今“智能”两个字与人们的生活越来越密不可分,智能产品种类越来越丰富,智能产品技术越来越高端,希望越来越多的研究者参与研发智能产品,提高国内科学技术水平,提升国家的综合竞争力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/430008.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件操作

文件的由来:在程序中,之前每一个程序都是需要运行然后输入数据,当程序结束时输入的数据也随之消散,为了下一次运行时不再输入数据就有文件的由来,使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据…

软件著作权登记所需要的材料

软件著作权登记所需材料全面解析 在当今数字化时代,软件著作权作为保护软件开发者智力劳动成果的重要法律手段,其登记过程显得尤为重要。 一、软件著作权登记申请表 首先,软件著作权登记需要提交的最基本材料是《软件著作权登记申请表》。这份…

照片写真记录摄影作品记录网站源码

完美适应iPad,平板,手机竖屏不支持lazy,横屏可以,但建议使用平板查看效果, 有服务器直接上传解压使用,环境nginxphp, 没有服务器也没关系,可以直接使用html

前端项目代码开发规范及工具配置

在项目开发中,良好的代码编写规范是项目组成的重要元素。本文将详细介绍在项目开发中如何集成相应的代码规范插件及使用方法。 项目规范及工具 集成 EditorConfig集成 Prettier1. 安装 Prettier2. 创建 Prettier 配置文件3. 配置 .prettierrc4. 使用 Prettier 集成 …

计算机毕业设计 基于Python的食品销售数据分析系统 SpringBoot+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

LeetCode Hot100 C++ 哈希 1.两数之和

LeetCode Hot100 C 1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按…

基于STM32的智能花盆控制系统设计-设计说明书设计

设计摘要: 随着人们对室内绿植的热爱与需求日益增长,智能花盆控制系统作为一种新兴的智能化管理方式,受到了广泛关注。本文旨在设计一种基于STM32的智能花盆控制系统,以实现对花盆的自动浇水、温湿度监测和光照控制等功能。 在硬…

Android轻量级RTSP服务使用场景分析和设计探讨

技术背景 好多开发者,对我们Android平台轻量级RTSP服务模块有些陌生,不知道这个模块具体适用于怎样的场景,有什么优缺点,实际上,我们的Android平台轻量级RTSP服务模块更适用于内网环境下、对并发要求不高的场景&#…

基于对数变换的图像美白增强,Matlab实现

博主简介:matlab图像处理(QQ:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于对数变换的图像美白增强,用matlab实现。 一、案例背景和算法介绍 这次案例是美白算法&…

大数据可视化-三元图

三元图是一种用于表示三种变量之间关系的可视化工具,常用于化学、材料科学和地质学等领域。它的特点是将三个变量的比例关系在一个等边三角形中展示,使得每个点的位置代表三个变量的相对比例。 1. 结构 三个角分别表示三个变量的最大值(通常…

爬虫 ----hook

目录 定义: 了解什么是hook? 举例 hook XHR请求 XMLHttpRequest 案例地址: Interceptors-拦截器 HOOK cookie操作 cookie 示范 常见的hook代码总结 1.Hook Cookie 2.Hook Header 3.Hook URL 4.Hook JSON.stringify 5.Hook JSON.parse 6.Ho…

蓝桥杯嵌入式的学习总结

一. 前言 嵌入式竞赛实训平台(CT117E-M4) 是北京国信长天科技有限公司设计,生产的一款 “ 蓝桥杯全国软件与信息技术专业人才大赛-嵌入式设计与开发科目 “ 专用竞赛平台,平台以STM32G431RBT6为主控芯片,预留扩展板接口,可为用户提…

conda环境下module ‘numba.types‘ has no attribute ‘Macro‘问题解决

1 问题描述 conda环境下运行数据处理&#xff0c;报出如下错误&#xff1a; Traceback (most recent call last):File "train_preprocess.py", line 13, in <module>import audioFile "/opt/service/lipsync/audio.py", line 1, in <module>…

橙子质量检测系统源码分享

橙子质量检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

基于yolov5滑块识别破解(一)

由于内容较长&#xff0c;将分为两个部分来说明&#xff0c;本文讲解yolov5的部署与训练。 1.YOLOv5部署 云端部署&#xff08;训练&#xff09; 服务器创建 如果自己的显卡算力不是很好的&#xff0c;或者是核显电脑&#xff0c;可以租用算力&#xff0c;价格还行一块钱左右就…

知乎:从零开始做自动驾驶定位; 注释详解(二)

这个个系统整体分为: 数据预处理 前端里程计 后端优化 回环检测 显示模块。首先来看一下数据预处理节点做的所有事情&#xff1a; 数据预处理节点 根据知乎文章以及代码我们知道: 节点功能输入输出数据预处理1.接收各传感器信息2.传感器数据时间同步 3.点云运动畸变补偿 4.传…

20 基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STM32F103C8T6 采用DHT11读取温度、滑动变阻器模拟读取电流、电压。 通过OLED屏幕显示&#xff0c;设置电流阈值为80&#xff0c;电流小阈值为50&#xff0c;电压阈值为60&#xff0c;温度阈值…

【Qt网络编程】Tcp多线程并发服务器和客户端通信

目录 一、编写思路 1、服务器 &#xff08;1&#xff09;总体思路widget.c&#xff08;主线程&#xff09; &#xff08;2&#xff09;详细流程widget.c&#xff08;主线程&#xff09; &#xff08;1&#xff09;总体思路chat_thread.c&#xff08;处理聊天逻辑线程&…

SQL 多表联查

目录 1. 内联接&#xff08;INNER JOIN&#xff09; 2. 左外联接&#xff08;LEFT JOIN&#xff09; 3. 右外联接&#xff08;RIGHT JOIN&#xff09; 4. 全外联接&#xff08;FULL JOIN&#xff09; 5. 交叉联接&#xff08;CROSS JOIN&#xff09; 6. 自联接&#xff0…

MySQL篇(存储引擎)(持续更新迭代)

目录 一、简介 二、使用存储引擎 1. 建表时指定存储引擎 2. 查询当前数据库支持的存储引擎 三、三种常见存储引擎 1. InnoDB存储引擎 1.1. 简介 1.2. 特点 1.3. 文件格式 1.4. 逻辑存储结构 表空间 段 区 页 行 2. MyISAM存储引擎 2.1. 简介 2.2. 特点 2.3. …