小车往返运动单片机控制

合集下载

实例讲解丨小车往返运动编程案例

实例讲解丨小车往返运动编程案例

实例讲解丨小车往返运动编程案例一、小车往返运动用S7-200实现小车往返的自动控制,控制过程为按下启动按钮,小车从左边往右边(右边往左边运动)当运动到右边(左边)碰到右边(左边)的行程开关后小车自动做返回运动,当碰到另一边的行程开关后又做返回运动。

如此的往返运动,直到当按下停车按钮后小车停止运动。

▲电气接线图I/O分配表梯形图程序PLC接线图程序调试及结果分析▲控制平台操作面板当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示灯Q0.0 亮)。

当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f,模拟SQ2被压下)接通,此时小车左行(指示灯Q0.0灭,指示灯Q0.1亮),当运行到左边碰到左限位SQ1即i0.3(鼠标点击i0.3f)接通,此时小车又往右运行(指示灯Q0.1灭,指示灯Q0.0 亮)。

如此往返运动下去直到按下SB1即i0.2(鼠标点i0.2f)接通,小车停止运行。

附:二、闪光电路当按下启动按钮后,要求在两秒钟内有一秒亮有一秒灭,如此反复,灯一闪一闪发光。

I/O分配表梯形图程序PLC接线图程序调试及结果分析把编写好的程序下载到西门子s7-200PLC中进行调试。

观察运行结果和实验要求是否相同。

通过在线控制面板进行调试,当按下在线控制面板上的I0.0f(即 I0.0 接通)此时Q0.0有输出,Q0.0所接负载灯就亮,同时启动定时器T37开始计时,当计时一秒后因T37动作,其常闭触点断开,所以Q0.0无输出,所接负载灯灭。

灯灭的同时启动定时器 T38,T38 计时一秒后,把串联在定时器T37的常闭触点断开,所以T37复位,T37常闭触点恢复常闭。

此时Q0.0 又有输出,所接负载灯又亮。

这样,输出Q0.0上所接的负载灯以接通一秒,断开一秒频率不停的闪烁,直到按下在线控制面板上的I0.1f(即I0.1接通),闪光电路不在继续工作。

若想改变灯闪烁的频率只要改变定时器的时间就能够达到改变要求。

单片机控制小车循迹(前进、后退、左右转)

单片机控制小车循迹(前进、后退、左右转)

/******************************************************************** ****控制小车循迹前进、后退、左转、右转、停止前进简单程序作者:eagle200901Email:***************************************************************************************** ****/#include "reg52.h"#define uchar unsigned char#define uint unsigned intsbit P10=P1^0; //Control the left motor forward lower level is valid; 左电机前进,低电平有效sbit P11=P1^1; // control the left motor backward 左电机后退sbit P12=P1^2; // control the right motor forward 右电机前进sbit P13=P1^3; // control the right motor backward 右电机后退sbit Ltra14=P1^4;//track on the left 左循迹sbit Mtra15=P1^5;//track in the middle 中间循迹sbit Rtra16=P1^6; //track on the right 右循迹void advance() /*前进*/{P10=0;P11=1;P12=0;P13=1;}void goback(){P10=1;P11=0;P12=1;P13=0;}void TurnLeft(){P10=1;P11=1;P12=0;P13=1;}void TurnRight(){P10=0;P11=1;P12=1;P13=1;}void Stop(){P10=1;P11=1;P12=1;P13=1;}void main(){while(1){if(Ltra14==0&&Mtra15==0&&Rtra16==0||Ltra14==0&&Mtra15==1&Rtra16==0)advance();if(Ltra14==1&&Mtra15==0&&Rtra16==0)TurnLeft();if(Ltra14==0&&Mtra15==0&&Rtra16==1)TurnRight();if(Ltra14==0&&Mtra15==1&&Rtra16==1)Stop();}}我比较懒得输入法切换,所以就直接用英语注释,为了初学者看得懂,才加了中文。

单片机c语言编个往返小汽车

