基于单片机的智能玩具车设计

更新时间:2024-05-04 09:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

现在,玩具电动车要么是只能实现直线前进的,要么是带遥控装置的开环控制的,能够实现或前进、或后退、或左转、或右转的功能。能够显示运行状态、里程(圈数)并实现报警的却为数不多。 本文的主要研究工作是设计和实现基于单片机 STC89C51 的智能玩具电动车,包括其硬件和软件两个部分。硬件电路部分主要包括控制器、信号检测电路、避障电路、电机驱动电路、显示电路、电源电路等,通过软件编程控制小车实现前进、后退、加速、减速、左转、右转和车灯闪烁等功能,并在小车行进中很好地实现避障,里程、行进方向显示和报警。 本文是把当前一般的玩具电动车作为基础,增加各种传感器,如光电传感器、红外传感器、超声波传感器等,利用传感器构成的信号检测电路实时检测电动车的运行速度、运行位置、运行状况,单片机接收并处理信号检测电路检测到的各种数据,然后由单片机发出指令控制电动小车运行。 该智能玩具小车能够实现的功能有:实时准确地显示温度、显示里程,能够实现语音控制,自动循迹和避障,能够自动调节行驶速度并精确停车。

关键词:智能,玩具电动车,单片机,软件设计

I

ABSTRACT

Now, electric toy is either can only achieve a straight forward, either with remote control device for open loop control, can achieve or forward, or back, or left, or right function. To be able to display operating status, mileage (LAPS) and alarm however amount to is not much. The main research work of this thesis is to design and implement based on STC89C51 single-chip microcomputer intelligent toy car, including its hardware and software in two parts. The hardware circuit part mainly comprises a controller, a signal detection circuit, obstacle avoidance circuit, motor drive circuit, display circuit, power supply circuit, through software programming to control the car forward, backward, acceleration, deceleration, turn left, turn right and lights flashing and other functions, and in the small car running well realize the obstacle avoidance, mileage, the direction of display and alarm. This paper is to present a general electric toy as a foundation, increase of various sensors, such as photoelectric sensor, infrared sensor, ultrasonic sensor, the sensor signal detection circuit for real-time detection of electric vehicle running speed, running position, operation, SCM receives and processes the signal detection circuit detects a variety of data, and then by the MCU instruction control of electric trolley. The intelligent toy car can achieve functions: real-time and accurate temperature display, display the mileage, voice control can be achieved, automatic tracking and obstacle avoidance, and can automatically adjust the speed and the precision of parking.

Keywords: Intelligent, electric toy cars, SCM, software design

II

摘 要 ............................................................................................................................................... I ABSTRACT ..................................................................................................................................... II

第一章 引言 ................................................................................................................... 2 1.1 研究背景 ............................................................................................................................ 2 1.2 研究意义 ............................................................................................................................ 2 1.3 国内外研究现状 ................................................................................................................ 3 1.4研究内容 ............................................................................................................................. 4 第二章 相关技术 ........................................................................................................................... 6

2.1 单片机技术 ........................................................................................................................ 6 2.2 智能玩具电动车技术 ........................................................................................................ 7 第三章 系统需求分析 ................................................................................................................... 8

3.1 功能分析 ............................................................................................................................ 8

3.1.1 主控模块 ................................................................................................................. 8 3.1.2电机驱动模块 .......................................................................................................... 9 3.1.3显示模块 .................................................................................................................. 9 3.1.4 电源模块 ............................................................................................................... 11 3.1.5 机械系统模块 ....................................................................................................... 11 3.2 性能分析 .......................................................................................................................... 12

3.2.1 硬件系统可靠性措施 ........................................................................................... 12 3.2.2 软件系统可靠性措施 ........................................................................................... 12

第四章 电路设计 ......................................................................................................................... 15

4.1 主控电路设计 .................................................................................................................. 15

4.1.1 STC89C51单片机硬件结构 ................................................................................. 15 4.1.2 最小应用系统设计 ............................................................................................. 16 4.2 信号检测电路设计 .......................................................................................................... 21

4.2.1 红外检测电路设计 ............................................................................................... 22 4.2.2 金属探测电路设计 ............................................................................................... 22 4.3驱动电路设计 ................................................................................................................... 23 4.4 显示电路设计 .................................................................................................................. 25 4.5 电源电路设计 .................................................................................................................. 26 4.6 接口电路设计 .................................................................................................................. 27

4.6.1 前向通道设计 ....................................................................................................... 27

第五章 控制软件的设计与实现 ................................................................................................. 35

5.1 概述 .................................................................................................................................. 35

5.1.1 应用软件的一般要求 ........................................................................................... 35 5.1.2 应用软件的设计过程 ........................................................................................... 36 5.2 软件的结构设计 .............................................................................................................. 36 5.3 主要模块实现 .................................................................................................................. 37

5.3.1 电机驱动流程图及程序 ....................................................................................... 37 5.3.2 循迹流程图及程序 ............................................................................................... 42 5.3.3 显示流程图及程序 ............................................................................................... 49

第六章 系统功能测试 ................................................................................................................. 61

6.1 测试仪器及设备 .............................................................................................................. 61 6.2 系统功能测试 .................................................................................................................. 62

1

6.3 系统测试结果及分析 ...................................................................................................... 63 第七章 结论和展望 ..................................................................................................................... 65

7.1 结论 .................................................................................................................................. 65 7.2 展望 .................................................................................................................................. 65 参考文献......................................................................................................................................... 66

第一章 引言

1.1 研究背景

