毕业设计(论文)模拟路灯控制系统的设计.doc

上传人:文库蛋蛋多 文档编号:3983344 上传时间:2023-03-30 格式:DOC 页数:45 大小:442.50KB
返回 下载 相关 举报
毕业设计(论文)模拟路灯控制系统的设计.doc_第1页
第1页 / 共45页
毕业设计(论文)模拟路灯控制系统的设计.doc_第2页
第2页 / 共45页
毕业设计(论文)模拟路灯控制系统的设计.doc_第3页
第3页 / 共45页
毕业设计(论文)模拟路灯控制系统的设计.doc_第4页
第4页 / 共45页
毕业设计(论文)模拟路灯控制系统的设计.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《毕业设计(论文)模拟路灯控制系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)模拟路灯控制系统的设计.doc(45页珍藏版)》请在三一办公上搜索。

1、模拟路灯控制系统的设计目录1 引言22 总体方案设计23 分电路设计和论证33.1 按键、显示模块电路设计33.2时钟模块53.3 声光报警模块63.4 信号采集模块的设计73.5.路灯控制模块93.6支路控制系统设计93.7.电源模块123.8 复位电路123.9 恒流源模块134 软件设计194.1流程图194.2 源程序235 软硬件系统的调试275.1硬件调试275.2 软件调试276 附录28附录1 系统原理图28附录 2 程序清单297 参考文献46 摘要:本系统以AVR低功耗单片机系列ATMEGA16L为核心组成支路控制系统,采用专用时钟芯片实现精确的时钟功能,设定并显示开关灯时

2、间。该控制系统能根据环境明暗变化自动开灯和关灯,以达到节能要求。ATMEGA16L是一款高性能、低功耗的8位AVR微处理器,使系统在低功耗的状态下稳定工作。系统采用线路简单、体积小的专用时钟芯片DS1302,DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。使用DS1302不但使电路功耗降低,而且节省IO口资源。采用低功耗的字符型液晶作为显示器件,显示更为直观。使用光敏电阻来检测环境明暗的变化,光敏电阻在不同光强下电阻值会发生明显变化,单片机内部AD采集电阻值的变化量达到检测目的。采用对射式收发一体光电传感器检测物体的运动,使用灵敏光电传感器更有效地实现在物体运动过程中路灯的自动

3、控制,达到节能的要求。当路灯电路出现故障时,单片机采集路灯电路采样点的电压后处理采集到的数据,实现自动报警功能。该系统基于可靠的硬件设计和稳定的软件算法实现题目基本要求。关键词:ATMEGA16L 功耗 节能 光电传感器 1 引言1.1 基于Atmeg16L单片机的路灯控制系统的研究当今单片机的发展相当迅速,产品更新换代周期也越来越短,其结构不断改进,功能日益增强,性能价格比越来越高。目前全世界单片机制造商有很多家,产品有很多系列。它们在我国均得到了广泛使用。本课题中我所采用的ATmega16芯片是8位单片机的佼佼者。ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制

4、器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。路灯控制系统是生产生活和城市道路建设中必备的系统之一。根据设计题目要求,基于单片机为中心,通过Atmeg16l单片机实现对路灯定时开关及时间显示的控制。光敏电阻部分电路通过可根据外界环境明暗的变化,能够自动进行开灯和关灯。光电传感器可以感应在一定范围内移动的物体,产生信号送给单片机实现灯依次点亮的控制。通过对Atmeg16l单片机进行编程,使用单片机的两个端口分别对两只路灯进行控制,并设定不同的开灯和关灯时间。路灯故障时,支路控制器产生低电平,送

5、入Atmeg16l单片机,产生报警信号。并将灯的状态等信息显示在1602液晶屏上。由于本人水平有限,该课题设计并不完善,诸多的不足不妥之处难免存在。敬请读者批评指正。2 总体方案设计2.1. 方案一:题目要求设计一个模拟路灯控制系统,实现支路控制器对单元控制器的有效控制。本系统采用ATMEGA16L单片机为主控芯片,采用对射式收发一体的光电传感器采集由于物体运动所产生的信号,信号经单片机分析处理后控制路灯的亮灭,同时将时间显示出来。支路控制器的时钟采用精确的时钟芯片并由字符型液晶作为显示,利用按键设定、修改开关灯时间。系统采用光敏电阻分压的方式感应周围环境明暗的变化,支路控制系统采集分压值经单

