小车往返运动单片机控制

合集下载

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

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

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

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

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

  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,
相关文档
最新文档