当今社会,科学技术日新月异,时代前进的步伐越来越快。随着电子技术的发展,属于融合类的个人电子终端也越来越多,比如 PMP、PDA、手持游戏机和智能手机等等,他们都占据了很大的市场份额。在玩具领域,随着电子技术不断融入玩具,使得玩具也越来越智能化,也就构成了新一类的融合类电子终端,这也是世界各国玩具产业发展的一种方向。去年,结合了高端的电子技术的玩具的销售额仅仅在在美国一个国家的玩具市场上就达到 115 亿美元,大大超过了一般玩具的增长速度。因为 2010 年全世界的智能玩具销售收入才 100 亿美元。 据权威部门预计,2012 年末销售额增加更大,可以达到 200 亿美元。智能玩具绝对是利润比较丰厚的,因为智能玩具的技术是建立在已有的主流融合终端上,然后在其基础山进行了创新,成本相对来说较低。这样一来,投资者的投资回报就比较丰厚。另一方面,鉴于电子智能玩具对于儿童成长的重要性及越来越智能化和多样化,受到了消费者的喜爱。现在,中国在玩具消费上的人均值相对其他国家来说要低很多,因此,智能玩具在中国的市场空间将会很大。所以,融合了计算机控制与电子技术的智能化玩具的研究越来越受到社会各界的广泛重视。随着智能水平的不断提高,人们的生活方式迅速地改变,电子智能玩具有很好的市场前景。作为电子智能玩具之一的智能玩具电动车更受儿童青睐,是儿童玩具中的宠中之宠。本设计就是在这样的背景下提出的。

1.2 研究意义

全称为单片微型计算机的单片机具有集成度高、体积小,可靠性高、实用温

2

度范围宽,有优良的性能价格比,控制功能强,外部总线丰富,功能扩展性强及低功耗等特有的优良性能,因而得到了广泛应用。它推动了嵌入式系统的发展并深入到各个领域,已经成为工业、农业、国防、科研、教育以及日常生活的各个领域的智能化工具,也是现代电子系统中重要的智能化工具,对各行各业的技术改造以及产品的更新换代起到了极大的推动作用。 目前,开发模块化,功能强,价格低的智能玩具小车,已成为全国电子技能比赛的热点,而且智能玩具车在国内和国外都有着巨大的市场。在全球市场上,智能玩具领域,几乎被美国、日本等国垄断,我国智能玩具是一个即将兴起的领域,可编程玩具小车将会给玩具市场注入新的活力。

玩具小车随着传感技术、计算机科学、人工智能及其它相关学科的迅速发展,正向着智能化的方向发展。智能化玩具车控制系统囊括了计算机技术、自动控制技术、传感器技术和人工智能技术等多方面的技,它是一个综合体,有环境的感知功能,实时的决策与规划功能,以及行为的控制和执行等功能,是典型的机电一体化产品。另外,选择单片机设计智能玩具电动车,目的在于从日常生活中能接触到的细微处着手,通过理论与实践的结合,更明确自己的所学所用,也在实践中发现自己理论的不足,对目前广泛应用的单片机有更加理性化和感性化的认识,使理论和实践相得益彰。

1.3 国内外研究现状

一、国外智能车辆的研究现状

从 20 世纪 50 年代开始,智能车辆的研究在国外就开始了,其发展历程大致经历了初始研究、卓有成就的研究和深入、系统、大规模的研究三个阶段,分别如下:

初始阶段:在 20 世纪的 50 年代美国出现了自主引导车系统。该系统具有了智能车辆的最基本的特征——无人驾驶。这是一个标志,一个智能车辆出现的明显的标志。

3

卓有成就的阶段:在 20 世纪 80 年代中后期,欧洲和美洲的一些国家主要进行智能车辆的可行性研究和如何让智能车辆实用化的研究,取得了显著成绩。深入、系统、大规模的研究阶段:从 20 世纪 90 年代开始,各个国家尤其是欧洲的德国和美洲的美国等都对智能车辆进行了广泛地、大量地研究。尤为突出的是美国的Navlab系列的自主车的研究,该研究在卡内基-梅陇大学机器人研究所进行,取得的成绩显著。

二、国内智能车辆的研究现状

在中国很多高等院校和科研机构都进行了 ITS 核心技术和设备的研究。在近 30 年的研究过程中,我国已经积累了很多经验和强大的 ITS 技术研究开发的专业技术队伍。

1.4研究内容

当前,许多用于儿童的玩具电动车只能实现基本的功能,即或前进、或后退、或左转、或右转、或停车的功能,或加了遥控实现前述功能。也就是说控制方法上基本没有采取闭环控制。玩具小车的控制方式有:基于单片机的,基于光学传感器的,语音控制的等。

本设计是基于单片机的,主要完成玩具车控制系统硬件电路和软件的设计,控制系统的硬件电路部分主要包括控制器、信号检测电路、电机驱动电路、显示电路、电源电路等,直流电机作为小车的驱动电机。电机驱动利用软件产生不同占空比的 PWM 波来控制直流电机的转向和转速。单片机作为整个玩具电动车的控制系统,控制着与其相连的各个模块。该智能玩具电动车采用的单片机是 STC89C51,通过软件编程控制小车实现前进、后退、加速、减速、左转、右转和车灯闪烁等功能,并在此过程中很好地实现里程、行进方向显示和报警。本设计是把当前一般的玩具电动车作为基础,增加必要的传感器,如光电传感器、红外传感器、超声波传感器等,利用传感器构成的信号检测电路实时检测电动车的运行速度、运行位置、运行状况,单片机接收并处理信号检测电路检测到的各种

4

数据,然后由单片机发出指令控制电动小车的运行。该智能玩具小车能够实现的功能有:实时准确地显示时间、显示速度、显示里程,智能调节行驶速度、精确停车的功能。设计方案能实现对电动小汽车的运动状态进行实时控制,控制要灵活、可靠,精度要高,需满足系统的各项要求。