6、片机处理后来控制路灯的变化。当路灯出现故障后路灯电路中采样点的电压值会发生变化,单片机根据变化量进行相应的处理。将地址编号显示在 1602液晶屏上,并且实现声光报警。2.2.方案二:与方案一不同的是方案二选用AT89S52芯片,采用红外对管对物体的移动进行检测,时钟由单片机定时器实现。方案比较:与AT89S52相比,ATMEGA16L在性能上具有明显的优势,可选用的资源也多得多。故采用方案一。本系统以ATMEGA16L为控制核心。整个系统硬件框图如图1所示:ATMEGA16按键显示时钟模块报警模块信号采集模块恒流源电路模块控制电路图1 系统框图3 分电路设计和论证3.1 按键、显示模块电路设计

7、3.1.1 方案一:采用扫描方式工作的独立式按键、采用液晶显示屏。对于独立式按键来说,如果设置过多按键,显然会占用较多I/O口,给布线带来不便,此方案适用于按键较少的情况。但此方案实现简单,硬件电路冰不复杂,软件编程也容易。液晶显示屏(LCD)具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点。3.1.2 方案二:44矩阵式键盘、采用LED七段数码管显示。此方案需要占用8个I/O口,采用行列扫描的方式工作,即每个程序的执行周期要对键盘进行至少一次的扫描,这就占用了系统的时间,增长了程序的执行周期,变相的减缓了温度的读取速度,本系统需要的I

8、/O口比较多,该方案占用的资源比较多。数码管硬件接线麻烦,占用的I/O口比LCD要多,浪费资源,而且走线繁琐,不利于系统的扩展。综合考虑我选择方案一来进行设计。显示电路我们采用1602字符型液晶显示。关于1602我们并不陌生,它是工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对

9、比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三

10、态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极寄存器选择控制表 RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据注:关于E=H脉冲开始时初始化E为0,然后置E为1,再清0. busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。1602的字符集1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用

11、的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。 图2 1602显示及按键电路通过按键可以调节和设定路灯的开关时间,控制整条支路按时开灯和关灯,并在字符液晶上显示出来。字符型液晶因具有体积小、功耗低、寿命长、价格低、接口控制方便及显示操作简单等优点而被广泛应用。我们这里用到的是1602液晶,1602液晶为5V电压驱动,带背光,可显示2行,每行

12、16个字符,不能显示汉字,内置128个字符的ASCII字符集库,只有并口接口,无串口接口。3.2时钟模块3.2.1 方案一 使用1MHZ石英晶体振荡器。石英晶体振荡器频率准确,外围元件少,易于调试。电路搭建容易,维修简单方便,价格低廉。但是此方案会占用较多单片机I/O端口,显然在此不太实用。3.2.2 方案二 用单极晶体管触发电路提供时序脉冲。此方案是用LC震荡回路产生脉冲,然后对脉冲进行整形,这种方法得到的脉冲频率难以准确,而且电路难以调试。3.2.3 方案三采用能精确定时的专用时钟芯片DS1302DS1302芯片线路简单、体积小,易于操作,且价格低廉。它可以对年、月、日、周日、时、分、秒进

13、行计时。故综上所述我选用方案三。电路如下图。 图3 时钟电路为实现精确的时钟功能并节省单片机IO口资源,该设计使用专用的接口方式为串行的时钟芯片DS1302,该芯片线路简单、体积小,易于操作,且价格低廉。DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加

14、了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。另外该芯片有备份电源引脚,可以在断电后仍能工作,以保证时钟的准确性。DS1302与单片机之间能简单的采用同步串行方式进行通信,仅需用到三个口线:(1)RES(复位),(2)I/O(数据线),(3)SCLK(串行时钟)。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1

15、302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302 存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器

16、,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。3.3 声光报警模块本设计采用LED作为光报警器件,蜂鸣器作为声报警器件。在光报警硬件设计方面,本系统只有在温度正常时,蜂鸣器没有声响发出。本系统采用声光报警的原因是:一:从声、光两方面着手,刺激人的视觉和听觉。这从感官方面来讲,提供了双保险设计。二:在电路设计方面来讲,当声或是光中的一方出现问题时,另一方面还可以正常报警,从硬件上提供了双保险设计。 图4 声光报警电

