资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
基于基于 PIC16F873PIC16F873 机车温度控制阀的检测装置的设计机车温度控制阀的检测装置的设计基于 PIC12F629 的两位大数字 LED 机车速度表的设计王同宏 文章摘要 本文介绍了一种基于 PIC12F629 制作的两位大 LED 数字机车速度表的设计,详细说明了两位大 LED 数字速度表的工作原理、器件的选择及设计方法。该速度表结构简单,通用性强,修改其部分控制程序和输入方式可以将其应用在需要两位数字显示的温度、压力、速度及计数等场合,具有较高的实用价值。关 键 词 PIC12F629 数字 LED 74LS164 ULN2003A 自动调光调车机车采用指针式速度表,调车机车正常运行速度不高于60KM/小时。在监控系统中,指针式速度表很难定量地反映出机车的实际运行速度,因此需要加装一个两位的大 LED 数字速度表,用于反映机车的实时运行速度。两位大数字 LED 速度表的实现有很多种方法,在众多的实现方法中,使用单片机进行设计是比较简单方便的设计方法。制作关键是两位大数字 LED 的驱动方法的选择,对数字 LED 进行并联动态驱动还是串联静态驱动又是一个两难的选择:并联动态驱动需要使用单片机的口线多,但外围元件相对较少;串联静态显示使用单片机的口线少,可外围元件相对较多。通常情况下,管脚多的单片机附加功能也多、价格高,因此使用管脚少的单片机开发的产品成本比较低。在本设计中,仅实现机车速度检测与显示,功能比较单一;使用三英寸的大 LED 数码管,驱动电流比较大;并要求具有自动调光功能;由于在监控下使用,静态显示没有动态显示的频闪现象,显示数字稳定清晰,所以选用串联静态显示;考虑以后功能或程序的改变的方便,采用了只有 8 脚的 FLASH 芯片 PIC12F629 单片机进行设计。一、两位大数字速度表的硬件组成:两位大数字 LED 机车速度表的结构功能如图一所示:图一 速度表功能结构图1. 单片机的设计PIC12F629 是微芯公司推出的 8 脚 FLASH 型单片机,有 1K 字节的 FLASH ROM ,64 字节的 RAM 及 128 字节的 EEPROM,两个计数器,时钟频率高达 20 MHz。尽管 PIC12F629 内部集成有内部 4 MHz 1% 高精度振荡器,使用内部振荡器也可以节省两个管脚,但在本设计中,时基是速度正确如否的关键。因此只能使用外部晶振作为本系统的时钟。设计中使用 TMR0 作为计数器,T0 作为外部信号的输入端,这样可以消除使用软件查询引起的循环时间不等造成测量误差,影响速度测量的稳定性和准确性。2. 驱动电路的设计本设计中使用的三英寸大 LED 数码管的驱动电流在 40 毫安左右,直接使用串行移位芯片驱动无法达到所需的驱动电流,因此只能增加电流驱动芯片。在移位芯片选择上,如果单片机的端口充裕的话可以选用 74LS595 进行 3 线控制,这样可以消除数码管显示内容更新时引起的显示模糊。在本设计中,由于 PIC12F629 只有 6 个 I/O口,采用外部晶振和 T0 作为外部信号的输入端,占用了 3 个端口,剩余的 3 端口,只有 2 端口可以作为输出口,因此选用 74LS164 作为移位芯片,采用 ULN2003A 进行电流放大。本设计中的大 LED 数码管采用 12 伏供电电压,所以在每一个 LED 数码管脚上增加一个限流电阻。3. 自动调光电路的设计图二 隔离和调光电路由于机车应用环境中光线强度变化很大,所以增加了自动调光电路,避免夜间 LED 眩光现象的出现。电路结构如图二所示:自动调光电路采用光敏电阻作为光感元件,当光线强时 R4 光敏电阻的阻值变小,三极管 Q1 的基极电位降低,三极管的导通能力变弱,集电极的电位升高,场效应管 Q2 的导通程度增加,LED 供电电压增高,LED 发光强度增强;反之,LED 发光强度减弱。调整 W 可以改变由于器件的离散性产生 LED 显示亮度的偏差。4. 系统的电气隔离设计由于速度信号来自机车的供电系统,为了两者不会因为故障接地产生相互影响,加装了图二中 U1 进行电气隔离,D1 避免信号线反接使 U1 损坏;加接 R2 分流电阻,是为了在 D1 误接过高电压时,减少对 U1 的电流冲击。二、系统的软件设计:本系统控制软件采用 C 语言编写。主程序如图三所示。在设计过程中采用了结构化程序设计方法,将程序中的延时、检测数据的换算、显示数据的移位输出等程序编写成不同的功能模块,在程序的执行过程中分别调用。另外,在程序设计过程中还需要注意以下几点:1 延时 1 的延时时间选择要合理。设计中采用 TMR0 作为计数器,其最大值是 255,如果延时 1 程序延时时间过长,在速度高时会造成在 TMR0 的溢出,出现速度高时,显示的速度反而小的现象;如果延时 1 程序延时时间过短,会出现速度检测偏差过大,速度显示不稳定。2 增加延时 2 延时程序的目的在于减少检测循环的次数,提高显示的稳定性。3 在程序的设计中,暂存上一次的速度值,在下一次的计算中将两次的速度值相比较,如果不相等时再更新显示值,这样既可以提高显示的稳定性,也可减少由于频繁更新显示数据带来的显示模糊现象。图三 主程序流程图两位大 LED 数字速度表经过二十多台调运加装机车近两年的连续使用证明,速度显示准确,性能稳定可靠,不仅为监控系统提供了准确的速度数据,同时为机车司机的安全驾驶提供了方便。参考资料1. C 语言程序设计实践教程崔武子 付钪 鞠慧敏 编著北京清华大学出版社2005 年 8 月第一版 2. PIC 单片机原理与接口技术陈国先 主编 北京电子工业出版社 2005 年 8 月第 2 次印刷 ?应用技术研究1作者简介:王同宏 男 电气工程系 副教授2
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号