总之,设计的整个系统的电路结构要简单,可靠性能要高。采用的技术主要包括:

1.有效应用传感器。利用感测模块实时监测路面情况并及时传输给单片机,单片机核心模块根据感测模块给予的信息控制小车两电机转动,电机驱动模块驱动两电机转动,实现转向与行走; 2.小车的速度控制利用编程实现; 3.采用新型显示芯片。

5

第二章 相关技术

2.1 单片机技术

全名是单片微型计算机(Single Clip Microcomputer)的单片机,主要由中央处理器(CPU)、只读存储器(ROM)、随机存储器(RAM)、定时/计数器、输入输出接口电路等组成,把这些功能部件集成在一块芯片上,便构成了一个完整的微型计算机。

自从1974年12月美国Fairchild公司研制出了世界上第一台单片机F8以来,单片机迅速发展,各种新型、高性能单片机不断推陈出新。迄今为止,单片机的发展经历了4个时期:

第一阶段(1974~1978年):单片机初级阶段

该阶段最具有代表性的单片机就是英特尔生产的MCS-48。该阶段的单片机的运用了落后的制造工艺,其CPU为8位,I/O接口为并行,定时器/计数器为8位。并且,I/O口不能串行通信,寻址范围小(低于 4KB)。其代表产品为仙童公司的单片机F8等。

第二阶段(1978~1983年):单片机完善阶段

以Intel公司的MCS-51系列单片机为代表,该时期的单片机的特点是:“串行I/O口,带有多级中断处理系统,16位的定时器/计数器,片内存储器的容量相对增大,而且且寻址范围可达64KB。 第三阶段(1983~1990年):单片机巩固和推新阶段

此阶段的单片机,既完善第一阶段的单片机,又发展第二阶段的单片机,还推出了新的 32 位的单片机,也出现了专用单片机。

6

第四阶段(1990 至今):单片机全面发展阶段

适合于不同领域要求的单片机相继出现。其特点是运算速度快,存储容量大,运算能力强。类型有通用型和专用型。当然也有专用于单一领域的廉价的单片机。

单片机自身的特点决定了其应用非常广泛,它已成为工业、农业、国防、科研、教育以及日常生活等各个领域的智能化工具,对各行业的技术改造以及产品的更新换代起到了极大的推动作用。

2.2 智能玩具电动车技术

随着传感技术、计算机科学、人工智能及其它相关学科的迅速发展,玩具小车正向着智能化的方向发展。智能玩具电动车控制系统包括了计算机、控制技术、传感技术、机械和人工智能等多方面的知识,它是一个综合系统,它有单片机控制控制方式,有光学传感器控制控制方式,也有语音控制方式等多种控制方式。其功能是可以进行环境感知,也可以进行动态决策和规划,还可以进行行为控制和执行等。

7

第三章 系统需求分析

3.1 功能分析

根据设计要求和设计内容,采用基于单片机的控制方案,设计出系统框图如图3-1所示,包括主控模块、检测模块、电机驱动模块、显示模块和电源模块等。

启停控制 时钟电路 看门狗电路 主 控 模 块 电机驱动模块 位移模块 调速模块 复位电路 显示电路 报警电路 电源电路 图3-1 系统框图

3.1.1 主控模块

现在,具有智能功能的电子产品通常用的控制器为单片机,它具有集成度高、体积小,可靠性高、实用温度范围宽,有优良的性能价格比,控制功能强,外部总线丰富,功能扩展性强及低功耗等特有的优良性能,因而得到了广泛应用。它推动了嵌入式系统的发展并深入到各个领域,已经成为工业、农业、国防、科研、教育以及日常生活的各个领域的智能化工具,也是现代电子系统中重要的智能化工具,对各行各业的技术改造以及产品的更新换代起到了极大的推动作用。但是,

8

当今社会单片机厂商多如牛毛,产品性能不尽相同。常用的典型的单片机有Intel公司的MCS-51系列单片机、Motorola公司的M68系列单片机、Philips公司的P系列单片机、WinBond(华邦)公司的W77、W78系列单片机、Atmel公司生产的AT89系列单片机、EPSON公司的单片机等。 本设计设计的是一个复杂程序控制系统,具有多开关量输入的特点。因此,控制核心需要用擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机。在综合考虑了传感器、两部电机的驱动等诸多因素后,本设计最终决定采用一片ATMEL公司的STC89C51单片机,充分利用STC89C51单片机的资源和适合复杂控制应用场合的特点。图 3-2 为STC89C51构成的系统原理框图。

显示里程,时间 无线遥控 显示行驶状AT89C52 指示灯 里程检测 图3-2系统原理图

3.1.2电机驱动模块

根据题目的要求,确定如下方案:把当前一般的玩具电动车作为基础,增加各种传感器,如光电传感器、红外传感器、超声波传感器等,利用传感器构成的信号检测电路实时检测电动车的运行速度、运行位置、运行状况,单片机接收并处理信号检测电路检测到的各种数据,然后由单片机发出指令,从而实现对电动小车的智能化控制。 3.1.3显示模块 一、显示设备的选择

方案一:采用传统数码管作为显示设备。

9

传统数码管具有低能耗、低损耗、低压、长寿命、耐老化、防晒、防潮、防火、防高(低)温的特点;对外界环境要求低,易于维护;同时其精度比较高,精确可靠,操作简单,程序编写容易,资源占用少。本设计要求显示的内容较多,如果利用传统数码管来显示,则需要好几块数码管,这样占用单片机很多的 I/O口,并且不够美观,也不易区分各块数码管显示的是什么内容。所以,该方案不被采用。数码管完全可用来显示已行驶过的路程,且数码管亮度大,夜间观测也比较方便,所以数码管在一般场合是首选,但是数码管只能显示数字,发挥的空间比较窄。所以不采用此方案。

