51红外循迹小车报告(舵机版)最终版
红外循迹小车c程序(舵机小车)
#include<reg52.h>sbit servo=P2^5;uint control=12;uint jishu;uint pianchu;sbit zuo11=P3^4; //为0为左边正转sbit zuo12=P3^5; //为1为左边正转sbit you21=P3^6; //为1为右边正转sbit you22=P3^7; //为0为右边正转uint sp,speed=3;uint ji=1,guang,bi; //判断循迹寻光变量uint stop1,stop2,stop3;void delay(uint a){uint b,c;for(b=a;b>0;b--)for(c=115;c>0;c--);}void qianjin() //可以当做延时函数来用{// P3=0x0f;// delay(speed);P3=0xf9;}void initial_T0(){TMOD=0x21;TH1=0x8c;TL1=0x8c;EA=1;ET1=1;TR1=1;}void xunji(){if(P1==0x00){qianjin();}// if(P1==0x20)// {// //加速// qianjin();// speed=2;// qianjin();// qianjin();// }if(P1==0x10){//左转qianjin();control+=1;qianjin();while(P1!=0x20){if(P1==0x08){//大角度左转qianjin();qianjin();control+=1;while(P1!=0x10){// if(P1==0x00) //偏出跑道,小车停止// {// speed=10000;// }pianchu++;if(pianchu>=20000){break;}}control-=1;qianjin();qianjin();}pianchu++;if(pianchu>=20000){break;}}pianchu=0;control-=1;qianjin();qianjin();}if(P1==0x40){//右转qianjin();control-=1;qianjin();while(P1!=0x20){if(P1==0x80){//大角度右转qianjin();control-=1;qianjin();while(P1!=0x40){// if(P1==0x00) //偏出跑道,小车停止// {// speed=10000;// }pianchu++;if(pianchu>=20000){break;}}qianjin();control+=1;qianjin();}pianchu++;if(pianchu>=20000){break;}}pianchu=0;qianjin();control+=1;qianjin();}}void main(){initial_T0();P1=0xf8;while(1){stop1=P1;if(stop1==stop2){stop3++;}else{stop3=0;}xunji();if(P1==0x80||P1==0x08||stop3>10000){P3=0x00;while(1);}stop2=P1;}}void T0_waytwo() interrupt 3 {if(jishu<control)servo=1;elseservo=0;jishu++;jishu=jishu%160;}。
51红外循迹小车报告(舵机版)最终版要点
简易教程前言往届全国大学生电子设计竞赛曾多次出现了集光、机、电于一体的简易智能小车题目,此次,笔者在通过多次论证、比较与实验之后,制作出了简易小车的寻迹电路系统。
整个系统基于普通玩具小车的机械结构,利用小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。
系统分为检测、控制、驱动三个模块。
首先利用光电对接收管和路面信号进行检测,然后经过比较器处理,对软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。
智能小车能在画有黑线的白纸“路面”上行驶,这是由于黑线和白纸对光线的反射系数不同,小车可根据接收到的反射光的强弱来判断“道路”---黑线,最终实现简单的循迹运动。
个人水平有限,有错误不足之处,还望各位前辈同学多多包含,指出修正,完善。
谢谢!李学云王维2016年7月27号目录前言 (1)第一部分硬件设计 (1)1.1 车模选择 (1)1.2传感器选择 (1)1.3 控制模块选择 (2)第二部分软件设计及调试 (3)2.1 开发环境 (3)2.2总体框架 (3)2.3 舵机程序设计与调试 (3)2.3.1 程序设计 (3)2.3.2 调试 (3)2.3.3 程序代码 (4)2.4 传感器调试 (5)2.4.1 传感器好坏的检测 (5)2.4.2 单片机能否识别信号并输出信号 (5)2.5 综合调试 (7)附录1 (9)第一篇舵机(舵机及转向控制原理) (9)1.1概述 (9)1.2舵机的组成 (10)1.3舵机工作原理 (11)1.4舵机使用中应注意的事项 (12)1.5如何利用程序实现转向 (12)1.6舵机测试程序 (13)附录2 (14)第二篇光电红外传感器 (14)2.1传感器的原理 (14)2.2红外光电传感器ST188 结构图 (15)2.3传感器的选择 (15)2.4传感器的安装 (16)2.5使用方法 (16)2.7红外传感器输入输出调试程序 (17)一、课题任务及要求用360°连续舵机设计一个自动循迹小车,可以自动行驶并检测到地面黑色轨迹,沿着黑色轨迹行驶.二、小车行驶基本原理小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。
循迹小车报告
循迹小车设计报告学校:定西师范高等专科学校产品名称:循迹小车日期:二〇一一年八月十八日摘要:本设计是一种基于单片机控制的简易自动寻迹小车系统,包括小车系统构成软硬件设计方法。
小车以AT89C51 为控制核心, 用单片机产生PWM波,控制小车速度。
利用红外光电传感器对路面白色轨迹进行检测,并将路面检测信号反馈给单片机。
单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着白色轨迹自动行驶,实现小车自动寻迹的目的。
循迹小车的电路系统包括电源模块、单片机模块、传感器模块、电机驱动模块。
一、工作原理:1.利用红外采集模块中的红外发射接收对管检测路面上的轨迹将轨迹信息送到单片机2.单片机通过输入的信息分别控制小车左右两个电机的转速,用来控制小车的方向3.最终完成智能小车可以按照路面上的白色轨迹运行二、设计方案该车采用红外传感器对白色路面进行道路检测,把采集到的信号传给AT89C51单片机,AT89C51单片机根据收到的信号判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制。
三、硬件模块设计:3.1 电源模块:电源采用自制直流稳压电源,通过对220V的交流电压的变压,整流、滤波、稳压,分别输出12V和5V的直流电压。
用来给小车各模块供给所需电压。
电源电路如图:3.2电机驱动模块:电机驱动芯片L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。
是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。
其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。
L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。
5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB 接控制使能端,控制电机的停转。
红外寻迹小车实验报告
重庆交通大学计算机与信息学院综合性设计性实验报告班级:电子信息工程专业2013 级01 班姓名(学号):杨云森(631306020101)实验项目名称:红外循迹智能小车实验项目性质:设计性实验所属课程:电子设计实践实验室(中心):现代电子实验中心指导教师:李星星实验完成时间: 2016 年 6 月 17日一、实验目的学习智能小车的制作流程,加深对单片机开发的理解和应用二、实验内容及要求做好单片机外扩,电源模块,寻迹模块,驱动模块四块板子,使小车能够正常的循迹。
三、实验原理这里的循迹是指小车在地板白纸上循黑线行走,通常采取的方法是红外探测法。
激光探测法,即利用激光激光在黑白颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射激光,当激光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则激光被吸收,小车上的接收管接收不到激光。
单片机就是否收到反射回来的激光为依据来确定黑线的位置和小车的行走路线。
激光探测器探测距离可以比较远,一般有60cm 左右。
1. 单片机最小系统单片机最小系统采用5V供电,并接有指示灯, 5mA左右电流足以驱动LED,LED 导通电压1.7V左右,因此配上1K电阻;蜂鸣器由8550驱动,1N4007二极管起到保护左右。
单片机根据接收的按键输入数据和传感器输出电平信号,输出一定脉冲数控制电机A和电机B的转动,从而控制小车的运动。
2. 电源电路设计智能车控制系统中,不同电路模块需要的工作电压和电流容量各不相同。
芯片需要提供5V的工作电压,而电机所需的电压为9V,本设计中用到的是9V的电源供电,然后通过三端稳压器LM7805将电压变换为5V电压供给电路系统。
电源系统的电路图如图所示。
3.电机驱动电路设计电路采用PWM(脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
基于51单片机的智能红外遥控书法小车的设计
基于51单片机的红外遥控书法小车课程设计题目名称:基于51单片机的红外遥控书法小车的设计专业班级:测控1402班学生姓名:赵向前学号: 201423030211 指导教师:周刚刘林芝单片机系统课程设计任务书目录1系统概述 (1)2方案论证 (2)2.1 使用普通直流减速电机 (2)2.2 使用四象八拍步进电机 (2)3硬件设计 (3)3.1系统的原理方框图 (3)3.1.1. 12V直流电源 (3)3.1.2 5V稳压模块 (4)3.1.3.控制系统模块 (4)3.1.4. 红外接收模块 (5)3.1.5. 步进电机驱动 (6)3.1.6. 步进电机 (6)3.2主电路 (8)3.3. I/O分配 (8)3.3. I/O连线图 (8)4软件设计 (8)4.1流程图 (9)4.2源程序 (9)5系统调试 (28)6.使用方法 (28)7.设计心得 (28)参考文献 (29)1系统概述该小车是我在练字时无意间蹦出的一个想法,于是我就想让小车按照固定的轨迹行走,并使其驱动一杆毛笔,不就能让小车也能写出富有艺术的毛笔字了吗?基于这样的构想,我就设计方案制作一辆智能书法小车,后来设计完成后我又加上了红外遥控,于是就做成了最终的基于STC89C52RC单片机的智能红外遥控书法小车。
该作品所要实现的功能如下:1.按照固定的轨迹行走2.能够驱动毛笔写字3.实现红外遥控启动4.非工作模式下进入掉电模式实现低功耗长待机5.使用步进电机控制小车运行速度使其能够平稳稳定运行6.电流失控报警功能,使用LED灯泡实现对总电流及各个模块电流运转情况进行监控显示,电流平稳时,LED灯常亮,当电流出现异常巨大变动时,LED灯闪烁示警各模块参数:1.12V直流总电源供电2. 稳压模块使用L7805器件将12V电源转化为直流5V电源为各个模块供电3. 使用STC89C52RC单片机作为控制芯片4. 使用ULN2003芯片作为步进电机驱动5. 使用28BYT-48-5VDC永磁式直流5V四相八拍减速步进电机作为发动机6. 使用28BYT-48-5VDC永磁式直流5V四相八拍减速步进电机作为毛笔驱动2.方案论证2.1方案一:采用普通直流减速电机直流减速电机作为最常用的直流电机又有着控制简单,速度快等特点,但是在我们的智能书法小车上如果使用这种电机的话,就会出现很多的问题,其中,速度过快,很难精确地控制小车的位移,其次,普通直流减速电机的力矩较小,难以实现快速改变其运动轨迹的要求,所以,总的来说,使用普通直流减速电机并不合适,将之摒弃。
51单片机-循迹小车项目报告(完整)
宜宾职业技术学院《单片机系统设计》项目设计报告项目设计题目:智能寻迹小车系部:电子信息与控制工程系班级:电子XXXX 班组号:第四组小组成员:XXX指导教师:XXX2017年10月10日目录一、引言 (3)二、方案论证 (4)三、小车车体设计 (7)四、硬件系统设计 (8)1、单片机最小系统 (8)2、循迹电路 (9)3、电机驱动电路 (9)五、软件系统设计 (12)六、系统的制作、仿真与调试 (14)七、总结 (15)一、引言当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。
现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。
作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。
无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。
但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为电子专业学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。
为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。
基于51单片机的寻迹小车设计报告
寻迹小车摘要:以C8051F单片机作为微空机器,设计出一种寻迹小车,通过红外传感器检测黑带信号,利用单片机输出PWM脉冲控制两组直流电机正反转和转动的速度,使小车沿着还带行走。
关键词:寻迹,检测,传出信号。
1.方案论证与选择1.1电机驱动芯片的选择方案一:采用内部集成H桥式芯片L298驱动电路。
方案二:采用分立元件的H桥驱动电路。
由于采用内部集成H桥式芯片每一组PWM波用来控制一个电机的速度,而另外两个I/O口可以控制电机的正反转,控制比较简单,电路也很简单,一个芯片内包含有8个功率管,这样简化了电路的复杂性,所以采用方案一。
1.2传感器的选择方案一:采用发光二极管发光,用光敏二极管接收。
当发光二极管发出的可见光照射到黑带时,光线被黑带接收,光敏二极管检测到信号,呈现高阻抗,使输出端为低电平。
当发光二极管发出的可见光照射到地面时,它发出的可见光反射回来被光敏二极管检测到时,起阻抗迅速降低,此时输出端为高电平。
但是由于光敏二极管受环境中可见光影响较大,电路中的电压不太稳定。
方案二:利用红线发射管发射红线,红外线二极管进行接收。
采用四组红外光敏耦合三极管发射和接收红外信号,外面课见光对接收的信号影响较小。
接收的红外信号转化为电压信号经过LM393进行比较,产生高电平或低电平输出,信号返回给C8051F单片机.方案三:采用光敏电阻接收可见光检测。
四组光敏电阻用于检测可见光信号。
当光敏电阻检测到黑带时,输出端为低电平,当光敏电阻没有检测到黑带时,输出端为高电平,信号返回给单片机,通过单片机控制电机的转向。
光敏电阻易受环境的影响,电压稳定性较差。
综上比较,本设计才用方案二。
2.硬件设计2.1元器件明细表:(1) C8051单片机×1(2) 298带散热片×1(3) 7805带散热片×2(4) TCR5000 ×8(5) LM393 ×4(6)定位器×9(7) 1602显示屏×1(8)开关×1(9)电容:470uF ×110uf ×2104 ×4(9)电阻:EN4007 ×8150Ω×125.1K ×8200Ω×1(10)发光二极管×11(11)三极管×1(12)蜂鸣器×1(13)其他:导线,排线,排针,杜邦头,杜邦针2.2单元电路设计:2.11单片机最小系统电路2.12驱动电路2.13寻迹电路2.14电源电路2.15显示屏电路2.16蜂鸣器电路2.17指示灯电路VDD +5150VSS3、软件设计主控芯片为C8051F120,编程由C语言实现,程序流程如下:4.系统测试4.1单元电路的检测:4.11驱动电路的检测5V、12V、接地分别接好,使能1使能2接口接5V,A口接5V,B口接地,C口接5V,D口接地,然后用万用电表测01和02,03和04的输出电压是否为12V(可有小偏差),然后交换A,B接口,测01和02,03和04的输出电压是否反向,最后断开使能1和使能2接口,测01和02,03和04的输出电压是否为0V.4.12寻迹电路的检测先把电路接通,用照相机观察TCRT5000是否发光,再把万用表调到20V档位,正接线柱接输出,负接线柱接负极,看电压表示数是否5V(可有小偏差),用白纸挡上四个TCRT5000后,看电压是否有明显变化,最好低电压为1V以下。
51循迹小车程序实验报告
竭诚为您提供优质文档/双击可除51循迹小车程序实验报告篇一:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用sTc公司的89c52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298n芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车单片机红外光对管sTc89c52L298n1绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。
在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。
2设计任务与要求采用mcs-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。
3方案设计与方案选择3.1硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。
3.1.1单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。
由于以前自己开发板使用的是ATmeL公司的sTc89c52,所以让然选择这个芯片作为控制核心部件。
sTc89c52是一种低损耗、高性能、cmos八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
其程序和数据存储是分开的。
3.1.2传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
基于51单片机红外遥控小车制作报告
基于51单片机红外遥控小车制作报告基于51单片机红外遥控小车是一项有趣且有挑战性的项目,通过该项目的实践,可以深入了解单片机和红外遥控的原理,并提高自己的动手能力和解决问题的能力。
本文将介绍基于51单片机红外遥控小车的制作过程和实现的功能。
一、实验原理1.51单片机原理51单片机是一种广泛应用于电子产品和嵌入式系统中的微控制器,采用的是哈佛结构,具有较高的性能和稳定性,广泛使用于工业自动化和嵌入式开发中。
2.红外遥控原理红外遥控是一种常见的遥控方式,通过使用红外光发射器和接收器之间的通信,实现无线遥控设备的功能。
红外遥控信号一般由多个比特组成的数据包,通过不同的数据包可以实现不同的操作。
二、实验器材和工具1.器材2个电机、L298N电机驱动模块、51单片机、红外接收器、红外发射器、遥控器、电池盒、杜邦线等。
2.工具电烙铁、焊锡、剪线钳、螺丝刀、万用表等。
三、制作步骤1.电路连接将L298N电机驱动模块与电机连接,L298N模块的输入引脚与单片机的输出引脚连接,红外接收器与单片机的IO引脚连接,红外发射器与单片机的IO引脚连接。
2.程序设计根据需求编写程序,包括红外遥控信号解析、电机控制等功能。
3.调试测试四、实现的功能1.红外信号解析通过红外接收器接收到遥控器发送的红外信号,解析信号中的数据包,判断用户的操作。
2.基本运动控制根据用户的操作,通过控制电机的转动方向和速度,实现小车的前进、后退、左转、右转等基本运动功能。
3.灵敏度调节通过调整程序中的参数,可以调节小车的灵敏度,使其对用户的操作更加敏感和准确。
4.智能避障在程序中添加红外避障功能,当小车检测到前方有障碍物时,自动停下或转向避开障碍物,保证小车的安全。
五、实验心得通过制作基于51单片机红外遥控小车的实验,我深入了解了51单片机和红外遥控的原理,并提高了自己的动手能力和解决问题的能力。
在实验过程中遇到了一些困难,但通过查阅资料和与同学交流,我成功地解决了这些问题。
51循迹小车程序实验报告
竭诚为您提供优质文档/双击可除51循迹小车程序实验报告篇一:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用sTc公司的89c52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298n芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车单片机红外光对管sTc89c52L298n1绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。
在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。
2设计任务与要求采用mcs-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。
3方案设计与方案选择3.1硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。
3.1.1单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。
由于以前自己开发板使用的是ATmeL公司的sTc89c52,所以让然选择这个芯片作为控制核心部件。
sTc89c52是一种低损耗、高性能、cmos八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
其程序和数据存储是分开的。
3.1.2传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
红外循迹小车实验报告
一、实验目的1. 熟悉红外循迹传感器的工作原理和特点;2. 掌握红外循迹小车的搭建方法;3. 理解红外循迹小车的工作原理;4. 通过实验验证红外循迹小车的性能。
二、实验原理红外循迹小车是一种利用红外传感器检测地面颜色变化来实现循迹的小车。
红外循迹传感器主要由红外发射管和红外接收管组成。
当红外发射管发射的红外线照射到地面时,如果地面是黑色,红外线会被吸收,传感器接收到的光强会减弱;如果地面是白色,红外线会被反射,传感器接收到的光强会增强。
通过检测红外接收管接收到的光强变化,可以判断地面颜色,从而实现循迹功能。
三、实验器材1. 红外循迹传感器模块;2. 51单片机;3. 步进电机驱动模块;4. 电池;5. 电机;6. 连接线;7. 平面黑线;8. 平面白线;9. 实验平台。
四、实验步骤1. 搭建红外循迹小车电路:将红外循迹传感器模块、51单片机、步进电机驱动模块、电池、电机等连接起来,确保电路连接正确。
2. 编写程序:编写51单片机程序,实现对红外循迹传感器数据的读取、处理和电机驱动的控制。
3. 调试程序:将编写好的程序烧录到51单片机中,调试程序,确保小车能够按照预期循迹。
4. 实验验证:将小车放置在实验平台上,将地面铺设成黑线和白线交替的模式,观察小车是否能够按照黑线行驶。
五、实验结果与分析1. 实验结果:经过调试,小车能够按照地面上的黑线行驶,实现循迹功能。
2. 实验分析:(1)红外循迹传感器模块在接收到的光强变化时,会产生高低电平信号,通过读取这些信号,可以判断地面颜色;(2)51单片机根据红外循迹传感器模块的信号,计算出小车与黑线的距离,从而控制步进电机驱动模块,使小车按照黑线行驶;(3)在实验过程中,发现红外循迹小车的循迹性能与地面材质、光线等因素有关,需要根据实际情况调整红外循迹传感器模块的安装角度和距离。
六、实验总结通过本次实验,我们了解了红外循迹传感器的工作原理和特点,掌握了红外循迹小车的搭建方法,并验证了红外循迹小车的性能。
51红外循迹小车报告(舵机版)最终版
简易教程前言往届全国大学生电子设计竞赛曾多次出现了集光、机、电于一体的简易智能小车题目,此次,笔者在通过多次论证、比较与实验之后,制作出了简易小车的寻迹电路系统。
整个系统基于普通玩具小车的机械结构,利用小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。
系统分为检测、控制、驱动三个模块。
首先利用光电对接收管和路面信号进行检测,然后经过比较器处理,对软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。
智能小车能在画有黑线的白纸“路面”上行驶,这是由于黑线和白纸对光线的反射系数不同,小车可根据接收到的反射光的强弱来判断“道路”---黑线,最终实现简单的循迹运动。
个人水平有限,有错误不足之处,还望各位前辈同学多多包含,指出修正,完善。
谢谢!李学云王维2016年7月27号目录前言 (1)第一部分硬件设计 (1)1.1 车模选择 (1)1.2传感器选择 (1)1.3 控制模块选择 (2)第二部分软件设计及调试 (3)2.1 开发环境 (3)2.2总体框架 (3)2.3 舵机程序设计与调试 (3)2.3.1 程序设计 (3)2.3.2 调试 (3)2.3.3 程序代码 (4)2.4 传感器调试 (5)2.4.1 传感器好坏的检测 (5)2.4.2 单片机能否识别信号并输出信号 (5)2.5 综合调试 (7)附录1 (9)第一篇舵机(舵机及转向控制原理) (9)1.1概述 (9)1.2舵机的组成 (10)1.3舵机工作原理 (11)1.4舵机使用中应注意的事项 (12)1.5如何利用程序实现转向 (12)1.6舵机测试程序 (13)附录2 (14)第二篇光电红外传感器 (14)2.1传感器的原理 (14)2.2红外光电传感器ST188 结构图 (15)2.3传感器的选择 (15)2.4传感器的安装 (16)2.5使用方法 (16)2.7红外传感器输入输出调试程序 (17)一、课题任务及要求用360°连续舵机设计一个自动循迹小车,可以自动行驶并检测到地面黑色轨迹,沿着黑色轨迹行驶.二、小车行驶基本原理小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。
寻迹小车实验报告模板
寻迹小车实验报告模板1. 引言寻迹小车是一种利用红外线传感器来检测地面上黑线的位置,从而实现沿着黑线行驶的智能小车。
这种小车在工业自动化、机器人等领域有着广泛的应用。
本实验旨在通过组装寻迹小车并编写控制程序,探究寻迹原理并验证其功能。
本报告将详细介绍实验所用材料与方法、实验过程与结果分析。
2. 材料与方法2.1 材料- 寻迹小车套装:包括车身、电机、红外线传感器等部分- Arduino开发板及USB数据线- 计算机2.2 方法1. 将寻迹小车按照说明书进行组装,并确保连接正常。
2. 将Arduino开发板连接至计算机,并打开Arduino IDE。
3. 编写控制程序,包括红外线传感器的数据读取与小车运动控制部分。
4. 将程序烧录至Arduino开发板。
5. 放置寻迹小车于地面上的黑线上,并观察小车的运动情况。
3. 实验过程与结果分析3.1 实验过程按照上述方法进行实验,并记录实验过程中的关键步骤及观察结果。
3.2 结果分析分析实验结果,包括小车是否能在黑线上准确行驶、行驶速度是否稳定、控制程序的有效性等方面进行分析,并提出可能的问题与改进方案。
4. 结论通过本次实验,我们成功组装了寻迹小车并编写控制程序,实现了小车沿着黑线行驶的功能。
在实验过程中,我们观察到小车能够准确地跟踪黑线并保持稳定的行驶速度。
然而,在一些曲线等复杂路径上,小车可能会出现偏离线路的情况,需要进一步改进控制程序。
5. 参考文献[1] 张三,李四. 寻迹小车实验方法与分析. 机器人科学与技术学报,2020,(2):56-60.附录:实验代码cinclude <IRremote.h>define IR_LEFT_PIN 4define IR_MIDDLE_PIN 3define IR_RIGHT_PIN 2define MOTOR_LEFT_PIN1 5define MOTOR_LEFT_PIN2 6define MOTOR_RIGHT_PIN1 10define MOTOR_RIGHT_PIN2 11IRrecv irrecv(IR_MIDDLE_PIN);decode_results res;void setup() {pinMode(IR_LEFT_PIN, INPUT);pinMode(IR_MIDDLE_PIN, INPUT);pinMode(IR_RIGHT_PIN, INPUT);pinMode(MOTOR_LEFT_PIN1, OUTPUT); pinMode(MOTOR_LEFT_PIN2, OUTPUT); pinMode(MOTOR_RIGHT_PIN1, OUTPUT); pinMode(MOTOR_RIGHT_PIN2, OUTPUT); irrecv.enableIRIn(); 启用红外线接收器}void loop() {if (irrecv.decode(&res)) {switch (res.value) {case 0xFFFFFFFF: 红外线无信号时停止小车运动stop();break;case 0xFFE01F: 小车前进forward();break;case 0xFF609F: 小车后退backward();break;case 0xFFA857: 小车左转turnLeft();break;case 0xFF9867: 小车右转turnRight();break;}irrecv.resume(); 继续接收红外线信号}}void forward() {digitalWrite(MOTOR_LEFT_PIN1, HIGH); digitalWrite(MOTOR_LEFT_PIN2, LOW); digitalWrite(MOTOR_RIGHT_PIN1, HIGH); digitalWrite(MOTOR_RIGHT_PIN2, LOW); }void backward() {digitalWrite(MOTOR_LEFT_PIN1, LOW); digitalWrite(MOTOR_LEFT_PIN2, HIGH); digitalWrite(MOTOR_RIGHT_PIN1, LOW); digitalWrite(MOTOR_RIGHT_PIN2, HIGH); }void turnLeft() {digitalWrite(MOTOR_LEFT_PIN1, HIGH); digitalWrite(MOTOR_LEFT_PIN2, LOW); digitalWrite(MOTOR_RIGHT_PIN1, LOW); digitalWrite(MOTOR_RIGHT_PIN2, HIGH); }void turnRight() {digitalWrite(MOTOR_LEFT_PIN1, LOW); digitalWrite(MOTOR_LEFT_PIN2, HIGH); digitalWrite(MOTOR_RIGHT_PIN1, HIGH); di。
循迹小车实验报告
实践设计报告(嵌入式技术实践二)学院:电气工程与自动化学院题目:基于51单片机的循迹小车专业班级:自动化131班学号:19学生姓名:***指导老师:***2014年6月30日目录第一章引言 (3)1.1 设计目的 (3)1.2 设计方案介绍 (3)1.3 技术报告内容安排 (3)第二章技术方案概要说明 (4)第三章硬件电路的设计 (5)3.1 单片机最小系统 (5)3.2 传感器电路 (5)3.3 电源电路设计 (6)3.4 舵机及电机驱动电路设计 (8)第四章软件系统的实现 (9)4.1 主程序设计 (9)4.2 程序设计 (9)第五章结论 (11)第六章致谢 (12)参考文献 (13)第一章引言1.1 设计目的通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。
进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。
1.2 设计方案介绍该智能车采用红外对管方案进行道路检测,单片机根据采集到的红外对管的不同状态判断小车当前状态,从而发出控制命令,控制舵机和电机的工作状态以实现对小车姿态的控制。
1.3 技术报告内容安排本技术报告主要分为三个部分。
第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术方案的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。
基于51单片机的循迹小车设计报告第二章技术方案概要说明本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块、舵机控制模块。
在整个系统中,由电源管理模块实现对其他各模块的电源管理。
其中,对单片机、光电管、舵机提供5V电压,对电机提供6V电压。
路径识别电路由2对光电发送与接收管组成。
由于路面存在黑色引导线,落在黑线区域内的光电接收管接收到反射的光线的强度与白色的路面不同,进而在光电接收管两端产生不同的电压值,由此判断路线的走向。
循迹小车设计报告-精华51单片机智能小车
设计报告课程:机器人工程设计名称:智能循迹小车小组成员:学号:专业:机械电子工程日期: 2012/2/5指导老师:成绩:1.任务及要求1.1任务设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶。
系统方案方框图如图1-1所示。
图1-1 系统方案方框图2.系统设计方案2.1小车循迹原理这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。
通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
2.2控制系统总体设计自动循迹小车控制系统由主控制电路模块、直流电压电源模块、红外检测模块、电机及驱动模块等部分组成,控制系统的结构框图如图2-1 所示。
图2-1控制系统的结构框图主控制电路模块:用STC89C52单片机、复位电路,时钟电路其他模块见表2-1所示。
表2-1 其他模块构成电机及驱动模块寻迹传感模块电源模块电机驱动红外发射/接受头6V直流电直流电机LG9110 5号电池两个两个两对四个3.系统方案3.1 寻迹传感器模块本寻迹采用简单的红外探头。
白色的为红外发射探头,通电后连续的发射红外光线;黑色的为红外接收探头,接受反射回来的红外光线。
当寻迹时,红外接收头接收到黑线反射的红外光,电阻变小,对应P1端变为低电平。
将信号送入单片机进行处理。
3.2控制器模块采用STC89C52单片机作为主控制器。
它是一个低功耗,高性能的8 位单片机,片内含32k 空间的可反复擦写100,000 次Flash 只读存储器,具有4K 的随机存取数据存储器(RAM),32 个I/O口,2个8位可编程定时计数器,且可在线编程、调试,方便地实现程序的下载与整机的调试。
红外小车实验报告
一、实验目的1. 理解红外传感器的工作原理和特性;2. 掌握红外传感器的应用方法;3. 设计并实现一个基于红外传感器的自动循迹小车;4. 通过实验,提高动手实践能力和创新思维能力。
二、实验原理红外传感器是一种通过检测红外线来实现检测和测量的传感器。
它具有响应速度快、灵敏度高、抗干扰能力强等特点。
红外传感器分为红外发射器和红外接收器两部分,通过红外发射器发射红外线,红外接收器接收反射回来的红外线,从而实现检测和测量的目的。
三、实验器材1. 红外发射器;2. 红外接收器;3. 单片机;4. 电机驱动模块;5. 舵机;6. 小车底盘;7. 连接线;8. 电源;9. 黑色纸带;10. 纸板。
四、实验步骤1. 红外传感器安装:将红外发射器和红外接收器安装在纸板上,使其与纸板平行,距离适当。
2. 单片机编程:编写单片机程序,实现红外传感器的信号处理、小车控制等功能。
3. 电机驱动模块连接:将电机驱动模块与单片机连接,实现电机的控制。
4. 舵机连接:将舵机与单片机连接,实现舵机的控制。
5. 小车底盘安装:将纸板固定在小车底盘上,确保红外传感器和小车底盘固定牢固。
6. 路线设计:在实验平台上铺设黑色纸带,作为小车的循迹路线。
7. 红外传感器调试:调整红外传感器与纸带之间的距离,使红外接收器能够接收到反射回来的红外线。
8. 小车调试:调整电机驱动模块和舵机的控制参数,使小车能够按照既定路线前进。
五、实验结果与分析1. 实验结果:通过调试,小车能够按照既定路线前进,实现了红外循迹功能。
2. 结果分析:(1)红外传感器性能:红外传感器具有响应速度快、灵敏度高、抗干扰能力强等特点,为小车的循迹提供了可靠保证。
(2)单片机程序:单片机程序实现了红外传感器的信号处理、小车控制等功能,为小车的循迹提供了核心控制。
(3)电机驱动模块:电机驱动模块实现了电机的控制,为小车的运动提供了动力。
(4)舵机:舵机控制小车转向,使小车能够按照既定路线前进。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简易教程前言往届全国大学生电子设计竞赛曾多次出现了集光、机、电于一体的简易智能小车题目,此次,笔者在通过多次论证、比较与实验之后,制作出了简易小车的寻迹电路系统。
整个系统基于普通玩具小车的机械结构,利用小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。
系统分为检测、控制、驱动三个模块。
首先利用光电对接收管和路面信号进行检测,然后经过比较器处理,对软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。
智能小车能在画有黑线的白纸“路面”上行驶,这是由于黑线和白纸对光线的反射系数不同,小车可根据接收到的反射光的强弱来判断“道路”---黑线,最终实现简单的循迹运动。
个人水平有限,有错误不足之处,还望各位前辈同学多多包含,指出修正,完善。
谢谢!李学云王维2016年7月27号目录前言 (1)第一部分硬件设计 (1)1.1 车模选择 (1)1.2传感器选择 (1)1.3 控制模块选择 (2)第二部分软件设计及调试 (3)2.1 开发环境 (3)2.2总体框架 (3)2.3 舵机程序设计与调试 (3)2.3.1 程序设计 (3)2.3.2 调试 (3)2.3.3 程序代码 (4)2.4 传感器调试 (5)2.4.1 传感器好坏的检测 (5)2.4.2 单片机能否识别信号并输出信号 (5)2.5 综合调试 (7)附录1 (9)第一篇舵机(舵机及转向控制原理) (9)1.1概述 (9)1.2舵机的组成 (10)1.3舵机工作原理 (11)1.4舵机使用中应注意的事项 (12)1.5如何利用程序实现转向 (12)1.6舵机测试程序 (13)附录2 (14)第二篇光电红外传感器 (14)2.1传感器的原理 (14)2.2红外光电传感器ST188 结构图 (15)2.3传感器的选择 (15)2.4传感器的安装 (16)2.5使用方法 (16)2.7红外传感器输入输出调试程序 (17)一、课题任务及要求用360°连续舵机设计一个自动循迹小车,可以自动行驶并检测到地面黑色轨迹,沿着黑色轨迹行驶.二、小车行驶基本原理小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。
通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
三、总体设计方案通过51单片机,在“while(1){}”里面不断扫描外部输入I/O口,若能读到高电平,则输出相应的舵机控制程序。
(要求:51 I/O口TTL门输入电压3.5V以上为高电平,1.2V以下为低电平。
读取引脚时,先置1再读取).第一部分硬件设计1.1 车模选择本教程选择带有两舵机和一万向轮的车模。
舵机型号:SM-S4303R(360°旋转舵机).其原理及详细操作说明,见附录1.车模实物如图1.1.图1.11.2传感器选择本教程选择ST188 红外对管光电传感器,使用左、前、右分布的三个传感器(前伸为了检测十字路口)。
传感器应用电路图如图1.2。
光电传感器原理详情,请看附录2->传感器篇。
图1.2应用原理:红外探测法红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。
在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。
1.3 控制模块选择因为循迹小车,只需要做简单的输入输出操作,普通51单片机都能实现其功能.本教程选用是51单片机型号为STC89C52RC的最小系统板(有引脚引出的)。
本教程里的程序理论上具有51内核的单片机都可使用。
最小系统原理图,如图1.3.图1.3 51最小系统原理图1.4 供电扩展版为了控制的稳定,舵机直接从电源VCC串个二极管供电。
这里采用简单的电源扩展,将5V电源引入扩展板,再引出供给电机和控制模块。
(这里最好把二极管接上,消除电机感性对单片机的影响)注意:当舵机与控制板供电电源不同时,两边必须共地,数字信号才能同步。
否则控制信号会发生混乱,导致无法控制。
第二部分软件设计及调试2.1 开发环境Keil C51 v9.54a、stc-isp-15xx-v6.85H、USB-TLL 51下载器(烧录程序用)2.2总体框架2.3 舵机程序设计与调试2.3.1 程序设计通过了解,知道89S51单片机自身没有PWM接口,故使用定时器模拟产生PWM波,进行舵机速度调试。
使用51单片机的定时器T0工作在方式1,赋予初值“TH0=(65535-100)/256; TL0=(65535-100)%256;”定时0.1ms(晶振频率12MHz),用count计数200,产生50HZ的脉冲频率(舵机最适频率)。
设全局变量LS、RS来控制占空比,从P1.0 P1.1输出PWM信号,两口外接舵机。
附:1.脉冲产生原理:周期20ms,定时1.2ms为高电平,其他时间为低电平.即可产生占空比为6%(一周期内高电平占比)的脉冲信号.2.pwm控制舵机原理,可理解为一个高电平舵机一动,给的多动的快,但有范围。
2.3.2 调试调试目的:得到正反转占空比范围。
我的调试数据为: 正转范围0.5%~6%(即:LS=1,LS=12)反转范围6.5%以上(即:LS>=13)2.3.3 程序代码/******************************************************51单片机舵机调试程序调试参数: 1.定时器定时0.1ms,计数200,定时20ms(50HZ). (360°左舵机为例): 频率50HZLS=12 (即占空比%6),电机正转最慢*******************RS=13 (即占空比%6.5),电机正转最慢****************//*提示:1.调试舵机时,最好单独供电(控制信号与电源供电分离).2.控制信号与供电电源必须共地。
*//*****************作者:李学云2016.7.23****************/(......排版好乱)#include "reg52.h"#define uchar unsigned charuchar count=0,LS=2,RS=15; //count: 定时计数LS:左路舵机脉宽调试sbit pwm_L=P1^0; //左路电机输出sbit pwm_R=P1^1;void init(){pwm_L=0; //占空比控制变量初始化pwm_R=0;//定时器,初始化,定时器T0工作方式1TMOD=0x01;TH0=(65535-100)/256; //基准定时时间为0.1msTL0=(65535-100)%256;EA=1;ET0=1;TR0=1;}void main(){init();while(1){ }}void timer0() interrupt 1 //定时器T0中断服务函数, 1 为T0中断号,3 为T1中断号{TH0=(65535-100)/256;TL0=(65535-100)%256;count++;if(count<=LS) {pwm_L=1;} else {pwm_L=0;}if(count<=RS) {pwm_R=1;} else {pwm_R=0;}count=count%200; //定时20ms 频率50hz}2.4 传感器调试2.4.1 传感器好坏的检测给传感器通上电,使传感器高度在0.3mm-10mm,并来回的在黑白线间移动,同时用万用表检测,看在黑线时,电压输出是否大于 3.5V,白线时电压是否低于1.2V。
2.4.2 单片机能否识别信号并输出信号三路传感器分别接到单片机P1.5 P1.6 P1.7口,P0口接8个LED灯。
下好程序,接好线,通电并移动传感器在黑白之间(高度0.5mm左右),观察P0.5 P06 P0.7口LED是否有闪烁,有则单片机能识别信号并输出信号。
/******三路红外光电传感器测试程序*********//*****P0口接上一排LED灯做指示用*********//****现象:单片机能识别到传感器信号,则对应P0.5 P06 P0.7口LED闪烁,否则只有P0.1 P02 P0.3闪烁。
***********/#include "reg52.h"#define uchar unsigned charuchar count=0,LS=0,RS=0;sbit pwm_L=P1^0; //左路电机输出sbit pwm_R=P1^1;sbit k1=P1^5;sbit k2=P1^6;sbit k3=P1^7;sbit led1=P0^1;sbit led2=P0^2;sbit led3=P0^3;sbit led4=P0^5;sbit led5=P0^6;sbit led6=P0^7;void delay(uchar k){uchar i;for(;k>0;k--)for(i=0;i<=128;i++);}void init(){pwm_L=0;pwm_R=0;P1=0xff;TMOD=0x01;TH0=(65535-100)/256;TL0=(65535-100)%256;EA=1;ET0=1;TR0=1;}void main(){init();while(1){if(k1==1) {LS=0; RS=5;led1=0;delay(100);led1=1;} if(k2==1) {LS=16;RS=0;led2=0;delay(100);led2=1;} if(k3==1) {LS=0; RS=5;led3=0;delay(100);led3=1;}if(k1==0) {LS=16;RS=0;led4=0;delay(100);led6=1;} if(k2==0) {LS=0; RS=5;led5=0;delay(100);led5=1;} if(k3==0) {LS=16;RS=0;led6=0;delay(100);led6=1;} }}void timer0() interrupt 1{TH0=(65535-100)/256;TL0=(65535-100)%256;count++;if(count<=LS) {pwm_L=1;} else {pwm_L=0;}if(count<=RS) {pwm_R=1;} else {pwm_R=0;}count=count%200;}第三部分综合调试3.1综合调试3.1.1接线3.1.2 调试程序接线:P2.0 P2.1分别接舵机pwm输入线。