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

news2024/11/15 8:49:30
摘要:本文论述了基于 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.coloradmin.cn/o/2156609.html

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

相关文章

go webapi上传文件

一、导入依赖 import "net/http" 我这里用到了Guid所以安装依赖 go get github.com/google/uuid 二、main.go package mainimport ("fmt""github.com/jmoiron/sqlx""github.com/tealeg/xlsx""log""path/filepath&q…

七彩云南文化旅游网站设计与实现

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装七彩云南文化旅游网站软件来发挥其高效地信息处理的作用&am…

解决RabbitMQ设置x-max-length队列最大长度后不进入死信队列

解决RabbitMQ设置x-max-length队列最大长度后不进入死信队列 问题发现问题解决方法一:只监听死信队列,在死信队列里面处理业务逻辑方法二:修改预取值 问题发现 最近再学习RabbitMQ过程中,看到关于死信队列内容: 来自队…

计算机组成原理——存储系统

计算机组成原理——存储系统 存储器层次结构 存储器层次结构如下: 寄存器(CPU)Cache(高速缓冲存储器)主存磁盘磁带、光盘等 按照上述层次结构,自下而上速度依次增快、容量相对依次渐小、造价越来越高昂…

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【文件系统】上

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 子系统开发内核 轻量系统内核(LiteOS-M) 轻量系统内核&#…

锂电池基础知识

1. 电池的发展史 电池是将化学能转变为电能的装置,通过电池内部的化学反应向外部提供直流电能 1800年Vote伏打电堆 1835年英国Daniel丹尼尔电池 1859年法国Plante铅酸蓄电池 1866年法国Leclanche锌锰电池 1899年瑞典Jungner镍镉电池 1950年Urry碱性电池 1990年索尼…

鸿蒙OpenHarmony【轻量系统内核扩展组件(C++支持)】子系统开发

C支持 基本概念 C作为目前使用最广泛的编程语言之一,支持类、封装、重载等特性,是在C语言基础上开发的一种面向对象的编程语言。 运行机制 C代码的识别主要由编译器支持,系统主要对全局对象进行构造函数调用,进行初始化操作。…

【漏洞复现】用友 NC-Cloud queryStaffByName Sql注入漏洞

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

智能农业系统——作物生长模型

橙蜂智能公司致力于提供先进的人工智能和物联网解决方案,帮助企业优化运营并实现技术潜能。公司主要服务包括AI数字人、AI翻译、AI知识库、大模型服务等。其核心价值观为创新、客户至上、质量、合作和可持续发展。 橙蜂智农的智慧农业产品涵盖了多方面的功能&#x…

windows 驱动实例分析系列-COM驱动案例讲解

COM也被称之为串口,这是一种非常简单的通讯接口,这种结构简单的接口被广泛的应用在开发中,几乎所有系统都能支持这种通讯接口,它有RS232和RS485等分支,但一般我们都会使用RS232作为常见的串口,因为它足够简单和高效。 几乎所有的开发板,都会提供用于烧录、调试、日志的…

《Pyramid Vision Transformer》论文笔记

原文笔记 What 为了解决VIT在视觉任务上的局限性并且探究Transformer模型在视觉任务上的应用,这项工作提出了一种纯 Transformer 主干,称为 Pyramid Vision Transformer (PVT),它可以作为 CNN 主干在许多下游任务中的替代方案,包…

【人工智能】Linux系统Mamba安装流程

在编译安装 mamba 之前,你需要确保已安装正常的PyTorch环境。 # 安装必要的系统依赖 sudo apt update sudo apt install build-essential # 安装mamba依赖 pip install packaging wheel # 克隆仓库 git clone https://github.com/Dao-AILab/causal-conv1d.git git …

【二等奖论文】2024年华为杯研赛D题成品论文(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 点击链接获取【2024华为杯研赛资料汇总】: https://qm.qq.com/q/jTIeGzwkSchttps://qm.qq.com/q/jTIeGzwkSc 题 目: 大数据驱动的…

fastadmin 根据选择数据来传参给selectpage输入框

文章目录 js代码php代码:完结 js代码 $(document).on(change,#table .bs-checkbox [type"checkbox"],function(){let url$(#chuancan).attr(data-url)urlurl.split(?)[0]let idsTable.api.selectedids(table)if(ids.length){let u_id[]ids.forEach(eleme…

torch.embedding 报错 IndexError: index out of range in self

文章目录 1. 报错2. 原因3. 解决方法 1. 报错 torch.embedding 报错: IndexError: index out of range in self2. 原因 首先看下正常情况: import torch import torch.nn.functional as Finputs torch.tensor([[1, 2, 4, 5], [4, 3, 2, 9]]) embedd…

【C++ Primer Plus习题】17.3

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <fstream> using namesp…

PHP、Java等其他语言转Go时选择GoFly快速快速开发框架指南

概要 经过一年多的发展GoFly快速开发框架已被一千多家科技企业或开发者用于项目开发&#xff0c;它的简单易学得到其他语言转Go首选框架。且企业版的发展为GoFly社区提供资金&#xff0c;这使得GoFly快速框架得到良好的发展&#xff0c;GoFly技术团队加大投入反哺科技企业和开…

数据结构之搜索二叉树

目录 一、什么是搜索二叉树 基本概念 特点 注意事项 二、搜索二叉树的C实现 2.0 构造与析构 2.1 插入 2.2 查找 2.3 删除 2.3.1 无牵无挂型 2.3.2 独生子女型 2.3.3 儿女双全型 三、搜索二叉树的应用 3.1 key搜索 3.2 key/value搜索 一、什么是搜索二叉树 搜索二…

EAGLE——探索混合编码器的多模态大型语言模型的设计空间

概述 准确解释复杂视觉信息的能力是多模态大型语言模型 (MLLM) 的关键重点。最近的研究表明&#xff0c;增强的视觉感知可显著减少幻觉并提高分辨率敏感任务&#xff08;例如光学字符识别和文档分析&#xff09;的性能。最近的几种 MLLM 通过利用视觉编码器的混合来实现这一点…

科研绘图系列:R语言ggplot2画热图(heatmap)

文章目录 介绍加载R包导入数据数据预处理画图导出数据系统信息介绍 热图(Heatmap)是一种数据可视化技术,它通过颜色的变化来表示数据的大小或者密度。热图通常用于展示两个变量之间的关系,或者在二维空间上展示数据的分布情况。以下是热图可以表示的一些内容: 数据分布:…