方案二:采用液晶显示屏(LCD)显示时间和路程。

液晶显示器具有功耗低、无辐射危险、平面直角显示以及影像稳定等,可视面积大,画面效果好,也可以显示汉字,分辨率高,抗干扰能力强,显示内容多等特点。因此,只要用一块液晶显示器就可以显示设计要求的全部内容。此外,液晶显示器与单片机连接电路较简单,且占用的I/O口较少。基于以上分析,我们采用该方案,用LCD1602进行显示。

采用128×64的液晶屏作为显示器件,可以显示小车行驶的方向,小车行驶过的路程,小车行驶过的时间等等,最重要的是液晶能够显示汉字,提供的信息非常直观,故采用此方案。 其原理图如下所示:

10

3.1.4 电源模块 采用干电池组进行供电

采用四节干电池降压至5V后给单片机及其他逻辑单元供电,另取六节干电池为电机及光电开关供电。这样做的目的是抑制短暂的电压干扰,因为电机在启动和制动时会产生这种干扰,并且这样一来,逻辑单元能正常工作,单片机也能正常的工作,所以采用此方案完全可行。故采用了此方案。 3.1.5 机械系统模块

本题目要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。 1.驱动部分

由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装三级减速齿轮。 2.电池的安装

将电池放置在车体的电机前后位置,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。简单,而三轮运动系统具备以上特

11

点。

3.2 性能分析

要设计一个实用的智能玩具电动车系统,既要体现智能,又要体现小车的经济性、可靠性。要保障小车可靠的运行(前进、后退、左行、右行等),就需要小车有较强的抗干扰能力。因此,该系统除了需要硬件的保障外,还需要软件的保障。 3.2.1 硬件系统可靠性措施

单片机应用系统中,任何外来的干扰或内部电路的噪声都可能引起地址总线的紊乱或程序计数器状态的改变,导致程序运行出错。有效地抑制系统噪声,提高系统的可靠性是系统设计必须考虑的问题。上述防止和消除干扰的硬件主动性措施是有效的,但并不能完全保证系统的正常运行,有时还需要工作状态的监视、异常情况的处理与故障自恢复的问题。这就需要配合一些硬件措施,在软件可靠性方面着手。监视定时器的设计与应用是其中最常用最有效的方法之一,甚至随着单片机技术的发展,越来越多的单片机本身就带有监视定时器。监视用定时器实质上就是专用的定时/计数器,它的时钟来自单片机内部或外部。通过适当的程序设计,使系统在正常运行时,定时器每隔一定时间就将其初始化一次,保证不使其计数溢出。一旦系统出现异常,程序不能正常运行而紊乱时,则监视定时器不能在有限的时间内被消零,造成计数溢出,引起系统中断,而使CPU转入故障诊断与处理程序,而后恢复系统的正常运行。由此可见,监视定时器提供了一种使系统从瞬间故障中能自动恢复的能力,其软硬件实现也比较简单,因而获得了广泛的应用,常称之为看门狗(WATCH DOG)。

实现硬件“看门狗”电路方案较多,目前采用较多的方案有以下几种: 1、采用微处理器监控器;

2、采用单稳态电路来实现“看门狗”,单稳定电路可采用74LS123;3、采用内带震荡器的记数芯片(本设计采用)。 3.2.2 软件系统可靠性措施

12

为了提高玩具车系统智能控制的稳定性、可靠性和系统的精度,仅仅依赖硬件抗干扰是远远不够的,还需要借助于软件来提高抗干扰能力,克服某些干扰。在单片机控制系统中,如能把软件抗干扰技术与硬件干扰措施正确有效地结合,构成双道的抗干扰防线,这将大大提高单片机控制系统的稳定性。在软件程序方面可以采取各种措施,如数字滤波、自诊断、自恢复、设置陷阱、指令冗余等。 数字滤波

一、数字滤波能够清除有用信号中混杂的各种干扰信号,保证采集来的信号不失真,进而达到提高应用系统精度的目的。数字滤波器是根据系统的性质、信号来源、工作环境、系统精度要求,然后通过程序的方法,采用不同形式抑制干扰。 二、保持信号的本来面目。数字滤波有多重形式,有中值滤波、算术平均值滤波、复合滤波等,根据实际情况的不同来加以选择和运用。 (1)中值滤波

所谓中值滤波就是对某一个被测参数连续采样n次(一般n取奇数),然后将n次采样值进行排序,最后取中值作为有效值存入单片机内部存储器中。该方法主要适用于具有脉动干扰的场合,它非常适合快速变化的信号采集。 (2)算数平均值滤波

该方法是将n次采样值相加,然后取其算数平均值作为本次采样有效值来使用。 (3)复合滤波

所谓复合滤波,就是将两种或者两种以上的滤波方法同时使用。复合滤波可以大大提高滤波效果。目前被经常使用的复合滤波是中值滤波和算术平均值滤波联合使用。 二、陷阱指令

为了提高单片机应用系统工作的稳定性,防止程序由于干扰而“跑飞”,可以在程序器的空白区设置空操作指令和少量的短字节转移指令。所谓的自陷指令通常指转移指令。在设置陷阱时最好使用单字节转移指令,此时效果最佳。若选用的

13

单片机无单字节转移指令,也可以选择多字节转移指令,丹药清楚转移指令字节数越少越好。在使用多字节转移指令时为了提高自陷效果,在程序存储器空白区尽量多写空操作指令NOP,越多越好,尽量少写多字节转移指令,且越少越好,但必须有多字节转移指令。