17、路当系统出现故障时,蜂鸣器会发出警报声,同时报警指示灯也会点亮。3.4 信号采集模块的设计3.4.1 方案一 采用光电传感器检测物体的移动,由光敏电阻检测环境明暗的变化信号采集模块包括物体检测模块和环境明暗检测模块,两者功能如下:物体检测模块:该模块需要检测物体的移动,并根据物体的移动进行路灯开关的自动控制。基于此目的采用探测距离远、灵敏度高的反射式光电传感器进行检测,当传感器检测到小车时,传感器给单片机一个信号,然后单片机对路灯进行合理控制,达到题目要求。环境明暗检测模块:该模块需要检测环境光的变化,根据环境光的明暗进行路灯开关的自动控制。基于此要求采用由光敏电阻组成的分压电路进行检测。光敏

18、电阻器又称光导管,特性是在特定光的照射下,其阻值迅速减小,可用于检测可见光。在不同的光强下,光敏电阻的电阻值会发生明显变化,光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光通过检测不同光强下电阻值的变化量来控制路灯的开和关。3.4.2 方案二 超声波检测机械振动在介质中的传播过程叫做波,人耳能够感受到频率高于16赫兹,低于20000赫兹的弹性波,所以在这个频率范围内的弹性波又叫声波。频率小于10赫兹的弹性波又叫次声波,频率高于20000赫兹的弹性波叫做超声波。次声波和超声波人耳都不能感受。超声波测距作为一种非接触性的检测方法,因其结构简单

19、紧凑、可靠性高、价格低廉、实时性强等优点,近年来已经得到了广泛应用,如液位测量,修路过程中路面平整检测,汽车倒车雷达,机器人辅助视觉识别系统等。但因超声波在空气中传播时受到诸如环境温度、湿度、风速等影响,传统的超声波测距系统精度普遍较低。由于超声波测距的不稳定,我们需要复杂的超声波处理电路,处理程序算法也比较复杂,我们不采用。3.4.3 方案三 红外传感器检测红外线是介于可见光和微波之间的一种电磁波,因此,它不仅具有可见光直线传播、反射、折射等特性,还具有微波的某些特性,如较强的穿透能力和能贯穿某些不透明物质等。红外传感器包括红外发射器件和红外接收器件。自然界的所有物体只要温度高于绝对零度都会

20、辐射红外线,因而,红外传感器须具有更强的发射和接收能力。红外传感器的的测距基本原理为发光管发出红外光,光敏接收管接收前方物体反射光,据此判断前方是否有障碍物。根据发射光的强弱可以判断物体的距离,它的原理是接收管接收的光强随反射物体的距离而变化的,距离近则反射光强,距离远则反射光弱。目前,使用较多的一种传感器-红外光电开关,它的发射频率一般为38 kHz左右,探测距离一般比较短,通常被用作近距离障碍目标的识别。由于方案二需要复杂的超声波处理电路,处理程序算法也比较复杂,我们不采用。而方案三需要安装红外对管也比较麻烦,所以我采用方案一。模块电路如下:图5 采样电路光电传感器原理:光电传感器是指能够

21、将可见光转换成某种电量的传感器。光敏二极管是最常见的光传感器。光敏二极管的外型与一般二极管一样,只是它的管壳上开有一个嵌着玻璃的窗口,以便于光线射入,为增加受光面积,PN结的面积做得较大,光敏二极管工作在反向偏置的工作状态下,并与负载电阻相串联,当无光照时,它与普通二极管一样,反向电流很小(A),称为光敏二极管的暗电流;当有光照时,载流子被激发,产生电子-空穴,称为光电载流子。在外电场的作用下,光电载流子参于导电,形成比暗电流大得多的反向电流,该反向电流称为光电流。光电流的大小与光照强度成正比,于是在负载电阻上就能得到随光照强度变化而变化的电信号。光敏三极管除了具有光敏二极管能将光信号转换成电

22、信号的功能外,还有对电信号放大的功能。光敏三级管的外型与一般三极管相差不大,一般光敏三极管只引出两个极发射极和集电极,基极不引出,管壳同样开窗口,以便光线射入。为增大光照,基区面积做得很大,发射区较小,入射光主要被基区吸收。工作时集电结反偏,发射结正偏。在无光照时管子流过的电流为暗电流Iceo=(1+)Icbo(很小),比一般三极管的穿透电流还小;当有光照时,激发大量的电子-空穴对,使得基极产生的电流Ib增大,此刻流过管子的电流称为光电流,集电极电流Ic=(1+)Ib,可见光电三极管要比光电二极管具有更高的灵敏度。3.5.路灯控制模块3.5.1方案一:用晶闸管电子开关控制LED灯的开关晶闸管电