单片机c语言编个往返小汽车
/********************************************************/
void delay(uint t)
{
uint j;
for (j=0; j<12*n; j++) //转1×n圈
{
for (i=0; i<8; i++) //一个周期转30度
delay(15); //调节转速
}
}
}
/********************************************************
for (i=0; i<8; i++) //一个周期转30度
{
P1 = REV[i]; //取数据
/********************************************************/
/*
/*
/*步进电机正转
/*
/********************************************************/
void motor_ffw(uint n)
{
uchar i;
main()
{
while(1)
{
motor_ffw(5); //电机正转
这个完全用步进电机,首先确定步进电机前进多少步,然后再后退多少步就可以了,用不上定时程序.下面程序可直接用,做好了别忘了给我加分!
/******************************************************************/

基于单片机的自动往返小汽车的设计【开题报告】

基于单片机的自动往返小汽车的设计【开题报告】

开题报告电气工程及其自动化基于单片机的自动往返小汽车的设计一、综述本课题国内外研究动态,说明选题的依据和意义随着汽车工业的迅速发展,其与电子信息产业的融合速度也显著提高,汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。

关于汽车的研究也就越来越受人关注。

全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。

可见其研究意义很大。

本设计就是在这样的背景下提出的,为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。

设计的智能电动小车应该能够具有自动寻迹、小灯显示等功能。

由于单片机教学例子有限,因此,单片机智能车能综合学生课堂上的知识来实践,使学习者更好的了解单片机的发展。

通过此次的单片机寻轨车制作,使学生从理论到实践,初步体会单片机项目的设计、制作、调试和成功完成项目的过程及困难,以此学会用理论联系实际。

通过对实践中出现的不足与学习来补充教学上的盲点。

智能汽车是一种高新技术密集的新型汽车,是在网络环境下利用信息技术、智能控制技术、自动控制、模式识别、传感器技术、汽车电子、电气、计算机和机械等多个学科的最新科技成果,使汽车具有自动识别行驶道路、自动驾驶等先进功能.随着控制技术、计算机技术和信息技术的发展,智能车在工业生产和日常生活中已经扮演了非常重要的角色.近年来,智能车在野外、道路、现代物流及柔性制造系统中都有广泛运用,已成为人工智能领域研究和发展的热点。

二、研究的基本内容。

智能寻迹小车采用后轮驱动,左右后轮各用一个直流减速电机驱动,通过调制后面两个轮子的转速从而达到控制转向的目的在车体前部分别装有左中右三或者两个红外反射式传感器,当小车左边的传感器检测到黑线时,说明小车车头向右边偏移,这时主控芯片控制左轮电机减速,车体向左边修正同理当小车的右边传感器检测到黑线时,主控芯片控制右轮电机减速,车体向右边修正当黑线在车体的中间,中间的传感器一直检测到黑线,这样小车就会沿着黑线一直行走。

模块二 小车往返运动控制解析

模块二 小车往返运动控制解析

模块二小车往返运动控制知识点:◎基本逻辑指令的功能、格式、使用注意事项◎基本逻辑指令的编程方法◎常用的输入、输出元件和连接方法◎编程软件的使用技能点:◎控制系统设计的步骤和方法◎PLC外部连接的方法◎编程软件的使用一、任务引入在生产机械中,经常在不同场合用到电动机正反转控制线路,如工厂中行车的移动、铣床工作台的水平移动、Z3050型摇臂钻床立柱的松紧控制等等。

小车自动往返控制线路的核心也是电动机正反转控制,下面介绍用FX可编程序控制器实现上述控制要求。

二、任务分析如图1所示为小车在两点间自动往返运动示意图,继电控制系统电气控制原理图如图2所示。

图1图21.元器件功能表元器件功能表见表三、相关知识1.准备知识PLC控制系统由硬件和软件两个部分组成。

硬件部分:将输入元件通过输入点与PLC 连接,将输出元件通过输出点与PLC连接,构成PLC控制系统的硬件系统。

软件部分;控制过程,由PLC程序实现,在编程前我们要先学习下面的基本逻辑指令。

基本逻辑指令表2.控制系统的程序设计(1)I/O分配表见表小车自动往返控制系统地址表(2)梯形图设计对照小车自动往返控制电气原理图画出小车自动往返控制系统梯形图。

(3)指令表编程若要将梯形图语言转换为语句表语言,则需掌握复杂逻辑指令。

(4)PLC控制系统电气原理图QS四、任务实施【实习操作】1.安装和程序设计根据小车自动往返PLC控制系统电气原理图,进行安装元件和布线并进行程序设计。

2.系统调试如果出现故障,应首先检查PLC输入输出线路,硬件检修完成后在修改梯形图,完毕后重新调试,直至系统正常工作。

3.工艺要求熟悉所有电器元件的作用和控制线路的工作原理。

列出I\O分配表,配齐所有电器元件,并检查质量。

绘制元件布置图,经检查合格后,在控制板上安装电器元件。

电器元件安装应牢固,并符合工艺要求。

线路安装应遵循由内向外、横平竖直的原则;尽量做到合理布线、就近走线;编码正确、齐全;接线可靠、不松动、不压皮、不反圈、不损伤线芯。

89c52的单片机自动往返电动小汽车设计报告范文-图文

89c52的单片机自动往返电动小汽车设计报告范文-图文

89c52的单片机自动往返电动小汽车设计报告范文-图文1.设计任务:设计并制作了一个自动往返小汽车,其行驶路线满足所需的要求。

1.1要求:1.1.1基本要求:(1)分区控制:如(图1)所示:(图1)车辆从起跑线出发(出发前,车体不得超出起跑线)。

在第一个路程C~D区(3~6米)以低速行驶,通过时间不低于10;第二个路程D~E区(2米)以高速行驶,通过时间不得多于4秒;第三个路程E~F区(3~6米)以低速行驶,通过时间不低于8。

1.1.2.发挥部分(1)自动记录、显示一次往返时间(记录显示装置要求安装在车上)。

(2)自动记录、显示行驶距离(记录显示装置要求安装在车上)。

(3)其它特色与创新。

2.方案设计:根据设计任务要求,并且根据我们自己的需要而附加的功能,该电路的总体框图可分为几个基本的模块,框图如(图2)所示:555定时器控速模块路面检测测速模块AT89S51LCD显示模块(图2)2.1路面检测模块:路面黑线检测模块采用反射式红外发射--接收器,在车底的前部和中部安装了两个反射式红外传感器.2.2LCD显示模块:采用1602LCD,由单片机的总线模式连接。

为节约电源电量并且不影响LCD的功能,LCD的背光用单片机进行控制,使LCD的背光在小车行驶的过程中不亮,因为我们不必看其显示;在其它我们需要看显示的内容的时候LCD背光亮。

2.3测速模块:采用采用霍尔开关元器件A44E检测轮子上的小磁铁从而给单片机中断脉冲,达到测量速度的作用。

霍尔元件具有体积小,频率响应宽度大,动态特性好,对外围电路要求2简单,使用寿命长,价格低廉等特点,电源要求不高,安装也较为方便。

霍尔开关只对一定强度的磁场起作用,抗干扰能力强,因此可以在车轮上安装小磁铁,而将霍尔器件安装在固定轴上,通过对脉冲的计数进行车速测量。

其原理图接线如(图3)所示:(图3)2.4控速模块:采用由双极性管组成的H桥电路。

用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。

小车自动往返实训报告

小车自动往返实训报告

一、实验目的1. 掌握单片机在自动控制中的应用原理。

2. 学会使用L298芯片控制小车速度与方向。

3. 熟悉短距离红外收发器在采集路面信息中的应用。

4. 通过实训,提高动手能力和解决问题的能力。

二、实验原理本实验以单片机STC12C5A6032为核心,实现小车的自动往返功能。

L298芯片用于控制小车的速度与方向,短距离红外收发器用于采集路面信息,从而实现小车的自动往返。

三、实验器材1. 单片机STC12C5A6032 1块2. L298芯片 1块3. 短距离红外收发器 2个4. 电机驱动模块 1个5. 电源模块 1个6. 连接线若干7. 平板轨道 1条四、实验步骤1. 搭建电路:根据电路图连接单片机、L298芯片、红外收发器、电机驱动模块等元件。

2. 编程:使用C语言编写单片机程序,实现小车的自动往返功能。

3. 调试:通过调试,确保程序正常运行。

五、实验内容1. 初始化:单片机启动后,初始化红外收发器、电机驱动模块等。

2. 检测路面信息:红外收发器检测路面信息,将信号传输给单片机。

3. 控制小车方向:根据路面信息,单片机控制L298芯片,使小车保持直线行驶。

4. 自动往返:当小车到达指定位置时,单片机控制小车反向行驶,实现自动往返。

六、实验结果与分析1. 实验结果:小车在轨道上实现自动往返,运行稳定。

2. 结果分析:通过本次实验,掌握了单片机在自动控制中的应用原理,学会了使用L298芯片控制小车速度与方向,熟悉了短距离红外收发器在采集路面信息中的应用。

七、实验总结1. 理论联系实际:通过本次实验,将理论知识与实际操作相结合,提高了自己的动手能力。

2. 问题解决能力:在实验过程中,遇到了许多问题,通过查阅资料、请教老师等方式,最终解决了这些问题。

3. 团队协作:在实验过程中,与团队成员相互协作,共同完成了实验任务。

八、实验展望1. 优化程序:在今后的学习中,将不断优化程序,提高小车的性能。

2. 拓展功能:尝试将小车应用于其他领域,如自动清洁、自动搬运等。

自动往返小汽车的控制系统

自动往返小汽车的控制系统

自动往返小汽车的控制系统目录自动往返行驶小车的设计(搞要) (3)第一章引言与概述 (4)第二章系统设计总概述 (5)第三章单片机简介 (6)第四章主要电路的设计 (8)第五章系统硬件电路设计 (11)第六章系统软件设计 (16)结束语 (17)参考文献 (18)附表 (19)自动往返行驶汽小车的设计【摘要】本设计介绍了AT89S51系列单片机为控制芯片,控制自动往返小汽车控制系统硬件和软件的设计。

通过小汽车对路面的检测和速度的调节,把检测的信号送入单片机系统,经微机处理后,结合键盘控制实现LED显示,并可实现对小汽车速度,转向的控制和绕过障碍物的能力。

附以外围电路,运用单片机的运算和处理能力来实现小车的自动加速、限速、减速、定时,语音、前进、后退、左转、右转、显示行驶速度、行驶路程、行驶时间、等智能控制系统。

控制自动往返小汽车控制系统硬件和软件设计。

【关键字】单片机;AT89S51芯片;自动往返小汽车;光电检测器。

第一章引言与概述伴随着电子信息技术的飞速发展,单片机的应用越来越广泛,电子这个原本没有生命的东西越来越具有智慧了,而单片机在这当中充当着“大脑”的作用,指挥着系统完成其工作。

单片机通过用汇编语言或者C语言编程,可以实现不同情况下的,不同电路的自动控制,用它可以开发很多智能的玩具,如机器人、遥控飞机、智能车,实际生活中的很多电器,例如电冰箱、全自动洗衣机、空调等,还有就是很多测量仪器以及高科技的空间探测,宇宙探索等都用到单片机,可以说现在生活中大多数的智能物品都用到单片机,围绕单片机以及嵌入式系统形成的电子产业将会是一个持续发展,愈来愈具有竞争力,愈来愈具有生命力的产业,电子世界将会更具有魅力。

现今的世界,传感器的应用无处不在,自动电梯,保安系统,路灯的控制等,天气中的温度、湿度等等。

而自动导航在实际中的应用也很广,包括航天事业中的自动导航,全球定位系统,视觉导航等,随着传感器技术,计算机网络技术,图像处理技术的飞速发展,自动导航将进一步得到发展,而智能机器人也将进一步发展,代替人在一些环境艰难的地方工作。

基于单片机 的自动往返小车的设计-精品

基于单片机    的自动往返小车的设计-精品

目录摘要 (2)第一章MCS-8031单片机及其外围电路 (3)一.MCS-8031引脚及功能简介 (3)二.时钟电路 (5)三.复位及复位电路 (6)四.8031片外ROM连接 (7)第二章数码管显示里程方案设计 (8)一.检测电路方案选择 (8)二.数码管显示电路 (9)第三章直流调速方案讨论 (11)一.确定调速方案 (11)二.直流调速的实现 (12)第四章程序 (15)程序1小车电机调速程序 (15)程序2里程显示程序 (19)结论 (23)致谢 (24)参考文献 (25)摘要本设计要完成自动往返行驶汽车,要求使用MCS-8031单片机,并且用七段数码管显示里程。

要求采用调压调速的方法,改变电机的速度和转向。

一并完成自动往返功能。

为了方便调速,本设计拟采用小型直流电动机,为了同时满足对电机转速大小和方向的调节,要选择合适的调节方式,本设计拟采用PWM脉宽调制的方法实现。

对于里程显示,要将小车的车轮转数转换成距离,再将其输入单片机,并由单片机处理输出,并用数码管显示出来。

最后根据所选用的硬件及芯片,设计电路并编程实现要求内容。

关键字:MCS-8031 霍尔传感器数码显示PWM脉宽调速第一章MCS-8031单片机及其外围电路一.MCS-8031引脚及功能简介8031是最常见的mcs51系列单片机,是inter公司早期的成熟的单片机产品,应用范围涉及到各行各业,下面介绍一下它的引脚图等资料。

(图1.1为8031引脚图)图1.11)8031引脚功能:Vcc:+5V电源电压。

Vss:电路接地端。

2)P0.0~P0.7:通道0,它是8位漏极开路的双向I/O通道,当扩展外部存贮器时,这也是低八位地址和数据总线,在编程校验期间,它输入和输出字节代码,通道0吸收/发出二个TTL负载。

3)P1.0~P1.7:通道1是8位拟双向I/O通道,在编程和校验时,它发出低8位地址,吸收/发出一个TTL负载。

