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

摘要:本文论述了基于 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.xdnf.cn/news/1542917.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

麦克斯韦方程组

目录 1. 高斯定律(电场部分) 2. 高斯定律(磁场部分) 3. 法拉第电磁感应定律 4. 安培定律(带有位移电流项) 5.麦克斯韦方程组的物理意义 麦克斯韦方程组为我们提供了一个完整的电磁场理论框架&#xff…

[Meachines] [Medium] Querier XLSM宏+MSSQL NTLM哈希窃取(xp_dirtree)+GPP凭据泄露

信息收集 IP AddressOpening Ports10.10.10.125TCP:135, 139, 445, 1433, 5985, 47001, 49664, 49665, 49666, 49667, 49668, 49669, 49670, 49671 $ nmap -p- 10.10.10.125 --min-rate 1000 -sC -sV -Pn PORT STATE SERVICE VERSION 135/tcp open msrp…

CentOS 7 YUM源不可用

CentOS 7 操作系统在2024年6月30日后将停止官方维护,并且官方提供的YUM源将不再可用。 修改:nano /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo [base] nameCentOS-$releasever - Base baseurlhttp://mirrors.aliyun.com/centos/$rel…

【Unity Shader】Special Effects(九)Vortex 旋涡(UI)

源码:[点我获取源码] 索引 Vortex 旋涡思路分析旋涡中心旋涡旋转旋涡强度旋涡动画Vortex 旋涡 旋涡效果可以将一张图像以指定点作为旋涡中心,呈顺时针旋涡动画效果,使用动画播放器: 思路分析 首先,旋涡特效的核心也即是旋转(特别是uv坐标的旋转); 在此基础上,旋涡中…

二叉搜索树(BSTree)原理及应用场景

目录 引言 二叉搜索树的基本概念 常见算法 插入节点 查找节点 删除节点 二叉搜索树的应用场景 1. 数据库索引 2. 符号表 3. 字典和词汇表 4. 动态集合 结论 引言 二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树,其每个节…

C语言 | Leetcode C语言题解之第429题N叉树的层序遍历

题目: 题解: #define MAX_LEVE_SIZE 1000 #define MAX_NODE_SIZE 10000int** levelOrder(struct Node* root, int* returnSize, int** returnColumnSizes) {int ** ans (int **)malloc(sizeof(int *) * MAX_LEVE_SIZE);*returnColumnSizes (int *)mal…

【Android】DataBinding的运用

引言 之前对databinding有了基础的运用与介绍,但databinding的用处不单单在于Text的绑定,接下来就一起看看吧! 意义:让布局文件承担了部分原本属于页面的工作,使页面与布局耦合度进一步降低。允许用户界面&#xff0…

计算机的错误计算(一百零一)

摘要 展示 在0附近数的函数值的计算精度问题。 计算机的错误计算(一百)探讨了 在一般情形下的计算精度问题。本节讨论其在0附近的数的函数值的计算精度问题。 例1. 已知 计算 不妨在Python 3.12.5下计算,则有 若在线运行R代码&#x…

使用 Higress AI 插件对接通义千问大语言模型

前言 什么是 AI Gateway AI Gateway 的定义是 AI Native 的 API Gateway,是基于 API Gateway 的能⼒来满⾜ AI Native 的需求。例如: 将传统的 QPS 限流扩展到 token 限流。将传统的负载均衡/重试/fallback 能力延伸,支持对接多个大模型厂…

0基础学习PyTorch——最小Demo

大纲 环境准备安装依赖 训练和推理训练生成数据加载数据TensorDatasetDataLoader 定义神经网络定义损失函数和优化器训练模型 推理 参考代码 PyTorch以其简洁直观的API、动态计算图和强大的社区支持,在学术界和工业界都享有极高的声誉,成为许多深度学习爱…

C++入门基础知识80(实例)——实例5【查看 int, float, double 和 char 变量大小】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 实例 【查看 int, float, double 和 c…

vue源码分析(九)—— 合并配置

文章目录 前言1.vue cli 创建一个基本的vue2 项目2.将mian.js文件改成如下3. 运行结果及其疑问? 一、使用 new Vue 创建过程的 2 种场景二、margeOption的详细说明1.margeOption的方法地址2.合并策略的具体使用3.defaultStrat 默认策略方法 三:以生命周期…

9.sklearn-K-means算法

文章目录 环境配置(必看)头文件引用K-means算法1.简介2.API3.代码工程4.运行结果5.模型评估6.小结优缺点 环境配置(必看) Anaconda-创建虚拟环境的手把手教程相关环境配置看此篇文章,本专栏深度学习相关的版本和配置&…

idea使用spring initializr快速创建springboot项目

idea使用spring initializr快速创建springboot项目 1.打开idea,新建项目如图,选择好java版本,我这里是17。2.点击next,首先选择springboot版本,我这里选择3.3.4。勾选springweb,它会帮我们下载关于springmv…

【machine learning-14-特征缩放-归一化】

特征缩放是提升线性回归收敛速度的技巧,什么是特征缩放? 又是什么场景下需要特征缩放,有哪些特征缩放的方法呢? 特征值差异 我们还是以之前房间预测为例: 这里面是特征房屋大小 房间数目 与房价的关系 本文为简化…

数据处理与统计分析篇-day03-python数据分析介绍与环境搭建

概述 python优势 Python作为当下最为流行的编程语言之一 可以独立完成数据分析的各种任务 数据分析领域里有海量开源库 机器学习/深度学习领域最热门的编程语言 在爬虫,Web开发等领域均有应用 常用开源库 numpy NumPy(NumericalPython) 是 Python 语言的一…

#面试系列-腾讯后端一面

03.腾讯后端一面 项目相关 面试官可能是 Go 方向的,我面试的是 Java 方向的,所以面试官也没有问我简历上的项目,主要问了实验室中做的项目,哪个项目比较有技术挑战? 面试主要问了计算级网络相关,以及如果让…

通信工程学习:什么是TLS传输层安全协议

TLS:传输层安全协议 TLS(Transport Layer Security)传输层安全协议是一种用于在两个通信应用程序之间提供保密性、数据完整性以及真实性的安全协议。它是SSL(Secure Sockets Layer)协议的后继者,继承并增强…

数据结构与算法——Java实现 8.习题——移除链表元素(值)

祝福你有前路坦途的好运,更祝愿你能保持内心光亮 纵有风雨,依然选择勇敢前行 —— 24.9.22 203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示…

黎巴嫩BP机爆炸事件启示录:我国应加快供应链安全立法

据报道,当地时间9月17日下午,黎巴嫩首都贝鲁特以及黎巴嫩东南部和东北部多地都发生了BP机爆炸事件。当时的统计数据显示,爆炸造成9人死亡,约2800人受伤。9月18日,死亡人数上升到11人,受伤人数超过4000。 目…