在设置陷阱前,若由于干扰使PC的地址值跑到程序存储区域外,此时程序就再也无法正常运行了。在设置了陷阱后,有空白程序区存放了大量的空操作指令和少量的转移指令,由于干扰使PC值脱离了程序存储区而进入空白程序存储区,遇到空操作指令(单字节),它会顺着NOP执行,当运行到转移指令时,系统又回到了正常程序区域,使系统恢复正常。当然,该办法不但适用于单片机系统,也适用于一切计算机系统。

陷阱可以安排在四个位置,分别为: (1)没被用到的中断向量区。 (2)没被用到的ROM空间 (3)表格里 (4)程序里

14

第四章 电路设计

4.1 主控电路设计

4.1.1 STC89C51单片机硬件结构

STC89C51是ATMEL 公司生产的系列单片机的一个型号,是一种8位的低电压、高性能的CMOS单片机,片内有只读程序存储器(PEROM)和随机存取数据存储器(RAM),PEROM为8Kbytes且可反复擦写,RAM为256bytes。该芯片是由ATMEL公司生产,生产时用了高密度技术和非易失性存储技术。其指令系统与标准的MCS-51兼容,引脚与8052兼容。芯片内部有通用的8位中央处理器(CPU)和存储单元(FLASH)。许多较为复杂控制应用场合都选用功能

强大的 STC89C51单片机[7]。

如图 4-1 所示,STC89C51外围有引脚40个,外部双向的输入/输出(即 I/O)端口32个,同时芯片内部有外中断口2个,有16位的可编程的定时计数器3个,有全双工的串行通信口2个,有读写口线2个。STC89C51的编程仅仅能按照

15

常规的方法进行,不可以实现在线编程,其 S 系列的可以实现在线编程。另外,它的开发成本极低,主要是因为它把通用的微处理器和 Flash 存储器结合在一起,尤其是将通用的微处理器与可反复擦写的 Flash 存储器融为了一体。它有如下特点:

1.与MCS51指令系统完全兼容;

2.2.8k的Flash ROM,超过1000次反复擦写; 3.多个双向I/O口,32个; 4.256x8bit的内部 RAM;

5.定时/计数器中断,3个16位且可编程; 6. 0-24MHz可调时钟频率;

7.串行中断:2个,串行通道为可编程UART; 8.外部中断源:2 个,中断源共有 8 个; 9.读写中断口线:2个,多级(3)加密位;

10.空闲时低功耗、掉电模式,睡眠功能软件设置和唤醒功能软件设置; 11.封装形式较多,例如 TQFP、PDIP、PQFP 和 PLCC 等,适应能力强,可满足不同产品的需求。 4.1.2 最小应用系统设计

用STC89C51单片机构成的最小应用系统比较简单,并且可靠。因为STC89C51单片机的片内拥有ROM/EPROM。在STC89C51的外围接上时钟电路及复位电路便可构成单片机最小应用系统,如图 4-2 所示,即为STC89C51构成的单片机最小系统。但是,单片机最小应用系统仅仅用于某些小型的控制单元,这主要是因为受到集成度的限制。

STC89C51单片机构成的最小应用系统的应用特点可归纳如下: 1.I/O 口线多,并且供用户使用的也多; 2.内部的存储器容量小;

16

3.开发应用系统会遇到许多特殊情况。

时钟电路被誉为单片机的心脏,单片机的工作节奏完全由它控制。不同的指令功能是通过其CPU的复杂的时序电路完成的。对于STC89C51来说,时钟信号有两种产生的方式,即内部方式和外部方式。后一种方式是从外部引入时钟信号,由外部电路产生,而前一种方式产生时钟信号是依靠芯片内部的振荡电路。

STC89C51单片机有两种类型,即HMOS型和CHMOS型,二者的时钟电路是不同的。内部的时钟电路,利用STC89C51内部具有的高增益的一个反向放大器,把一个石英晶体或陶瓷晶体和两个无极性电容组成自激振荡器,分别接在19脚(XTAL1)和18脚(XTAL2)之间。因此,振荡器产生的脉冲就可以直接送入

17

内部的时钟电路。无论是石英晶体的晶振体,还是陶瓷结构的晶振体,振荡频率都可任意选择,一般而言,频率范围为2.2~12MHz。对于构成石英晶体振荡器的两个电容容量在20pF左右,而对于陶瓷晶体构成振荡器的两个电容容量也在 20pF左右。内部时钟电路如图 4-3 所示,STC89C51的内部工作时钟也可以由外部振荡器提供,这时,对 HMOS型芯片,XTAL1应接地,XTAL2引入外部振荡器的信号,XTAL2引脚为内部时钟发生器的输出端,XTAL1引脚为内部反相放大器的输人端。对于CHMOS芯片,采用外部时钟源时接线方式与HMOS 型有所不同,其外部信号接至引脚XTALI,XTAL2引脚不用。这主要是因为 CHMOS内部时钟发生器的信号取自反相放大器的输入端(即与非门的一个输入端)。CHMOS 对外部振荡器的信号没有特殊的要求,一般为0.5~12 MHz的方波,方波的波形的上升沿、下降沿时间尽可能的短,即波形应尽量接近于理想化。 本设计时钟电路使用的是一个12.0592MHz的晶振,所以单片机的一个机器周期是2.085μs,由此可算出单片机执行程序延时子程序时间隔的时间。 (2)复位电路