4)P2.0~P2.7:通道2是8位拟双向I/O通道,当访问外部存贮器时,用作高8位地址总线。

基于单片机的自动往返小车设计

基于单片机的自动往返小车设计

目录第1章绪论1.1设计的主要内容及目标1.2选题目的及意义第2章总体方案设计与论证 (2)2.1 全面方案 (2)2.2 设计要点、实验难点 (2)2.3设计方案第3章算法的理论分析 (4)3.1 算法比较 (4)3.1.1 常规模糊控制法 (4)3.1.2 公式法 (4)3.2 方案实现 (5)第4章设计电路的分析 (7)4.1 单片机设置 (7)4.2 电光理论设置 (7)4.2.1 基本原理 (7)4.3 具体电路 (8)4.3.1 采样方式 (8)4.3.2 电机控制方法 (9)4.3.3电机驱动模块 (10)4.3.4黑线探测模块 (10)4.4 电路图 (10)4.5 显示屏 (11)4.6 语音芯片 (11)4.6.1 供电方案 (12)4.6.2 供电方式 (12)4.7 红外遥控及解码模块 (12)4.7.1 二进制信号的调制 (13)4.7.2 二进制的调解 (13)4.7.3 二进制信号的调码 (13)4.8 道路设置模块 (14)4.8.1轨道模块 (14)4.8.2防撞模块 (14)第5章软件系统设计 (14)5.1 软件系统的任务及总体流程 (15)5.2 扩展软件功能实现 (16)5.3 遥控解码 (16)5.4 驱动软件 (17)5.5 小车轨道设计 (17)5.6 防撞击与警报装置 (18)5.7 行车距离 (18)5.8 抗干扰设置 (19)第六章测试方法与数据 (19)6.1 系统仿真调试 (19)6.2 对于电机的调试 (19)第七章总结 (21)致谢 (22)参考文献 (23)基于单片机的自动往返小车摘要:改革开放以来,单片机的技术不断进步,他原来所具有的各种各样有效的端口和他原本具有的自带的技术功能,被整合到了一张芯片上。