23、子开关充分利用了电压过零触发、电流过零切除、开关无触点、响应速度快等晶闸管特性,可使电容上的电压从零快速上升到额定工作电压。而在断开时,晶闸管上的电流过零切除可实现电容器投入无涌流、切除无过压、投切无电弧的快速动态补偿功能,故能较好地解决电容器投切时产生的暂态冲击问题。但是,晶闸管在导通状态下存在较大的管压降(1 V左右),故在工作时,要考虑消耗功率和其产生和散发的大量热量,而这会使运行和维护的成本加大。3.5.2 方案二 采用继电器控制LED灯的开关电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力

24、吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。此方案非常适用于AVR单片机电路,资源占用少,硬件电路也相对简单得多。故我们采用该方案。图6 路灯控制电路该模块采用节能的1W LED灯,当电路出现故障时,单片机通过内部AD采集电路采样点的电压变化量后对数据进行处理,通过继电器控制路灯。3.6支路控制系统设计3.6.1 方案一 采用AVR单片机系列的ATmega16芯片作为电路的核心处理模块

25、。ATmega16芯片功能强大,51系列单片机所有能实现的功能它基本都能实现,而且比51系列更为强大,使用更为灵活。而且,ATmega16单片机具有更多的资源,比如他自带的AD转换模块,可以在硬件设计的时候省略外围的AD转换电路。软件编程呢也更为灵活。3.6.2 方案二 采用AT89s52单片机该单片机性价比虽然比较好,但功能相比而言确实要少很多,资源也不像AVR单片机系列那么丰富,运用方面相对较单一点。而且需要加的外围电路会更加复杂。综合各方面考虑我选择了方案一。核心电路如图:图7 支路控制系统支路控制系统是模拟路灯控制系统的核心,该系统采用ATMEL公司的ATMEGA16L单片机作为主控制

26、芯片来实现对受控对象的控制。与AT89S52相比,ATMEGA16L是一款高性能、低功耗的8位AVR微处理器,具有速度快、输出电流大、工作电压范围宽、成本低等优点,是一款性价比很高的单片机。ATmega16单片机的产品特性: 高性能、低功耗的 8 位 AVR 微处理器 先进的RISC结构 131 条指令 大多数指令执行时间为单个时钟周期32 个8 位通用工作寄存器 全静态工作 工作于16 MHz 时性能高达16 MIPS 只需两个时钟周期的硬件乘法器 非易失性程序和数据存储器 16K 字节的系统内可编程 Flash 擦写寿命: 10,000 次 具有独立锁定位的可选Boot 代码区通过片上Bo

27、ot 程序实现系统内编程真正的同时读写操作 512 字节的EEPROM擦写寿命: 100,000 次1K 字节的片内SRAM 可以对锁定位进行编程以实现用户程序的加密 JTAG 接口( 与IEEE 1149.1标准兼容 ) 符合JTAG标准的边界扫描功能 支持扩展的片内调试功能 通过JTAG接口实现对 Flash、EEPROM、熔丝位和锁定位的编程 外设特点 两个具有独立预分频器和比较器功能的8 位定时器/ 计数器 一个具有预分频器、比较功能和捕捉功能的16 位定时器 /计数器 具有独立振荡器的实时计数器RTC 四通道PWM8路 10 位ADC8 个单端通道TQFP 封装的7 个差分通道2个具

28、有可编程增益 (1x, 10x, 或200x)的差分通道 面向字节的两线接口 两个可编程的串行USART 可工作于主机/从机模式的 SPI串行接口 具有独立片内振荡器的可编程看门狗定时器 片内模拟比较器 特殊的处理器特点 上电复位以及可编程的掉电检测 片内经过标定的RC 振荡器 片内/片外中断源6种睡眠模式 : 空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby 模式 I/O和封装 32 个可编程的I/O口40 引脚PDIP封装 , 44 引脚 TQFP 封装,与 44 引脚MLF封装 工作电压: ATmega16L:2.7 - 5.5VATmega

