小功率差动变压器_第1页
小功率差动变压器_第2页
小功率差动变压器_第3页
小功率差动变压器_第4页
小功率差动变压器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 小功率差动变压器 摘要: 随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。 本文设计用汇编语言进行软件设计,硬件则以 差动变压器式 (LVDT)位移传感器 为主 ,测量 0 10mm。传感器输出的电量是模拟量,数值比较小达不到 A/D转换接收 的电压范围。所以送 A/D转换之前要对其进行前端放大、整形滤波等处理。然后, A/D转换的结果才能送单片机进行数据处理并显示。 关键词:小功率;位移式传感器;差动变压器; 一、 总体方案设计 1.1设计目的 差动变压器式 (LVDT)位移传感器广泛应用于工业现场和测试领域,如过程检测和自动控制、形变测量等,适用于油污、光照等恶劣环境。这种传感器可靠而耐用,但选用它监控机械位移量,还需设计与传感器配套的测量装置 通过本次课程设计,达到以下三点: ( 1) .通过本次 课程设计 加深对差动变压器电感传感器在工程实践中的应用的了解; ( 2) .掌握用这种传感器组成位移测量系统的原理和方法; ( 3) .进一步掌握这种传感器的性能特点和工程应用。 1.2总体方案设计 本系统采用内含 4KB 程序存储器的 8 位单片微型计算机 89C51,其内部 4KB程序存贮器可以满足本系统的需求,同时可以较大限度地减少外围器件 ;按照有效量程和精度。 2 1.3 原理 框 图 3 二、 硬件电路设计 2.1传感器的工作原理 差动变压器由一只初级线圈和二只次线圈及一个铁芯组成,根据内外层排列不同,有二段 式和三段式,本实验采用三段式结构。当差动变压器随着被测体移动时差动变压器的铁芯也随着轴向位移,从而使初级线圈和次级线圈之间的互感发生变化促使次级线圈感应电势产生变化,一只次级感应电势增加,另一只感应电势则减少,将两只次级反向串接(同名端连接),就引出差动电势输出。利用两个线圈之间互感的变化引起感应电势的变化,来获得与被测量成一定函数关系的输出电压,实现非电量的测量。应用最多的是螺线管式差动变压器,它可以测量 1 100(mm)范围内的机械位移、 150HZ以下的低频振动、加速度、应变、比重、张力、厚度、称重等一 切能引起机械位移变化的非电物理量。 本次差动变压器的原理是建立在 CSY2000 型传感器实训台的基础上的。差动变压器电感传感器具有结构简单、性能优越、测量精度高、灵敏度高和价格合理等优点。 2.2、 差动变压器传感器安装 1.将差动变压器和测微头 (参照附:测微头使用 )安装在实验模板的支架座上,如下图 2.2.1。 4 图 2.2.1 差动变压器传感器安装示意图 2、差动变压器的原理图已印刷在实验模板上, L1为初级线圈; L2、 L3为次级线圈;号为同名端。按图 2-3接线,差动变压器的原边的激励电压必须从主机箱中音频振荡器的 Lv 端子引入,检查接线无误后合上总电源开关,调节音频振荡器的频率为 4 5KHz(可用主机箱的频率表输入 Fin 来监测);调节输出幅度峰峰值为 Vp-p 2V(可用示波器监测: X 轴为 0.2ms/div)。 图 2.2.2 差动变压器性能实验安装、接线 2.3 放大电路的设计 传感器输出电压为 0 50mV,而我的要求电压是 250V,所以要加入放大电路,放大倍数为 5000倍。 由于单运放在应用中要求外围电路匹配精度高、增益调整不便、差动输入阻抗低,故采用三运放结构。 三运放结构具有差动输入阻抗高、共膜抑制比高、偏置电流低等优点,且有 5 良好的温度稳定性,低噪单端输出和和增益调整方便,适于在传感器电路中应用。 如图所示,图中 R为增益调节电阻,而运放 A1 为增益为 100的差动输入放大器,运放 Ac为增益为 50的差动输入放大器。 电压的放大倍数 :可由公式 得出 倍数。因此我们可以改变 R2和 R1的比值来改变放大倍数。 硬件原理图 量程的确定:量程的确定 : 铁芯每秒行走 1mm 电压变化 1V 灵敏度 S=dU= mmV11=1V/mm (8) 根据电压得量程是 250.0 250.0 可以由公式 8得出距离 d得量程是 250mm 250mm. 电压的可调性 输出电压 190-250 之间 , U0的输出电压在 0-5mv之间,再经过 100 倍的放大器,输出电压放大到 0-5v 之间,再经过 50 倍的放大器,输出电压放大到 0-250v 之间 ,根据所需要电压在 190-250 之间,只需铁芯的初始位置就行。 190v 所对应的初始位置时在 190mm 处, 250v所对应的初始位置在 250mm处。 2.4 输入通道设计 2.5 显示部分 为了简便, 显示部分直接用 数 字电压 作为显示器 6 数字万用表 DT9205 一、 特点 1. 功能选择具有 32 个量程 . 量程与 LCD有一定的对应关系 :选择一个量程 ,如果量程是一位数 ,则 LCD上显示一位整数 ,小数点后显示三位小数 ;如果是两位数 ,则 LCD 上显示两位整数 ,小数点后显示两位小数 ;如果是三位数 ,则 LCD 上显示三位整 数 ,小数点后显示一位小数 ;有几个量程 ,对应的 LCD没有小数显示 . 2. 测试数据显示在 LCD中 . 3. 过量程时 ,LCD的第一位显示 1,其他位没有显示 . 4. 最大显示值为 1999(液晶显示的后三位可从 0变到 9,第一位从 0 到 1只有两种状态,这样的显示方式叫做三位半。 ) 5. 全量程过载保护 6. 工作温度 : 00C-400C 储存温度: -100C - +500C 7. 电池不足指示: LCD液晶屏左下方显示 二 、技术指标 精确度 :(% 读数 +第四位上的字数 ).注意 :括号内的第 2部分 ,为精确度的修正值 ,应放在该档位的最后一位数字上 .精确度保证期为 1年 例如 :一个电子元件在 200档位的读数为 100.0,该档位精确度标示为 (5%+2),该档位在 LCD中有一位小数 则这个电子元件的实际数据 a,介于不等式 100-(5%100.0+ 0.2)a100+(5%100.0+0.2) 即 94.8a105.2 环境温度 :230C5 0C 相对湿度 : 75% 直流电压 量程 分辨率 准确度 200mV(毫伏 ) 100V( 微伏 ) (0.5%+2) 2V(伏 ) 1mV(毫伏 ) 20V 10mV 200V 100mV 7 1000V 1V (0.8%+2) 2.6 单片机的性能 2.61 51系列单片机的功能特点 5l系列单片机 中典型芯片采用 40引脚双列直插封装 (DIP)形式,内部由 CPU,4kB的 ROM, 256 B 的 RAM, 2个 16b的定时计数器 TO 和 T1, 4个 8 b的工 O端 I: IP0, P1, P2, P3,一个全双功串行通信口等组成。特别是该系列单片机片内的 Flash可编程、可擦除只读存储器 (EPROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。该系列单片机引脚与封装如图 1所示。 5l系列单片机提供以下功能: 4 kB存储器; 256 BRAM; 32条工 O线;2个 16b定时计数器; 5个 2级中断源; 1个全双向的串行口以及时钟电路。 空闲方式: CPU 停止工作,而让RAM、定时计数器、串行口和中断系统继续工作。 掉电方式:保存 RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。 5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。 MCS-51是标准的 40引脚双列直插式集成电路芯片,引脚分布请参照 -单片机引脚图: P0.0P0.7 P0 口 8位双向口线(在引脚的 3932号端子)。 P1.0P1.7 P1 口 8位双向口线(在引脚的 18号端子)。 P2.0P2.7 P2 口 8位双向口线(在引脚的 2128号端子)。 P3.0P3.7 P2 口 8位双向口线(在引脚的 1017号端子)。 这 4个 I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。 P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图 1中的 D0D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如 图 1中的 A0A7为地址总线接口) 8 3、不扩展时,可做一般的 I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 引脚说明: P1口只做 I/O 口使用:其内部有上拉电阻。 P2口有两个功能: 1、扩展外部存储器时,当作地址总线使用 2、做一般 I/O 口使用,其内部有上拉电阻; P3口有两个功能: 除了作为 I/O 使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。 有内部 EPROM 的单片机芯片(例如 8751),为写入程序需提供专门的编程脉冲和编程电源, 这些信号也是由信号引脚的形式提供的, 即:编程脉冲: 30脚( ALE/PROG) 编程电压( 25V): 31脚( EA/Vpp) 在介绍这四个 I/O口时提到了一个 “ 上拉电阻 ” , 当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果 P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。 ALE 地址锁存控制信号 : 在系统扩展时, ALE用于控制把 P0口的输出低 8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。当 CPU对外部进行存取时,用以锁住地址的低位地址,即 P0口输出。 由于 ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时, ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。 PSEN 外部程序存储器读选通信号 : 在读外部 ROM时 PSEN低电平有效,以实现外部 ROM单元的读操作。 1、内部 ROM读取时, PSEN不动作; 2、外部 ROM读取时,在每个机器周期会动作两次; 3、外部 RAM读取时,两个 PSEN脉冲被跳过不会输出; 4、外接 ROM时,与 ROM的 OE脚相接。 EA/VPP 访问和序存储器控制信号 1、接高电平时: CPU读取内部程序 存储器( ROM) 扩展外部 ROM:当读取内部程序存储器超过 0FFFH( 8051) 1FFFH( 8052)时自动读取外部 ROM。 2、接低电平时: CPU读取外部程序存储器( ROM)。 3、 8751烧写内部 EPROM时,利用此脚输入 21V的烧写电压。 RST 复位信号 : 当输入的信号连续 2 个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。 XTAL1和 XTAL2 外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 VCC:电源 +5V输入 9 VSS: GND接地。 2.7 89C51 单片机为控制的开关电源 开关电源是利用现代电力电子技术控制功率开关管 (MOSFET, IGBT)开通和关断的时间比率来稳定输出电压的一种新型稳压电源。从上世纪 90 年代以来开关电源相继进入各种电子、电器设备领域,计算机、程控交换机、通讯、电子检测设备电源、控制设备电源等都已广泛地使用了开关电源。利用单片机控制的开关电源 ,可使开关电源具备更加完善的功能,智能化进一步提高,便于实时监控。其功能主要包括对运行中的开关电源进行检测、自动显示电源状态;可以通过按键进行编程控制 ;可以进行故障自诊断,对电源功率部分实现自动监测 ;可以对电源进行过压、过流保护;可以对电池充放电进行实时控制。 开关电源的系统结构 通信用 10V 开关电源结构图如图 1 所示: 图 1 开关电源结构图 市电经整流滤波和功率因数校正后得到高压直流电,然后通过 DC/DC 变换电路得到所需要的直流电压。控制回路从输出端取样并与设定基准进行比较,然后去控制逆变器,改变功率开关管的导通频率或导通 /截止时间进行输出稳定;另1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e v i s i o nS i z eBD a t e : 2 0 - A p r - 2 0 0 6 S h e e t o f F i l e : I : 超声波 . D d b D r a w n B y :E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 1 0 / T1P 1 1 / T2P 1 23P 1 34P 1 45P 1 56P 1 67P 1 78P 0 039P 0 138P 0 237P 0 336P 0 435P 0 534P 0 633P 0 732P 2 021P 2 122P 2 223P 2 324P 2 425P 2 526P 2 627P 2 728P S E N29A L E / P30T X D11R X D10U18 9 C 5 1C12 7 PC22 7 PY16MR1 1 0 0R21KC53 0 U FS1S W - P BV C CRDWRabfcgde1234567abcdefg8dpdpcom9D S 1D P Y _ 7abfcgde1234567abcdefg8dpdpcom9D S 2D P Y _ 7D I N1L O A D12C L K13G N D4G N D9V+19I S E T18D I G 02D I G 111D I G 26D I G 37D I G 43D I G 510D I G 65D I G 78S E G A14S E G B16S E G C20S E G D23S E G E21S E G F15S E G G17S E G D P22D O U T24U57 2 1 9R49 . 5 3 kP 1 . 3P 1 . 4P 1 . 5123456J1C O N 6+ 5 v+ 5 vAB B BA AC CD DDCE E EF F FG G GP P PD0D1D0V i n1GND3+ 5 V2U?M C 7 8 L 0 5 C GQ?N P NR?R E S 2R?R E S 2R?接收器1122335566778844L M 3 5 8R?L M 3 5 8R?接收器C?C A PR?R E S 2R?R E S 2R?R E S 2C?C A PR?R E S 2R?R E S 2R?R E S 2C?C A PR?R E S 2V c cR?R E S 2C?C A PC?C A PD?D I O D EC? C A PC? C A PR?P O T 2R?R E S 4C?C A PR?R E S 2I N T 01234 5678L M 3 8 6U?C?C A PC?C A PR? R E S 2R?R E S 2C?C A PL S ?S P E A K E RP 2 . 1I N T 0 P 2 . 1P 1 . 3P 1 . 5P 1 . 4V d dC?C A PV c c电源接收子电路报警电路显示电路 单片机系统L M 3 8 6L M 3 5 8L M 5 6 78 9 C 5 17 2 1 91GND2DO3VccU?Q?J F E T NV C CV C C1234 5678Q?5 6 7 10 一方面,根据检测电路提供的数据,经保护电路鉴别,利用控制电路对整机进行各种保护和蓄电池的充放电控制。控制电路是整个开关电源的核心部分,一般开关电源的控制电路主要有检测比较放大电路、电压 脉冲宽度转换电路 (或电压 频率转化电路 )、时钟振荡器 (或恒脉宽发生器 )、基极驱动电路、过压过流保护电路以及辅助电源等电路组成。存在着电路复杂,功耗大,灵敏度差,不能实现很好的控制等缺点。 采用单片机 89C51模块组成的控制电路,它具有可编程、功能强、控制简单、集成度高等诸多优点,并对原来的电路存在的不足进行改进,其原理方框图如图 2 所示。 图 2 单片机控制电源结构图 本智能开关电源利用通信用开关电源的基础电路,以高性能单片机 89C51为控制核心,组成数据处理电路,在检测与控制软件支持下,通过对开关电源输出电流、电压进行数据采样与给定数据比较,从而调整和控制开关功率管的工作 状态,同时监测输出电流大小,进行电流控制。其电路的工作原理为 :市电经整流滤波、功率校正电路 PFC(Power Factor Correct)变成直流电送入功率变换电路(DC/DC),功率变换电路在脉冲宽度调制电路 (PWM)和单片机的控制下输出稳定的直流电压。用户可根据需要通过键盘设定开关电源输出的电压值及最大输出电流值,单片机系统自动对电源输出电压和电流进行数据采样,并与用户给定数据进行比较,然后根据设置的调整算法控制开关调整电路,使电源输出电压符合给定值。单片机在调整电源输出电压的同时还要检测电路的输出电 流,当输出电流超过给定值时,就启动保护电路,实现保护功能。为了使智能开关电源能可靠、安全地工作,本系统设置了多重监测和保护系统,主要包括过流保护和短路保护。单片机系统通过电流传感器检测开关功率管的输出电流,当电流超过给定值,单片机系统切断开关激励信号并发出声光报警,并对电池工作状况实施检测。 控制电路 控制电路采用 ATMEL 公司的 89C51单片机,扩展了 A/D、 D/A、键盘显示、 RS232通讯口电路。原理结构如图 3所示。 11 图 3 控制电路原理结构图 控制系统通过 I/O输入端口经 D/A转换控制功率转换的开关的导通与关断时间,完成对输出电压的稳定,通过 A/D转换完成对开关电源输出电压和电流的采样,通过系统软件实现了过压、过流保护及限流功能。同时采用双闭环控制系统,开关电源工作时,采用电压反馈由 PWM控制实现对输出电压的稳压功能,控制闭环为电压环或电流 环 ;在电池充电或过载时采用电流信号作为反馈,控制电池的充放电电流并实现过载保护的功能。为了精确控制开关电路的电压输出,把单片机的高频脉冲信号分频后变成适宜的开关脉冲信号,作为 89C51的计数脉冲和门控信号。单片机把给定值与传感器采集的信号进行比较,产生误差信号。根据电压控制算法设置 89C51 产生不同占空比 (0 90%)的方波信号,经过光电耦合器控制开关调整电路电压输出。输出端与开关电路进行光电隔离,从而避免了来自开关电源电路的骚扰信号对单片机系统正常工作的影响。 鉴于受控的开关电路输出电压的 高精度和快速调整特性,可采用改进的 PID控制算法,该算法具有电压调整快、超调量小、性能稳定等优点。键盘与显示部分装在仪器操作面板上,由 8 位 LED数码管, 3个 LED 指示灯以及16个键构成,其中 4位数码管显示电源电压, 4位数码管显示电流, 3个 LED指示灯作为报警显示。 2.8 89C51 单片机与 PC 键盘接口 键盘是数字视频监控录像系统中最重要的输入设备之一,是人机接口的重要组成部分。目前常用的工业控制计算机键盘除配置电子锁开关防止非法键盘输入外,与 PC键盘并没有多大区别。这种键盘不仅键数多,操作不灵活,而且通 常只能作为输入设备,主机无法通过键盘与外设进行通信。本文在分析 PC 机键盘通信方式的基础上,设计出以 89C51单片机为核心的数字视频监控系统键盘及报警控制卡,该卡具有键盘通信和输入输出报警两种功能,采用标准 PCI卡的结构,但不占用主机硬件资源。其中,报警部分有 4 路输入和 4路输出,可以与标准的报警传感器相连;键盘部分有 16个键,通信方式与 PC机完全兼容。采用这种控制卡,不仅可以节省视频监控系统中常用的专用报警解码器,而且能够实现在不占用主机硬件资源的情况下实现与外设的双向通信,利用这个特性,可以及时发现 12 系统的异 常情况并加以解决,从而大大提高目前普遍采用的基于 WINDOWS 操作系统的数字视频监控录像系统的可靠性。 键盘与主机的通信方式 主机通过键盘接口与键盘联络,主机与键盘的通信,实际上是键盘接口与键盘的通信。 PC机键盘接口采用 Intel8042芯片作为控制器,接收键盘扫描码以及向键盘发送命令。除了电源线和地线之外,键盘与主机之间还有两条双向通信线:时钟线和数据线。采用串行传送方式,在时钟脉冲作用下同步地收发数据,既可以向主机传送键盘响应或键盘扫描码,也可以接收来自主机的键盘命令。主机通过设置数据线和时钟 线的状态,指导键盘收发数据: (1)时钟线为低电平,禁止键盘传送数据; (2)时钟线为高电平,数据线为低电平,通知键盘接收命令或参数; (3)时钟线和数据线都为高电平,允许键盘传送数据; 1. 键盘向主机发送数据 由于键盘输入是异步的,且具有实时性,所以主机系统以中断方式支持键符的随机输入。每当键盘接口接收完从键盘送来的串行扫描码时,即向中断系统发出一个键盘中断,若 CPU响应该中断,则由键盘中断程序读取此扫描码,经转换后成为系统扫描码,存到键盘缓冲区。键盘发送数据时,数据线和时钟线都由键盘控制。键盘发送 一个字节的数据格式如图 1所示。 图 1 键盘串行数据格式 键盘首先检测时钟线和数据线的状态,当两者皆为高电平时,开始传送数据。依次传送起始位、 8位数据位 (低位在前 )、校验位和停止位。每传送一位,时钟线同步地产生一个脉冲。当主机收到该脉冲后,将时钟线置成低电平并保持一段时间,禁止键盘继续 发码,以便于检验该数据的正确性,并产生中断、进行代码转换和执行相应的操作。如果检验出错,就向键盘传送重发命令 0FEH,要求重送,键盘向主机发送数据采用奇校验方式。 2. 键盘接收主机命令和参数 主机首先将时钟线置为低电平,随后将数据线置为低电平,延时大约 200s后,将时钟线置为高电平。当键盘检测到这一状态后,开始接收主机命令,接收数据格式与发送的一样。键盘依次接收 1个起始位、 8个数据位、 1 个校验位、 1个停止位。特别值得注意的是,在接收键盘命令或参数时,虽然数据是由主机发向键盘的,但是时钟脉冲是由键 盘产生的。主机在时钟线上每接收一个脉冲的下降沿,就在数据线上输出一位数据。如果接收正确,在时钟线和数据线都成为高电平后,键盘将向主机发一个应答信号 (0FAH),否则向主机发一个 0FEH信号, 13 要求重发。主机收到 0FEH信号后,把刚才输出过的数据重新发送一次。如果这一过程持续三次后,键盘仍然不能正确接收,主机就放弃传送这个数据,转去执行下面的程序或显示错误信息。主机命令和参数也采用奇校验方式。 3.单片机与 PC 键盘接口 的硬件电路 本系统采用 89C51 单片机与 PC键盘接口相连,图 2给出了系统硬件电路原理。其中 P3.0和 P3.1 分别与主机键盘接口的时钟线 CLK和数据线 DATA 相连, P2口与 44 键盘矩阵相连, P0口经过驱动后与输入输出报警设备相连接。为保证键盘可靠工作,系统配置了看门狗电路 MAX813L,另外,系统还配置了蜂鸣器,每次按键均有声音提示。 图 2 系统硬件电路原理 2.9 铁芯直线位移方法 铁芯的直线位移是由电动机加上齿轮组转化的,通过齿轮组把电动机的转动转化为铁芯的直线位移,从而达到铁芯直线位移的目的。 电动机的转速是 600 转 /秒,电动机的铁心周长为 10mm,齿轮组转化系数为 6000:1,从而转化铁心直线位移为 1mm/秒 14 三、软件部分 3.1 89C51 单片机为控制的开关电源 的软件部分 本软件主要完成对信号采样,各种数据处理、以及对功率转换部分的控制等。本系统软件主要包括键开关扫描程序、故障判别子 程序、均充及浮充子程序、中断检测子程序和通信子程序等。主程序流程图如图 4所示。 图 4 主程序流程图 在初始化过程中,先是将 89C51各个输入端口复位,然后从 EEROM 中读出上次关机前存入的数据,控制开关电路,并进行显示。 初始化完成后,开中断程序。若有中断请求则响应,否则进行数据采样并读取给定值,然后进行数据处理 ;若有短路或过流情况发生,则调用报警保护子程序 ;若要对电池浮一定的动态性,能在一定程度上反映出电池内部的变化及 SoC 的大小,但该方法在推导过程中是假设电流是时变的,若电池在一个较长时间段内恒流放电,则会大大降低 SoC预测的准确性。基于状态空间的动态模型以反应物的动态变化建立模型,以测量的电流和电压作为输入量计算 SoC,同时考虑了活性物质的扩散现象,以此提高SoC的精度,是一种较好的方法;但由于电池模型阶数较高,计算比 较困难,模型的建立需要确定相当多的经验参数,给应用带来较大麻烦。 基于能量模型的 SoC定义修正了原来 SoC模型的不足,考虑到电池的可恢复性,综合了电流、电压、电阻判断,在一定程度上提高了 SoC的判 15 断精度,但它没考虑温度的影响,需要大量试验数据。由于电池是密封的,所以外部可测参数只有电流和电压,采用 Randels Ershler 电池模型对电池建模,并通过精确的安时积分估算 SoC,同时进行容量老化补偿、温度补偿、自放电补偿及放电率补偿,也不失为一种可行的方法。 上述方法能够在 一定程度上反映剩余电量的多少,适用于电动车用电池 SoC的预测,但是这些模型参数确定需要许多反复的迭代步骤,并且重要的是,这些算法必须知道电池的 SoC初值。因为要实时计算显示 SoC的值,这是需要时间的。模型越复杂,计算 SoC所需时间也越多。 SoC的预测方法很多,但要达到较高的精度,在电池建模及 SoC预测方法方面还有大量的工作可做。 3.2 单片机与 PC 键盘接口 的软件部分 1 键盘向主机发送键盘扫描码 与 PC标准键盘兼容,当检测到有效键闭合时,键盘向主机发送接通码,当检测到闭合键释放时,发送断开码,即在接通码 前加 0F0H,系统采用中断的方式每隔 10ms扫描一次键盘,考虑到数字视频监控系统的实际情况,与标准 PC机键盘不一样的是,每次按键无论时间长短,只发送一次接通码,且每次有效按键输入,均有声音提示。 2 键盘接收主机控制命令及应答 主机的控制命令包括两部分,一部分是标准 PC机发送给键盘的控制命令,主要是用于键盘的自检,另一部分是本系统增设的控制命令,主要是和外设进行双向通信以实现输入输出报警功能。主机开机时都要对键盘进行自检,主机对键盘的自检是通过键盘控制命令实现的,主机要求键盘每接收一个命令都要用 0FAH 作为应答,而且在发送键盘复位命令 0FFH后,键盘要发送 0FAH和 0AAH 作为键盘自检正确的响应。本系统增设的控制命令是在检测到动态报警信号及系统异常时通知外设以便发出声光报警信号。这些控制命令是通过对主机键盘接口状态寄存器(口地址 064H)和数据寄存器 (口地址 060H)的读写操作实现的。图 3给出了键盘处理中断服务子程序框图。 图 3 键盘处理中断服务子程序框图 16 3.3 键盘接口及程序 矩阵式键盘的结构与工作原理: 在键盘中按键数量较多 时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,如图 1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如 P0口)就可以构成 8*3=24个按键,比之直接将端口线用于键盘多出了一倍 。由此可见 P1.0 P1.2口为输入端口,接键盘列线; P0口经 74LS273接键盘行线。输出控制信号由 P2.0 和 合成。当二者同时为低电平时,或门输出“ 0”,将 P0口输出的扫描码锁存到 74LS273中。 P1口读到的是列线的状态,当 P1.0-P1.2读到的值不是 111B时表示有键按下。 下面介绍键盘扫描程序,本程序中用延时 10ms子程序经行软件消抖;通过设置处理标志来区分闭合键是否已经处理过;用计算机方法得到键码,高 4位代表行,地 4位代表列。 17 键盘扫描程序的流程图 各功能程序如下: 键盘扫描主程序 KEY_SCAN,不断扫描键盘直到有一键按下,最后键值存于 A 中返回。键值是以键号经行编码所得的值。 KEY_SCAN: LCALL KEY_ON ;判断有无键按下 JZ KEY_SCAN ;无键按下,继续扫描 LCALL DL10MS ;延时 10ms 进行消抖 LCALL KEY_ON ;再判有无键按下 JZ KEY_SCAN ;是键抖动继续扫描 LCALL KEY_P ;调确定键位置子程序 ANY A,#OFFH JZ KEY_SCAN ; A=0,出错继续扫描 LCALL KEY_CODE ;对按键编码 PUSH ACC ;保护 A, A中为键 编码值 KEY_OFF: 18 LCALL KEY_ON ;等待,直到按键被释放为止 JZ KEY_OFF POP ACC ;恢复 A RET ; 返回 KEY_ON: MOV A,#00H ;全扫描字 00H MOV DPTR,#0FEFFH ; 74LS273 地址 0FEFFH送到 DPTR MOVX DPTR,A ; 74LS273输出全扫描字 MOV A,P1 ; P1口状态读入 A 中 ORL A,#0F8H ;取低 3位 COL A ; A取反 RET ; A不 等于 0,表示有键按下 ;延迟 10ms子程序 DL10MS(设时钟为 6MHz) DL10MS: MOV R7,#05H LOOP1: MOV R6,#0F9H LOOP2: NOP NOP DJNZ R6,LOOP2 DJNZ R7,LOOP1 RET ;确定按键位置子程序 KEY P.用扫描法 ,R2,R3 保护行、列信息 ,最后将按键的位置存放于 A ;中高 4位是行号 ,低 4位是列号 . KEY-P: MOV R7,#0FEH ;键盘第 1 行置 0 MOV A,R7 L_LOOP: MOV DPTR,#0FEFFH ; 74LS273 口地址送 DPTR MOVX DPTR,A ;扫描字送 74LS273 MOV A,P1 ;读入 P1口状态 ORL A,#0F8H MOV R6,A ;R6 中暂存所读列值 CPL A ;A取反 JNZ KEY_C ;按键在此行 ,转 KEY_C NEXT: MOV A,R7 ;上一扫描字送 A JNB ACC.7,NO_KEY ;第八行扫描完 ,没发现按键 ,返回 RL A ;循环左移得下一扫描字 MOV R7,A ;保存于 R7中 LJMP L_LOOP ;开始下一行扫描 19 NO_KEY: MOV A,#00H ;置出错码 00H RET ;返回 ;找出 R7、 R6中为 0的位 ,此位即为按键所在行、列位 ,R3、 R2中保存行、列值 KEY_C: MOV R2,#00H ;初始化 R2、 R3 MOV R3,#00H MOV R5,#03H ;共三列 MOV A,R6 ;列状态送 A AGAIN1: JNB ACC.0,OUT1 ;ACC.0 位为 0,转 OUTE INC R2 RR A ;循环右移 DJNZ R5,#08H ;8 列未测试完继续 MOV A,R7 OUT1: INC R2 MOV R5,#08H ;共 8行 MOV A,R7 ;行状态送入 A AGAIN2: JNB ACC.0,OUT2 ;ACC.0 位为 0,转 OUT2 INC R3 RR A DJNZ R5,AGAIN2 OUT2: INC R3 MOV A,R3 ;行号送 A SWAP A ;行号置于高四位 ADD A,R2 ;列号置于 第四位 RET;返回 ;键编码子程序 KEY-CODE ;本子程序根据键位置找出键的编号 ;键编号是依据键的位置顺序指定的一个号码 ,以便于执行散转指令 ;由于是矩阵键盘 ,键编号通常可根据键所在行和列的位置来确定 ,对图所示的8*3键盘 ,行号可调整为 0-7,列号可调整为 0-2,则键编号可用行号乘以 3再加上列号所得结果 KEY_CODE: PUSH ACC ;保存 A ANL A,#0FH ;屏蔽行号 MOV R7,A ;列号送 R7 20 DEC R7 POP ACC ;恢复 A SWAP A ;A中高、低四位交换 ANL A,#0FH ;屏蔽列号 DEC A MOV B,#03H ;3 送入 B MUL AB ;行号乘以 3 ADD A,R7 ;加上列号 ,得到键编号 RET ;返回 3.4 单片机 时间定时器程序 /* 中断服务程序 */ unsigned char Time_ms1 ; / 毫秒计时 1 unsigned char Time_ms2 ; / 毫秒计时 2 unsigned char Time_s ; / 秒计时 unsigned char Time_min ; / 分计时 unsigned char Time_hour ; / 小时计时 /= /TIMER1 initialisation - prescale:8 / WGM: 0) Normal, TOP=0xFFFF / desired value: 50mSec / actual value: 50.000mSec (0.0%) void timer1_init(void) TCCR1B = 0x00; /stop TCNT1H = 0x9E; /setup TCNT1L = 0x58; OCR1AH = 0x61; OCR1AL = 0xA8; OCR1BH = 0x61; 21 OCR1BL = 0xA8; ICR1H = 0x61; ICR1L = 0xA8; TCCR1A = 0x00; TCCR1B = 0x02; /start Timer #pragma interrupt_handler timer1_ovf_isr:9 void timer1_ovf_isr(void) /TIMER1 has overflowed TCNT1H = 0x9E; /reload Fcounter high value TCNT1L = 0x58; /reload Fcounter low value /= 定 时 器 1 程 序 结 束= /ADC initialisation / Conversion time: 104uS void adc_init(void) adc_mux = 0x00 ; ADCSRA = 0x00; ADMUX = adc_mux&0x0f ; ACSR =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论