所以单片机在所有的机器上具有重要的地位。

最常见的单片机AT89s51具有低功率的特效并且保持在一个较高水平上面适用于各种单片机,具有非常优秀的普适性。

基于51单片机的自动往返小车.

基于51单片机的自动往返小车.

基于单片机的自动往返小车摘要本设计以一片单片机STC89C52 作为核心来控制自动往返小车,加以控制芯片L298N 和单片机联合控制小车的前进与后退。

路面的黑带检测使用反射式红外传感器,通过STC89C52 对输入的信号进行处理,以动态显示的形式通过一个四位的数码管显示即时里程,另外一个四位数码管动态显示小车行驶时间。

以红外传感器对路面黑线检测用,行驶距离使用霍尔元件进行检测。

关键词:光电检测霍尔检测动态显示L298N 控制电动机小组成员:李亚昊、陈国翠、成晓斌、丁玉娇黑带检测1.电机驱动调速模块采用L298N 来控制电机的正转和反转来实现小车的前进和后退。

加上单片机的程序PWM ,实现整车的加速与减速,精确小车的速度。

2.路面黑带检测模块黑带检测的原理是:红外光线照射到路面并反射,由于黑带和白纸的系数不同,可根据接的红外线的强弱判断是否到达黑带。

反射式的红外发射—接收器。