29、16:4.5 - 5.5V 速度等级 0 - 8 MHz ATmega16L 0 - 16 MHz ATmega16 ATmega16L在 1 MHz, 3V, 25C时的功耗 正常模式: 1.1 mA 空闲模式: 0.35 mA 掉电模式: 1 A3.7.电源模块3.7.1方案一:采用稳压电路提供稳压电源。采用三端集成稳压电路提供稳压电源供电,电源的稳压性能好,直流输出特性好,系统可以稳定工作。3.7.2方案二:采用四只干电池提供电源。该方案的优点是系统简明扼要,成本低;缺点是输出功率不高,只能勉强推动单片机,适合小电流负载。该方案中需要能提供LED电源,干电池无法提供这么大的电流。而且在整

30、个系统工作的过程中,电压会随着时间的推移而不断降低,进而造成系统出现死机等情况。 方案一电路结构简单,成本较低,完全可以满足电路正常工作的要求。故选择方案一。电路图如下:图8 5V稳压电路电源是系统中最重要的模块之一,输入电源经稳压块后输出稳定的+5V电源,用以驱动整个系统。3.8 复位电路3.8.1 方案一:上电复位该方案电路简单,可靠性高,但是只有当系统上电时,自动复位。而当系统出现死机情况的时候,要把整个系统断电。3.8.2 方案二:按键复位该方案并不复杂而且比方案一更加可靠,更便捷。只需按下键盘即可实现复位操作。按键复位电路如下图:图9 复位电路3.9 恒流源模块3.9.1 恒流源原理

31、恒流源是输出电流保持不变的电流源,而理想的恒流源为:a)不因负载(输出电压)变化而改变。b)不因环境温度变化而改变。c)内阻为无限大。 恒流源之电路符号: 理想的恒流源 实际的流源图10 恒流源理想的恒流源,其内阻为无限大,使其电流可以全部流出外面。实际的恒流源皆有内阻R。2.三极管的恒流特性: 图11 三极管恒流特性从三极管特性曲线可见,工作区内的IC受IB影响,而VCE对IC的影响很微。因此,只要IB值固定,IC亦都可以固定。输出电流IO即是流经负载的IC。 电流镜电路CurrentMirror:电流镜是一个输入电流IS与输出电流IO相等的电路: 图12 电流镜电路Q1和Q2的特性相同,即

32、VBE1=VBE2,1=2。 三极管之受温度的影响,但利用电流镜像恒流源,不受影响,主要依靠外接电阻R经Q2去决定输出电流IO(IC2=IO)。3.9.2方案一: 从左边看起:基极偏压 所以 VE=VB-0.6=1.0V 又因为射极电阻是1K,流经射极电阻的电流是 所以流经负载的电流就就是稳定的1mA3.9.3方案二:利用PNP三极管供应电流给负载电路。电路如下图: 这个有一点不同:利用PNP三极管供应电流给负载电路.首先,利用二极管0.6V的压降,提供8.2V基极偏压(103x0.6=8.2).4.7K电阻只是用来形成通路,而且不希望(也不会)有很多电流流经这个电阻。VE=VB+0.6=8.

33、8V,PNP晶体的560欧姆电阻两端电位差是1.2V,所以电流是2mA。如果只用一个三极管不能满足需求,可以用两个三极管架成: 或是 3.9.4方案三:利用电位器采样电压值,通过集成运放组组成恒流源。已达到输出可调电流的恒流源的目的。电路图如下所示:图13 恒流源电路图中的第一组运放电路是跟随器,对输入的电压取样电路进行阻抗变换。最前面的双向开关负责将正负12V电压接入,这个电压是运放的供电电压,并提供给其他线路作为电源输入,C24和C25电容是运放正负电源端的滤波电容,紧靠运放电源引脚。R11和电位器RW4组成了一个电压取样电路,通过改变电位器RW4滑动端的位置取出不同的电压值,同时这个取出

34、的电压值也是输出电流的正比例控制值,电位器滑动头的电压就按照串联分压的方式计算得出,后端的R15和电容C20作为取出电压信号的阻容滤波电路,因为后端接的是运放的正端,电位器的滑动头不输出电流。运放的1脚输出的电压等于3脚的电压,既是电位器滑动端的电压值。运放上面的R12和D9是供电电源12V的指示电路,12V通过开关供给后D9发光指示电压正常。后面的一组运放是实现电压到恒流的转换,电路中有正反馈也有负反馈,但线路是稳定的状态,计算的时候运放也是按照虚短和虚断的分析方式,C21是电压信号的滤波电容,假设第一组运放1脚输出的电压是V,第二组运放5脚正端的电压是V1,那么电阻RS1左端的电压值为2V