复位电路有两种方式,即上电自动复位和按键手动复位。图4-3所示的复位电路属于按键手动复位。复位电路中的电阻、电容数值是为了保证在RST端能够保持两个机器周期以上的高电平以完成复位而设定的。按键手动复位实质包含了上电自动复位和按键手动复位两个方面。当手动开关没有闭合时,构成上电自动复位。此时外接的电容和电阻与电源构成通路,电容被充电后实现了上电自动复位功能。但要注意的是电容上的电压上升时间要短,小于1ms达到Vcc,只有这样才可以完成自动上电复位功能。按键手动复位也有两种方式,即电平方式和脉冲方式。其中,电平复位方式是通过使RSP端经电阻与Vcc电源接通而实现的,如图4-4所示。

18

4.1.3 主控电路

该系统的主控电路的核心器件为STC89C51单片机,依靠它实现智能控制。起初小车的起动、复位都需要手动完成。红外传感器构成的检测电路实时检测,并把检测到的信号送给单片机,单片机处理后由小车开始计数,动态液晶显示系统显示行驶时间和里程。另外,单片机控制小车实现避障、调速。安装在小车正前方和左右侧位置的多个电传感器检测后传送给单片机,单片机处理该信号,然后控制小车实现自动避障。在电动小车行驶过程中主要采用双极式H型PWM脉宽调制技术实现小车速度的控制。电动小车行驶过程中的静动态性能依赖于系统中的调制技术(双极H型调制和PWM脉宽调制)。系统原理图如图4-5所示。

19

智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用。将循迹光电对管分别装在车体下的左右。当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。 避障的原理和循迹一样,在车身右边装一个光电对管,当其检测到障碍物时,主控芯片给出信号报警并控制小车倒退、转向,从而避开障碍物。 本模块主要是对采集信号进行分析,同时给出PWM波控制

20

电机速度、起停,以及检测到障碍立即报警等作用。其电路图如图 4-6。

4.2 信号检测电路设计

检测技术是自动检测技术和自动转换技术的总称。它是以研究自动检测系统中的信息提取、信息转换以及信息处理的理论和技术为主要内容的一门应用的技术学科。它已经渗透到人类的一切活动领域。检测技术中的传感器好比人完成视、听、味、嗅、触(称为“电五官”)的感觉器官,没有传感器就好像人没有了“电五官”,因此就不能实现自动化,也就不能完成智能控制。自动检测技术与自动保护,自动报警和自动诊断系统等密不可分,有了它,就可以完成自动计量、自动管理。特别是近年来将传感器与微型计算机有机结合后,带微处理器的新型“智能化”装置不断涌现,实现了生产过程的自动控制,从而大大提高了劳动生产率,提高了产品质量,减轻了劳动强度和改善了劳动条件。

图4-7 信号循迹原理图

小车的信号检测电路设计实际就是对传感技术、检测技术的应用。因为小车要实现自动循迹、自动避障并实时显示行进方向、时间、里程等,必须依赖于传感器,本设计中就选用了红外等传感器构成检测电路,如循迹功能的检测电路,如图4-7所示。

21

4.2.1 红外检测电路设计

该设计采用红外对管构成的红外传感器,具体电路如图所示:

在小车的前端及左右安装三对相同的红外对管,用来检测行驶路线的前方及左右的障碍信号,每个红外对管都有一个发射管和一个接收管,发射管发射红外线到地面前方和左右,如果遇到障碍物则光信号会反射回来,否则会被吸收。检测到障碍物接收管不导通,输出高电平,否则输出低电平。单片机根据接收到的高低电平来决定小车如何行驶。当然障碍的检测主要还是依靠在小车的正前端安装的一对红外对管,当小车前端的红外对管发射出的红外光线被反射回来时,说明前方有障碍物,此时小车会进行相应的反应。 4.2.2 金属探测电路设计

此部分电路的功能是模拟检测行进道路上的小型的障碍物,如铝钱币,在此我们使用的金属传感器是电感接近式开关。该传感器主要由两部分组成,即放大处理电路、LC高频振荡电路。它的检测原理是:当金属物体靠近感应头时,LC高频振荡电路发生电磁场振荡,从而产生涡流。接近开关被这个涡流作用,使其振荡

22

能力减弱,参数就会因此在电路的内部发生变化,这样就可以判别出有无金属体靠近,即地面有无小障碍,从而控制开关的开或关。其工作原理图如下图所示:

当小车靠近铝钱币时,控制开关将会发生变化,输出电压为零伏,否则输出的是1.12V。由于两者都属于低电平,在此我们再次使用电压比较器,使两种不同情况下,分别输出高、低电平,并将它传给单片机。单片机再根据接收到的信号去判断是否有铝钱币。

对小车侧面障碍物的检测由于要求检测距离较近,外界干扰相对较弱,为简化设计,我选用直流直接驱动方式。如图4-12所示,此电路主要通过LM393比较器,与外部输入信号进行比较,在此设计中,发光二级管的功率为25V/160?= 0.156W 通过调节R20可变电阻(电位器)来调节LM393中的比较电压。通过比较器输出0-+5V的电压,被单片机口读入。

LM358内部拥有两个双运算放大器,双运算放大器各自独立,增益高,能频率补偿。适合于宽电源电压的单电源使用和双电源工作模式,在给定的条件下,电源电流和电源电压无直接联系。引脚如图4-14。它可用于传感放大器,也可用

4.3驱动电路设计

23

电机驱动一般采用 H 桥式驱动电路,L298N 内部集成了 H 桥式驱动电路,从而可以采用 L298N 电路来驱动电机。通过单片机给予 L298N 电路 PWM 信号来控制小车的速度,起停。其引脚图如 4-16,驱动原理图如图 4-17。

电机驱动电路使用的步进电机是四项六线式,用L297和L298N驱动芯片驱动,

24

其中一个的驱动电路如图所示(另外一个于此相同):单片机AT89S52通过I/O口向L297的17和18脚发送驱动控制信号,从而控制步进电机的速度及正反转。