由于采用红外管代替普通可见光管,可以降低环境干扰。

3.电源选择双电源供电,将电动机驱动电源与单片机以及周边电路电源完全隔离,这样做虽然不如单电源方便灵活,但可以将电动机驱动所造成的干扰彻底消除,提高了系统的稳定性。

4.控制单元模块用单片机控制用光电检测不同的信号,并经单片机对其处理,传送给L298 信号,使其控制电机的正转和反转,配合PWM 程序控制,来实现加速减速和刹车。

通过单片机内部定数器/计数器进行定时、计数,在用单片机串行输入/输出口进行显示控制。

此方案电路成熟、工作稳定、容易实现控制。

1. 光电检测部分:我们采用反射式光电检测电路对跑道上的黑线进行检测,并用两个遮光套管套住发光管和接收管以一定的角度紧贴跑道,这样可以消除外界光线的干扰,用LM358 电压比较器输出高低电平检测信号。

如图所示:2. STC89C52 单片机基本系统此系统以89C52 为核心,每检测到一个黑带由光电检测部分产生一个的脉冲,使单片机产生一个外部中断1,定义检测黑带数的变量加1,同时车轮每转一圈,霍尔元件输出一个脉冲,是安单片机产生一个外部中断0,定义圈数的变量加 1.通过P1.0和P1.1控制L298来控制电机的正转与反转及刹车。

基于单片机的自动往返小车的设计

基于单片机的自动往返小车的设计

基于单片机的自动往返小车的设计摘要89S52单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。

这里介绍的是如何用89S52单片机来实现成都理工大学工程技术学院的毕业设计,该设计是结合科研项目而确定的设计类课题。

本系统以设计题目的要求为目的,采用89S52单片机为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。

整个系统的电路结构简单,可靠性能高。

实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。

采用的技术主要有:(1)通过编程来控制小车的速度;(2)传感器的有效应用;(3)新型显示芯片的采用关键词:80C52单片机、电动小车、光电检测器、PWM调速Abstract89S52 is a 8 bit single chip computer. Its easily using and multi-function suffer large users. This article introduces the Engineering&technical College of Chengdu University of Technology graduation design with the 89S52 single chip computer. This design combines with scientific research object. This system regards the request of the topic, adopting 89S52 for controlling core, super sonic sensor for test the hinder. It can run in a high and a low speed or stop automatically. It also can record the time, distance and the speed or searching light and mark automatically the electric circuit construction of whole system is simple, the function is dependable. Experiment test result satisfy the request, this text emphasizes introduced the hardware system designs and the result analyze.The adoption of technique as:(1)Reduce the speed by program the engine;(2)efficient application of the sensor;(3)The adoption of the new display chip.Keywords:80C52 single chip computer、Electricity motive small car、light electricity detector、PWM speedadjusting目录摘要 (I)Abstract (II)目录 (III)前言................................................ - 1 -1 方案设计与论证.................................... - 2 -1.1电动小车 (2)1.2控制模块 (3)1.3电机控制模块 (3)1.4直流调速系统 (3)1.5电机驱动模块 (5)1.6信号检测模块 (5)1.7行车距离检测 (7)1.8系统原理 (9)2 硬件设计......................................... - 10 -2.1AT89S52单片机硬件结构 (10)2.2最小应用系统设计 (11)3 软件设计......................................... - 13 -3.1主程序设计 (13)3.2显示子程序设计 (15)3.3避障子程序设计 (15)3.4软件抗干扰技术 (15)3.4.1数字滤波技术:............................ - 15 -3.4.2开关量的软件抗干扰技术:.................. - 16 -3.4.3指令冗余技术:............................ - 16 -3.4.4软件陷阱技术:............................ - 17 -3.4.5程序区.................................... - 17 - 3.5“看门狗”技术 (18)3.6可编程逻辑器件 (20)4 测试数据、测试结果分析及结论..................... - 21 -致谢............................................. - 23 -参考文献........................................ - 24 -附录1 程序清单........................ 错误!未定义书签。

基于单片机控制的智能自动往返小汽车设计

基于单片机控制的智能自动往返小汽车设计

