基于51单片机光电对管智能小车从入门到精通全教程分解
- 格式:doc
- 大小:3.19 MB
- 文档页数:18
基于51单片机红外无线遥控智能小车控制设计摘要:本文利用51单片机设计了一款具有红外无线遥控功能的智能小车控制系统。
该系统基于红外技术,实现了对智能小车的远程控制。
通过建立遥控信号传输模型和小车控制模块,实现了智能小车的实时运动控制,包括前进、后退、左转、右转等操作。
本文详细介绍了系统设计方案、硬件设计和软件设计,通过实验验证,证明该系统能够稳定地实现智能小车的远程控制,具有一定的应用价值和推广前景。
关键词:51单片机;红外无线遥控;智能小车控制;遥控信号传输模型Abstract:In this paper, a smart car control system with infrared wireless remote control function based on 51 single-chip microcomputer is designed. The system is based on infrared technology, which realizes the remote control of the smart car. By establishing the remote control signal transmission model and the car control module, real-time motion control of the smart car, including forward, backward, turning left and turning right, is realized. This paper introduces the system design scheme, hardware design and software design in detail. Through experiments, it is proved that the system can stably realize the remote control of the smart car, and has certain application value and promotion prospects.Keywords:51 single-chip microcomputer; infrared wireless remote control; smart car control; remote control signaltransmission model1. 引言智能小车控制系统是一种目前比较受关注的智能化系统,在智能出行和智慧交通中有着广泛的应用。
12技术应用卫星电视与宽带多媒体基于51单片机的智能循迹避障遥控小车■空军预警学院 :谢菁【摘要】随着现代科技的迅速发展,智能化小车逐渐被应用到更多领域。
本设计的智能小车采用STC12C5A60S2单片机为主控芯片,以Keil μVision4软件为开发平台,经过软、硬件综合设计,小车可以实现红外遥控、红外循迹和超声波避障等功能。
【关键词】STC12C5A60S2单片机;红外遥控;直流电机;Keil μVision4引言目前,智能车发展速度迅猛,是融合了计算机、造型技术、传感技术、电子、机械、控制、人工智能等多个学科交叉的科技创新技术,在各个领域扮演着重要角色。
同时,在国家级、省级电子设计竞赛以及其它创新设计竞赛中几乎每次都能找到智能车类型题目的踪影,并且全国各类高校对该方向的题目研究也非常重视。
因此,具有广阔的应用前景和较大的研究意义。
在实践过程中,熟悉以单片机为核心控制芯片,采用智能控制算法实现小车的遥控、循迹和避障等功能。
一、总体方案设计本次设计采取的主控芯片是宏晶科技公司生产的STC12C5A60S2单片机。
硬件电路主要由五部分组成,分别为:单片机主控模块,电源模块、电机驱动模块、红外遥控模块、循迹检测模块和超声波避障模块。
如图1所示。
通过红外遥控系统的编/解码专用集成电路芯片来进行遥控操作;利用红外收发管,根据红外信号对不同颜色产生不同反射系数的原理,根据接收管输出电压的变化,单片机驱动直流电机来确定小车行走方向,进而实现循迹功能;利用超声波测量小车与障碍物之间的距离,再通过舵机控制超声波模块对不同方向的障碍物进行探测,将测试数据传送给单片机,单片机就可以根据传感器发来的信号发出命令让小车开始改变原始的方向,从而实现避障功能。
二、系统硬件部分(1)单片机控制模块由STC12C5A60S2单片机构成的最小应用系统如图2所示,主要由电源电路、复位电路、振荡电路和单片机4图1 系统总框图图2 单片机最小系统原理图13技术应用卫星电视与宽带多媒体个部分组成。
基于80C51的电动智能单片机摘要80C51单片机是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。
这里介绍的是如何用80C51单片机来实现长春工业大学的毕业设计,该设计是结合科研项目而确定的设计类课题。
本系统以设计题目的要求为目的,采用80C51单片机为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。
整个系统的电路结构简单,可靠性能高。
实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
采用的技术主要有:(1)通过编程来控制小车的速度;(2)传感器的有效应用;(3)新型显示芯片的采用.关键词80C51单片机、智能、光电检测器、PWM调速、电动小车Design and create an intelligence electricity motive small carAbstract80C51 is a 8 bit single chip computer. Its easily using and multi-function suffer large users. This article introduces the CCUT graduation design with the 80C51 single chip computer. This design combines with scientific research object. This system regards the request of the topic, adopting 80C51 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 80C51 single chip computer, light electricity detector, PWM speed adjusting, Electricity motive small car目录第一章前言 (1)第二章方案设计与论证 (3)一直流调速系统 (3)二检测系统 (4)三显示电路 (9)四系统原理图 (9)第三章硬件设计 (10)一 80C51单片机硬件结构 (10)二最小应用系统设计 (11)三前向通道设计 (12)四后向通道设计 (15)五显示电路设计 (17)第四章软件设计 (20)一主程序设计 (20)二显示子程序设计 (24)三避障子程序设计 (25)四软件抗干扰技术 (26)五“看门狗”技术 (28)六可编程逻辑器件 (29)第五章测试数据、测试结果分析及结论 (30)致谢 (31)参考文献 (32)附录A 程序清单 (33)附录B 硬件原理图 (41)第一章前言随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
基于单片机的智能玩具小车的设计基于单片机的智能玩具小车的设计1. 引言随着科技的进步和人们对智能化产品的需求增加,智能玩具小车成为了孩子们喜爱的玩具之一。
本文介绍了一种基于单片机的智能玩具小车的设计方案,旨在提供给孩子们一种有趣且具有教育意义的玩具。
2. 系统组成该智能玩具小车由四个主要组成部分构成:单片机控制模块、传感器模块、执行模块和通信模块。
2.1 单片机控制模块单片机控制模块采用高性能的单片机芯片,如STC89C52,作为主控制器。
该芯片具有丰富的IO接口和强大的计算能力,能够准确控制玩具小车的各个功能。
2.2 传感器模块传感器模块采用多种传感器,如红外感应传感器、超声波传感器和灰度传感器等。
红外感应传感器用于检测前方障碍物,超声波传感器用于测量距离,灰度传感器用于检测地面颜色等。
2.3 执行模块执行模块包括直流电机和舵机等。
直流电机用于驱动车轮,控制小车前进、后退和转向;舵机用于控制小车的转向角度。
2.4 通信模块通信模块采用无线通信模块,如蓝牙模块或WIFI模块,用于与智能手机或电脑等设备进行通信。
通过手机上的APP或电脑上的软件,用户可以实现对智能玩具小车的远程控制和交互。
3. 系统功能设计3.1 遥控功能智能玩具小车可以通过手机APP或电脑软件进行远程遥控。
用户可以通过手指在屏幕上滑动或按钮操作来控制小车的方向和速度。
3.2 避障功能利用红外感应传感器和超声波传感器,智能玩具小车可以实现自动避障功能。
当传感器探测到前方有障碍物时,小车会自动停下或转向避开。
3.3 跟随功能通过将传感器模块安装在小车底部,可以实现小车对地面颜色的感知。
小车可以自动跟随一条黑线或白线行驶,增加趣味性和游戏性。
3.4 音乐播放功能智能玩具小车可以配备一个音乐模块,能够播放各种儿童歌曲和故事,使玩车过程更加有趣和生动。
4. 系统实现在搭建智能玩具小车的硬件平台后,需要进行相应的软件开发。
通过编写相应的程序,定义不同的传感器输入信号和执行器控制信号,实现小车的各项功能。
基于51单片机的循迹小车系统设计摘要80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。
在生活中但凡涉及到自动控制的地方都会出现单片机的身影,单片机的应用有利于产品的小型化、智能化,并且能够提高生产效率.这里介绍的是如何用AT89C52单片机来实现小车的循迹功能,该设计是结合科研项目而确定的设计类课题。
本系统以设计题目的要求为目的,采用AT89C52单片机为控制核心,利用红外传感器检测道路上的黑线,控制电动小汽车的自动循迹,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,和寻光功能。
整个系统的电路结构非常简单,可靠性能很高。
实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
关键词:80C51单片机;电动小车;pwm调速;光电检测;自动调速系统Car tracking system based on microcontrollerAbstract80C51 is a 8 bit single chip computer。
Its easily using and multi—function suffer large users。
In life,whenever it comes to automatic control of the local microcontroller will appear figure, microcontroller applications in favor of product miniaturization,intelligent,and can improve productivity. Here is how to use AT89C52 microcontroller to achieve the car tracking feature, which is designed to determine the combination of scientific research and design class topic.This system design requirements of the subject for the purpose of using AT89C52 microcontroller core,the use of infrared sensors to detect the black line on the road,the automatic tracking control of electric cars,fast low traffic speeds,as well as automatic parking, and can automatically record time ,mileage and speed, and look for the light function.The circuit structureof the entire system is very simple, very high reliability. The test results meet the requirements,the paper focuses on the hardware design and test results of the system analysis.Keywords:80C51 microcontroller;Electric car Pwm speed; A photodetector;Automatic Speed Control System。
开放实验室实验报告题目智能小车指定花式动作院(系)光电工程学院专业测控技术与仪器班级120102姓名张立学号120102121导师蔡荣立2014年12 月16 日一、实验目的1.学习和掌握51系列单片机的基本原理及设计方法;2.了解并大概掌握了51系列单片机智能小车底板的基本原理以及51单片机与底板的线路连接、零部件装配原理;3.熟悉掌握使用keil软件编程控制智能小车的方法,以及用proteus软件对智能小车部分线路功能的调试与仿真优化。
二、实验原理51单片机在执行教程中C语言编好的程序时,通过给芯片L293D 使能端EN1,EN2输入相应的高低电平,使左右电机使能;同时给IN1、IN2输入高低电平,使左电机正反转;给IN3、IN4输入高低电平,使右电机正反转;这样就使左右轮的状态不同,从而通过需要相应的来实现智能车的不同花式动作。
图2.1,其中J1为电源插座,它与电池槽相连接;S1为电源开关;7805图2.1 BST-V51智能小车底板供电模块原理图为稳压IC(小车供电为两节3.7V供电,即Vcc为7.4V,因为小车上面很多元器件都是5V供电的,所以用7805把电压稳定在5V);电源指示灯LED,当输出为5V时点亮。
图2.2,其中左边1、3、5、7脚连接Vcc,右边2、4、6、8脚连接GND。
图2.2 供电口原理图图2.3,L293D为电机驱动芯片,其中EN1,EN2为左右电机使能端,当输入为高电平时,才能控制电机,通过P1.4和P1.5接到单片机开发板上,通过51单片机芯片为EN1,EN2加使能或者使不能信号(当EN1,EN2悬空时,默认为高电平,即使能);IN1,IN2分别对应左电图2.3 BST-V51智能小车底板电机模块原理图机的正转和反转,分别接到单片机的P1.2和P1.3;IN3,IN4分别对应右电机的正转和反转;分别接到单片机P1.6和P1.7;OUT1、OUT2控制左电机,接在P5的ML1,ML2;OUT3、OUT4控制右电机,接在P6的MR1,MR2;GND接地。
沈阳理工大学课程名称:基于单片机智能循迹小车姓名:魏玉柱指导教师:程磊催宁海摘要本文论述了基于单片机的智能循迹小车的控制过程。
智能循迹是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。
智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。
该技术已经应用于无人驾驶机动车,无人工厂,仓库,服务机器人等多种领域。
本设计采用STC89C52单片机作为小车的控制核心;采用TCRT5000红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号;采用驱动芯片L298N构成双H桥控制直流电机,其中软件系统采用C程序,本设计的电路结构简单,容易实现,可靠性高。
关键词:STC89C52 智能循迹小车TCRT5000传感器电机驱动目录1引言 (4)2 需求分析 (4)2.2 循迹小车的发展历程回顾 (5)2.3智能循迹小车的应用 (5)2.4 智能循迹小车研究中的关键技术 (8)3系统设计 (9)4详细设计 (8)4.1 硬件设计 (8)4.1.1电路原理图 (9)4.1.2 器件选择 (10)4.1.2.1 智能循迹小车的主控芯片的选择 (10)4.1.2.2 智能循迹小车电源模块的选择 (10)4.1.2.3 智能循迹小车电机驱动电路的选择 (11)4.1.2.4 智能小车循迹模块的选择 (11)4.1.3 模块设计 (12)4.1.3.1电机驱动模块电路 (12)4.1.3.2光电传感器模块 (12)4.2 软件设计 (14)4.2.1程序流程图 (14)4.2.2实现主要代码 (14)5 实验结果 (16)5.1设计实现 (16)5.2出现的问题和解决的方法 (17)6 结束语 (18)7.参考文献 (19)1引言随着控制技术及计算机技术的发展,寻迹小车系统将在未来工业生产和日常生活中扮演重要的角色。
目录第九章、基于51单片机的红外循迹小车 (2)1、制作要求 (2)2、制作目的 (2)3、制作方案(硬件方面) (2)3.1 系统概述 (2)3.2 单片机模块 (3)3.3 指示灯原理图 (4)3.4 红外对管原理图 (4)3.5 电机驱动模块 (5)4、制作方案(软件方面) (7)4、附录 (9)5.1 实物和效果展示 (9)5.2 参考程序: (9)5.3 基于C51控制红外循迹小车原理图 (17)第九章、基于51单片机的红外循迹小车随着电子科技的迅猛发展,人们对技术也提出了更高的要求。
汽车的智能化在提高汽车的行驶安全性,操作性等方面都有巨大的优势,在一些特殊的场合下也能满足一些特殊的需要。
智能小车系统涉及到自动控制,车辆工程,计算机等多个领域,是未来汽车智能化是一个不可避免的大趋势。
本次红外寻迹小车采用了C51单片机作为控制核心,利用红外对管传感器检测黑线达到循迹目的,自动寻迹,整体系统的电路结构简单,可靠性能高。
1、制作要求使用51单片机作为控制芯片,自制一台可自行检测道路并行驶的简易智能小车。
在这一次的制作活动中将会接触到51单片机、红外对管、电机驱动模块、简单的C语言编程,要求学会使用51单片机进行编程,入门单片机,能够独立的搭出单片机最小系统;了解红外对管的工作原理、电路图,掌握电压比较器的使用方法,学会调试红外对管;了解电机驱动的作用、工作原理;能够进行简单的C语言编程,给单片机编写程序使其能够正常工作。
2、制作目的1、入门51单片机,进行简单的C语言编程;2、掌握51单片机最小系统,中断,定时器/计数器等;3、了解传感器的种类和原理,掌握红外传感器并学会调试;4、学习C语言的基本语句,用C语言编写程序。
3、制作方案(硬件方面)3.1 系统概述智能循迹小车主要由单片机模块、红外检测模块、电机驱动模块组成。
单片机为主控模块,接受并判断各种信号,控制电机驱动。
在智能循迹小车系统设计过程中,用L293驱动两个电机,产生信号驱动小车前进时,是通过循迹模块里的红外对管ST188是否检测到黑线产生的电平信号通过LM339在返回到单片机,单片机再根据程序设计的要求作出相应的判断送给电机驱动模块,以实现小车自动循迹的功能(可对应附录里的系统原理图)。
图9-3-1 小车工作图3.2 单片机模块单片机模块为此次小车系统的核心,是作为系统信号采集和输出控制的重要部分。
51单片机的种类繁多,通常使用的是AT51单片机和STC51单片机,其中STC12单片机自带PWM,可以直接使用。
单片机模块为核心模块,其它由时钟、电源、串口MAX232与程序烧录、I/O 接口等组成。
通过各结构的工作加上丰富的I/O接口,实现数据处理,进而对外部模块进行控制。
我们队设计方案主要分为两种:设计一个包含电源、串口与程序烧录、外接I/O口组成,实现现场的小车调试程序烧录。
本次制作智能循迹小车所需提供9V电源,一方面9V电源直接供给电机驱动,驱动电机直接转停,另一方面9V经过稳压芯片,将9V电压稳压到5V直接给单片机模块、红外、指示灯工作,才能使小车正常工作。
稳压芯片7805输出为+5V稳定电压,最高输入极限电压36,最低输入电压7V,集成稳压块的最佳工作状态是输入电压与输出电压间的压差在3~4V左右。
压差太大可在输入前端串联几个二极管降压,这样稳压块就不会很烫了。
图9-3-2 电源供应图9-3-3 程序下载口图9-3-4 单片机最小模块单片机系统作为循迹小车的核心控制器,起着控制小车所有运行状态的作用。
控制方法有许多,大部分采用单片机来控制。
单片机将红外对管采集的道路信息进行处理。
小车进入循迹模式后,即不停的扫描与循迹模块相连接的I/O口,一旦检测到某个I/O口有信号变化,程序进入判断程序,把相应的信号传给减速电机控制器L293从而纠正小车的状态。
单片机最小系统调试步骤:方法一:1.用万用表确定是否正常供电。
2.用示波器确定晶振是否起振。
3.单片机是否工作。
比如,单片机一上电,它的有些管脚ALE引脚会输出脉冲,可以通过示波器查看。
方法二:1.查看是否可以烧录程序。
2.可以结合图上的指示灯电路点亮一个发光二级管。
参考程序在右边。
3.3 指示灯原理图本模块是用4个发光二极管作为指示灯显示模块,通过红外对管对道路进行检测后传输信号给单片机,由单片机处理信号后,控制P2口的LED1、LED2、LED3、LED4(小车总原理图上)的输出高、低电平,控制NPN三极管的通断,来控制指示灯的亮、灭。
即以此来显示小车对道路的检测情况。
图9-3-5 指示灯电路3.4 红外对管原理图能够用来采集赛道数据的传感器有很多种,比如红外传感器、黑白线检测传感器、光电传感器和摄像头等;但综合价格、性能、使用三方面来看,红外传感器是较为理想的。
黑白线传感器如tk-20虽然性能优秀,但价格较高;光电传感器则受环境的影响太大,摄像头能很好的采集赛道数据,但使用起来不如前面几种传感器简单,且价格较贵;因此这次的小车采用的是ST188红外传感器,其检测距离可调整的范围大,4-10mm均可使用。
如图所示为st188红外传感器。
图9-3-6 红外对管外型图9-3-7 红外对管电路图在焊接st188时应该注意其引脚的位置,不要弄错了;同时在使用时也要小心,因为st188很容易烧掉,其价格在2-3元不等。
焊接完成后,检测st188是否正常工作可以使用手机的照相功能,若通过手机的照相功能能够观察到红光,则说明st188已经可以正常工作了。
接下来要调整可调电阻以达到一个合适的比较电压,可以使用示波器进行调整。
如图9-3-7所示,当有电流经过R4时,红外发射管发射红外线到轨道上,光线经过道路反射,红外接收管接收到红外线C和E引脚就有电流通过,此时C引脚的电压近似为0V。
若发射管发射的红外被黑线吸收,接收管接收不到,此时C和E之间可视为断开,此时C 脚的电压为5V。
红外对管的道路的检测越清楚,传输给单片机的信息越稳定,小车就能更好地循迹。
而红外循迹模块的调试首先要判定自己的红外对管用没有用,而红外对管的检测方案有:1):通过测量红外发光二极管的正反向电阻,还可以在很大程度上推测其性能的优劣。
把万用表拨在R×100或R×1K挡,黑表笔接红外发光二极管正极,红表笔接负极,测得正向电阻应在20≈40K;黑表笔接红外发光二极管负极,红表笔接正极,测得反向电阻应大于500K以上。
2):先给红外对管通电,采用手机摄像功能查看红外发射管是否是好的。
图9-3-8 LM339内部结构图LM339电压比较器芯片内部装有四个独立的电压比较器,如图7所示当同相输入端的电压大于反相输入端时,输出正最大,此时7脚输出为5v;若反相输入端的电压大于同相输入端。
3.5 电机驱动模块本次循迹小车的制作采用直流减速电机,直流减速电机转动力矩大,体积小、重量轻、装配简单、使用方便。
其内部由高速电机提供原动力,带动变速(减速)此轮组,产生较大扭力。
驱动模块采用芯片L293为电机驱动芯片,L293是一个具有高电压高电流的全桥驱动芯片,响应频率很高。
可以直流带动两个12V的直流电机。
L293内部的原理图如下:6V动力电源图9-3-9 L293内部原理图OUT1与OUT2与小车的一个电机的正负极相连,OUT3与OUT4与小车的另一个电机的正负极相连,单片机通过控制IN1与IN2,IN3与IN4分别控制电机的正反转。
ENA与ENB分别控制两个电机的使能(控制电机停转)。
图9-3-10 L293N引脚图图9-3-11 电机驱动电路L293有两路电源分别为逻辑电源和动力电源,上图中6V为逻辑电源,12V为动力电源。
J4接入逻辑电源,J6接入动力电源,J1与J2分别为单片机控制两个电机的输入端,J3与J5分别与两个电极的正负极相连。
ENA与ENB直接接入6V逻辑电源也就是说两个电机时刻都工作在使能状态,控制电机的运行状态只有通过J1与J2两个接口。
由于我们使用的电机是线圈式的,在从运行状态突然转换到停止状态和从顺时针状态突然转换到逆时针状态时会形成很大的反向电流,在电路中加入二极管的作用就是在产生反向电流的时候进行泄流,保护芯片的安全。
4、制作方案(软件方面)本次小车制作系统主控芯片为AT89S52,程序主要分为以下几个模块:1、主函数;作为整个程序的开始,与结束。
Check_Load()、Deal_Message_of_Load()作为子程序可在后调用。
例:void main(void){Timer_Init();while(1){Check_Load();Deal_Message_of_Load();}}2、赛道信息采集函数;对地面信号进行一个采集后,具体地对Load_Size进行赋值,以便赛道处理按函数,对信号进行处理。
例:void Deal_Message_of_Load(void){switch(Load&0X0F){case 0X01: Load_Size = 0X01; break; //0001case 0x02: Load_Size = 0X02; break; //0010case 0X03: Load_Size = 0X03; break; //0011case 0x04: Load_Size = 0X04; break; //0100case 0X06: Load_Size = 0X05; break; //0110case 0x08: Load_Size = 0X06; break; //1000case 0X0C: Load_Size = 0X07; break; //1100case 0X00: Load_Size = 0X08; break; //0000case 0x0f: Load_Size = 0X09; break; //1111default: break;}P2 = Load&0X0F; //点亮指示灯}3、赛道处理函数;通过对赛道信息采集后,进行判断,并做出相应的指令控制电机转动。
例:void Control_Wheels(void){if(Load_Size == 0x01){IN1 = !IN1;Time_Count1++;if(Time_Count1/20 == 0){IN3 = 1;}else{IN3 = 0;}if(Time_Count1 == 255){Time_Count1 = 0;}}4、定时器初始化函数;顾名思义就是对时间进行计数,以方便中断的执行。
void Timer_Init(void){TMOD = 0x11; //设定定时器T0和T1为工作方式1,为16位定时器/计数器TH0 = (65536-60000)/256;TL0 = (65536-60000)%256;TR0 = 1;IE = 0X8A;IN1 = 1;IN2 = 0;IN3 = 1;ENA = 1;ENB = 1;}5、延时函数;对时间进行控制,使在一定时间后执行需要执行的指令。