35、1,因为电阻R16和R18是相同的数值。电阻RS1右端的电压按照R13和R14分压电路计算的话数值是V1-(V-V1)=2V1-V,这样我们就可以计算出RS1两端的电压是V,所以流过RS1电阻的电流是恒定的,另外考虑到RX1和R13相对RS1和负载的阻值不在同一个数量级,比他们大好多倍,因此流过RS1的电流基本都流向负载,很少量的电流流向R13和RX1,所以输出的电流基本是恒定的。在以上的计算中V1的数值是不确定的,他是根据负载的大小变化的,但是不论V1的数值怎么变化,通过计算可以知道流过电阻RS1的电流是不变的,以为它两端的电压是V,而V这个电压值是第一组运放的输出,在电位器不调节的时候V的

36、数值是固定的,流过RS1的电流不变,所以输出电流也不变,实现恒流控制。后面一组运放电路中Q4三极管的作用时增大运放的电流输出能力,因为负载比较小,运放驱动能力可能不够,R19基本没有作用在电路中,RX1可能是负载或者假负载,比如输出不接任何负载,电流基本都流过RX1,如果不接RX1,在没有负载的情况下输出就是电压最大值接近12V,在这种电压输出下,运放的正负端会有较大的压差,有可能会损坏运放358。同时在线路的设计上也要保证负载流过恒定电流产生的电压值不能超过12V,如果超过电源供电电压,不能实现恒流工作性能。RX1不取没事,取小了对负载不好,要比负载大10倍以上,要忽略流过他的电流。由于方案

37、三可以更好的对输出电流进行控制,进而达到对路灯条光的目的。故本系统采用方案三的恒流源电路,以实现系统的功能。4 软件设计4.1流程图4.1.1主程序流程图信号处理初始化设置信号采集显示报警处理开始图10 流程图C语言表达能力和运算能力比较强,且具有很好的可移植性和硬件控制能力。采用ICC AVR编译器。ICC AVR是众多AVR单片机应用开发软件中的优秀软件之一,界面友好,易学易用。该系统能完成基本功能部分,传感器检测物体运动的最大误差为正负1cm,光敏电阻在正常光照情况下电阻值为2K,在强光下电阻值为200欧姆,在黑暗情况下2M.。路灯电路正常时采样点电压为3V左右,在开路故障时电压为0V。

38、4.1.2 NY结束键值处理存储并返回键值读取键值判断有无按键按下开始按键子程序流程图:N子程序开始子程序结束信息是否需要更新信息显示处理ASCII码转换显示当前界面Y4.1.3 界面显示子程序流程图:4.1.4 报警子程序流程图: 开始结束灯1点亮标志是否置位灯1是否点亮灯2是否点亮灯2点亮标志是否置位LCD显示1,同时声光报警启动LCD显示2,同时声光报警启动YYYYNNNN4.2 源程序4.2.1主程序/*主函数*Void main() AD_init(); DDRB|=0x50; DDRD|=BIT(0); PORTD|=BIT(0); if(chuangan_press() if(t

39、urn1=1) switch(chuangan_scan()/判断车的方向,左还是右 case 1:turn=1; break; case 3:turn=3; break; switch(turn) case 1: zuo_turn(); break; case 3: you_turn(); break; begin_AD();4.2.2按键子程序/*函数名称: key_press功 能: 检测是否有键按下参 数: 无返回值 : 键按下时为1,否则为0/*/uchar key_press() uchar temp;KEY_OUT;KEY_OUT_H;KEY_IN;temp=KEY_DATA;t

40、emp&=0XF8;if(temp=0XF8) return 0;else return 1;函数名称: key_scan功 能: 返回键值参 数: 无返回值 : key/*/uchar key_scan() uchar key; delay(10);if(key_press()key=KEY_DATA;key&=0XF8;switch(key) case 0X78: key=0x0; break; case 0XB8: key=0x1; break; case 0XD8: key=0x2; break; case 0XE8: key=0x3; PORTB&=BIT(4); PORTB&=BIT(6); break; case 0XF0: key=0x4; break; default: key=16; while(key_press();else key=16;return key;4.2.3界面显示子程序/*函数名称: LCD1602_write_com(uchar com)功 能: 向1602液晶写入一个字节指令参 数: com是指令返回值 : 无/*/void LCD1602_write_com(uchar com) LCD_RS_L; LCD_RW_L; LCD_DATA=com; delay(5); LCD_OE_H; delay(5); LCD_OE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号