基于单片机控制的智能自动往返小汽车设计随着现代科技的发展和自动化水平的提高,智能小汽车作为生活中的常用工具,人们对其智能性、可靠性等提出了越来越高的要求,因此需要对智能小汽车进行优化设计. 本文对硬件系统和主要功能模块进行了规划,设计了一个基于单片机控制的自动往返小汽车系统,以STC89C52 单片机为核心器件,可实现电动小汽车的速度控制、自动停车、往返控制等功能,从而满足人们对小汽车智能化功能的要求.1 系统总体设计系统设计以单片机STC89C52 芯片为核心控制部件,LG9110 作为电机驱动芯片,利用传感器检测技术原理、AD 画图、KEIL 软件编程,将程序烧录到单片机中,实现各个子模块的功能. 此外,系统采用红外探测法来检测实时路况信息,并通过PWM 调制自动调节电机转速. 系统总体设计框图如图1 所示.图1 系统总体设计框图2 系统硬件设计系统硬件模块设计主要包含电机驱动模块、路况检测模块、智能防撞报警模块、寻迹模块等.2.1 电机驱动模块电机驱动模块是目前遥控小车普遍采用的驱动模块[3]. 直流电机有两个控制端,通过设置输入电平值来改变电机的运转,单片机通过控制引脚电平的高低来控制直流电机的转速. 由于单片机自身管脚输出的高电平电压很小,不足以驱动电机进而带动整个小车运行,因此最适合小车驱动的是运用电机驱动芯片来完成,我们采用的是电机驱动芯片LG9110.2.2 路况检测模块该模块使用红外探测法. 由于黑线和白纸对光线的反射系数不同,故可根据接收到反射光的强弱来判断路面情况和前方是否存在障碍物. 红外发射管发射红外信号,经路面反射后传给红外接收管进行判断处理. 上电后,红外发射管导通,向地面以及前方发射红外信号,当遇到白色路面时,红外信号经白色路面进行漫反射,这时红外接收探头刚好接收到红外信号,探头导通,将低电平送给单片机进行判断处理.2.3 智能防撞报警模块智能小车能够自动识别前方的障碍物,如果有障碍物则调节小车的运动轨迹来避开障碍物,同时在遇到障碍物时,能够报警提示.2.4 寻迹模块所谓寻迹,就是在一条有弯曲黑线的白纸跑道上,利用红外线在不同颜色的物理表面具有不同的反射性质的特点来改变小车的运行轨迹. 小车在行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,而当红外光遇到黑色地面时,不产生反射. 如果小车右边稍微跑出黑色跑道,发出的红外光就会遇到白色地面而产生漫反射,这时旁边的黑色接收探头接收到反射信号后会导通. 探头接收到红外信号,会产生一个低电平,送给单片机处理,使小车进行左转操作;同理,当小车左边跑出黑线时,左侧探头识别之后给小车低电平,提示小车右转,这样就完成了小车的自动寻迹功能.3 系统软件设计在系统软件设计时,我们将所有的模块程序嵌入到单片机中,这种嵌入式设计主要是为了便于控制,且不占用CPU 资源,因为寻迹模块以及避障模块等都同时用到了实时检测扫描,这样不仅占CPU,而且多个程序同时运行还会产生冲突. 系统程序设计流程图如图2 所示.软件设计主要子模块介绍:(1) 红外解码的实现红外解码是实现小车的自动寻迹功能的前提条件,因此单片机的红外解码是贯穿整个程序设计的主线,在整个系统中起着重要作用.(2) 电机驱动从实际情况来说,在整个系统中,电机的驱动在小车运行中占据主导地位,是很重要的一部分,同时也是小车在接收到控制命令之后单片机的最终输出部分,是所有模块在执行控制命令时的外在表现.图2 系统程序设计流程(3) 小车寻迹寻迹的基本原理:黑白跑道对红外光的反射不同. 所以通过编写扫描单片机管脚值的程序,来实现相应功能. 小车寻迹模块的程序流程如图3 所示.(4) 小车防撞报警开启小车防撞功能时,主程序调用防撞报警子函数,当道路前方遇到障碍物时,小车内部的防撞函数将调用电机驱动子函数来调节小车的运行轨迹,避免小车撞击障碍物,同时报警提示.图3 寻迹程序流程图4 系统功能实现4.1 硬件作品(1) 对基于单片机控制的自动往返小汽车主要的STC89C52 核心主控模块、电机驱动模块、显示模块、避障模块进行组装,确保接线无误,完成实物的制作. 硬件作品如图4 所示.(2) 接通电源,整个小车处于启动状态,由于小车头部下方的红外探头未接收到自身发出的红外光,小车不运动,处于静止状态. 启动状态如图5 所示.图4 作品实物图5 小车启动状态(3) 在接通电源的状态下,将手放在左红外探头的下方,红外探头发出的红外光由于碰到手指发生漫反射而被探头接收,从而驱动电机驱动模块,左电机处于运行状态,左轮向前转动. 同理,右轮向前转动. 运动状态如图6 所示.图6 小车运动状态4.2 功能实现本系统实现的主要功能如下:(1)实现小汽车自动往返;(2)当小汽车偏离行驶轨道时,会及时转向,返回跑道;(3)当检测到障碍物时,能自动报警.STC89C52 芯片可以发挥数据处理与实时控制的功能,提高整个系统灵敏度. 当要驱动自动小车前进时,可以通过寻迹模块返回给单片机的信号,使单片机做出相应的控制判断,进而控制电机驱动模块,同时还需要进行PID 算法的测试,精准地控制自动小车在黑线上实现前进、后退和转向,从而实现小车自动往返.4.3 系统实现效果评价对系统功能进行了分析、拓展和延伸,其根本目的是为了实现小汽车的智能化. 通过系统调试,本设计可实现小汽车的自动寻迹和报警功能,且系统设计稳定. 实验结果与理论分析吻合较好,表明该设备在技术上有一定智能性和可靠性.5 总结本文采用的是以STC89C52 为核心的单片机,LG9110 为电机驱动芯片,利用传感器检测技术,结合硬件AD 画图及软件KEIL 的编译与烧录[5],使单片机控制的小汽车能自动寻迹、防撞报警,从而实现小车的自动往返功能. 本设计最大的特色:无需有线或者无线遥控来控制小车的往返,只需要装上电源,其他功能都可以由单片机来实现,消除了一般玩具小车需无线或有线控制的弊端,是未来玩具小车发展的趋势;同时也可以推广至公交车,实现无人驾驶,降低安全事故的发生,既环保又安全,因此具有一定的应用价值.。

