单片机系统的作用(通用12篇)
单片机系统的作用 篇1
1 系统的硬件组成和基本工作原理
1.1 系统的硬件组成
在工业企业中, 大量应用电动机作为原动机去拖动各种生产机械, 这些生产机械往往要求在不同的情况下, 以不同的速度工作, 这就要求用一定的方法改变生产机械的工作速度。
针对上述生产要求, 最长采用的方法就是对电动机转速进行调节来实现。例如:改变直流电动机的电枢电压或交流电动机的定子电压, 都可以在一定范围内改变他们的转速。从20世纪60年代生产出成套的晶闸管整流装置, 使变流技术产生根本性的变革, 开始进入晶闸管时代。到今天直流电力拖动系统中已大量采用晶闸管元件作为可调电源向电动机供电, 从而取代了笨重的电动机——发电机组以及饱和电抗器的控制方式, 和电动机——发电机组系统相比, 不仅在经济性和可靠性上都有很大提高, 而且在技术性能上也显示出较大的优越性。它不再象直流发电机那样需要较大的功率放大装置, 其快速性达到毫秒级, 大大提高了系统的动态性能。这种晶闸管——电动机调速系统的基本控制方法是:通过改变晶闸管的控制角来调节电动机的供电电压, 从而达到平衡调速的目的。
1.2 系统的工作原理
本设计采用两种晶闸管反并联连接线路, 解决了电动机频繁正反转运行和回馈制动中电能的回馈通道, 但接踵来的是影响系统安全工作并决定可逆系统性质的一个重要问题——环流问题。所谓环流是指不流过电动机或其他负载, 直接在两组晶闸管之间流通的短路电流。环流太大甚至会导致晶闸管损坏, 固必须予以抑制。
1.3 转速与电流的反馈信号的检测
本设计采用磁补偿式霍尔电流传感器来进行电流反馈信号的检测。霍尔电流传感器是一种较好的隔离式强电流检测装置, 它不仅能测量静态、动态的参数, 还具有动作频率宽、电隔离等优点, 给系统的应用带来不少方便。
2 晶闸管电路的触发控制
在用计算机进行触发控制时, 对触发装置的要求有三条:分辨率要小;各相触发脉冲的不对称性要小;移相触发控制占CPU的时间要短。要想提高控制系统的控制精度, 必须响应地提高数字触发器的精度。本设计采用高分辨率的数字触发器。使其分辨及置位精度都较高。选用一个16位定时器便可对正反两组可控硅全控桥准确触发。触发器采用硬件立即触发方式, 突破以往的软件触发方式。触发器工作稳定可靠, 各相触发脉冲整齐, 对称度好, 无论角如何移动均不会丢脉冲或多脉冲, 控制输入量与变流器输出之间的线性度较高。
3 数字调节的设计
本设计中的8031单片机是控制系统的核心, 它主要具有数字自动调节功能, 这时相当于典型的双闭环模拟系统中速度调节器和电流调节器作用。它通过一定算法实现自动调节, 当采样系统的频率满足采样定理时, 采样系统的特性接近于连续变化的模拟系统, 即采样后的离散信号能不失真地反映原连续信号变化。
本设计先选用“模拟系统设计法”, 然后再进行离散化来进行电流调节器和速度调节器内环, 再设计外环的方法。因此, 先研究电流调节器设计, 再进行转速调节器的设计。
4 单片机系统的设计
本设计选用的8 0 3 1单片机内部无ROM, 不能构成完整的计算机系统, 须外接EPROM作为程序存储器, 外接一片2764可以扩展成8k程序存储器的8031系统, 它具有价格低, 使用灵活, 能方便维修和更新程序存储器的特点, 再考虑到扩展应保留有一定余量, 综合技术性和经济性两方面因素, 本设计用外接2764扩展8031单片机。
本设计采用一片2764EPROM存储器扩展为8k存储器的8031系统。2764EPROM是一种8k字节的紫外光可擦式可编程只读存储器, 单一的+5 V电源供电, 工作电流为1 0 0 m A, 维持电流为5 0 m A, 读出时间为250ns, 是一种高速大容量的存储器电路。
5 软件设计
主程序包括三个程序段:置初态程序:所谓“置初态”就是在执行功能程序前, 对有关的数据单元、计数单元、寄存器等进行送数、置位和清零;事故保护程序:这个程序对系统进行自检, 显示故障性质, 并进行处理;启动准备程序:这个程序用来获得起动信号, 并做好起动的所有准备。
6 系统的工作过程
系统的整个起动过程可分为三个阶段:电流上升段、恒流升速阶段、转速调节阶段。直流可逆调速系统, 就电动机而言, 有正、反两种状态;就晶闸管而言, 有整流和逆变两种状态。而正转、反转的起动、调速以及制动在原理上是相同的。
7 技术经济分析
7.1 器件的选择
在这次设计中选用了多种器件, 按照经济实用的原则, 经过适当选取其型号如表1所示。
在本次设计中, 由于本人能力经验有限, 在选择器件的过程中遇到很多的困难, 通过查阅资料做出了以上的器件选取, 其中不乏错误和漏洞。选取的目标首先要保证质量, 最后就是根据实际情况选择性价比高的器件。
7.2 社会效益
直流电动机具有良好的起、制动性能, 容易实现在大范围内平滑调速, 且与交流调速系统相比控制电路简单。所以在矿井提升机、皮带运输机以及在其他行业中的轧钢机、造纸机、高层电梯、金属切削机床和挖掘机等需要高性能的可控电力拖动领域中得到了广泛的应用。
8 结语
本设计通过单片机来实现电动机调速很多。在这些方法中单片机控制的双闭环调速方法来实现调速对于其他用硬件或者硬软结合的方法实现电动机调速具有以下优点:本系统采用8031单片机配合中、小功率器件构成双闭环调速系统能获得良好的调速指标;本系统采用8031单片机控制电动机调速, 提高了系统的稳定性和可靠性;本系统采用8031单片机控制电动机调速实现调速过程具有更大的灵活性。能充分发挥电动机的效能;本系统具有调速范围宽、调速平衡, 起动转矩大、起动性能好等优点, 在工业传动系统中得到广泛应用
参考文献
[1]陈伯石.电力拖动自动控制系统[M].北京:机械工业出版社, 2003.
[2]顾绳谷.电机及拖动基础上册[M].北京:机械工业出版社, 2000.
[3]陈治明.电力电子器件[M].北京:机械工业出版社, 1992.
单片机系统的作用 篇2
1.1逆变电源数字化控制技术的发展 随着网络技术的发展,对逆变电源提出了更高的要求,高性能的逆变电源必须满足:高输入功率因数,低输出阻抗;暂态响应快速,稳态精度高;稳定性高,效率高,可靠性高;电磁干扰低等。要实现这些功能,离不开数字化控制技术。1.2传统逆变电源控制技术
1.2.1传统逆变电源控制技术的缺点 传统的逆变电源多为模拟控制系统。虽然模拟控制技术已经非常成熟,但其存在很多固有的缺点:控制电路的元器件比较多,电路复杂,所占的体积较大;灵活性不够,硬件电路设计好了,控制策略就无法改变;调试不方便,由于所采用器件特性的差异,致使电源一致性差,且模拟器件的工作点的漂移,导致系统参数的漂移。模拟方式很难实现逆变电源的并联,所以逆变电源数字化控制是发展的趋势,是现代逆变电源研究的一个热点。1.2.2传统逆变电源控制技术的改进
为了改善系统的控制性能,通过模拟、数字(A/D)转换器,将微处理器与系统相连,在微处理器中实现数字控制算法,然后通过输入、输出口或脉宽调制口(pulse width modulation, PWM)发出开关控制信号。微处理器还能将采集的功率变换装置工作数据,显示或传送至计算机保存。一些控制中所用到的参考值可以存储在微处理器的存储器中,并对电路进行实时监控。微处理器的使用在很大程度上提高了电路系统的性能,但由于微处理器运算速度的限制,在许多情况下,这种微处理器辅助的电路控制系统仍旧要用到运算放大器等模拟控制元件。近年来随着大规模集成电路技术的发展,一些专用心片的产生,使逆变电源的全数字控制成为现实。实时地读取逆变电源的输出,并实时地处理,使得一些先进的控制策略应用于逆变电源控制成为可能,从而可对非线性负载动态变化时产生的谐波进行动态补偿,将输出谐波达到可以接受的水平。
1.3逆变电源数字化控制技术的现状
1.3.1逆变电源控制技术数字化、智能化、网络化
随着电机控制专用芯片的出现和控制理论的普遍发展,逆变电源技术朝着全数化智能化及网络化的方向发展,逆变电源的数字控制技术发生了一次大飞跃。逆变电源数字化控制的优点在于各种控制策略硬件电路基本是一致的,要实现各种控制策略,无需变动硬件电路,只需修改软件即可,大大缩短了开发周期,而且可以应用一些新型的复杂控制策略,各电源之间的一致性很好,这样为逆变电源的进一步发展提供了基础,而且易组成可靠性高的大规模逆变电源并联运行系统。
1.3.2逆变电源数字化需要解决的一些难题
数字化是逆变电源发展的主要方向,但还是需要解决以下一些难题:
a)逆变电源输出要跟踪的是一个按正弦规律变化的给定信号,它不同于一般开关电源的常值控制。在闭环控制下,给定信号与反馈信号的时间差就体现为明显的相位差,这种相位差与负载是相关的,这就给控制器的设计带来了困难。
b)逆变电源输出滤波器对系统的模型影响很大,输入电压的波动幅值和负载的性质,大小的变化范围往往比较大,这些都增加了控制对象的复杂性,使得控制对象模型的高阶性、不确定性、非线性显著增加。
c)对于数字式PWM,都存在一个开关周期的失控区间,一般是在每个开关周期的开始或上个周期之末来确定本次脉冲的宽度,即使这时系统发生了变化,也只能在下一个开关周期对脉冲宽度做出调整,所以现在逆变电源的数字化控制引起了广泛的关注。1.4逆变电源数字化的各种控制策略
逆变电源数字控制方法成为当今电源研究领域的一个热点,与数字化相对应,各种各样的离散控制方法也纷纷涌现,包括数字比例-积分-微分(PI)调节器控制、无差拍控制、数字滑变结构控制、模糊控制以及各种神经网络控制等,从而有力地推动逆变电源控制技术的发展。
1.4.1数字PI控制
数字PI控制以参数简单、易整定等特点得到了广泛应用。逆变器采用模拟数字PI控制时,如果只是输出电压的瞬时值反馈,其动态性能和非线性负载时的性能不会令人满意;如果是输出滤波电感或输出滤波电容的电流瞬时值引入反馈,其性能将得到较大改进,然而,庞大的模拟控制电路使控制系统的可靠性下降,调试复杂,不易于整定。数字信号处理芯片的出现使这个问题得以迅速解决,如今各种补偿措施及控制方式可以很方便地应用于逆变电源的数字PI控制中,控制器参数修改方便,调试简单。
但是,数字PI控制算法应用到逆变电源的控制中,不可避免地产生了一些局限性:一方面是系统的采样量化误差,降低了算法的分辨率,使得PI调节器的精度变差;另一方面,采样和计算延时使被控系统成为一个具有纯时间滞后的系统,造成PI控制器设计困难,稳定性减小,随着高速专用芯片及高速A/D的发展,数字PI控制技术在逆变电源的控制中会有进一步的应用。
1.4.2滑模变结构控制
滑模变结构控制(sliding mode variable structure control,SVSC)最显著的特点是对参数变化和外部扰动不敏感,即鲁棒性强,加上其固有的开关特性,因此非常适用于闭环反馈控制的电能变换器。
基于微处理器的离散滑模控制使逆变器输出波形有较好的暂态响应,但系统的稳态性能不是很理想。具有前馈控制的离散滑模控制系统[1],暂态性能和稳态精度得到提高,但如果系统过载时,滑模控制器的负担将变得非常重。自矫正离散滑模控制可以解决这个问题。
逆变器的控制器由参数自适应的线性前馈控制器和非线性滑模控制器组成,滑模控制器仅在负载导致输出电压变化时产生控制力,稳态的控制力主要由前馈控制器提供,滑模控制器的切换面(超平面)是根据优化准则进行设计的。1.4.3无差拍控制
无差拍控制(deadbeat control)是一种基于电路方程的控制方式,其控制的基本思想是将输出正弦参考波等间隔地划分为若干个取样周期,根据电路在每一取样周期的起始值,用电路理论算出关于取样周期中心对称的方波脉冲作用时,负载输出在取样周期末尾时的值。这个输出值的大小,与方波脉冲的极性与宽度有关,适当控制方波脉冲的极性与宽度,就能使负载上的输出在取样周期的末后与输出参考波形相重合[2]。不断调整每一取样周期内方波脉冲的极性与宽度,就能在负载上获得谐波失真小的输出。因此,即使在很低的开关频率下,无差拍控制也能够保证输出波形的质量,这是其它控制方法所不能做到的,但是,其也有局限性:由于采样和计算时间的延迟,输出脉冲的占空比受到很大限制;对于系统参数的变化反应灵敏,如电源电压波动、负载变动,系统的鲁棒性差。
对于采样和计算延时的影响,一种方法是通过修改输出脉冲方式的方法来减小计算延时造成的占空比局限;另一种方法是通过状态观测器对系统状态提前进行预测,用观测值替代实际值进行控制,从而避免采样和计算延时对系统的影响。为了提高系统的鲁棒性,一种方法是采用负载电流预测方法来减小负载变动对电源输出的影响,但实际改善的程度有限;另一种可行的方法是对系统参数进行在线辨识,从而实时确定控制器参数,以达到良好的控制效果。但是,在线系统辨识的计算复杂度和存储量都非常大,一般的微处理器很难在很短的时间内完成,因此实现的可能性不大,所以还没有一种比较好的方法来解决无差拍控制鲁棒性差的问题。正是由于无差拍控制在电源控制中的不足及局限性到目前还难以解决,使得无差拍控制在工业界的应用还有待不断的深入研究。1.4.4重复控制
逆变器采用重复控制(repetitive control)是为了克服整流型非线性负载引起的输出波形周期性的畸变,它通常与其他PWM控制方式相结合。重复控制的思想是假定前一周期出现的基波波形将在下一基波周期的同一时间重复出现,控制器根据给定信号和反馈信号的误差来确定所需的校正信号,然后在下一个基波周期的同一时间将此信号叠加到原控制信号上,以消除后面各周期中将出现的重复畸变[3]。
虽然重复控制使系统获得了很好的静态性能,且易于实现,但该技术却不能够获得好的动态性能。自适应重复控制方案成功地应用于逆变器的控制中。
模糊控制(fuzzy control)能够在准确性和简洁性之间取得平衡,有效地对复杂的电力电子系统做出判断和处理。将模糊控制应用于逆变器,具有如下优点:模糊控制器的设计不需被控对象的精确数学模型,并且有较强的鲁棒性和自适应性;查找模糊控制表只需占有处理器很少的时间,可采用较高采样率来补偿模糊规则和实际经验的偏差。
将输出电压和滤波电感电流反馈,即电压误差和电感电流作为输入模糊变量,可以实现逆变器的模糊控制,整流性负载时,其输出电压总谐波失真(total harmonic distortion,TH)小于5%,将模糊控制与无差拍控制相结合,可用来补偿由于非线性负载导致的电压降落,[5-6]。模糊控制从模仿人的思维外特性入手,模仿人的模糊信息处理能力。它对系统的控制是以人的经验为依据的,而人的经验正是反映人在思维过程中的判断、推理、归纳。理论上已经证明,模糊控制可以任意精度逼近任何线性函数,但受到当前技术水平的限制,模糊变量的分档和模糊规则都受到一定的限制,隶属函数的确定还没有统一的理论指导,带有一定的人为因素,因此,模糊控制的精度有待于进一步提高。
此外神经网络控制是一种使用人工神经网络的控制方法。因为人工神经网络是建立在强有力的数学基础上,所以它有很大的潜力,这个数学基础包括各种各样的已被充分理解的数学工具。在无模型自适应控制器中,人工神经网络也是一个重要组成部分。但由于神经网络的实现技术没有突破,还没有成功地应用于逆变电源的控制中。
第二章 推挽型逆变器的基础知识 2.1 开关型逆变器 广义地说,凡用半导体功率器件作为开关,将一种电源形态转变为另一种形态的主电路都叫做开关变换电路,这种变换可以是交流电和直流电之间的变换,也可以是电压或电流幅值的变换,或者是交流电的频率、相数等的变换。按电力电子的习惯称谓,基本的电力电子电路可以分为四大类型,即AC——DC电路、DC——AC电路、AC——AC电路、DC——DC电路。本文中的逆变电路就属DC——AC电路。开关逆变器中的开关都是在某一固定频率下工作,这种保持开关频率恒定,但改变接通时间长短(即脉冲宽度),使负载变化时,负载上电压变化不大的方法,称脉宽调制法(Pluse Width Modulation,简称为PWM)[4]。由于电子开关按外加控制脉冲而通断,控制与本身流过的电流、二端所加的电压无关,因此电子开关称为“硬开关”。凡用脉宽调制方式控制电子开关的开关逆变器,称为PWM开关型逆变器。本文是用SPWM专用产生芯片控制电子开关的通断,属硬开关技术。相对应有另一类控制技术“软开关”,它是一种使电子开关在其两端电压为零时导通电流,或使流过电子开关电流为零时关断的控制技术。软开关的开通、关断损耗理想值为零,损耗很小,开关频率可以做到很高。2.2 推挽型电路
各种变换电路按其是否具备电能回馈能力分为非回馈型和回馈型,非回馈型电路按其输出端与输入端是否电气个力分为非隔离型和隔离型。隔离型电路又分为正激型、反激型、半桥型、全桥型和推挽型。带中心抽头变压器原边两组线圈轮流工作的线路一般称为推挽线路,它不太适合离线变换器的应用。推挽型电路的一个突出优点是变压器双边励磁,在输入回路中仅有1个开关的通态压降,而半桥型电路和全桥型电路都有2个,因此在同样的条件下,产生的通态损耗较小,而且不需驱动隔离,驱动电路简单,这对很多输入电压较低的电源十分有利,因此低电压输入类电源应用推挽型电路比较合适。但是功率开关所承受的电压应大于2。
2.2.1 线路结构
图1-1 推挽型电路原理图
推挽型电路的原理图如图1-1所示。主变压器 原边绕组 接成推挽形式,副变绕组 接成全波整流形式。
2.2.2 工作原理
由于驱动电路作用,两个功率开关管、交替导通。当 导通时,加到 上,所有带“.” 端为正。功率开关管 通过变压器耦合作用承受 的电压。副边绕组 “.” 为正,电流流经、L到负载上。原边电流是负载折算至原边的电流及原边电感所定的磁化电流之和。导通期间,原边电流随时间而增加,导通时间由驱动电路决定。关断时,由于原边能量的储存和漏电感的原因,的漏极电压将升高.2.2.2推挽型逆变器的变压器设计
推挽型逆变器设计在整个电源的设计过程中具有最为重要的地位,一旦完成设计,不宜轻易改变,因此设计时对各方面问题考虑周全,避免返工,造成时间和经费的浪费。下面介绍具体设计。变压器是开关电源中的核心元件,许多其他主电路元器件的参数设计都依赖于变压器的参数,因此应该首先进行变压器的设计。高频变压器工作时的电压、电流都不是正弦波,因此其工作状况同工频变压器是很不一样的,设计公式也有所不同。需要设计的参数是电压比、铁心的形式和尺寸、各绕组匝数、导体截面积和绕组结构等,所依据的参数是工作电压、工作电流和工作频率等[5]。另外,变压器兼有储能,限流,隔离的作用.在磁心大小,原边电感,气隙大小,原,副边线圈匝数的选择,以及在磁心内直流成分和交流成分之间的相互影响都应在设计中细致考虑.第三章 基于单片机的控制系统设计
按照设计的要求,基于单片机AT89C52的设计主要实现以下功能:SA828的初始化及控制、ADC0809采样的数据的处理和输出显示电压频率。选用单片机作为主控器件,控制部分的原理框图如下:
图3-1 控制系统原理框图 3.1 系统硬件电路的设计
图3-2为控制部分的电路原理图。电路主要由AT89C52单片机、四位显示及驱动电路、AD采样电路、复位电路等组成。
图3-2 3.1.1 AT89C52单片机
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8为单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052善拼引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。[6] 主要性能参数:
与MCS-51产品指令和引脚完全兼容 8k字节可充擦写Flash闪速存储器 1000次擦写周期
全静态操作:0Hz—24MHz 三级加密程序存储器 256×8字节内部RAM 32个可变成I/O口线 3个16位定时计数器 8个中断源
可编程串行UART通道 低功耗空闲和掉电模式 功能特性概述:
AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时器/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。引脚功能: Vcc:电源电压 GND:地
P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1是一个带有内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P1写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部技术输入(P1.0/T2)和输入(P1.1/T2EX)。
Flash编程和程序校验期间,P1接收低8位地址。
P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时,P2口输出P2锁存器的内容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,他们被内部上拉电阻拉高可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。
P3口出了作为一般的I/O线外,更重要的用途是它的第二功能,如下表: 端口引脚 第二功能
P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)
P3.4 T0(定时/计数器0)P3.5 T1(定时/计数器1)
P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)
此外,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST:复位输入。当振荡器工作时,RST引脚出现两个周期以上高电平将使单片机复位。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。对于本次设计的引脚使用情况如下: P1口:控制LED数码管8位段码;P3.0,P3.1,P3.4,P3.5:数码管位选通口;XTAL:接晶振;RST:接复位电路;P0: ADC0809的结果输入;SA828的控制字口;P2.0:SA828的片选;P2.7:ADC0809的片选;P3.2:外部中断0.AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器和256×8位的随机存取数据存储器(RAM),3个16位定时/计数器、6个中断源、低功耗空闲和掉电方式等特点。器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,可以满足系统要求。系统采用5V电源电压,外接12M晶振。3.1.2显示电路
显示的方法分为动态显示和静态显示。所谓静态显示就是在同一时刻只显示一种字符,其显示方法简单,只需将显示段码送至段码口,并把位控字送至位控口即可。动态显示是利用人眼对视觉的残留效应,采用动态扫描显示的方法。[7]本设计采用动态显示,显示电路采用四位一体共阳极LED数码管,从P1口输出段码,位选控制端接于P3.0,P3.1,P3.4,P3.5。段驱动采用74LS245,位选驱动采用74LS244。硬件连接图如下: 图3-3 显示部分硬件连接图 3.1.3 A/D转换电路
A/D转换器采用集成电路0809完成,0809是8位MOS型A/D转换器。[] 1).主要特性
① 8路8位A/D转换器,即分辨率8位;② 具有转换起停控制端;
③ 转换时间为100μs;
④ 单个+5V电源供电;
⑤ 模拟输入电压范围0~+5V,不需零点和满刻度校准;
⑥ 工作温度范围为-40~+85摄氏度;
⑦ 低功耗,约15mW。
2).内部结构
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。
图3-4ADC0809内部结构框图 3).外部特性(引脚功能)
ADC0809芯片有28条引脚,采用双列直插式封装,如图3-5 所示。下面说明各引脚功能。
IN0~IN7:8路模拟量输入端。
2-1~2-8:8位数字量输出端。
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。如表所示。
ALE:地址锁存允许信号,输入,高电平有效。图 3-5 ADC0809引脚图
START: A/D转换启动信号,输入,高电平有效。
EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一+5V。GND:地。
表3-6 ADDA、ADDB、ADDC真值表
ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。4).AD0809与控制电路的连接如下图:
图 3-7 AD0809的连接电路 3.1.4 SPWM波形电路
由于逆变开关管的开关时间要由载波与调制波的交点来决定。在调制波的频率、幅值和载波的频率这3项参数中.不论哪一项发生变化时,都使得载波与调制波的交点发生变化。因此,在每一次调整时,都要重新计算交点的坐标。显然,单片机的计算能力和速度不足以胜任这项任务。过去通常的作法是:对计算作一些简化,并事先计算出交点坐标.将其制成表格,使用时进行查表调用。但即使这样,单片机的负担也很重。
为了减轻单片机的负担,一些厂商推出了专用于生成三相或单相SPWM波控制信号的大规模集成电路芯片,如HEF4752、SLE4520、SA828、SA838等等。采用这样的集成电路芯片,可以大大地减轻单片机的负担,使单片机可以空出大量的机时用于检测和监控。这里详细介绍SA828三相SPWM波控制芯片的主要特点、原理和编程。3.1.5 SA828主要特点
⑴.适用于英特尔和摩托罗拉两种总线格式,接口通用性好, 编程,操作简单,方便,快捷。⑵.应用常用的对称的双边采样法产生PWM波形, 波形产生数字化,无时漂,无温漂稳定性好。
⑶.在外接时钟频率为12.5MHZ时载波频率可高达24KHZ,可实现静音运行。最小脉宽和死区时间通过软件设置完成,既节约了硬件成本,又使修改灵活方便。
调制频率范围宽,精度高(12位),输出正弦波频率可达4KHZ,可实现高频率高精度控制及光滑的变频.。
⑷.在电路不变的情况下, 通过修改控制暂存器参数,就可改变逆变器性能指标,驱动不同负载或工作于不同工况。
⑸.可通过改变输出SPWM脉冲的相序实现电机的正反转。
⑹.独立封锁端可瞬时封锁输出PWM脉冲亦使微处理器防止突然事件的发生。3.1.6 SA828工作原理
SA828是MITEL公司推出的一种专用于三相SPWM信号发生和控制的集成芯片。它既可以单独使用,也可以与大多数型号的单片机接口。该芯片的主要特点为:全数字控制;兼容Intel系列和MOTOROLA系列单片机;输出调制波频率范围0—4kHz;12位调速分辨率;载波频率最高可达24kHz;内部ROM固化波形:可选最小脉宽和延迟时间(死区);可单独调整各相输出以适应不平衡负载。[8] SA828采用28脚的DIP和SOIC封装。其引脚如图3-8所示。各引脚的功能如下:(1)输入类引脚说明
AD0——AD7:地址或数据输入通道。
SET TRIP:通过该引脚,可以快速关断全部SPWM信号输出,高电平有效。
:硬件复位引脚,低电平有效。复位后,寄存器的、、WTE和RST各位为0。CLK:时钟输入端,SA828既可以单独外接时钟,也可以与单片机共用时钟。:片选引脚。
、、ALE:用于“ / ”模式,分别接收写、读、地址锁存指令。INTEL模式下ALE的下降沿传送地址,的上升沿给SA828写数据。在此模式下不用。
R/、AS、DS:用于“R/ ”模式,分别接收读/写、地址、数据指令。MOTOROLA模式下,AS的下降沿传送地址,当R/ 为低电平时,DS的下降沿给SA828写数据(接底电平)
(2)输出类引脚说明 图3-8 RPHB、YPHB、BPHB:这些引脚通过驱动电路控制逆变桥的R、Y、B相的下臂开关管。RPHT、YPHT、BPHT:这些引脚通过驱动电路控制逆变桥的R、Y、B相的上臂开关管。
它们都是标准TTL输出.每个输出都有12mA的驱动能力,可直接驱动光偶。
:该引脚输出—个封锁状态。当SETTRIP有效时,为低电平、表示输出已被封锁。它也有12mA的驱动能力,可直接驱动一个LED指示灯。ZPPR、ZPPY、ZPPB:这些引脚输出调制波频率。WSS:该引脚输出采样波形。3.1.7内部结构及工作原理
SA828内部结构如图3-9所示。来自单片机的数据通过总线控制和译码进入初始化寄存器或控制寄存器,它们对相控逻辑电路进行控制。外部时钟输入经分频器分成设定的频率,并生成三角形载波,三角载被与片内ROM中的调制波形进行比较,自动生成SPWM输出脉冲。通过脉冲删除电路,删去比较窄的脉冲(如图3-10所示),因为这样的脉冲不起任何作用,只会增加开关管的损耗。通过脉冲延迟电路生成死区,保证任何桥臂上的两个开关管不会在状态转换期间短路。
图3-9 SA828的内部结构
片内ROM存有正弦波形。寄存器列阵包含3个8位寄存器和2个虚拟寄存器。他的虚拟寄存器R3的写操作结果是R0,R1,R2中的数据写入控制寄存器。虚拟寄存器R4的写操作结果是R0,R1,R2中的数据写入初始化寄存器。各寄存器地址如表3-11所列。
图 3-10 脉冲序列中的窄脉冲
AD2 AD1 AD0 寄存器 功能 0 0 0 R0 暂存数据 0 0 1 R1 暂存数据 0 1 0 R2 暂存数据 0 1 1 R3 传控制数据 1 0 0 R4 传初始化数据 表 3-11 其工作过程可简析如下:由于调制波形关于90度,180度,270度对称,故波形ROM中仅有0∽90度的波形瞬时幅值,采样间隔0.23度, 90度内共384组8位采样值存入ROM中,每个采样值线性的表达正弦波的瞬时值, 通过相位控制逻辑,将它组成0∽360度的完整波形.该调制波与载波比较产生三相六路双极性PWM调制波形.其经脉冲宽度取消电路,将脉冲宽度小于取消时间的脉冲去掉,再经脉冲延时电路引入死区时间,从而保证了在转换瞬间高,低端功率开关不会出现共同导通现象。图3-9中24位初始化暂存寄存器,可用来设置输出波形参数,例如载波频率,最小脉宽,脉冲取消时间计数器置”0” 图3-12 Intel总线时序
等。一经设置好,运行中不允许改变。24位控制寄存器,用来调整改变调制波频率,幅值,输出关闭,过调制选择,开机关机等.上述设置和调整均通过微处理器或微控制器发出指令,数据先存入三个8位暂存寄存器R0,R1,R2中,然后通过R3和R4分别传送给24位初始化寄存器和24位控制寄存器。初始化或调整时,端要置0。SA828由外配的微处理器通过复用MOTEL总线控制,并与外配的微处理器接口,该接口总线有自动适应英特尔和摩托罗拉两种总线格式及工作时序的能力(两种总线的工作时序如图3-12和3-13),在电路启动运行后,当AS/ALE端从低电平变为高电时,内部检测电路锁存DS/ 的状态,若检测结果为高电平则自动进入英特尔模式,若检测结果为低电平,则选择摩托罗拉模式工作,总线连接和定时信息相对所用微处理器而言,这个过程在每次AS/ALE变为高电平时要进行,实际中模式选择由系统自动设定。
图3-13 Motorola总线时序
3.1.8 SA828 初始化寄存器编程
初始化是用来设定与电机和逆变器有关的基本参数。它包括载波频率设定、调制波频率范围设定、脉冲延迟时间设定、最小删除脉宽设定、幅值控制。
初始化编程时,即设定各寄存器内容。下面分别介绍这些内容的设定。[9](1)载波频率设定
载波频率(即三角波频率)越高越好,但频率越高损耗会越大,另外,还受开关管最高频率限制,因此要合理设定。设定字由CFS0--CFS2这3位组成。载波频率 通过下式(3—1)求出。式中K为时钟频率,n值的二进制数即为载波频率设定字,可以取1,2,4,8,16或32。由于K=12MHz,当n=1时,反算得 =23.4375KHz,考虑到(max)=24KHz , <(max)当n=2时,=11.71725KHz ,故n取1,实际 =23.4375KHz。(2)调制波频率范围设定
根据调制频率范围.确定设定字。设定调制波频率范围的目的是在此范围内进行l2位分辨率的细分,这样可以提高控制精度,也就是范围越小.控制精度越高。调制被频率范围设定字是由FRS0—FRS2这3位组成。调制波频率 通过下式(3—2)求得。m值的二进制数即为调制波频率范围设定字。上面已得 =23.4375KHz,若取 =500Hz则m=8.192 ,考虑到调制波的频率为400Hz,则m=8 ,反算得 =488.28Hz。(3)脉冲延迟时间设定 该设定字是由PDY0—PDY5这6位组成。脉冲延迟时间 通过下式(3—3)求得。设脉冲延迟时间 则 =60(4)最小删除脉宽设定
最小删除脉宽设定字是由PDT0—PDT6这7位组成。最小删除脉宽 由下式(3—4)图3-14 延迟前后脉宽关系
求得。考虑到延迟(死区)的因素,在延迟时.通常的做法是在保持原频率不变的基础上,使开关管延迟开通.如图3-7所示.实际输出的脉宽=延迟前的脉宽--延迟时间。由结构图 可知.SA828的工作顺序是先删除最窄脉冲,然后再延迟.所以式(3—4)给出的 应是延迟前的最小删除脉宽。它等于实际输出的最小脉宽加上延迟时间,即 =实际输出的最小脉宽十 ,假设实际输出的最小脉宽=10 那么 =15 则 =180> =128 , =10.67 s 最小脉宽为5.67 s。(5)幅值控制
AC是幅值控制位。当AC=0时,控制寄存器中的R相的幅值就是其他两相的幅值。当AC=l时,控制寄存器中的R、Y、B相分别可以调整各自的幅值,以适应不平衡负载。
初始化寄存器通常在程序初始化时定义。这些参数专用于逆变电路中.因此,在操作期间不应该改变它们。如果一定要修改,可先用控制寄存器中的 来关断SPWM输出,然后再进行修改。
3.1.9 SA828控制寄存器编程
控制寄存器的作用包括调制波频率选择(调速)、调制波幅值选择(调压)、正反转选择、输出禁止位控制、计数器复位控制、软复位控制。控制数据仍然是通过Ro—R2寄存器输入并暂存,当向R3虚拟寄存器写操作时.将这些数据送入控制寄存器。(1)调制波频率选择
调制波频率选择字由PFS0—PFS7这8位组成。通过下式
(3-5)求得 值,它的二进制数即是调制波频率选择字。取 =400Hz , =488.28Hz ,得 =3355.45179(2)调制波幅值选择
通过改变调制波幅值来改变输出电压有效值,达到变频同时变压的目的。输出电压的改变要根据U/f曲线,随频率变化进行相应的变化。调制波幅值是借助于8位幅值选择字(RAMP、YAMP、BAMP)来实现的。每一相都可以通过计算下式 %(3-6)求出A值,它的二进制数即为幅值选择字(即RAMP或YAMP或BAMP)。式中的 就是调压比,注意,初始化寄存器的AC位决定了R相幅值是否代表另二相幅值。= =91.8=92(3)输出禁止位控制
输出禁止位。当 =0时,关断所有SPWM信号输出。(4)计数器复位控制
计数器复位位,当 =0,使内部的相计数器置为0(R相)。(5)软复位控制
RST是软复位位。它与硬复位 有相同的功能。高电平有效。
SPWM波形的产生,选择专用的芯片SA828,如前面所讲,这里不再论述。它和单片机的接口如下图所示: 3.2 系统软件的设计 3.2.1 初始化程序
系统上电时,初始化程序将数据存储区清零。3.2.2 主程序
完成定时器的初始化,开各种中断,循环调用各个子程序。包括电压显示子程序、AD转换子程序、828初始化子程序。主程序流程图见图 程序清单如下: START: SETB IT1;选择INT1为边沿触发方式 SETB EX1;开外中断1 SETB EA;开总控制中断
CLR PX1;外中断1为低优先级 SETB IT0;脉冲下降沿触发外中断0 SETB EX0;开外中断0 MOV TMOD,#01H;T0工作在定时,方式1 SETB PX0;外中断0为高优先级 MOV TH0,#00H MOV TL0,#00H ACALL KAISHI ACALL INCADC AJMP START 3.2.3 SA838初始化及控制子程序
按照单片机与SA828的接线图,P2.0作为SA828的片选控制口,因此SA828的起始地址为FE00H。系统上电复位之后首先对SA828写初始化字和控制字。具体计算如前面所述。流程图如下: 程序清单如下:
CLR P2.1;禁止PWM输出
MOV A,#80H;SA828初始化寄存器 MOV DPTR,#0FE00H;SA828地址 MOVX @DPTR,A;给R0写数据 INC DPTR MOV A,#60H MOVX @DPTR,A;给R1写数据 INC DPTR MOV A,#04H MOVX @DPTR,A;给R2写数据 INC DPTR INC DPTR MOVX @DPTR,A;给初始化寄存器R4写数据 MOV A,#1BH;SA828控制寄存器 MOV DPTR,#0FE00H;SA828地址 MOVX @DPTR,A;给R0写数据 INC DPTR MOV A,#2DH MOVX @DPTR,A;给R1写数据 INC DPTR MOV A,#05CH MOVX @DPTR,A;给R2写数据 INC DPTR MOVX @DPTR,A;给控制寄存器R3写数据 SETB P2.1;允许PWM输
单片机对采样到的输出如做PI调节计算转换为电压幅值控制字后,需要重新写入控制字,其方法是相同的。
3.2.4 ADC0809的控制及数据处理子程序
单片机与ADC0809的接线图所示,P2.7作为ADC0809的片选控制口,因此ADC0809的起始地址为7F00H。如图所示,ADC0809的地址选择线接地,固定8路模拟数据输入端重IN-0为电压采样输入端。ADC0809的CLK信号是从AT89C52的ALE端经四分频器74LS74分频后得到的,工作频率为500HZ,转换时间为128us左右,据此设计一个延时时间,延时时间一到,采用查询方式进行数据传送。即用软件测试EOC(P3.1)的状态,若测试结果为1,则转换结束接着进行数据传送,否则等待,直到测试结果为1。因为ADC0809的最大输入电压为5V,其转换结果FFH对应5V。所以FFH对应的输入应大于等于5V,表示输入超过量程。本设计中FFH对应36V,其转换公式为,X=,因此程序中有二进制转换及乘14子程序,除以100处理为小数点固定显示在次低位。另外,考虑到系统存在电磁干扰,采用了中值滤波子程序进行软件抗干扰。中值滤波对于去掉由于偶然因素引起的波动或采样器不稳定而造成的误差所引起的脉动干扰比较有效。中值滤波之后将最优值存于6AH中再进行转换处理。流程图如图下面是程序清单: INCADC: MOV R0,#2CH MOV R2,#03H SAMP: MOV DPTR,#7F00H;AD0809端口地址送DPTR MOV A,#00H;输入通道0选择 MOVX @DPTR,A;启动A/D转换 MOV R7,#0FFH;延时查询方式 DELAY:DJNZ R7,DELAY LOOP1:JB P3.1,T1;查询p3.1是否为1 JNB P3.1,LOOP1 T1:MOVX A,@DPTR;读取从IN0输入的转换结果 MOV @R0,A INC R0 DJNZ R2,SAMP 以下是数字滤波程序流程图及程序清单:
FILTER:MOV A,6CH CJNE A,6DH,CMP1 AJMP CMP2 CMP1:JNC CMP2 XCH A,6DH XCH A,6CH CMP2:MOV A6DH CJNE A,6EH,CMP3 MOV 6AH,A CMP3:JC CMP4 MOV 6AH,A CMP4:MOV A,6EH CJNE A,6CH,CMP5 MOV 6AH,A CMP5:JC CMP6 XCH A,6CH CMP6:MOV 6AH,A;滤波结果存于6AH RET 3.2.5 数据处理及电压显示子程序 DISPLAY: MOV A,6AH ACALL L1;十进制转换 ACALL PLAY RET PLAY:;显示程序 MOV A,R5;分离D1 ANL A,#0FH MOV 50H,A MOV A,R5;分离D2 ANL A,#0F0H SWAP A MOV 51H,A MOV A,R4;分离D3 ANL A,#0FH MOV 52H,A MOV A,R4;分离D4 ANL A,#0F0H SWAP A MOV 53H,A PLAY1: CLR P2.6 CLR P2.5 CLR P2.4 CLR P2.3 MOV R1,#50H;显示数据首地址 MOV P1,#0FFH;清除原来的数据 SETB P2.3;显示最低位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS;数据显示1ms CLR P2.3 MOV P1,#0FFH INC R1 SETB P2.4;显示次低位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR ANL A,#7FH;小数固定显示 MOV P1,A LCALL DL1MS CLR P2.4 MOV P1,#0FFH INC R1 SETB P2.5;显示次高位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS CLR P2.5 MOV P1,#0FFH INC R1 SETB P2.6;显示最高位 MOV A,@R1 JZ NODISPLAY;若A=0,则不显示 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS CLR P2.6 MOV P1,#0FFH NODISPLAY: MOV P1,#0FFH AJMP PLAY1 RET
L1:CLR C;十进制转换 MOV R5,#00H MOV R4,#00H MOV R3,#08H NEXT1:RLC A MOV R2,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R2 DJNZ R3,NEXT1 RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
DL1MS: MOV R6,#14H DL1:MOV R7,#19H DL2:DJNZ R7,DL2 DJNZ R6,DL1 RET 3.2.6 输出频率测试计算及显示子程序部分 ⑴.频率测试计算子程序部分
SA828带有频率输出端口,将其与单片机的中断INT0口相接,如原理图所示。本例中所使用的中断源有2个:T0中断和 中断。中断的功能是计算ZPPR输出的调制波频率。由于调制波频率可能比较低,因此用T0溢出中断来记录一个ZPPR周期中T0溢出的次数,这个溢出次数保存到70H中。这样,在一个 中断间隔里,所用的时间(即ZPPR周期)是3个字节的数(1个字节的T0溢出次数,2个字节的T0值)。因为AT89C52使用12MHZ的时钟频率,一个机器周期是,所以调制波频率的计算公式为: =0F4240H,也是一个3字节的数,因此 是一个3字节除法运算。如果对精度要求不高,的分子分母可以舍掉最低字节来简化运算,这样就成为双字节除法运算。所以,当 中断时,只取TH0,将其存放到71H中除法运算的整数商存放到72H、73H中,小数商存放到75H中,以便频率显示程序中调用。
中断子程序及流程图如下:
SUANPIN: CLR EA;关中断 CLR TR0 PUSH ACC;保存现场 PUSH B PUSH DPL PUSH DPH PUSH PSW PUSH 50H PUSH 51H PUSH 52H PUSH 53H PUSH 60H PUSH 61H PUSH 62H PUSH 63H PUSH 6AH SETB PSW.3 MOV 70H,#00H;MOV TL0,#00H;TL0清0 MOV 71H,TH0;取TH0值 MOV TH0,#00H;TH0清0 MOV A,71H;检查除数是否为0 ORL A,70H;不会溢出,高位永远为零 JZ ABC;除数为0则退出 MOV R2,#00H;输入被除数 MOV R3,#00H MOV R4,#0FH MOV R5,#42H MOV R6,70H;输入除数 MOV R7,71H LCALL NDIV;调用双字节除法子程序原来的程序,NDIV:MOV B,#16;双字节无符号数除法子程序;当条件(R2R3)〈(R6R7)满足时,;(R2R3R4R5)/(R6R7)=(R4R5),余数在(R2R3)NDVL1: CLR C MOV A,R5 RLC A MOV R5,A MOV A,R4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A XCH A,R2 RLC A XCH A,R2 MOV F0,C CLR C SUBB A,R7 MOV R1,A MOV A,R2 SUBB A,R6 JB F0,NDVM1 JC NDVD1 NDVM1: MOV R2,A MOV A,R1 MOV R3,A INC R5 NDVD1:DJNZ B ,NDVL1 CLR F0
MOV 72H,R4;频率整数部分存于7273H中 MOV 73H,R5;调制波频率整数部分存72H MOV 75H,R2;将调制波频率小数部分(小于100)存75H MOV 70H,#00H;70H清0 ABC:POP 6AH POP 63H POP 62H POP 61H POP 60H POP 53H POP 52H POP 51H POP 50H POP PSW;恢复现场 POP DPH POP DPL POP B POP ACC SETB EA;开中断 SETB TR0 RETI
⑵.频率显示部分
本系统用一个四位一体的LED数码管显示数据,系统初始化后显示的为电压,按频率显示按钮显示频率。利用中断源 显示,它将72H、73H中的频率整数(二进制数)部分先进行二--十转换存于R3R4R5中,根据经验,转换过来的十进制数只有百位,即R3中的值为00,R4中的值为0X。因此将R4R5中的数分离分别在最高位、次高位、次低位显示,并且次低位带有小数点。将75H中的小数部分在最低位显示。至此,频率显示部分完成。
中断程序及流程图如下:
DISPLAYF:PUSH ACC;保存现场 PUSH B PUSH DPL PUSH DPH PUSH PSW PUSH 50H PUSH 51H PUSH 52H PUSH 53H PUSH 60H PUSH 61H PUSH 62H PUSH 63H PUSH 6AH SETB PSW.4;使用第二工作寄存区
MOV R6,72H;频率整数部分存欲R6R7中调用双字节十进制转换程序 MOV R7,73H;;ACALL HB2;调用双字节十进制转换程序
HB2:CLR A;BCD码初始化;双字节十进制转换 MOV R3,A MOV R4,A MOV R5,A MOV R2,#10H;转换双字节二进制整数
HB3:MOV A,R7;从高端移出待转换数的一位到CY中 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5;BCD码带进位自身相加,相当于乘2 ADDC A,R5 DA A;十进制调整 MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB3 MOV A,75H;频率小数部分在最低位显示 ANL A,#0F0H SWAP A MOV 50H,A MOV A,R5;频率整数部分个位数在次低位显示 ANL A,#0FH CLR CY SUBB A,#07H MOV 51H,A MOV A,R5;频率整数部分十位数在次高位显示 ANL A,#0F0H SWAP A CLR CY SUBB A,#05H MOV 52H,A MOV A,R4;频率整数部分百位数在最高位显示 ANL A,#0FH DEC A MOV 53H,A ACALL PLAY;显示频率
POP 6AH POP 63H POP 62H POP 61H POP 60H POP 53H POP 52H POP 51H POP 50H POP PSW;恢复现场 POP DPH POP DPL POP B POP ACC AJMP DISPLAYF RETI
第四章 联机调试及结果分析 4.1 联机调试情况
系统的调试分为硬件调试和软件调试两个部分。硬件调试包括控制电路的调试和主电路的调试。调试时,应该先调控制部分。首先检查电路的焊接是否正确,然后用万用表测试或通电检测。主电路部分硬件的检测方法同控制部分。硬件检查无误后,软件调试。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、AD转换子程序、电压显示子程序、频率显示子程序、数字滤波子程序等子程序的编程及调试。
在联机调试前,先用伟福模拟仿真,然后利用爱思G3000在线联机调试。联机调试时出现了下面一些问题:
1).四位一体LED显示管不显示; 2).P1口没有数据输出; 3).AD转换器不工作;
4).SA828的输出波形不正确。解决的办法及处理结果:
1).检查各个数码管的位控端及代码段是否连接完好,给它加的驱动是否正确,以及各个数码管本身是否完好。经检测是我们的驱动连接有问题,重新连接后,显示正常。
2).P1口没有数据输出的原因也是我们的显示驱动出错导致,当驱动错误排除后,P1口数据输出正常。
3).和AD转换器的各个连线都联结正确,我们的焊接技术不好,出现了个别引脚虚焊,虚焊处理后,问题解决。
4).SA828的输出波形下桥臂出现一段脉宽为1us的不正常波形,按照电路设计原理,小于5.67us的波形在脉冲删除电路中是该删除掉的,由于三相下桥臂均输出这种不正常的波形,我们用到了SA828的输出禁止端SETTRIP,把此端接上高电平即可使输出禁止而不影响内部电路的正常工作,但是实验结果还能看到此不正常的波形,若其是内部电路产生,即使不能删除,在输出禁止时理论上应该是能禁止的。又考虑到可能是干扰所至,消除掉可能存在的干扰后依然存在此波形。初次使用这系列的芯片,对其资料也不完全掌握,实验最后,仍留此问题,亟待日后解决。另外,在绞尽脑汁之后,发现一个问题,原来认为不用的芯片端口可以按其功能相应的接高电平或接地,在这样做之后,芯片发烫,断开连接即恢复正常 4.2 实验验证及结果分析
1).1).从SA828的RPHT、PRHB输出的驱动脉冲信号如下图4-1所示
图4-1 PWM输出的上、下桥臂的驱动信号
2).经过TTL驱动电路,加在栅极的驱动电压信号如图4-2所示。图4-2 MOSFET栅极的驱动信号 3).仿真交流输出信号如图4-3所示 图4-3 仿真交流输出信号 4).结果分析
实验室搭建主电路进行实验和调试,获得了较好的实验效果。该系统输出正弦波的频率为400HZ。试验证明整个系统方案结构紧凑,实时性较好。4.3结论
在前面的系统硬件软件设计下,我们在实验室组成实际的线路进行了实验和调试,获得了较为良好的实验效果。该系统输出正弦波合成的频率为400HZ,试验证明整个系统结构紧凑,实时性较以完全单片机软件编程产生SPWM波的方法要好得多,而他的功能又比用HEF4752等纯硬件方法生成的SPWM波的方法完善。综上分析及实验验证,可以得到下面几点结论:
1).SA828时一个高性能的SPWM专用IC,在合适的外围条件的支持下,它可以输出较好的SPWM脉冲信号。
2).以单片机最小系统来完成SA828的外围硬件支持,可以使系统的硬件结构简化,提高可靠性,减小系统成本和体积。
3).文中介绍的以AT89C52最小系统与SA828相结合构成的全数字化SPWM脉冲形成系统,即可解决全软件编程产生SPWM脉冲波的缺陷,又可以弥补纯硬件系统完成SPWM脉冲生成方案的不足,是一种较好的方案。4).文中介绍的SPWM脉冲形成方案,不仅在开关电源的数字化制作方面是一个尝试和创新,而且在直流调速、交流调速、变频电源、电力回收领域,也具有通用性,它应用前景广阔。
单片机系统的可靠性研究 篇3
关键词 单片机 抗干扰 可靠性 稳定性
中图分类号:TP3 文献标识码:A
1单片机选型
1.1低功耗单片机
CHMOS芯片是专为低功耗系统设计的芯片类型,通过对单片机的特殊功能寄存器 PCON编程,使单片机工作在待机或掉电工作方式。在设计低功耗应用系统时,不仅要选用低功耗型单片机,在外围扩展电路中也应选择低功耗的芯片和器件。
1.2低噪声单片机
使用低噪声单片机可实现单片机系统噪声的降低。而大功率的驱动电路集成到单片机内部无疑增加了噪声源,一般采用跳变沿软化技术可降低此类系统噪声。
1.3高速度单片机
单片机外部时钟是高频的噪声源,除了能引起单片机应用系统本身的干扰之外,还可能对外界其他设备造成干扰,使电磁兼容检测不能达标。在对系统可靠性要求很高的应用系统中,通常可选用时钟频率低、指令运行速度快的单片机来降低系统噪声干扰。
2单片机硬件抗干扰
2.1接地
给单片机系统提供良好的保护地线,提高系统的抗干扰能力。
2.2隔离与屏蔽
隔离一般是通过使用光电隔离器件将单片机的输入输出隔离开,从而有效地抑制尖峰脉冲及各种噪声干扰,使传输通道的信噪比大大提高。屏蔽则是用来隔离空间辐射的,对噪声特别大的部件,如开关电源用金属盒罩起来,可减少对单片机系统的干扰。
2.3PCB综合布局和布线
PCB电路板的设计要本着尽量控制噪声源、尽量减小噪声的传播与耦合和尽量减少敏感元件对干扰噪声的拾取这三大原则进行。具体设计时,应结合PCB设计的相关规则进行合理的布局和布线。
2.4硬件“看门狗”技术
若失控的程序进入“死循环”,一般采用“看门狗”技术使程序脱离“死循环”。通过硬件“看门狗”电路不断检测程序循环运行时间,当发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,对单片机进行复位操作,脱离“死循环”。
3单片机软件抗干扰
3.1指令冗余技术
单片机CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞” 到了三字节指令,出错机率更大。
在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。
此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。
3.2软件陷阱技术
当乱飞程序进入非程序区,冗余指令便无法起作用。通过设置软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。
3.3软件“看门狗”技术
若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。“看门狗”技术可由硬件实现,也可由软件实现。 在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断。则系统无法定时“喂狗”,硬件“看门狗”电路失效。而软件“看门狗”可有效地解决这类问题。
软件看门狗通常是使用定时器中断来监视程序运行状态。定时器的定时时间稍大于主程序正常运行一个循环的时间,在主程序运行中执行一次定时器时间常数刷新操作,这样只要程序正常运行,定时器不会出现定时中断。当程序失常时,就不能及时刷新定时器时间常数而导致定时中断时,利用定时中断服务程序将系统复位。
4单片机复位
一般来说不同的单片机的复位电路稍有不同,单片机厂商都会提供标准的复位电路资料,可根据资料合理设计复位电路。
5单片机系统可靠性测试
5.1测试单片机软件功能的完善性
这是针对所有单片机系统功能的测试,根据生产要求和控制要求测试软件是否正确完整。
5.2上电掉电测试
在使用中,用户必然会遇到上电和掉电的情况,通过多次开关电源来测试单片机系统的可靠性。
5.3老化测试
测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温、高压以及强电磁干扰的环境下测试。
5.4ESD和 EFT等测试
可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰 EFT测试等等。
5.5人为模拟测试
即人为模拟使用中可能发生的破坏情况。例如用人体或者衣物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。
参考文献
[1] 冯江,温如春,易见兵. MCS-51单片机走飞的软件抗干扰方法研究[J].南方冶金学院学报,2006(01).
[2] 李精华,陈胜权.单片机系统中的抗干扰分析及措施[J].信息技术,2005(08).
单片机系统的作用 篇4
随着微电子技术和计算机技术的飞速发展, 单片机的应用已经渗透到人类生活的各个方面。无论是尖端科技, 如军事、通信、能源、机器人、交通、IT, 还是现代工业、农业、仪器仪表、汽车电子系统、家用电器、玩具及个人信息终端等各个领域, 都离不开单片机, 成为了电子系统智能化的最普遍的应用手段。因此“单片机原理及应用”课程也成为各高校工科专业的一门重要专业基础必修课程。其目的是培养这类学生掌握单片机的结构、原理等硬件特性及汇编语言、指令, 并做到两者融会贯通。通过对单片机理论、系统设计方法的学习, 增强工程应用实践能力, 培养学生分析问题和解决问题的能力。
目前培养适应新世纪社会发展需要的高素质创新人才, 已成为高等教育发展的重要趋势。作为高校工科专业的基础必修课, 单片机教学就必须以提高学生的动手能力和创新能力为核心目的。单片机课程是一门理论性、技术性和实践性都很强的课程, 对学生提出了比较高的要求, 不仅要能够融合电子电路、微型原理及程序设计等相关知识, 还要具有实际动手能力。因此, 如何通过理论和实验教学使得学生更快的掌握单片机;如何通过改善单片机的理论和实验教学的内容和方法, 充分调动学生学习的积极性, 进一步发挥他们的主观能动性和创造性, 这成为了任课老师思考的重点。
1 单片机教学现状
传统的单片机教法, 总是先将单片机的基本内部结构和工作原理讲完, 然后学生开始做实验。在学理论知识时没有相应的实践配合, 使学生产生枯燥无味感, 加上单片机这门课程比较抽象, 学生在刚开始接触的时候很难入门。任课老师深感教学难度大, 学生普遍觉得此课程难以理解, 学完后, 印象不深刻, 不能举一反三, 过后遗忘。学生的学习兴趣随着课程的枯燥也随之递减。出现上述问题的主要原因在于该课程抽象复杂, 具有软、硬件相结合的特点, 而且实验学时偏少等原因, 学生学完后, 不具备灵活应用所学知识的能力, 学生单片机综合实践技能的能力很难提高。
那么, 改变现状的方法仅有改变原有的教学模式和方法, 变抽象为形象、化复杂为直观。
2 单片机技能培训的必要性
单片机技能培训是在系统学习单片机课程之前指导学生了解单片机的基本知识和应用, 提高学生对该课程的认识, 培养学生对该课程的兴趣, 并且在有限的一个半星期的集中培训时间里通过老师的讲解、演示和指导, 使得学生对单片机有一定的主观、直观认识和实践动手机会, 能对单片机的基本指令、编程、调试和应用有一定的掌握, 这将为学生今后系统学习单片机课程奠定了基础, 也将使得单片机学习不再枯燥无味。
2.1 实验设备
实验室配备的单片机软件开发平台是Keil u Vision。Keil u Vision开发平台由于支持C语言开发、提供良好的集成环境、支持厂商众多等因素得到了广泛的应用, 成为时下开发单片机应用系统的有力工具。在教学内容上, 除讲解单片机汇编语言的基本知识, 还应该以Keil u Vision为开发平台, 讲解C51的开发流程。让学生既掌握汇编指令, 又熟悉C51的开发方式, 今后在面对实际系统时, 能够做到发挥两者各自的优势, 高效地完成开发过程。这对今后学生学习该课程及其他相关知识打下基础。
另外, 老师对单片机实验板的演示让学生对单片机的应用有一定主观和直观认识, 激发学生的学习兴趣, 促进学生对知识的渴望。例如:实验室里AT89S5x单片机试验开发板设计了LED循环灯、数码管、单脉冲发生器等实验, 学生通过自己的动手操作这些实验项目, 初学者很快被其吸引, 使得学生对单片机的认识从无到有, 从好奇到学习, 从学习到掌握, 在学生的脑子里迅速形成概念, 这样学生的积极主动性加强了。一旦学生的学习积极主动性被调动起来, 那么在下面的学习中将是带着问题和兴趣积极的投身于此。
2.2 单片机技能培训的教学方法
单片机技能培训对老师而言具有一定的挑战性, 这不仅要求老师对单片机的知识和应用了如指掌, 对知识融会贯通, 而且要求老师在有限的较短时间内达到培训目的。那么在单片机技能培训的教学方法上就应该大做文章, 在培训期间不是单一的理论或者实验教学, 而是两者合二为一, 只有这样才能达到更好效果。
2.2.1 理论和实验教学有机结合
单片机课程本身是一门很有趣的课程, 有很多东西都与实际生活相关, 很容易激发学生的学习兴趣。那么怎样做才能使得在很短的时间内让学生有所了解并且掌握相关基本知识?这就需要老师在讲一些比较抽象的知识时, 能通俗易懂, 多举例说明, 通过Keil u Vision开发平台的功能把知识点串起来, 那么学生理解起来会更容易些。比如说, 对于片内RAM和片外RAM数据传递, 这需要不同指令才能完成, 例如:
指令执行的过程应该是将立即数30H传送到片内RAM的34H地址单元内, 通过累加器A和R1的间接寻址将数据30H传送到片外RAM的52H单元中。结果为 (A) =30H, (R1) =52H, 片内RAM中的 (34H) =30H, 片外RAM中的 (52H) =30H。
上述指令虽然很简单, 但是对于初学者来说, 这将很容易出错。如果老师仅仅就把指令讲解完毕, 举两个例子说明, 这将是很枯燥无味的, 虽然学生听明白了为什么要这样做, 这样做有什么样的结果, 但是还是一头雾水, 有点懵懵懂懂。但是, 如果利用Keil u Vision开发平台的程序演示, 学生就能有一个很清楚的认识, 从片内的数据通过指令运行后传送到了片外的具体的地址单元里, 在相应的地址单元里学生会看到结果: (A) =30H, (R1) =52H, 片内RAM中的 (34H) =30H, 片外RAM中的 (52H) =30H, 这样直观的接触对理解起到很好的帮助, 并且可以单步执行每条指令, 学生会更清楚每条指令的实际意义和运行结果。而且老师可以在Keil u Vision开发平台演示写指令的过程中说明注意事项, 写出错误指令后的应对方法等等具体细节, 这对提高学生排除故障能力和开发创新能力有重要意义。那么学生有了具体操作和直观认识后, 对指令的学习和Keil u Vision开发平台的操作有了进一步具体的掌握。
在很短的时间内能对单片机有所了解和领悟, 这对学生而言是一个不小的进步, 也使得学生很有成就感, 这就更加激发了他们的学习积极主动性和创新性, 而不是仅仅局限于会分析看懂程序上, 而是希望通过自己编程, 达到成功。一旦自己编程调试成功, 这种喜悦和成就感就不言而喻了, 这也促使他们对学习新知识和掌握更多知识的渴望。当然在培训期间, 由于时间有限, 不可能把所有的知识都面面俱到, 那么感兴趣的学生就可以自学相关内容, 这不仅提高了学生的自学能力, 也为他们接触单片机和进一步了解提供了更长的时间, 为今后的学习工作打下坚实的基础。
2.2.2 引入竞争机制, 分组比赛
单片机技能培训虽然时间短, 但是时间很集中, 连续全天的上课对学生而言也是比较枯燥和乏味的。如何让学生充分利用时间, 调动学生的学习积极性, 在每天的上课时间里有更多的收获?我想引入竞争, 把学生分组, 通过比赛完成学习内容不失一个好方法。
把学生5-6人分为一组, 每组一位组长, 这样就可以通过每组完成学习任务的先后顺序给各组打分, 结果将直接带入最终成绩, 这对激发学生的学习积极性和发扬团队精神起到很好作用。在授课过程中, 讲解到一定程度, 老师布置给学生任务, 在有限的时间内每组上交答案, 具体事项由组长负责。由于学生的集体荣誉感很强, 谁也不服输, 出现你追我赶的现象, 整个课堂气氛活跃, 学生学习热情高涨。在学生完成任务期间, 老师可以诱导学生如何思考问题和解决问题, 帮助他们避免不必要的错误, 及时解答学生提出的问题, 这样学生在此期间既可以学习新知识又可以巩固所学知识, 同时, 学生之间的交流也会让学习变得生动起来。例如:用多种方法将片内RAM34H单元和36H单元中的内容互换。一般有四种方法:直接地址传送法, 间接地址传送法, 字节交换传送法和堆栈传送法。这个任务要求学生能正确应用所学指令, 并且要灵活应用不同功能的指令。鼓励学生相互之间讨论, 引发新的思维碰撞, 一题多解, 激发学生的创新意识。这在很大程度上对学生掌握知识和应用知识起到帮助, 比老师在黑板上一直讲效果要好得多, 学生也乐意动脑筋, 彼此之间相互讨论研究, 就连平时不爱学习的学生都变得积极爱学了。整体效果非常不错。
2.2.3 充分利用多媒体和网络
老师上课使用多媒体教学能让学生更快掌握知识和软件操作, 内容更加直观和形象, 学生也更容易接受, 不会觉得枯燥乏味。在学生完成任务期间, 除了利用课本查找知识解决问题及老师的帮助外, 当然也可以借助网络的强大功能, 有什么问题上网“搜”一下, 这样既可以解决问题, 也让学生更加开阔眼界, 学习他人思考问题和解决问题的方法。通过一系列的学习过程, 对学生而言将是受益无穷的。
3 结束语
单片机系统的作用 篇5
工业生产中对于温度控制的需求是十分严格的,大量的锅炉、加热炉以及家用电器,如热水器、电水壶等对于温度控制都有需求。如果温度控制不精准,小则出现浪费资源的现象发生,大则可以引发重大事故。因此,精准的温度控制是十分必要的,那么温度控制系统应运而生。自动温度控制系统需要准确的控制温度,及时的做出后续操作。基于单片机的自动温度控制系统以其外型小巧、功能强大的优势近些年被广泛应用于动温度控制系统当中。
2基于AT89C51单片机的水温控制系统设计
2.1系统设计
基于AT89C51单片机的水温控制系统采用了当前应用广泛的AT89C51单片机,以AT89C51单片机做为核心部件,以汇编语言对其进行编程控制其它辅助系统,用PID算法来控制PWD波的产生,进而实现系统温度的控制。
2.2硬件设计
基于单片机水温控制系统硬件主要由单片机基本系统、温度传感器、电炉、继电器、显示电路、报警电路、键盘等组成。
(1)单片机基本系统。单片机基本系统采用了AT89C51芯片,它由基本供电电路、时钟电路和复位电路组成。键盘、显示电路、报警电路将信号输入到单片机基本系统当中,单片机基本系统根据温度传感器采集到的数据,进行数据分析与处理,得到相应的控制信号,由控制信号驱动继电器工作,从而达到控制电炉工作的结果,最终达到控制温度的目标。
(2)温度传感器。温度传感器的作用是对水温进行温度的检测,并实时将数据传送至单片机基本系统,以供其进行数据分析。
(3)继电器。继电器的作用是控制电炉工作,它通过接收单片机基本系统的控制信号,实现对于电炉的控制。
(4)电炉。电炉是用来实现对水加热的功能,由继电器根据控制信号对其进行控制。
(5)键盘。本设计采用61板自带按键,不需要另外连接硬件即可使用。
(6)显示电路。由六个八段数据管以及数码管的驱动电路组成,前三段用于显示控制温度,后三段用于显示实际测量温度。
(7)报警电路。报警系统是出于电炉的安全考虑进行设计的。温度传感器获得数据传递给单片机基本系统,单片机基本系统分析数据后,当水温过高或过低,即达到预设最大值与最小值时,单片机驱动报警电路,实现报警功能。以上各组件与单片机芯片引脚连接方式为:温度传感器输入端连接到P3.1口,按键接在P3.1、P3.2、P3.3,分别控制设定温度的十位、个位和小数位,单片机的输出控制信号由P3.5输出;实际水温显示的字型码是由P0口送出,十位、个位和小数位分别由P1.0、P1.1、P1.2选通;设定温度显示的字型码是由P2口送出,十位、个位和小数位分别由P1.3、P1.4、P1.5选通。
2.3软件设计
(1)主程序设计:系统采用汇编语言进行编程,由主程序进行控制。即由主程序调用子程序。其功能主要对传感器采集的数据送入单片机中特定单元,然后一方面进行在LED显示,另一部分与设定值进行比较,通过PID算法得到控制量并经由单片机输出去控制电动调节阀进行水温调节。
(2)子程序设计:主要由显示子程序、键盘中断子程序、进制转换子程序、温控子程序、报警子程序等组成。显示子程序用于显示实际温度和设定温度;键盘中断子程序用于对系统进行设定控制;进制转换子程序用于把采集的温度信号换算为对应的温度值;温控子程序把采集的实际温度与设定温度值比较,调用PID算法,输出控制信号;报警子程序用于控制非法输入温度值。3.4温度控制系统的数学模型温度控制系统可采用采用比例积分调节器来校正,按照一定采样周期采集r(k)和F(k),其偏差值为e(k)=r(k)-F(k)(1)根据偏差值来计算输出u(k),其对应差分方程为:u(k)=u(k-1)+a0e(k)-a1e(k-1)(2)其中:a0=Kp(1+T/T1)a1=Kpe(k)=(rk)-F(k)
3结语
基于单片机的GPS系统研究 篇6
关键字 单片机 GPS LCD12864
0引言
全球定位系统是一个用于接收卫星导航信号的非自主导航与定位系统。该系统全球覆盖、全天候、连续的实时信息、高精度的三维位置、三维速度和时间信息的能力为人类的导航定位提供了可靠的保证。目前,GPS全球定位技术已日趋成熟并在经济、军事和社会生活等许多领域得到广泛应用,它正发挥着越来越重要的作用[1]- [3]。
本系统主要是基于AT89C52单片机开发环境和使用GPS技术来设计一个实时接收、经度和纬度的路线显示以及存储等功能的GPS。
1 方案设计
该系统主要是由GPS接收天线、GPS接收器模块、中央处理单元、液晶显示模块、电源模块和键盘接口组成[2]。
其中,GPS接收模块和中央处理单元模块(89C52)是该系统的核心部分。它们是负责GPS信号的接收和解调信号处理,控制工作过程等等。液晶显示模块用于显示定位、时间信息。键盘接口是作为人机交互端口。最后,电源模块负责整个系统的电源和过载保护的工作。系统总体框架结构如图1所示。
2 系统硬件设计
GPS定位系统需要具备GPS信息的接收和实时显示的功能。为达到以上要求,AT89C52单片机的主要硬件[3]由LCD12864、GPS模块、天线、键盘等组成。下面分别介绍各个模块并给出其电路设计图[4]。
2.1单片机模块
在该系统中使用 AT89C52作为中央处理单元。作为单片机的入门学习芯片,AT89C52单片机为大多数人熟悉。它 具有结构简单、价格低廉的优点,适用于低层次的系统开发。并且能够直接输出TTL电平,具有GPGGA、 GPGSA、 GPRMC等数据输出格式。
2.2 GPS接收模块
GPS接收器的任务就是在一定卫星仰角捕获卫星信号选择的截止角以及跟踪卫星轨迹。此外, 接收方转换和接收放大GPS信号以及其他处理[5],目的是为了测量从卫星到接收机天线GPS信号的传播时间,并破译GPS卫星导航实时发送的消息,然后计算站的3 维位置,甚至三维速度和时间。
NEO-6M由瑞士生产,具备良好的性能,其详细信息如下图2所示,包括序列号、电量和精度等。
GPS接收器有50个并行通道。NEO-6M为了低功耗和低成本而特别设计,它的应用能很大的突破智能电源管理功能。并且它能够通过接口和无线分别与LISA和U-LEON相连。而且,它可以适用于-40℃~ + 85℃。更重要的是,它有一个良好的抗干扰性能。
为了使NEO-6M处于良好的工作状态并且与整个系统兼容,设计出NEO-6M的外围电路如图3所示。
2.3 键盘输入
键盘输入在单片机应用系统的输入模式中是使用最广泛的方法之一。键盘用于输入单片机的数据或指令。键盘输入是由按钮或开关来完成的,不仅可以独立使用,也可以作为一个按键矩阵。
在GPS导航系统的设计中,由于所用按键端口比较少,因此采用独立键盘输入方式[6]不会过多地占用系统端口。另外这一设计还能大大提高单片机的运算速度。
2.4 LCD12864模块
在系统中,为了显示某些信息,如经度和纬度、日期时间、可见卫星个数等,必须有显示模块以接收单片机数据,并显示GPS信息[7]。这里使用LCD12864液晶显示器,这是因为它不仅具有体积小,低功耗,高可靠性,低成本,接口简单的优点而且可以显示各种图像和文本信息。
液晶显示器及其外围接口电路[8]如图4所示。
2.5 电源模块
系统设计应避免后级电路对前级电路电路的干扰,因此电池供电采用加电容滤波处理,以给单片机最小系统和液晶提供电量。单片机的引脚可以控制GPS的电源的开与关。 其电路设计如图5所示。
3 软件设计
该GPS设计的核心部分是GPS接收模块与单片机的通讯,以及单片机将收到的信息筛选编排显示位置后送到LCD液晶显示模块显示[9]。
在设计该程序时采用了模块化的思想,以便于软件的调试,同时也方便了该软件的移植,在不同的硬件平台上运行该软件只需要更改相应的软件模块就可以实现。该软件模块设计分为液晶模块初始化模块,GPS数据接收模块,单片机模块这三个主要模块。其程序流程图如图6所示。
4 总结
通过调试,在单片机系统中,GPS模块可以输出的实时经度、纬度、时间、日期等信息以及能够实现基本功能的定位。该系统的设计比较简单,硬件电路是普遍的,编程方便,所以该系统可被广泛应用。此外,根据该系统设计出来的GPS原型具有重量轻、体积小和成本低的优点,便于携带和使用,所以它具有较高的推广价值。
参考文献
[1] 潘旭华.大学C语言实用教程[M].北京:清华大学出版社,2011:21~250.
[2] 陈赛,李建朝. 基于单片机的多功能手持GPS定位仪的设计[J].测绘工程,2012,21(4):57~60.
[3] 刘坤,赵红波,张宪栋.51单片机C语言应用开发技术大全[M].北京:人民邮电出版社,2012:229~430.
[4] 周灵彬,任开杰.基于Proteus的電路与PCB设计[M].北京:电子
工业出版社,2010:220~275.
[5] 赵志礼,孟庆辉,张松涛,杨云峰. 基于单片机的GPS定位信息处理[J].电子测试,2009,(10):45~48.
[6] 付梦印,骆松洁. 基于C8051F单片机的GPS导航系统[J]. 制造业自动化,2004,(26):395~397.
[7] 张涛.C8051F020单片机与GPS接收板串行通信的设计[J].计算机与数字工程,2011,39(8):189~191.
[8] 赵建科,孙锦凤,段凤云.基于AT89S52单片机的GPS显示系统的设计[J].实验室科学,2012,15(6):115~116
[9] 解宁波,曹红松,韩海涛. 基于单片机的GPS接收机的设计[J]. 机 械 管 理 开 发,2011,(4):89~90.
基于单片机的温度采集系统 篇7
一、总体设计方案
基于单片机的温度采集系统的结构如图1所示。AT89C52单片机P1口的8条口线作为8条单总线, 每条单总线上挂接7个DS18B20, 共控制56个DS18B20, 形成一个测量网络。DS18B20采集到数据后, 由单片机进行读取, 经过串口上传给上位机, 上位机再进行数据处理。温度采集系统的硬件结构框图如下:
在此系统中包括系统的硬件设计及软件编程设计, 硬件设计是基础, 软件设计是灵魂。
二、单片机与DS18B20的电路设计
在硬件设计方面, 根据单总线的特点, 结合DS18B20采集数据及读取数据读取的要求, 采用外接电源供电方式, 单片机与DS18B20硬件连接图如下:
AT89C52有4个并行口, 32位, 每1位均可作为DS18B20的数据线使用, 不加驱动。理论上, 无串行通信要求时, 每条总线上可接8个DS18B20, 本系统最多可接256个DS18B20传感器。实际7个较为适宜, 不需驱动电路设计。
三、单片机与PC机的通信电路设计
PC机与单片机之间的通信通过串口实现。由于单片机使用的TTL电平, 与RS232电平不兼容, 所以本系统通过MAX232E芯片实现TTL电平与RS232电平的转换。
MAX232E芯片是包含两路接收器和驱动器的RS-232电平转换芯片, 适用于各种232通信接口。芯片内部有一个电源电压变换器, 外加4只1μF的泵电容可以把输入的+5V电源电压变换成为RS-232C输出电平所需的±10V电压。所以采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。
四、单片机程序的编写
单片机要从DS18B20读取数据时, 需要根据DS18B20的特点完成一定的读取操作, 单片机的程序主要包括以下几个方面:
(1) 初始化时序 (2) 写时序 (3) 读时序等
编写程序使用的语言可以用“C”语言, 也可以用汇编语言, 在此系统中考虑到采集温度实时性比较强, 使用了汇编语言。
五、上位机程序的编写
单片机把温度信息从DS18B20读取出来后, 上位机需要把这些信息通过串口从单片机读取出来, 在此过程中, 我们在上位机中使用了Visual Basic语言, 利用VB和组态软件都支持DDE的特点, 构建了温度读取系统, 一方面实现与单片机的连接, 另一方面实现与组态的动态数据交换。
VB程序的编写
在上位机中, 我们用到VB中的一个重要控件-MSComm控件, VB部分程序的编写如下:
Private Sub Form_Load ( )
MSComm1.CommPort=1'设置串行端口号为1
MSComm1.Settings=“9600, N, 8, 1”‘参数设置
M S C o m m 1.I n p u t M o d e=comInputModeBinary'二进制数据格式
MSComm1.InBufferSize=1024'置接收缓冲区为1024字节
MSComm1.InputLen=0'置InputLen为0时, 使用Input将使MSComm控件
初始化完成后, PC机就可以与单片机进行通信了。
“组态王”与VB的通信需要
要实现“组态王”与VB的通信需要3个步骤:
1、使VB成为“服务器”, 需要在VB中设置服务器程序的三个标示名, 并把VB应用程序中提供数据的窗体的LinkMode属性设置为1。
2、“组态王”中的设置
打开已设计好的“组态王”监控系统, 使之在开发系统下, 从左边的工程项目显示区中选择“设备/DDE”, 然后在右边的内容显示区中双击“新建”图标, 则弹出“设备配置向导”, 根据配置向导配置好的DDE信息。
3、变量定义
六、结论
系统现场运行结果表明, 该系统控制灵活方便, 功能强大, 满足了生产的需要。
参考文献
[1]沙占友.集成化智能传感器原理与应用[M].电子工业出版
基于单片机的自动称重系统 篇8
电子秤因其准确可靠的特点在各行业中广为应用[1]。目前, 粉末产品的封装主要用电子秤来进行产品的称重。然而现有的中小企业, 自动化程度极低, 产品的重量受人为因素影响较大, 其所包装的产品重量与产品的标准重量误差较大。此外, 以往所设计的自动称重系统, 成本较高、结构较为复杂, 远远超过中小企业的承受能力[2]。
针对产品包装重量与标准重量误差较大, 受人为因素影响较大的特点, 提出了基于单片机的自动控制产品重量的控制系统。实践证明, 采用该系统后, 产品的重量与标准重量误差较小, 可靠性较高, 具有广泛的应用前景。
1 自动称重系统的组成及工作原理
自动称重系统由称重传感器、电磁阀、给料设备等几部分构成, 如图1所示。
该控制系统通过将由称重装置及称重传感器测得的包装袋中产品的重量, 传送至单片机中, 单片机将其与所设定的标准重量进行对比, 通过控制电磁阀的开关时间以调节包装袋中产品的重量, 从而使产品重量符合标准。显示器部分用来显示当前的重量变化, 并可将某一重量设置为标准重量。串口通信可用于单片机与PC机之间的信息交流, 也可使得PC机实现对自动控制装置的远程控制。
2 控制系统及其硬件设计
控制系统主要由电源模块、模拟量输入模块、开关量输出模块、显示模块、串口通讯模块等部分组成。该系统主要为开关量控制, 单片机通过控制电磁阀开启、关闭的时间来实现系统的控制。
2.1 电源模块
稳定的电源是整个系统正常工作的基本保证。经分析可知, 系统需要+5V电压作为单片机等芯片的供电电源, 由于因此选用LM2576芯片以产生电路所需的稳定的5V电压, 所设计的电路图如图2所示。220V市电经过变压、整流、滤波、稳压后得到稳定的+5V直流电压, 供给电路。其中二极管D2还可避免电流的倒灌, 从而很好地保护了电路。
2.2 模拟量输入模块
称重传感器将非电量的重力转换为可测量的电信号的转换装置, 是电子秤的核心部件, 它的性能和工作状态决定了电子秤的准确度和稳定性[3]。考虑到经济性, 在满足准确度要求下, 选用成本相对较低的传感器。
称重传感器的连接方式一般采用四线制和六线制接法, 在电缆线较长的情况下, 四线制接法容易受到温度等因素影响, 且导线电阻影响加载到传感器上的实际桥电压, 导线上的压降不可忽视, 而六线制接法精度高[4]。此处选用六线制接法, 并设计如图3所示的电路对模拟量输入进行处理, 图中电阻r为引线电阻。AD转换芯片选用CS5532。其输入端以及参考端为高阻抗, 端子电流很小, 其压降可以忽略不计。因此可视为A端电压值与正参考电压Vref+相等, B端电压值和负参考电压Vref-相等, 故此可认为AD转换器的参考电压和桥电路实际供电电压相等, 电压波动对输出电压的影响相互抵消, 提高了AD转换精度。
2.3 开关量输出模块
配料秤控制系统中物料输出的执行器为电磁阀, 单片机通过控制三极管Q1的通断情况以控制继电器的动作情况从而来控制电磁阀。当单片机输出高电平时, 三极管导通, 继电器线圈通电, 继电器开关闭合, 从而使得电磁阀导通;当单片机输出低电平时, 三极管截止, 继电器线圈断电, 继电器开关断开, 使得电磁阀截止。当电磁阀打开时, 物料通过电磁阀以固定流量流入包装袋中;电磁阀关断时, 便结束物料的包装, 如图4所示。
2.4 显示电路
显示电路既是输出部分也是输入部分, 将当前设定的标准的重量传送至单片机中, 单片机将当前传感器所得的输入信号与标准信号进行比较, 并将结果传送至显示器中显示出来。本文选用迪文公司的DMT32240T035_01WN触摸屏作为显示终端, 该液晶显示屏分辨率为320×240, 工作电压为DC 7V~28V, 功率为5VA。与单片机的串口连接, 连接方式简单, 价格低廉, 使用方便。该触摸屏具有二次开发较为简单, 支持中文编码标准等特点。
2.5 串口通信
将电子秤的数据传至计算机, 利用其强大的管理和控制功能, 使其性价比、安全可靠性、人机交互性、管理自动化均得到极大的提高。通讯接口之间采用RS485通讯方式, 因其开放性高、通信距离长, 最大传输距离可达3000米, 可以实现PC机对仪表的远程控制, 而且电路连接方式简单, 实现成本较低, 非常适合工业自动化控制过程中串行通讯数据流量不大的场合[5]。因此设计了如下图所示的通讯模块。RS485使用A、B两根线输出差分信号, 属于半双工通信, 可以发送和接收数据, 但是不能在两个方向上同时进行。RS485通讯接口芯片为MAX1487, 为了提高通讯接口的抗干扰能力, 使用HCPL0501芯片进行光耦隔离。
3 实验结果及对比分析
为了验证方法的有效性, 搭建了相关电路进行测试。实验数据如表1所示。
实验结果证明利用所设计的自动称重系统进行产品的包装, 产品的重量较之前提高很多, 系统结构简单, 成本低, 实用性较强。在实验过程中, 由于物料包装过程中具有一定的冲量, 因此会有一小部分物料的重量未能及时被称重传感器所感应, 造成一定的误差。在程序设定中对其进行了补充, 但由于物料包装过程中内部压力有变化, 造成物料下料速度不同, 因此当内部压力大于平均压力时, 未称重的物料部分重量相对较大, 与程序设定重量偏差也相对较大。此外, 所采用的AD转换器采集传感器数据的时间也对实验结果的精度也有一定的影响。
4 结论
针对传统包装中产品的重量浮动较大, 封装的产品重量与标准的产品重量误差较大的问题, 提出用单片机来控制电磁阀, 以保证封装的产品重量达到标准的方法, 并设计了相关电路图, 进行了实验。实验结果表明:采用该方法后, 产品包装重量与标准重量误差较小, 很好地满足了工业需要。
摘要:针对传统封装工艺中产品的实际封装重量与标准重量误差较大, 人为因素对封装重量影响较大的问题, 设计了一种基于单片机的自动称重系统。通过单片机控制物料封装的电磁阀, 从而实现产品封装重量的精确性, 并设计了相关电路进行验证。实验结果表明, 采用该设计电路的自动称重系统结构简单、成本较低、误差较小, 很好地满足了工业需要。
关键词:单片机,电子秤,自动称重系统
参考文献
[1]沈江.自动称重系统的开发与应用[J].仪表技术, 2010 (1) :56-57.
[2]胡立志, 胡赤兵, 吴坡等.基于PLC的自动称重系统[J].新技术新工艺, 2009 (12) :61-62.
[3]周昱松.称重传感器的选择和载荷分配的调整[J].中国计量, 2009 (1) :62-64.
[4]姚进辉.六线制称重传感器制造及使用中应注意的问题[J].中国计量, 2006 (8) :56.
[5]周杰.电子秤与计算机在串口通讯控制中的应用[J].信息化技术与控制, 2004 (5) :16-20.
基于单片机测温系统的设计 篇9
近年来, 由于半导体以及测温技术的飞速发展, 促进了集成温度传感器的发展, 和传统的温度传感器进行比较, 其具有线性输出以及测量精准的特点。由于集成传感器具有较多的种类, 可以根据具体的情况, 选择合适的传感器类型, 这样可以保证测量结果的准确性和可靠性, 进而增加其使用寿命, 达到节约成本的目的。该传感器具有较多的优点, 若能利用这些优点研发出测温系统, 可使非线性减少的同时提高温度的精准度。因此, 一定会广泛地应用于各个领域。
1 硬件的设计方案
单片机的测温系统主要分为按键、显示、电源、温度采集、单片机等模块。使用者可以通过键盘的模块对温度报警的上下温度值进行设置。温度的显示则由显示模块实现, 而报警模块的作用就是提供光和声的报警提示。其电源模块可以保证电压的稳定, 测量外界的温度则需要依靠温度采集模块来实现。单片机的模块进行电压值的采集并将其转化为温度的形式显示出来, 可键盘输入, 对其报警的功能进行设置。系统整体的设计方案如图一所示。
主要将单片机作为整个设计的控制中心, 通过控制电路来测量温度, 并且将测量的值传送到显示电路, 将其显示。并且, 通过预设报警值来决定报警与否。对报警电路进行控制, 从而通过操作设置报警值。利用集成传感器测量温度的值, 从而使温度值变化转化为电压值变化。其系统方案指标为:测温范围零下55摄氏度到零上150摄氏度, 测量温度的分辨率为0.5摄氏度, 测温准确度为1%。
单片机模块需要定时的对电压值进行采集, 同时将其转换为温度值显示, 可以采取键盘输入来完成报警值功能的设置。运用的集成传感器属于全新两段式的恒流传感器, 其流过电流值与绝对温度值相等。利用基本电路, 将其转换为电压信号, 并输出, 从而采集外界的温度。流过的电流量和改变的热力学的温度值相等, 输出电流和绝对温度之间的关系成正比, 随着温度的升高电流也随之升高。
利用LED的数码管显示器来显示电路, 并且采用静态的显示方法。通过串接四片74LS164提供显示的段码, LED限流的电阻为R1~R41, 取1KΩ为电阻值。该系统利用单片机的引脚, 给74LS164提供串行的数据以及位移的脉冲。在进行软件编程的过程中, 利用引脚串行的传动4个显示字符中的32位段码。其显示模块的作用是显示温度值, 其范围在零下55摄氏度到零上150摄氏度之间, 将其精确到小数点的后一位, 使用静态显示的方法。最上面的数码管显示的是符号, 中间两个数码管显示温度值整数的部分, 最下面的则显示温度值的小数部分。
方案中按键模块采用的是矩阵结构, 使用者对键盘模块进行操作, 从而完成报警值上限以及下限温度的设置。可使用0到9十个数字按键, 以及移动数位的NEXT键, 还有确定和符号按键, 一共13个按键。KEYL0~KEYL3属于行线, 将其与单片机P2.0~P2.3分别进行连接, KEYR0~KEYR3属于列线, 与单片机P2.4~P2.7分别进行连接。可以采用线的反转法, 这种方法要求行线与列线都必须上拉电阻。因为单片机的P2口的内部集成上拉电阻, 因此系统没有添加。S1~S10代表0~9这十个数字按键, S11和S12则分别代表NEXT按键和符号按键, S13代表确认按键。
LS1是蜂鸣器, 具有SPCON端对发声进行控制, 在其电平的输出较低时, 则蜂鸣器发出声音;电平输出较高时, 则蜂鸣器停止发声。变色二极管具有两个引脚, 阳极用K表示, 连接VCC;绿色控制的输入端由G表示, 在电平输入较低时, 显示绿光。红色控制的输入端由R表示, 电平输入较低时, 则显示红色光。利用LEDRCON和LEDGCON对LED1进行控制, 使其发出不同颜色的光。蜂鸣器能够实现报警声音, 变色二极管可实现上下限报警。
2 软件的设计方案
软件方面的设计主要就是采集温度并将其现实同时判断有没有超过预设的范围:进行安检的操作, 输入上限和下限的报警值。软件整体主程序主要由按键、现实、温度采集、报警等子程序组成。按键的子程序根据硬件电路的总体的按键电路, 扫面键盘并将用户的按键值返回。显示的子程序根据硬件电路里的显示电路, 来显示温度的值。其报警的主程序根据硬件电路里的报警电路, 对蜂鸣器的鸣叫以及发光二极管的发光进行控制。温度采集的子程序根据硬件电路里面测温的电路, 可以将温度转换成数字量。主程序对各个子程序进行调用, 从而实现系统的功能。
函数主要调用函数的刷新现实, 从而将不同模式显示的功能实现。通过调用按键对函数进行扫描, 进而获得按键, 通过调用按键的处理函数对按键处理。图二为主程序的流程图。
温度采集的子程序主要负责输入电压转换的控制, 同时对转后数字的量进行读取。针对其原理计算能够得出输入电流的大小值, 基于电流大小和热力学温度的度数的关系, 可以得出系统的温度值。图三为温度采集的子程序流程图。
在主程序中应用刷新显示函数, 从而完成显示报警以及温度值的设置。当Sy Mode=0时将显示采集温度的值, 同时进行报警的处理;当Sy Mode=1时, 将显示出设置的上限报警值;当Sy Mode=2时, 将显示出设置的下限报警值。图四为刷新现实的流程图。
其报警的子程序主要用于设置报警的函数, 从而设定上下限的报警值。若Mode=1, 则函数报警值设置的是上限的报警值;若Mode=2, 则函数报警值设置的是下限的报警值。图五为设置报警流程图。
报警子程序对蜂鸣器以及变色二极管进行控制, 从而实现声和光的报警。可以根据系统采集温度的值来确定是否对报警电路的报警进行控制。如果温度的值超过其设置的上限报警值, 蜂鸣器鸣叫, 二极管则发出红光;如果小于设置的下限报警值, 蜂鸣器鸣叫且二极管发出绿光;若没有超过设置的上下限报警值, 则不会产生报警行为。图六为报警程序流程图。
3 结束语
本文主要讲解了单片机测温系统软件以及硬件的设计方案, 根据详细的电路图来设计软件方案, 通过多次下载程序将其放入硬件电路中进行调试, 对测温系统的性能进行调节, 从而完善测温系统的设计。使其整个系统能够稳定顺利的运行, 各项性能以及指标均符合设计的标准。通过实验可以证明, 本设计方案具有正确性以及实用性。
摘要:温度测量是工业生产中的一个重要环节。设计单片机系统进行温度的测量主要由两部分组成, 即硬件与软件。其中, 硬件部分主要是对热电偶系统中电源模块以及采集、单片机、显示、按键、报警等模块的功能和工作原理与实现方法进行介绍, 而软件部分则是对信息处理编译的思维以及将其智能化显示与实现的整个过程进行介绍。
关键词:温度,单片机,设计
参考文献
[1]李金平, 沈明山, 姜余详.电子系统设计 (第二版) [M].北京:电子工业出版社, 2012.
[2]胡伟, 季晓衡.单片机C程序设计及应用实例[M].北京:人民邮电出版社, 2003.
[3]姜威.实用电子系统设计基础[M].北京:北京理工大学出版社, 2008.
[4]张刚毅, 彭喜元.单片机原理及应用[M].北京:高等教育出版社, 2003.
基于单片机的输液系统的设计 篇10
目前医院普遍使用的是人工监控点滴输液装置器, 将液体容器挂在一定高度, 利用势差将液体输入病人体内, 用软管夹对软管夹紧和放松控制滴速, 医护人员按药剂特性对滴速进行控制。如何使这种手工操作走向自动化或半自动化, 让护理人员监控病人打点滴的进程时间得到充分利用, 使能自理的病人自己能掌握点滴的速度, 这就要求医疗器械加速自动化与半自动化进程, 提高医护质量。本文介绍了一种操作方便、显示直观、具有报警功能的智能型液体点滴速度控制器。
2 系统总体设计
输液监控系统以AT89C51单片机为中心, 单片机需要电源电路、复位电路、振荡电路来保证其正常工作。系统的默认速度设定值为60滴/min, 可以通过键盘来修改设定值。采集装置通过光电开关传感器对速度进行检测, 并以电信号的形式传给单片机, 经运算、分析、处理后单片机将数据传给LCD显示模块, 实现输液速度的显示。通过对设定值的比较来控制电动机的正、反转, 从而带动输液器上的控制齿轮上升下降, 达到控制输液速度的目的。另外, 当采集装置通过光电开关传感器检测到的速度值过高或过低时, 直接启动报警装置。若声报警持续1min后无人复位, 则由单片机发出信号控制电动机, 是输液器上的小滑轮处于无液滴滴出的状态, 这样可以大大提高输液的安全性。系统的组成如图1所示。
3 系统设计与实现
3.1 单片机的最小系统
监控系统使用一个单片机最小应用系统, 系统中有一些功能器件无法集成到芯片内部, 如晶振、复位电路等, 需要在片外加上相应的辅助电路。对于片内无ROM的单片机, 还应该配置篇外程序存储器。这里是选用AT89C51和AT892051, 都带内置的ROM, 只需外加电源、振荡电路。复位电路等。
3.2 键盘方案
采用独立式按键, 每个按键单独展有一根I/O口线, 每个I/O口的工作状态互不影响, 此类键盘采用端口直接扫描方式。其缺点为当按键较多时占用单片机的I/O口数目较多, 优点是电路设计简单, 编程相对容易一些。综合考虑, 由于除去复位键, 只需要扩展3个功能键。
3.3 数据采集电路设计
在设计中由于是近距离检测, 所以数据采集采用发光二级管和光敏三极管组合, 其价格便宜, 便于批量生产。这里选用的是H2210, 每次有液滴通过时, 就会产生一个电脉冲, 当第一滴通过时打开定时-计算器, 第二滴通过时停止定时-计数器, 查出相隔时间, 经计算即可得到滴液速度 (滴/s) , 如图2所示。
3.4 电机的选择
本设计选用步进电机作为电机驱动控制电路, 步进电机是一种用电脉冲进行控制, 将电脉冲信号转换成相应角位移或线位移的电动机。步进电机每输入一个脉冲信号, 转子就转动一个角度或前进一步, 其输出的角位移或线位移与输入的脉冲数成正比, 转速与脉冲频率成正比。用单片机控制步进电机, 控制信号为数字信号, 不再需要数/模转换, 具有快速启/停能力, 可在一刹那间实现启动或停止, 且步距角降低小, 延时短, 定位准确, 精度高, 可操作性强。
3.5 点滴速度方案
控制液滴下落速度采用通过步进电机和滑轮系统控制储液瓶的高度, 来达到控制液滴流速的目的, 通过步进电机可方便地实现对储液瓶高度的调节, 从而达到控制液滴流速的目的。
3.6 传输方式
采用USB接口, 虽然数据传输的可靠性高, 但不便于扩展。而采用无线通信方式不但便于扩展而且使用便捷, 适用于大容量。
3.7 报警显示模块
当点滴的速度低于20滴/min或高于150滴/min时, 单片机发出控制信号, 触发蜂鸣器报警。如有人按报警按钮, 与单片机相连的I/O口输入高电平, 也触发蜂鸣器报警, 提醒医护人员和输液病人采取相应措施, 避免事故发生。如10s后仍然无人处理, 则关闭输液器, 以保证病人的安全。显示模块选用的是LCM103。
3.8 软件设计与实现
单片机和监控电脑的连接采用的是无线通信方式, 监控电脑能检测并设定输液器的输液速度, 实现远距离的监控。而本系统采用光电开关采集信号, 当有液滴通时P2.7产生一个脉冲, 这样就可以记录两滴液体间的时间, 经运算就可以得到液滴的速度。实际检测值和设定值已经被转换成BCD码存在30H到35H单元, 其中30H到32H是实际值从低到高位, 33H到35H是设定值的从低到高位。电动机的控制就是将实际值和设定值相比较, 若果在误差许范围, 电动机无动作, 如果实际值小于设定值且差值大于误差许范围, 则电动机正传, 反之电动机反转。
4 结束语
由于医用输液控制器充分利用了单片机, 硬件控制电路简单, 系统体积小, 调试和维护方便;软件部分可根据具体情况修改程序中的参数, 能通过键盘进行人机交互;最重要的是它价格便宜, 能够推动医疗器械加速自动化与半自动化进程, 提高医护质量。
参考文献
[1]张桂香.机电类专业毕业设计指南[M].北京:机械工业出版社, 2005.
[2]江思敏, 陈明.protel电路设计教程[M].北京:清华大学出版社, 2006.
[3]康华光.电子技术基础数字部分 (第五版) [M].北京:高等教育出版社, 2006.
单片机系统的抗干扰措施探讨 篇11
关键词:单片机;干扰;对策
中图分类号:TP368.12 文献标识码:A 文章编号:1674-7712 (2012) 12-0109-01
伴随着计算机和电子技术的飞速发展,进一步促进了微电脑控制技术普及与快速发展。单片机控制系统是自动化系统的核心组成部分,现已被广泛应用于现代工业和各种家用电器及小型设备中。作为工业控制装置的核心,单片机本身就具有一定的抗干扰能力,但由于各种工业控制设备的工作环境及场所往往比较差,周围存在大量的干扰源,对系统的可靠性和安全性构成严重威胁,造成很多工控设备不能正常工作。因此,单片机应用系统的抗干扰问题,在设计中已成为一个重要的课题。
一、单片机的主要干扰源
(一)电源线的高频干扰。在实际操作过程中,晶闸管的通断,强电设备、高频电源及交流电源产生的电火花甚至雷电,都能够产生电磁波,而这些电磁波就成为电磁干扰的噪声来源。如果距离较近,电磁波就会通过分布电容和电感耦合到信号回路而产生电磁干扰;如果距离较远,就会以辐射的形式形成干扰。
(二)感性负载的瞬变噪声干扰。在单片机系统中,一些常用的元件及设备,比如:电动机、继电器、电磁阀等都有较大电感量,如果电感回路的电流被切断,就会产生非常大的反电势,从而形成噪声干扰。这种干扰除了能产生电磁场外,甚至可以击穿电路中晶体管。
(三)噪声电压干扰。直流电源的回路,其负载的变化也能引起电源的噪声,比如:数字电路中从一个状态转为另一种状态时,会在电源线上形成一个很大的尖峰电流,产生瞬变噪声电压。
(四)其他因素的干扰。除了以上几种常见的干扰源以外,无线电设施的射频、数字电路本身门电路频繁的通断、单片机内的晶振电路、各种电子设备开关通断时急剧变化的电流等等也都是单片机重要的干扰源。
二、硬件抗干扰的对策
单片机控制系统受到干扰后,要使其能可靠地工作,就必须切断外界干扰源,使其不能进入到单片机控制系统。硬件抗干扰是一种主动抗干扰措施,主要包括下面几个方面:
(一)接地。对于低频电路,其地线尽量用单点并联接地,对于高频电路,尽量用多点串联接地。同时,加粗接地线条,使通过印刷电路板上的允许电流达到3倍,与此同时,使数据传递的方向与电源线及地线的走向保持一致,可以增强抗噪声的能力。尽量使用45度的折线,不使用90度折线,以此减少高频信号对外的发射及耦合,减少互感的振荡。
(二)屏蔽。使用金属盒、金属网或者金属板构成的屏蔽体,可以有效对付电磁波的干扰。屏蔽体通过反射及吸收的方式削弱电磁波,形成对电磁波的屏蔽。选用高导磁材料做成的屏蔽体防止低频电磁波的干扰,这样当电磁波经屏蔽体的低磁阻磁路通过,不会影响到屏蔽体内的电路。一般采用铜、铝、钢等材料作屏蔽体来屏蔽电场或辐射场,选择坡莫合金、磁钢等材料作屏蔽体,屏蔽低频磁场,选择铜、铝等导电率高的材料来屏蔽高频磁场。另外,还要注意屏蔽体的一点接地问题。
(三)隔离。隔离主要包括物理和光电隔离两种方式。物理隔离是指对小信号低电平的隔离,其信号连线要尽量远离高电平大功率的导线。在同一设备内部时,要将这两类导线分开走线。当远距离走线时,要把功率电缆和信号电缆分开,保持一定的距离,甚至可以使用钢管把它们分别套起来,以此增加屏蔽的效果。
(四)滤波。利用电容、电感等储能元件可以抑制因负载变化而产生的噪声电压,可在电源线的接入端并联两只50μF和0.01μF的电容,大电容用来抑制电源噪声中的低频分量,小电容用来抑制电源噪声中的高频分量,为了取得更好的效果可在电容的前面加上一个电感。
(五)抑制反电势。在单片机系统中,对于负载较大电感量的元件或设备,为抑制其产生的反电势,可以在线圈的两端并联电容、电阻、稳压管和二极管。线圈通直流电的时候,可以并联二极管和稳压管或者电容和电阻组成的旁路;当线圈通交流电的时候,可以并联电阻和电容组成的旁路。
三、软件抗干扰的对策
(一)开机自检。开机自检程序通常包括对RAM、ROM、I/O接口状态等的检测。在程序编制中,可将RAM或ROM区中重要内容分区存放,在程序运行的初始或中间过程中经常对这些数据进行比较检查,如发现数据出错,则重写这些数据。
(二)软件陷阱。在程序存储器的未使用区域中,加上若干条空操作和无条件跳转指令,无条件跳转指令指向复位入口地址。如果程序跳转到这些未用区域,就通过强行执行无条件跳转指令,转到复位入口地址。
(三)指令冗余。指令冗余的一般做法是在十几条正常的指令后填充2-3个NOP空指令,尤其是在一些跳转和子程序调用指令的前面,加上几条NOP空指令可以对程序的正确流向起到一定的保护作用。
(四)软件滤波。为了提高系统对数据采集的精度,可使用软件滤波的方法。此方法可以减少系统随机干扰对数据采集的影响,减少错误的概率,对周期性的干扰有比较好的效果。
(五)软件看门狗。软件看门狗一般要占用单片机系统中的定时器。在主程序中,根据定时器的溢出周期对定时器进行初始化,一旦程序受到干扰跑飞,则在中断子程序里设置一条出错跳转指令,使程序从头执行。
(六)数据备份。为了提高系统的可靠性,可以采用数据备份的方法。输入单片机中的重要数据,可使用掉电保护的措施,但这些数据仍受到干扰的影响,不排除个别数据造成破坏。此时,可对重要数据进行备份,实行自我检查和恢复。
四、结束语
单片机应用系统中,系统的可靠性越来越受到关注。在实际应用中,要结合各种类型的单片机控制系统的特点、被控的对象的性质以及现场工业环境,充分考虑各种因素的影响,在设计中采取必要的硬件和软件抗干扰措施,使系统既满足既定的要求,也能保证其长期、稳定、可靠的工作。
参考文献:
[1]秦臻,田宏伟.单片机应用系统电磁干扰技术研究[J].机械管理开发,2011,5
基于单片机设计的瓦斯监测系统 篇12
现国外瓦斯的检测用可燃性气体的检测代替单一CH4气体的测量, 毒气的检测包括H2S的测量;而我国对瓦斯检测主要以检测CH4为主, 毒气的检测以CO检测为主;单从我国检测技术的发展来说, 我国在20世纪80年代初才从国外引进了瓦斯监测监控系统, 而且仅用于部分国有重点煤矿, 因而我国应用瓦斯监测监控系统起步较晚, 到2002年时提出瓦斯防治十二字方针, 即“先抽后采、监测监控、以风定产”, 从而确立了瓦斯防治的指导思想和方法。目前, 瓦斯监测监控系统存在着一部分不够完善的地方:第一, 受各种技术条件制约, 很多煤矿的瓦斯监测一直没有建立整个地区的瓦斯监测监控网络。第二, 尽管我国煤矿的瓦斯灾害防治技术虽已处于世界先进水平, 但防灾抗灾的安全的装备和检测仪表的技术水平与国外相比差距还较大。第三, 瓦斯监控系统对瓦斯传感器的技术要求越来越高, 例如稳定性、精度、性能等, 因此对检测系统中新型传感器的开发研究也越来越重要。
2煤矿瓦斯监测系统
2.1 工作原理
本文采用Al2O3基半导体陶瓷材料传感器 (MP-4) , 感应行道中瓦斯气体的浓度, 其以金属氧化物Al2O3半导体为基础材料, 当瓦斯气体在该内部半导体表面吸附后, 引起其电导率发生变化。由于电导率的改变产生不同的阻抗, 时而产生不同的模拟电压信号, 即检测电路把瓦斯浓度变化的信息转变成电信号, 根据气体浓度和电压信号之间的对应关系, 再对该模拟信号进行分析处理。
采用8位并行的A/D转换器ADC0809, 将连续的电压模拟量, 经过取样、保持、量化和编码等过程, 转换为时间、幅值离散的数字量, 同时将转换结束的数字量送给控制核心芯片AT89C51[1]。单片机AT89C51对传入的数据进行比较处理, 同时将得到的对应浓度的电压信号数据输送到LCD液晶显示板上显示。当检测到的瓦斯浓度低于设定报警阀值时, LCD显示板仅仅显示测得的瓦斯浓度对应的电压值;当行道中瓦斯的浓度达到一级报警时, 报警黄灯亮, 同时启动通风换气设备进行排气;在瓦斯浓度突然达到二级报警时, 红灯亮并伴有声音报警信号, 启动通风换气设备同时非本质安全型仪表断电;当气体的浓度降低到安全点后, 关闭通风换气设备, 停止报警, 达到安全保护的目的。
2.2 单片机的选用
AT89C51是美国ATMEL公司生产的低电压、高性能CMOS单片机, 是一个8位单片机 , 片内含4KB的可反复擦写的PEROM (只读程序存储器) 和128 B的RAM (随机存取数据存储器) [2]。器件采用ATMEL公司的非易失性、高密度存储技术生产, 同时兼容标准MCS-51指令系统, 片内置Flash存储单元和通用8位CPU (中央处理器) , 功能强大AT89C51单片机可提供许多高性价比的应用场合, 可灵活应用于各种控制领域[3]。
2.3 浓度测试电路
2.3.1 气体传感器的选择
要进行—个具体的测量工作, 首先要考虑采用何种原理的传感器, 而这需要分析多方面的因素之后才能确定。因为, 即使是测量同一物理量, 也有多种原理的传感器可供选用, 哪一种原理的传感器更为合适, 则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法, 有线或是非接触测量;传感器的来源, 国产还是进口, 还是自行研制, 价格能否承受。
在考虑上述问题之后就能大致确定选用何种类型的传感器, 然后再考虑传感器的具体性能指标, 此设计选用半导体型传感器型号为MP-4。
2.3.2 A/D转换电路
A/D转换电路采用中断方式接口电路进行设计电路, 因为采用中断方式可大大节省单片机时间, 地址译码引脚A、B、C分别与地址总线的低三位A0、A1、A2相连, 以选通INO~IN7中的一个通道, 片选信号输入端接在单片机P2.7端, 启动A/D转换工作时, 由单片机的P2.7和写信号共同控制ADC0809的转换启动和地址锁存, 由于ALE和START连接在一起, 因此ADC0809在锁存通道地址的同时又可启动并进行转换。在读取转换结果时, OE的输入信号用P2.7引脚和低电平的读信号 经“或非门”后产生的正脉冲来提供, 这样就可以打开三态输出锁存器。EOC引脚经过“非门”与AT89C51的undefined端口相连, 当转换结束时向单片机提出中断请求, 即转换结束信号端发出一个脉冲信号, 单片机一旦响应中断请求, 外部中断1的中断服务程序将会读取A/D的转换结果, 同时启动ADC0809的下一次转换, 外部中断1采用跳沿触发方式[4]。8路模拟输入通道提供了检测系统的扩展, 在接上不同的传感器即可实现不同的检测, 如温度、湿度、压力等。
3结语
新型基于单片机设计的瓦斯报警器, 以AT89C51单片机为控制核心, 设计中不仅体现了单片机应用的灵活性, 而且又实现功能多样的智能控制, 设计中使用的ADC0809可扩展连接不同的传感器即可实现对其他物理量的检测, 制作成不同的检测系统。
参考文献
[1]张志良.单片机原理与控制技术 (第二版) [M].北京:机械出版社, 2005:10-130.
[2]李华.MCS-51系列单片机原理及应用[M].北京:北京航空航天大学出版社, 1995:15-45.
[3]张洪润, 张亚凡.传感技术与实验[M].北京:清华大学出版社, 2005:48-105.
【单片机系统的作用】推荐阅读:
单片机实验系统的研制论文08-31
基于单片机的交通灯控制系统09-07
单片机在倒立摆控制系统的应用01-14
单片机系统设计09-16
单片机小系统论文01-17
单片机应用系统06-25
多单片机系统论文08-14
基于单片机监控系统06-11
单片机原理与系统设计07-23
单片机温度监测系统论文08-23