4.4 显示电路设计

本系统的显示有两种器件,一是LED,二是LCD。用以显示检测的温度和小 车运行的状况。

25

4.5 电源电路设计

本系统所有芯片都需要+5V的工作电压,而一节电池只能提供的电压为 1.2V的倍数的电压,10节电池电压为12V,则需要7805稳压芯片。L7805能提供小于1.5A的电流,足以满足芯片供电的要求。虽然微处理器和微控制器不需要支持

26

电路,功耗也很低,但必须要加以考虑。由于直流电机的额定电压大且额定电流大,可直接由12V而不经降压为其供电,电机驱动电源由它来提供的。图4-20为9V电压经7805稳压后得到5V电压的稳压电路。

4.6 接口电路设计

4.6.1 前向通道设计

在计算机控制系统中,控制对象运行的状态信息需要通过传感器转换为电信号才能输入给计算机,计算机处理后的信息也需转换为合适的电信号输出到执行器,由执行器对控制对象实施控制作用。能实现控制对象与计算机之间信号传递和交换的装置在计算机控制系统中称之为过程通道。

过程通道解决两类基本问题:一是将外部传感器信号转换成计算机能接收的数字信号;二是将计算机输出的数字信号转换为外部执行器能接受的信号。由此,过程通道可分为输入通道和输出通道,习惯上输入通道又称为前向通道,主要用于采集来自传感器的各种数据;输出通道又称后向通道,主要用于驱动各种执行器。 1.前向通道的含义

在单片机系统中,对被控对象进行数据采集或现场参数监视的信息通道称为前向通道。包括:

第一,被测参数(如位置、位移、速度、加速度、压力、温度等)被传感器检测转换成电量后还需要将其转换成数字量(这就是AD转换),,才能被单片机接受;有的虽已被转换成数字量,如开关信号、频率信号等,但与单片机的数字电平不匹配,需进一步转换成单片机能接受的TTL数字信号。

第二,被测参数较多时,单片机I/O口在数量上有时不够用。前向通道的扩展包括:输入信号通道数目的扩展和信号转换两个技术处理问题。

简单来说前向通道就是各种输入设备与单片机或者控制系统的传输通道或者模式,一般来说都是用AD转换实现。如音频信号的输入、各种传感器信号的输入。 根据处理信号类型的不同,输入通道可分为数字量输入通道和模拟量输入通道,

27

输出通道可分为数字量输出通道和模拟量输出通道。 2.前向通道组成和特点

要对生产过程实现自动控制,就必须对它的运行状态进行检测。生产过程中的开关信号、脉冲信号、数字编码信号等,可通过数字量输入通道输入计算机。生产过程中还有许多信号(诸如压力、流量、温度、液面高度等等)是模拟信号,模拟信号的大小随着时间而连续变化,该信号由传感器接收,由变送器转换,把模拟的电流或电压转换成对应的数字信号,这些被转换电流或电压信号经过接口电路送入计算机。信号不同,其特征也不一样,处理的要求也不一致,如表 4-1

28

图 4-21 是一种前向通道结构图,该前向通道处理的信号主要是数字信号。感应开关和机械式行程开关得到的信号必须经转换电平的电路转换达到要求的开关信号(一般为TTL电平),然后送到接口电路;转速传感器得到的信号被送到整形电路,整形成边的脉冲信号,上升沿和下降沿才能完好,经计数器记录其脉冲的个数;V/F(电压/频率)转换器提供的信号是频率信号,该信号可以可直接送往接口电路或经计数器后送往接口电路;角度编码器提供的虽是数字信号,但它需要经相位鉴别和锁存后才能送到计算机。传感器送出的数字信号一般需要经光电隔离后再传送到计算机的接口电路。很多智能化的传感器具备串行数字的输出功能,因此就可以通过隔离电路送到串行接口;而具有现场总线功能的传感器是可直接连接到现场总线,因为它已将相位鉴别和锁存的通道集成在芯片的内部。

29

所示。

图 4-22 是另一种前向通道结构示意图,它主要处理模拟信号。热敏电阻通过电桥将电阻阻值的变化量转换为电压信号;热电偶把温度信号转换为电势信号输出。这些信号经放大、线性化处理、模/数转换后送入计算机接口电路。大电流信号需要分流衰减,大电压信号需要分压衰减,高速信号需要采样保持后,才能进行 A/D 转换;对输出电流信号的传感器,需要将电流信号转换为电压信号,才能进行 A/D 转换;为防止现场对计算机系统的干扰,在前向通道中,通常还要有光电或变压器隔离措施。 3.前向通道的设计 (1)传感器的比较

30

(2)超声波障碍检测

超声波是一种在弹性介质中的机械振荡,其频率超过 20KHz,分横向振荡和纵向振荡两种,超声波可以在气体、液体及固体中传播,其传播速度不同。它有折射和反射现象,且在传播过程中有衰减。利用超声波的特性,可做成各种超声波传感器,结合不同的电路,可以制成超声波仪器及装置,在通讯、医疗及家电中获得广泛应用[1]。

如图 4-23 所示,该图是由超声波构成的检测电路。

4.6.2 后向通道设计

在单片机系统中,对控制对象输出控制信息的通道称为后向通道。在后向通道设计中,必须解决单片机与执行机构(如电磁铁、步进电动机、伺服电功机、直流

31

电动机等)功率驱动模块的接口问题,这时也会遇到信号转换(这时由于与执行机构相连接,则必须把数字信号转换成执行机构能接受的模拟信号这就叫DA转换)、隔离及输出通道数的扩展等技术问题。

简单地说,后向通道指单片机或者其他控制器输出到执行单元的通道,在这里需要进行把单片机能识别的数字信号转换成执行单元可识别的电压或电流模拟信号。