小车自动往返控制-西门子S7-200PLC编程实例详解(一)

小车自动往返控制-西门子S7-200PLC编程实例详解(一)

小车自动往返控制- 西门子S7-200PLC编程实例详解(一)控制一台小车在A,B两地往返行驶。

要求用以下几种控制形式。

(1),按下启动按钮,小车前进到B点碰到限位开关,小车后退,退到A点碰到限位开关,小车前进,小车在AB两地往返行驶。

按下停止按钮,小车立即停止。

〔2)按下启动按钮,小车前进到B点碰到限位开关,小车停留10S后退,退到A点碰到限位开关,小车停留10S前进,小车在AB 两地往返行驶.按下停止按妞,小车继续运行,回到A点后停止.(3〕如果小车停留在中途,按下前进按钮,小车前进.按下后退按钮,小车后退.小车前进到B点碰到限位开关,小车停留10S后退,退到A点碰到限位开关,小车停留10S前进,小车在AB两地往返行驶。

按下立即停止按钮,小车原地停止.按下原位停止按钮,小车回到原位A点停止。

小车控制形式1按下启动按钮,小车前进到B点碰到限位开关,小车后退;退到A点碰到限位开关,小车前进,小车在AB两地往返行驶。

按下停止按钮。

小车立即停止,控制方案设计1输入/输出元件及控制功能小车控制形式1如表所示。

介绍了实例小车控制形式i中用到的输入/输出元件及控制功能。

2.电路设计小车两地往返行驶控制形式1的PLC接线图和梯形图如图3,控制原理按下启动按钮SB l ,=1,得电并自锁,电动机启动,小车前进。

到达B点时,小车碰到限位开关SQ1接点闭合,常闭接点断开,线圈失电,常开接点闭合,线圈得电自锁,小车后退,小车后退到A点,碰到限位开关SQ2接点闭合,常闭接点断开,线圈失电,常开接点闭合,线圈得电自锁,小车前进。

并自动往返运行。

按下停止按钮SB2,=0,常闭接点断开,,线圈失电,电动机立即停止运转。

基于单片机的自动往返行驶小汽车的设计

基于单片机的自动往返行驶小汽车的设计

基于单片机的自动往返行驶小汽车的设计(硬件设计)系别:专业班:姓名:学号:指导教师:摘要随着科学技术的发展,人们对于各种工具的要求越来越高,自动化越高就越受欢迎,对于交通工具的要求也是这样,人们希望汽车可以根据主人的想法,自动开往目的地,而不需要人的操作。

虽然科学家正在研制这种汽车,但在近几年还不能普及,所以人们想见正真的全自动汽车还不可能,但我们完全可以用单片机做为控制核心来制作一辆全自动的小车模型。

本设计的控制系统采用AT89C52单片机;显示系统采用3个LED数码管显示里程数,4个LED数码管显示一次往返的时间;电机正反转采用桥式驱动控制,2档电压调速;里程记录采用霍尔传感器;跑道标志线采用光敏管检测并使用软件整形消抖措施;单片机、电机采用独立稳压电源供电。

自动往返小汽车是指小车能够在跑道上自动往返行驶,无须人的操作。

小车从起跑线出发后自动行驶到终点,并能在终点停车一段时间,然后返回起点。

同时小车可以在要求区域内自动加速和减速等功能。

最后,小车还具有实时里程显示功能,可以通过数码管将里程显示出来。

单片机的产生使得我们的电子世界变得丰富多彩,原本无法实现的设计和想法而逐渐变为现实。

本设计也是以单片机作为整个系统的控制核心,主要由电机驱动电路,黑线检测电路和显示模块组成。

本小车模型的设计可以提高我们对单片机的理解和掌握,将理论知识应用与实践,是非常有意义的。

关键字:AT89C52单片机自动往返小汽车AbstractWith the development of science and technology, there is growing demand for all kinds of tools, automation becomes more popular, the same is true for transport requirements, people hope that the automobile can according to master idea, automatically to the destination, without human operation. Although scientists are developing the car, but in recent years is not popular, so people want to see is true full automatic car is not possible, but we can use single chip microcomputer as control core to make a full automatic car model.The designed control system using AT89C52 microcontroller; display system using 3 LED digital tube display mileage, 4 LED digital tube display time a round trip; motor adopts bridge drive control, 2 speed voltage control; mileage recorded by Holzer sensor; track mark line using photosensitive tube detection and using software shaping. Shake measure; microcontroller, motor adopts independent regulated power supply.Automatic round-trip car is a car capable of automatically driving back and forth on the runway, without human operation. The car on the starting line after the automatic running to the end, and can stop for a period of time in the end, and then return to the starting point. At the same time the car can require regional automatic acceleration and deceleration function. Finally, the car also has real-time mileage display function, can be displayed through the digital tube length.SCM makes the electronic world we become rich and colorful, idea and design was unable to realize gradually become a reality. This design is based on SCM as control core of the whole system, mainly by the motor drive circuit, the detection circuit and a display module. The design of the car model can improve our understanding of SCM and master, apply theoretical knowledge and practice, is of great significance.Keywords: automatic cars from AT89C52 single chip microcomputer目录摘要 (Ⅰ)Abstract (Ⅱ)绪论 (1)1. 设计任务及方案介绍 (2)1.1 设计任务 (2)1.2 可行性方案的介绍及确定 (3)2. 系统的硬件设计与实现 (5)2.1 系统元器件的选择与介绍 (5)2.1.1 AT89C52芯片 (6)2.1.2 霍耳传感器(HD3020) (9)2.1.3 LED显示器 (10)2.1.4 电源管理2.1.5 发光二极管和光敏二极管 (12)2.2 单元电路的设计 (13)2.2.1 电机驱动电路 (14)2.2.2 电机调速电路 (15)2.2.3 传感脉冲检测电路 (16)2.2.4 显示电路 (18)2.2.6 稳压电路 (18)3.总结 (19)4.致谢 (20)参考文献 (21)附录:元器件清单和硬件原理图 (22)绪论单片机的产生使得我们的电子世界变得丰富多彩,原本无法实现的设计和想法而逐渐变为现实。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机控制定速往复运动实验
一、实验目的
1、了解行程开关和减速电机的结构和原理
2、熟练掌握单片机和键盘显示电路的应用
3、学会利用单片机对运动小车的控制
二、实验器材
1、DCP-002单片机89S51电路、
2、DCP-003键盘及LED数字显示电路、
3、DCP-006功率输出电路。
4、运动小车平台
5、万用表和导线
0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/***************延时函数**************/
3、把DCP-006的IN1接到DCP-002的P1.1,NC1接电源的+12V,NO1接电源的-12V。
4、把各模块的电源都接上并注意共地。
5、把“单片机控制的定速往复运动实验.HEX”文件下载到单片机中,并运行。
接线图
参考程序
//-----头文件引用------
#include<reg52.h>
0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
三、实验原理
根据行程开关的触发信号,以外部中断方式,通过单片机判断后使I/O口输出高低电平,控制DCP-006的继电器的导通和关闭,控制加到直流电机输入端的电压的正负方向,改变电机的转动方向,从而改变小车的运动方向。同时在LED数码显示电路上运用跑马灯原理来显示小车运动的方向。如下图所示:
四、实验步骤
{
D8279=dispbitcode2[j][i];
delays(300);
}
}
/***************8279初始化函数**************/
void init8279(void)
{
C8279=0x00 ; //左端进入8x8显示,二键封锁,编码扫描
C8279=0x32 ;//扫描速率,设置内部分频约为11.0592/6/100=18,CLK接ALE
{
flag=1;
}
/***************主函数**************/
void main()
{
shuchu=1;
flag=1;
display2();
IT0=1;
EX0=1;
IT1=1;
EX1=1;
EA=1;
init8279(); //初始化8279
while(1)
{
if(flag==0)
void delays(unsigned char k)
{
unsigned char i,j;
for(i=0;i<k;i++)
for(j=0;j<50;j++);
}
/***************显示函数**************/
void display1(void)
{ uint i,j;
C8279=0x90; //写显示命令
#include<absacc.h> //XBYTE函数在该库中
//-----宏声明-----
#define D8279 XBYTE[0x9000] //8279数据口地址
#define C8279 XBYTE[0xB000] //8279命令口地址
/***************变量定义**************/
C8279=0xD1 ;//清除
}
/***************外部中断0函数**************/
void intr0() interrupt 0
{
flag=0;
}
/***************外部中断1函数**************/
void intr1() interrupt 2
1、把DCP-003的CS、RST短接后接到DCP-002的GND,DCP-003的CLK接到DCP-002的ALE。把DCP-003的P1接到DCP-002的P2。
2、把运动小车平台上左右两个行程开关的COM接电源的GND,左边的行程开关的NO接DCP-002的P3.2,右边的NO接P3.3,电机输入的红色接线柱接DCP-006的COM1,黑色接线柱接电源的GND。
{
shuchu=0;
display1();
#define uchar unsigned char
#define uint unsigned int
sbit qianjin=P3^2;
sbit houtui=P3^3;
sbit shuchu=P1^1;
uchar flag;
unsigned char code dispbitcode1[8][8] = {0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
for(j=0;j<8;j++)
for(i=0;i<8;i++)
{
D8279=dispbitcode1[j][i];
delays(300);
}
}
void display2(void)
{
uint i,j;
C8279=0x90; //写显示命令
for(j=0;j<8;j++)
for(i=0;i<8;i++)
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04};
unsigned char code dispbitcode2[8][8] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
相关文档
最新文档