对于执行机构来说,后向通道就是它的信号源,因为它要完成微型计算机与执行机构的信号转换,完成微型计算机与执行机构的功率驱动,完成微型计算机与执行机构的速度匹配,完成实际应用中的抗干扰等功能。输出通道包括数字量的输出和模拟量的输出,按照输出信号的类型可以把后向通道分为两种,即数字量的输出通道和模拟量的输出通道。 1.模拟通道

D/A转换器——把数字量转换为使输出模拟量。 平滑滤波器——使输出模拟量连续。

分路器——将转换后的模拟量依次分配到多个模拟设备,使多个设备能共用 一个 D/A 转换器。 2.数字通道

32

数字量输出通道主要由输出锁存器、数字光电隔离器、输出地址译码电路和功率驱动电路等组成

数据锁存——锁存数据总线输出信号 光电隔离——防止现场干扰

下图所示的双极式 H 型可逆 PWM 变换器电路式的向通道。

33

(3)元器件的性能参数应当匹配

通常,电子器件在出厂前都进行了空载老化等质量处理。必要时可对重要器件进行带载老化处理,使他们通上电,带上额定负载,在恒温箱中存放几十小时后取出再筛选。

34

第五章 控制软件的设计与实现

5.1 概述

在进行微机控制系统设计时,一方面要进行系统的硬件设计,另一方面还要对系统的软件进行设计。对于基于单片机的智能玩具电动车系统而言,大量的工作还有应用程序的设计,这个工作对于该系统而言更为重要。 5.1.1 应用软件的一般要求

在应用系统软件设计的过程中,想要设计出一个高质量的程序,必须清楚地掌握程序的功能、程序运行的环境以及用户对系统的要求。而在通常情况下,对软件应用程序的要求大致可以包括以下几个方面: 1.实时性

实时性是指单片机应用系统的软件应具有实时性,在工业或其它各个领域中控制系统一般都是实时控制的,所以对应用软件的执行速度都会或多或少有一定的要求,即要求设计出来的程序在速度上要尽可能的快。 2.程序的简练性

程序的简练性是指设计出来的程序应尽可能的简练,既要完成目标要求,还要以最简洁的方式表达出来。在完成功能和技术要求的前提下,程序应当越简单越好,程序占用的存储空间越小越好,这样可减少空间应用,避免资源的浪费。 3.程序的灵活性、可扩展性

该要求主要是指设计出的系统程序应该具有较强的适应能力,在设计的过程中应尽量编写子程序来增加程序的灵活性,当计算机应用系统的功能需要扩展时,程序在原有基础是否容易修改,即位程序的扩展性。 4.程序的可靠性

在单片机应用系统设计的过程中,系统运行的过程中如果经常出现因软件问题而产生的故障,那么就失去了程序应该具有的可靠性,系统的可靠性在整个系统中

35

是至关重要的,是决定系统正常工作的保障。单片机应用系统的可靠性一方面取决于硬件系统,另一方面也取决于软件系统。 5.1.2 应用软件的设计过程

根据程序设计的要求,以及应用系统功能及性能的要求,我们便可以进行单片机汇编语言程序设计了,具体的设计步骤为: 1.明确要求,划定软硬件界面。 2.分析具体问题,建立数学模型。 3.根据数学模型确定相应的算法。

4.绘制出各程序模块,如主程序、子程序的流程图。

5.选择合适的语言,如 C51 或汇编语言等,根据流程图编制源程序,编写的过程中,应尽量使用子函数,以提高程序设计的速度。 6.最后将各个程序模块组合在一起,构成一个完整的程序。 5.1.3 应用软件的设计注意事项

在软件系统的设计过程中,应用软件是根据系统的功能和技术要求,需要根据硬件设计进行设计。然而,由于应用系统有很多种类,不同硬件有不同的特点,因此,单片机应用系统的软件设计也是千差万别的。一般在设计的过程中应注意以下几点:

1.尽量增强软件抗干扰能力;

2.各功能的程序尽量模块化和层次化;

3.存储空间规划合理、分配明确,并注意节省内存; 4.软件结构要简洁,软件流程要合理,软件布局要清晰; 5.及时整理和备份软件资料,使软件档案工作规范化。

5.2 软件的结构设计

软件控制系统有两个基本的类型:数据处理和过程控制。数据处理有标度的变换、数据的采集和数字滤波等。过程控制主要指单片机按一定的算法实行计算,计算

36

后输出,从而控制生产。

在进行软件设计时,通常把整个控制分解成很多个部分,每一个小的部分叫做一个控制模块。所说的“模块”,实际上就是为了实现一定功能而相对独立的小程序段,这种设计程序的方法就叫做程序的模块设计法。

该系统软件的软件结构设计采用了模块化结构设计,由主程序模块、避障程序模块﹑显示程序模块﹑电机驱动调速程序模块等构成。

主控单元 主控程序模块 电机驱动程序模块 显示程序模块 可靠性及保护程序 复位控制程序 启停控制程序 图5-1系统软件结构图

5.3 主要模块实现

5.3.1 电机驱动流程图及程序

37

该部分主要实现的功能是:一方面,无障碍时车速的自动控制;另一方面,40到障碍后,根据障碍控制小车电机的转速和正反转方向,使小车在相应车速下或右转,或左转。从而实现避开障碍,继续前进。电机驱动程序如下: 1. PWM 控制小车速度程序 #include #define uchar unsigned char #define uint unsigned int sbit K1=P2^4; sbit K2=P2^5; sbit IN1=P1^0; sbit IN3=P1^1; sbit EN1=P1^2;

38

本文来源:https://www.bwwdw.com/article/bmhg.html

Top