21ic首页 | IC库存 | 器件搜索 | 图书 | 社区 | 分类 |

电子技术下载站 - 专业电子技术资料下载

提出一种基于51 内核网络单片机的嵌入式远程监控系统方案,介绍以DS80C400单片机为核心的系统硬件构成和基于TINI运行环境的应用程序设计方法。该方案可以实现串口、CAN总线等轻量级网络和以太网或

所属分类: 上传时间:2011-03-07 16:00:01

下载:40 次 | 大小:222 k | 共享者:ankee

随着我国国民经济的发展和人民物质文化生活水平的不断提高,空调器已广泛应用于社会的各种场合,直流变频空调器因具有节能、低噪、恒温控制、全 天候运转、启动低频补偿、快速达到设定温度等性能,使空调的舒适性大大提高,将越来越受到人们的喜爱。单片机技术的广泛应用,直流变频技术及模糊控制技术 在空调器嵌入式控制领域的成功应用,半导体功率器件的迅速发展为直流变频控制的推广提供了技术保障。 

       本设计方案的AC变频空调控制器由室内机控制器、室外机控制器两部分组成。基于SPMC75F2413A 的优越性能,用其设计室外机AC变频控制器,容易实现产品模块化、智能化特点,控制参数采用开放式结构,便于与各种压缩机联结,从而能够在最短的时间内根 据不 同厂家的要求进行产品的升级换代。以这种方式,产品可以更快地推向市场,获得时间上的竞争优势。本控制器含有以下关键技术:

       1、模糊控制技术:依据室内环温、管温,室外环温、管温、压缩机排气温度、压缩机过载保护温度、压缩机电流等参数建立模糊逻辑关系,控制压缩机的运转速度、室外风机及其它负载运行;

2、高效的三次谐波注入基于DDS的SPWM发生技术,充分利用电源电压、精确的频率调整、实时的电压补尝功能,使压缩机更有效工作;

       3、模块控制保护电路:当模块有保护信号输出时,通过硬件电路断开PWM 模块输出控制信号,以达到保护模块的效果,并且可靠的给单片机模块保护信号;

       4、EMC 及可靠性设计技术:在掌握空调的干扰机理的前提下,硬件设计重点考虑以下几点:电源电路设计、滤波电路参数设计、印制板地线及信号线设计,并且软件采用容错技术。

       2   系统总体方案介绍

       本AC变频空调系统分室内机系统和室外机系统两部分,其中室内机系统主要是系统一些逻辑状态信息的处理,而室外机系统主要是压缩机的变频驱动部分。在本系 统方案中室内机选用的是SPCE061A实现的,SPMC75F2413A主要是应用在变频驱动部分。因此室内机系统在此不再详述。室外机的电路结构框图 如图 2.1。

                                                         图 2.1室外机系统框图
这个系统的基本工作流程:

       室外机的主控MCU(SPMC75F2413A)随时接收来自室内机的控制和状态信息,从而去控制室外的风机、四通阀和压缩机,完成相应的控制功能。同时 还会将室外机的一些状态和室外的一些温度信息传回室内机。以供室内机做控制之用。

       3   系统硬件设计

       系统电路原理图如图 3.1。其中PS21865A三相功率全桥电路模块,用来实现PWM信号的功率合成,从而驱动压缩机。ULN2003A是集电极开路输出的功率反向器,主 要用来驱动系统中的继电器,从而控制风机和电磁阀。SPMC75F2413A单片机的主要作用:1. 根据室内机命令控制整个系统。2. 完成AC变频压缩机的变频驱动信号的产生和控制功能。

       图 3.1中的Power_Line是一种半双工的电流环变换电路,它主要是利用电源和一条专用的通信线,使室内外构成一个电流环,电流环由室内机供电。这个 电路为室内外机提供一条通信回路。SPMC75F2413A合成的注入三次谐波的SPWM信号经IOB0~5输出,经缓冲和光隔后输入PS21865A, 而后输出控制电机。SPMC75F2413A的IOB6是错误侦测输入端,通过对其传回信号的检测,一旦PS21865A出现工作异常(如过压、欠压、过 流、过热),驱动硬件会立即禁止PS21865A工作,同时申请中断,请求CPU处理。IOA0~3为模拟输入口,主要是温度传感器接口和直流高压测量接 口。IOC8~10为控制四通阀和外风机的控制。

 

点击看原图

                                                                           图 3.1系统电路原理图 

4   系统软件设计

       整个室外机系统软件主要包括两部分:1. 同室内机通信、协调控制部分。2. 室外机的压缩机驱动控制部分。 

       系统同室内机通信、协调控制部分主要包括串口中断服务和命令解释执行和主循环控制等几部分。其中主控制流程如图 4.1。串口中断服务主要是接收来自室内机的数据包,并对相应的信息进行处理,确保传给控制程序的命令和数据的正确性;命令解释执行部分主要是解读室内机 命令,并进行相应的处理。

                                                             图 4.1 主流程

       压缩机驱动控制部分分为SPWM信号合成、电机加减速控制、电机的起停服务等几部分。其中最核心的是SPWM信号的合成。本系统的波形合成使用DDS(直 接数字频率合成)的方式进行。这部分主要由PWM周期表中断服务和相应的辅助计算程序组成。其中PWM周期中断服务是信号合成的核心部分,整个系统中它占 用70%左右的运算量。它主要完成驱动波形的合成和干线电压的动态补尝功能,同时周期中断为DDS提供时钟基准;而加减速控制部分主要跟踪设置频率,从而 使当前工作频率以设定的加速度向目标工作频率逼近;电机的起停服务主要是对电机启动和停止这两个特殊过和进行特殊处理。 

       因PWM周期中断服务程序执行频率很高(5KHz左右),因此这部分使用汇编编写,以保证尽量小的CPU资源占用。PWM中断服务子程序的流程如图 4.2。

                                                            图 4.2 PWM中断服务子程序流程图

       5    结语

       通常,在开发变频设备的过程中,需要编写实时性、程序可读性强的代码,这时就需要采用混合编程。而凌阳的m’nSP™ IDE具有良好的编程环境,它可以很轻松、容易地进行混合编程(在C程序中调用汇编程序,在汇编程序中调用C程序)。

       该系统用了SPMC75F2413A两个定时器和约17个IO口资源,其实SPMC75F2413A的资源相当丰富。因其有专业的变频硬件支持,变频系统 开发变得相对简单。同时,SPMC75F2413A在变频控制方面有相当出众的表现。因此,基于SPMC75F2413A的变频系统在通用变频、变频家电 等变频领域有广阔的应用前景

所属分类: 上传时间:2007-05-09 17:04:00

下载:0 次 | 共享者:miracle

1 引 言

  传统的检测仪器大多由硬件电路来完成,不仅功能单一,而且开发周期长,不易维护。随着微电子技术和信息技术的高速发展,医学检测仪器正向组合式、多功能、智能化和微型化方向发展。现代数字部件的快速发展为医学检测仪提供了强有力的支持,医学检测仪器都无一例外地采用了微处理器来增强其功能。广泛地应用微处理器芯片能增强仪器的智能化程度,提高其稳定性和数据处理的精确性,使医学信号的采集、处理、通信一体化,并具有自诊断、自校验等一系列优点。

  ATMEL公司新推出的AT90系列AVR单片机是很引人注目的一款微处理器。这种芯片基于新的RISC(Reduced Instruction Set Computer)结构,在设计上采用了流水线的结构,在执行前一条指令的时候,同时取出下一条指令,它的FLASH以及强大的外围接口能力使它成为目前最流行的单片机之一。

  本文采用的高性能微处理器芯片Atmega163,利用结构化、模块化程序设计的思想,实时地对8路人体生理信号进行采样,对数据实行压缩和优化处理,以115 200 bps的速率和上位PC机进行串行数据传输。

  2 硬件构成

 

  2.1 微处理器及其特点

  Atmega163是ATMEL公司推出的高档系列产品,是基于AVRRISC的低功耗CMOS8位单片机。在外部晶振为8MHz时,一条指令的执行时间仅为125ns,这种AVR单片机的结构有利于用C语言编程,从而能高效地开发出目标产品。为了对目标代码大小进行优化,AVR单片机采用了大型快速存取寄存器文件和快速单周期指令。通过在一个时钟周期内执行一条指令,Atmega163可以取得接近1MIPS/MHz的性能。它将32个工作寄存器和丰富的指令集联结在一起,使所有的工作寄存器都和ALU(ArithmeticLogic Unit,计算机CPU中的算术逻辑单元)直接相连,允许在1个时钟周期内执行的单条指令同时访问2个独立的寄存器。Atmega163具有16K字节的Flash存储器,512字节在线可编程E2PROM,1024字节SRAM,外围有全双工UART串行通讯接口。此外,它还有2个具有比较模式的可预分频的8位定时器/计数器,1个可预分频,具有比较、捕捉功能的16位定时器/计数器。

  Atmega163单片机提供了一个性能良好的10位模数转换器。如图1所示,A口为8路模拟信号输入端,如果AD功能禁止,则A口是一个8位双向I/O口。8路人体生理信号如心电、心音、颈动脉、脉搏、体温等,经过放大、滤波、去噪处理后,分别与A口的8个引脚相连。微处理器采集数据时,通过控制ADMUX寄存器进行通道路号选择,读取的数据由CPU作进一步处理。

芯片管脚图

 

  2.2 基于RS-232的串行通讯接口电路

  如图2所示,与上位PC机连接的J1应用了RS-232的5条信号线,其中,TX为PC机的发送信号线,RX为接收信号线,CGND为地线。而RTS和DTR不产生信号,仅在初始化时产生高低电平,RTS设为+12V,DTR设为-12V。三极管Q1的作用是使信号反相,并输出RS-232电平。

串行通讯接口电路

  电气的安全性,是医学测量仪必须考虑的问题。传统的医学测量仪一般采用隔离放大器,对模拟信号进行隔离,这种隔离技术的不足之处是:(1)必须为不同的模拟信号采用不同的隔离技术;(2)采用这种隔离措施会在信号线性度、共模抑制以及频率响应等方面引起问题,通常使电路稳定性变差,代价较高,且使电路变得更为复杂。而选用数字信号隔离技术,则可以克服上述缺陷。  

  光电隔离器6N137是把发光二极管与光敏管组合封装在一起的器件(见图2中方框内)。由于两个部分之间是电气隔离的,光电隔离器件能圆满解决信号隔离与电平匹配的问题。通过这一隔离电路,可使PC机系统电源和测量仪器部分的电源完全隔离开来,从而保证医学仪器的安全性,防止电击危险,减小患者漏电流,同时也减少了计算机对检测电路的干扰。

  3 软件设计

  软件流程图如图3所示。软件部分采用模块化、结构化程序设计方法,利用汇编语言编写,有关模块功能如下。

软件流程图

  3.1 初始化

  设置SP初值,把程序用到的内部RAM区清0,给数据采集通道计数器赋初值(8),设置波特率(115 200)。

  3.2 数据采集与A/D转换

  按预先确定的采样顺序对各路信号进行采样,由于A/D转换需要一定的时间,所以,延时等待的时间应略大于转换完成时间。前一路转换完成后,应立即启动下一路开始转换。由于模拟信号经A/D转换后,成为10位数字信号,所以,我们用2个字节来存储该数据,高字节存储高8位数据,低字节高位存储最低的两位数据,后6位补0。同时,把采样通路号加在最低3位字节上,以便与上位PC机通讯时,上位机能及时准确地判断该数据来自哪一通道,从而方便地对各路数据作相应处理。最后把转换完成的数据,按先后顺序依次存储在内RAM里。

 3.3 数据的发送

  利用R0间接寻址的方式,把RAM里的数据取出,按115 200 bps的波特率逐个字节向PC机发送,发送完8通道共16个字节后,进行下一轮的采样。

  3.4 上位PC机接收数据程序

  上位机通信程序由两部分组成:初始化子程序,中断数据接收子程序。

程序

程序

  4 结束语

  由上面提供的硬件电路和软件,制作成串行通信接口电路,能可靠、稳定地工作,实现多路信号的采集、转换和数据无差错传输,同时,能够满足医学仪器安全性的要求,为临床人体生理信号测量,及病理诊断提供帮助。

  参考文献

  1 叶勇建主编.AVR高速嵌入式单片机原理与应用.北京:北京航空航天大学出版社,2000

  2 吴效明,李 斌,崔文生,等.多道生理参数检测与分析软件系统研究.暨南大学学报,2000,21(1)

  3 孙红军,孙秀云,周学铁.用C语言设计高速三线串行通信程序.电子技术应用,1997( 6)

  4 杨福生.论生物医学信号处理研究的学科发展战略——生物医学工程的今天与明天.第1版.天津:天津科技翻译出版公司,1998:465~483 

所属分类: 上传时间:2007-05-16 13:34:00

下载:0 次 | 共享者:miracle

引 言

  在工业控制、信息家电等应用领域,存在大量的嵌入式设备,而这些设备很多只有串口、CAN总线等简单的网络接口,通信能力有限,有的甚至处于孤立运行状态。如何让这些以单片机为核心的嵌入式系统接入以太网,并通过网络对它们进行远程监控,是当前电子世界中的研究热点。TCP/IP在Intemet和大多数局域网中的成功应用,已经证明了其强大的功能。如果实现TCP/IP协议和嵌入式系统的结合,嵌入式系统联网问题就能得到有效解决。目前,嵌入式系统联网主要有如下几种方案:①EMIT,以PC或其它高档计算机为网关,将CAN、RS-232等设备接入重量级网络;②采用32位MCU+实时操作系统,高档MCU功能强大,可以实现复杂操作,但需要有RTOS支持,这种方案的成本和对开发人员的要求较高;③采用Scenix的8位MCU,加上虚拟软件包,实现多任务操作系统,运行TCP/IP协议栈。

  本文提出的基于网络单片机的嵌入式远程监控系统方案,可以实现串口、CAN总线等轻量级网络和以太网的互连。该方案具有体积小,性价比高的特点。

  1 系统的组成

  基于网络单片机的嵌入式远程监控系统由主控制器、以太网接入模块、CAN网络接入模块、1-Wire网络、串口网络、存储器电路、实时时钟、电源模块和监控电路等功能模块组成。其原理框图如图1所示。

原理框图

  (1)主控制器

  采用原Dallas公司的高性能51内核的网络单片机Ds80C400,内部集成了1个10/100M以太网控制器(MAC),3个通用全双工串口,1个CAN2.0B控制器,1个1.Wire控制器。MCU内部64KB的ROM程序中包含完整的TCP/P V4/6协议栈;可访问16MB存储空间;具有专门的低位地址口;4个数据指针;有2x/4x时钟加倍器,最高工作频率可达75MHz。

  (2)以太网接入模块

  利用集成的MAC,通过物理层器件PHY和以太网相连;MAC具有标准的媒体无关接口MII。设计中PHY采用具有自动协商功能的DP83846A,外接网络变压器20F001N。在工作过程中,可以通过MII管理总线设置工作模式。PHY和以太网控制器的连接如图2所示。

PHY和以太网控制器的连接图

  MAC具有专门的接收发送缓冲区,可以通过MOVX进行访问;MAC还具有缓冲区控制单元BCU、命令/状态寄存器CSR、地址检测模块、电源管理单元等组成,主要由BCU负责以太网的收发活动,减少了CPU的参与,保证了以太网收发的效率。

  (3)CAN网络接入模块

  通过集成的CAN2.0B控制器,外接CAN收发器和CAN网络相连。设计中使用的是TI的SN65HVD230,它具有低成本、低功耗的特点。

  (4)1-Wire网络

  通过1一Wire总线控制器和1-Wire只读存储器DS2502-E48相连,给以太网控制器提供物理地址(MAC地址)。

  (5)串口网络

  通过单片机内部集成的全双工串口,可以和串口设备相连。为了和外部的RS-232电平相匹配,外接收发器MAX560CAI(也可以采用MAX232、MAX3233等),它具有4个输入、5个输出。单片机的串口0用来和开发机相连,串口2作为DTE,具有完整的流控制线,用来和串口设备相连。

  (6)电 源

  电路中各种器件的工作电压有3.3V、1.8V和5V等,采用MAX832、MAX682和MAXl792,分别提供3.3V、5V和1.8V电压。

  (7)监控电路

  选用MAX825T(门限电压3.08V)来监测主控制器的3.3V电源电压,当电压低于3.08V时,产生可靠复位。

  (8)实时时钟

  给系统提供准确的时间,便于了解系统状态,比如获取数据采集的时间等。

  (9)存储器单元

  Ds80C400具有专门的低位地址线P7口和专门的工程序存储器片选信号(CEO~CE7)和数据存储器片选信号(PCEO~PCE3),可寻址16M的程序空间和4M的数据空间。选用AM29F040B一70(Flash,2片)作为程序存储器,HM6285 12LFP-7(SRAM,2片)作为数据存储器。将SRAM和Flash分别接在面、面、面、面。内部64KB的R0M在系统启动时,对SFR进行初始化,从而SRAM、Flash分别映射到表i所示的空间。DS80C400内部和各种控制器相关的存储区及ROM的地址映射如表2。这些缓冲区在芯片内部,具有丰富的访问和操作指令,系统具有较高的集成度和吞吐量。

DS80C400内部和各种控制器相关的存储区及ROM的地址映射

2 程序设计方法

  DS80C400中集成了64KB的ROM,具有工业标准的TCP/IP v4/v6协议栈、占先式的调度程序和网络引导程序、串口引导装载程序。网络引导程序和串口引导装载程序可以装载应用程序。在应用中通过外部引脚的配置,选择内部ROM的执行流程。系统启动时,ROM对单片机的串口0进行初始化,MCU通过串口0和开发主机通信,向F1ash写入程序。

 

  网络引导程序利用内部的TCP/IP协议栈和任务调度程序,可以通过以太网进行应用程序下载,实现程序在线更新。应用程序使用Java来开发,借助Dallas公司提供的软件开发工具包TINI SDK,大部分工作在开发主机上完成;可以使用免费的Java SDK工具或集成开发环境,提高编程效率。TINI SDK将DS80C400中的硬件部分虚拟为Java的类,从而将对实际硬件的操作,转变为对对象方法的调用,使用Java不要求开发者深入了解系统的硬件构成。TINI SDK提供了Java程序的运行环境,在主机上开发Java应用程序经过转换,即可在目标系统上运行。在运行环境的支持下,可以开发功能完善的嵌入式Web服务器,从而实现设备运行状态的远程监测和控制。DS80C400中具有1KB的扩展堆栈空间,具有支持高级语言开发的物理基础。TINI SDK正是在这个基础上,提供了Java运行环境,从而可以开发多线程应用程序。以开发串口设备到以太网服务器的数据流传输程序为例,其中包含主线程和发送、接收线程。程序结构如图3和图4所示。

初始化和主线程

串口向以太网发送和接收线程

  3 结论

  该系统不仅可以拓展嵌入式设备的通信能力,将RS-232、CAN等轻量级网络和以太网相连,比如实现串口设备和以太网服务器的数据流传输,通过以太网服务器对串口设备进行监控;也可以取代原有控制设备,直接来控制现场设备,可利用该系统实现网络传感器、远程控制设备运行、远程数据采集等。系统还具有较大的扩展余地,可以根据应用需要进行扩展,如改变存储器的容量等。系统实现时,要根据具体需要选择合适容量和存取时间的存储器,采用合适的寻址模式;选取合适的接口电路并确保正确的连接和配置。另一方面,该芯片的集成功能较多,系统出现问题时,定位比较困难。但该方案不依赖PC或高档单片机,实现8位机直接接入Internet;所需外围器件少,系统成本低;开发周期较短,开发成本相对较低,具有实际应用价值。

所属分类: 上传时间:2007-05-17 13:40:00

下载:0 次 | 共享者:miracle

简介:
HT24 系列的EEPROM 是通过I2C 协议控制其读写的。HT49 系列单片机的接口部分是简单I/O口,可以用来很方便地采用I2C 协议控制周边器件。HT24 系列的EEPROM 总共8 个管脚,三个为芯片地址脚A0、A1、A2,在单片机对它进行操作时,从SDA 输入A0、A1、A2 数据和芯片外部A0、A1、A2 所接地址需一一对应。一个为芯片写保护脚WP,WP 脚接低电平时,芯片可进行读写操作;WP 脚接高时,芯片只可进行读,不可进行写。另外两个管脚为电源脚VCC,VSS。用单片机对HT24 系列的EEPROM 进行控制时,HT24 系列的EEPROM 的外部管脚VCC、VSS、WP、A0、A1、A2 根据需要,对应接上,SDA、SCL 接到单片机控制脚上。

所属分类: 上传时间:2007-06-01 15:48:00

下载:0 次 | 大小:41 k | 共享者:miracle

摘要:介绍了一种医用自动输液器的设计方案,该输液器以TI的MSO430系列单片机为控制芯片,配有显示模块、输液泵驱动模块和键控模块等。该设计方案整机结构新颖,体积小,耗电少,操作方便,使用安全可靠。

    关键词:MSP430;液晶;步进电机;输液
1 引言
对于需要自助式护理的病人来说,尤其是由于手术后、晚期癌症、分娩等原因所导致的慢性疼痛的病人,往往需要一种可以由病人自己操作、自动定时、定量向病人进行输液的智能型自动输液器,以达到治疗和镇痛的目的。为此,笔者设计了一种便携式医用自动输液器,该仪器采用电池作为供电电源,并具有功耗小、体积小、重量轻等特点,可满足便携式需要。此外,该仪器使用安全可靠、计量准确、自动化程度高,可适应现代医学发展的要求。该自动输液器的主要功能如下:
(1)可根据要求设定滴数、输液总量及药液总量等参数。
(2)随时可改变原设定参数,并可以在运行时随时暂停输液。
(3)不同的使用者可以有自己的一套运行参数,并可通过密码进入自己的设定环境。
(4)带有LCD显示,可实时察看所用药液及药液剩余量。
(5)自动检测流速,在输液异常或输液结束时,可自动停止输液并进行声光提示。
(6)药液用完自动发出换液信号,在换液期间禁止所有操作。
(7)重要的操作均由两个组合键来完成,可防止误操作,安全可靠。
(8)在第一次使用之前能够快速排空输液管中的空气。

2 硬件设计
MSP430系列单片机是TI公司近期推出的16位系列单片机。该系列是一组超低功耗的微控制器,供电电压范围为1.8~3.6V,特别适用于长期使用电池工作的场合。由于其具有16位RISC结构、16位寄存器和常数发生器,因而MSP430 系列单片机具有最大的代码效率。考虑到本设计有低功耗、小体积的要求,所以,选用了MSP430F1121型单片机芯片。该芯片特有的FLASH 存储器在系统设计、开发调试及实际应用上都表现出较明显的优点。MSP430F1121内部有一个数控振荡器(DCO)和一个晶体振荡器,带有3个捕获/比较寄存器的16位定时器TIMER-A、一个看门狗定时器 Watchdog Timer-A、一个模拟比较器 Comparator-A 和12个I/O 口(每位均有独立的中断能力,可独立控制),另外,还具有4kB+256字节的FLASH ROM和256字节的RAM存储空间,因此在整个硬件电路上无须外加程序存储器。当单片机处于闲置状态时,可以使其处于睡眠状态以降低功耗,并可通过选择4种工作模式来使其最低功耗几乎为零。其功耗低,体积小,功能强大的特点使其特别适用于便携式电池供电的仪器设计。
本输液器的电路结构原理框图如图1所示,它由电源电路、输液泵驱动、液晶显示驱动、按键控制等电路组成。
2.1 电源电路
整个电路由四节电池供电,除了可以用电池供电外,还可以通过直流输入端由小型变压器供电,以满足在室内及走动等不同场合的需要。由于TI单片机的供电电压比其它模块的要低(只有3.6V),因此可选择L31A作为MSP430F1121的稳压芯片。为保证输液正常,电源电路中还配有电池电量检测装置,以便在电池电量比较低、可能会影响到正常输液的情况下及时报警,以提醒更换电池。因此,利用单片机MSP430F1121内置比较器模块的特点,即可不用外加专门的电池检测芯片,而只需两个电阻就可以完成此功能。
2.2 键控模块
出于对医疗仪器安全可靠的考虑,为防止按键的误动带来的不安全因素,一些主要的按键操作都是用组合键的形式完成的,即只有特定的两个键被同时按下时才能生效。这样,完成所有的操作一共只需要四个键。考虑到单片机的I/O口资源比较丰富,而且每个I/O口均有独立的中断能力,因此,4个键可直接接到单片机的I/O口上,并通过中断方式由CPU来响应。由于硬件电路比较简单,与之对应的软件也大大简化。另外,为了提高整机的安全性能,该装置还配有由于异常情况造成的流速过快而产生的压力超标及药液袋的外围保护壳被打开的报警装置,报警的同时停止输液,禁止所有操作。
2.3 显示模块
液晶显示器采用的是PHILIPS公司的具有I2C总线的低功耗LCD驱动器PCF8576,该芯片有40个段输出和4个背极输出,可完成160个段的LCD显示。PCF8576的二总线I2C数据传输结构可使其与微控制器的连线减至最低,从而最大限度地减少显示系统的开销。PCF8576的使用可参看有关资料。
2.4 泵驱动模块
本系统用的输液泵驱动模块由两相4线式步进电机和泵体组成。由于输液要求计量准确、可靠,因而选用步进电机作为动力装置。步进电机是一种可以把脉冲激励的变化转换成精确转子位置增量运动的执行机构,它可将脉冲信号变成电机相应角位移的机械量,从而通过控制脉冲的个数来控制电机转动的时间,并通过改变脉冲的频率控制电机运转的速度。由电机驱动泵体的凸轮机构循环压缩胶管,从而实现输液功能。为了让输液泵安全、可靠地工作,并且从简化硬件电路的角度出发,步进电机的运行并不是由单片机来驱动达林顿管直接控制的,而是通过两根控制线对步进电机的驱动模块进行间接控制,并分别实现启动与控制。这里的步进电机驱动芯片选用的是MOO8335。启动信号用于启动步进电机,而运转时间和停止时间则由控制信号控制。本仪器输液的速度是通过步进电机停、转时间的不同来控制的,因为步进电机在整个运行期间,其转速可以保持恒定。

3 软件设计
MSP430的内核结构采用具有高透明格式的精简指令集(RISC)设计。指令分为硬件实现的内核指令和利用这一硬件结构的具有更高效率的模拟指令,使用起来非常方便。在本系统中,单片机完成初始化任务(设置标志位,设置定时器,比较器,看门狗的工作方式)后,就进入低功耗睡眠状态,任一中断均可将其唤醒,转而执行相应的子程序。单片机的大多数操作都采用中断方式。整个程序流程如图2所示。

4 结束语
在设计便携式医用自动输液器时,由于选用了超低功耗的MSP430单片机作为控制芯片而且其它的外围芯片功耗也很低,同时在软件设计中也充分采用了MSP430的多种节能工作方式,从而使得整机在工作中的功耗很小,可完全满足电池供电的要求。此外,由于MSP430单片机功能强大,外围芯片数目少,而且所有的元器件均选择贴片式,从而大大地减小了仪器的体积。该设计通过单片机驱动步进电机控制药液的输出速度,这使得注射速度更加均匀、输液精度更高,定时、定量准确、自动化程度也更高,因此可以达到在医院及家庭临床上使用的要求。目前该智能输液器已在临床上得到了应用。
 

所属分类: 上传时间:2007-06-12 15:00:00

下载:0 次 | 共享者:miracle

1概述

  在地铁工程建设中,工程用内燃机车(简称工程车)起到了非常重要的作用。尤其在地铁建设初期,由于需要运送大量的建筑材料,而初期的运输条件又比较简陋,因而工程车成为主要的运输工具。在地铁建成后的运营中,工程车同样可以担负车辆段内的调车和运送大型工程材料下隧道等任务。由于地铁对工程车的使用量非常大,工程车司机的劳动强度自然也是很大的。所以,如何应用自动化技术改进车辆的性能,减轻司机的劳动强度是地铁运营中一个必须考虑的问题。

  本文介绍的这套机车自动换档系统能够自动检测机车的实时运行速度,并把得出的机车速度信号和柴油机的转速进行比较,再由单片机根据比较出来的结果输出控制指令,以控制相应的执行组件进行自动换档。此外单片机还可根据现时机车运行的档位输出指令来控制相应的LED以显示机车的运行状态。借助这套系统既可以减少司机经常换档的劳动强度,又可以使机车大部分时间运行在比较合理的档位,这对节省油料和保护环境都有比较好的效果。

  该机车自动换档系统的硬件部分由前端输入电路、单片机电路和输出放大电路组成。其中前端放大电路的功能是把机车的速度和柴油机的转速两个速度参数信号转换成电

信号并进行比较,然后把结果输入到单片机电路。单片机电路的作用是根据比较的结果输出正确的控制指令来使执行元件动作换档,同时显示现时机车的运行状态。输出放大电路的作用是把单片机电路输出的控制信号进行功率放大,以使其能够驱动换档执行组件。

2前端输入电路

  前端输入电路主要由速度传感器、脉冲整形电路、频率电压转换电路、电压放大电路、施密特电压比较电路组成。其电路框图如图1所示。

2.1前端输入电路的构成

  本自动换档系统共有两个速度参数值需要测量,分别是机车速度和柴油机转速,图1是前端输入电路中机车速度的输入部分,柴油机转速与机车速度的输入电路相同。

  在图1中,机车的速度首先由拉霍尔速度传感器进行检测,这种传感器的特点是工作稳定,频率较高,比较适合铁道车辆使用。拉霍尔传感器输出的是一个脉冲信号,这个信号的频率与机车的速度成正比。为了提高电路的可靠性,传感器输出的脉冲需要经过一个脉冲整形电路。脉冲整形电路以集成块8751为核心组成。 8751是一个开关管集成电路,当输入为高电平时,输出也为高电平,反之,输出为低电平。由于8751内部有自己的功率放大和稳压电路,并可自己修整输入脉冲波形中的丢失和缺陷,所以在8751输出端就可以得到一个很稳定的、波形完整的脉冲方波频率信号。为了把机车速度和柴油机的转速作比较,必须把两者的频率信号转换成电压信号。所以频率信号应再输入到频率电压转换电路,该电路以LM331集成电路为核心,其输出的电压值为6~8V,且输出电压与脉冲信号的频率成正比。由于所转换后的电压信号是由最初的传感器输出的脉冲经过一系列的处理得出来的,因此这个信号代表了相应的机车速度或柴油机转速。这样,把这两个电压进行比较就可得出机车和柴油机的速度关系。但在比较之前,为了提高比较的精度,还需要把电压信号输入一个电压放大电路,从而产生一个输出电阻比较大的电压值以提高电路的稳定性。

机车换档前端输入电路

2.2施密特电压比较电路

  通过比较机车速度和柴油机转速可以确定机车是否需要进行换档,当机车的速度低于柴油机的速度时,机车运行在1档,当机车速度大于柴油机速度时,机车换档到2档。比较代表两个速度的电压是由施密特电压比较电路完成的,它不但可以比较两个电压信号,还可以在2档到1档的转换时产生一个施密特回滞。

  图2所示是将机车速度和柴油机速度电压信号转换成换档信号的具体电路。图中,Ua和Ub分别是代表机车速度和柴油机速度的电压信号。两个运算放大器 F1和F2都接成电压比较器的形式。两个输出端分别输入一单稳态触发器的S和R端,单稳态触发器的输出经过一个光电隔离器件的处理即可变成换档信号。在图 2中,F1的两个输入电压和F2的反相端输入电压都直接接Ua或Ub。而F2同相输入端则由R1和R2对Ub分压后输入,由于R1为560Ω,而R2为 10kΩ,实际的输入电压为0.95Ub。通常机车的初始档位都是1档,随着机车速度逐渐增加,当其速度大于柴油机转速(即Ua>Ub)时,F1输出高电平并加入到单稳态触发器的S端,对于F2,由U2=0.95Ub,可得Ua>U2,所以F2输出低电平到单稳触发器的R端。这样,触发器将输出高电平,以控制电路输出换2档信号,从而使后面的单片机电路进行换档。当机车速度下降到小于柴油机转速时,即Ua<Ub,但Ua>0.95Ub时,F1输出低电平,但由于此时F2的同相输入端U2=0. 95Ub,F2的输出端仍然为低电平,这样,由于单稳触发器的S和R端都输入低电平,所以它的输出端仍维持原来的状态而不输出换档信号。当Ua<0. 95Ub时,F2的输出端转换为高电平,此时单稳触发器的输入端S端为低电平而R端为高电平,从而使触发器的输出为低电平,以为机车提供从2档到1档的换档信号。由上面所述的电路工作过程可以看出:从1档到2档时,机车一旦速度到达换档点,则马上换档的,而从2档到1档时,是机车到达换档点速度的95%时才进行换档。这个延迟时间可以避免机车可能由于振动或其他因素引起的频繁换档及不稳定。

将机车速度和柴油机速度电压信号转换成换档信号的具体电路
3单片机电路

  施密特电压比较器输出的是通过前端输入电路处理后的换档信号,而其后的单片机电路的作用是根据换档信号结合机车的其它参数来决定机车是否进行换档。

3.1单片机电路的构成

  单片机电路由80C31芯片、6264组成的只读存储器ROM、由74HC373驱动的LED显示灯(机车状态指示电路)和基于8155的输入输出电路组成。由于完整的单片机电路比较复杂,所以只给出了参与自动换档控制的部分,其电路连接如图3所示。

  该电路工作时,机车换档信号经过一个光电耦合器4N26输入到单片机P1口的P1.5脚,使用光电耦合器的目的是避免从电源传过来的干扰信号。由集成块74HC373驱动的8个LED,可显示机车所处的档

位以及正在运行的程序段,从而使驾驶员和技术维修人员了解机车的状态。 8155的作用是输出控制换档阀工作信号,该信号在经过输出放大芯片的功率放大后可直接驱动换档执行元件以实现自动换档。单片机的P2.5~P2.7三个引脚信号经过74HC138译码后,可分别作为只读存储器、8155输入输出芯片以及74HC373的片选信号,这三个引脚构成了访问这三个器件时的高三位地址。

3.2软件设计

  在接收到换档信号后,根据程序指令,单片机将结合其它几个机车参数来决定是否进行换档,这些参数包括换档允许信号是否有效、是否有参数超过机车报警值等。如果没有问题,机车将进行换档。

  图4所示是该机车换档系统的软件流程图。其软件初始化程序如下:

程序

  START:mov A,#03H设置状态字,使8155的

单片机控制电路

软件流程图

4输出放大电路

  输出放大电路主要由一些功率放大开关管组成,可用于完成对单片机输出信号的进一步放大,以直接驱动换档的电磁阀等执行元件。该电路比较简单,这里不再详述。

所属分类: 上传时间:2007-06-18 17:24:00

下载:0 次 | 共享者:miracle

   引言

        家用心电血压监测系统由采集记录设备和上位机电子病历管理系统组成,因此,需要解决数据传输方式问题。传统的通信接口采用简单的RS-232串行 UART ,这种方式速度慢且适用性差,而USB转串口芯片的传输性能不能得到根本改善。USB总线接口则具有速度快、易于扩展、支持热插拔、使用灵活方便等优势,尤其适用于家用设备与计算机的通信连接。

        本文重点讨论USB通信协议及其接口芯片的控制方法,针对临床需求,设计实现了具有心电、血压智能监测和USB高速数据传输功能的小型化设 备,提供心电、血压数据电子病历查询、打印和网络传输等功能,对于提高家庭健康保健水平具有很重要的意义。

         监测仪的USB接口电路设计

  系统主控制芯片采用32位高性能嵌入式ARM微处理器S3C44B0X,USB专用控制芯片选用USBN9603。 USBN9603内置7个FIFO端口,包括1个双向的控制端口,3个发送端口和3个接收端口,各有64字节。  

  USB控制器与S3C44B0X的接口电路如图1所示。将USB控制器设计为Bank2,即将nGCS2存储体选择线作为USBN9603的片选线,则该芯片的片选地址为0x4000000。本文采用并行数据接口,两个芯片的低8位数据线D0~D7相连接,并行传输通信数据。将MODE0和MODE1引脚都接地,配置USBN9603为非复用方式,由于此工作模式需要地址线A0作为存取USBN9603片内寄存器 DATA_IN、DATA_OUT和ADDR寄存器的选择线,需连接32位地址总线中的A18到USB控制器的A0。

        对USBN9603进行读写操作时,分为两个总线周期:首先,将地址线A0置高,即设置总线地址为0x4040000,将待访问寄存器的地址从数据线D[0:7]写入,这样,就在第一个总线周期将地址送到芯片;然后,在第二个周期,将A0置低,即设置总线地址为0x4000000,读写D[0:7]即可实现对寄存器的读写操作。整个USB通信过程主要是处理包括接收、发送数据等各种中断事件,将USBN9603的INT引脚连接到S3C44B0X的外部中断EINT0引脚,设置USB中断为向量中断请求模式。由于未使用DMA方式,需将DACK置高,DMA请求线DRQ悬空。USB电缆有4条导线,D+和D-是USB差分信号线,另外两个分别是5V电源线和地线。USBN9603支持低速和全速的USB通信,在D+信号线上连接1.5KΩ上拉电阻,使其工作在全速模式。

图 1 系统扩展存储器和USB接口原理图

  监测仪的USB接口固件实现
    
  USB通信过程的操作是从主机开始的,按照约定的时序先发出一个令牌包,包含 操作类型、方向、外设地址及端点号等信息,然后在令牌中指定数据发送者发出一个数据包或者指出没有数据传输。而USB外设要以一个确认包作出响应,表示传输成功。

  本文采用主从式USB通信结构,上位机通过发送各种事先约定好的协议命令,来实现对心电、血压数据的采集及对系统设备的初始化设置,主要包括以下几种数据:心电数据以段为单位,每段包括 32KB心电数据及6B的采集时间信息,每次传输若干段,数据量大,对传输可靠性要求也高;血压数据包括舒张压和收缩压及其采集时间,共10B,由于血压监测比较频繁,每次会传输一段时间内的血压监测数据,数据量也比较大;下载升级版的固件等文件信息 。这3种数据的数据流量都比较大,而且可靠性要求都较高,3种数据均选用块传输通道类型,另外,每个USB传输都必有控制传输通道。因此,需要使用3个通道,即控制通道、BulkIN通道和BulkOUT通道。

  USB固件数据结构  
    
        本文涉及USB设备配置枚举阶段上位机在控制传输中要求设备传输的4类描述 符,按照层次依次为:设备描述符、配置描述符、接口描述符和端点描述符,其中,较高阶描述符会通知主机任何其它低阶的描述符信息。

        设备描述符是在设备连接时主机第一个读取的描述符,每个设备只能有一个设备描述符,包含整个设备的信息以及设备支持的配置号码,共18个字段。每个USB设备有一个或多个配置描述符,包含设备的电源管理以及设备配置所支持的接口号码,当设备收到获取配置描述符的要求后,传送该配置描述符及其所有接口、端点和其它附属描述符给主机,本文设置一个配置,其描述符共8个字段。接口包含一组端点,本文设置一个接口,其描述符有9个字段,为上位机提供了设备使用端点的数目及其类型等信息。每个接口描述符有零个或多个端点描述符,包含主机与端点通信所需的信息,端点0作为控制端点来通信,端点1和端点2分别为块传输模式,其描述符包含了端点号、传输方向、端点传输类型、数据包最大传输字节等信息。

  USB固件通信流程

  USB固件框架流程如图2所示,在进入通信模块后,固件首先调用初始化例程,配置USB接口设备,并使其进入操作状态,然后启用中断,USB通信的主要功能是在中断服务中实现的,主程序只是在循环等待是否有退出的按键,当检测到中断信号时,就会进入中断服务子程序,根据寄存器MAEV的值,判断中断类型,并进入相应的处理过程。


图2 USB固件框架

  设备的USB通信主要实现心电和血压数据的Bulk传输功能。在USB总线收发数据的通信协议基础上,监测仪还有特定的应用层通信协议。固件接收到用户通信命令后,解析控制命令并执行相应的例程。如传输心电和血压数据命令0x10,固件接收0x10命令码后,从命令参数中获取待传输数据长度、心电或血压的选择传输标志及其记录号等信息,根据记录号调用GetRecordData(),从Flash存储区中查找数据并存入BulkState的发送缓冲区,如果传输心电数据则还需通过Gettime()获得该段心电数据的采集时间。所有待发送数据准备就绪后开始传输,由于Bulk传输的最大缓冲区为64B,首先发送64B数据,然后在TX_EV例程中判断上位机是否接收成功,若成功则传输下一批块输入事务,否则需要重发,循环重复上述过程直到数据发送完毕。

  USB固件各模块例程

  初始化 
    
  USB接口的初始化例程,包括USBN9603芯片的初始化操作和用户变量的 初始化,之后开始设备枚举操作。在初始化阶段,固件需要严格按照顺序对USBN9603的寄存器进行操作。

  USB设备枚举过程 
    
  将系统的USB连接线接入一个USB连接端口(集线器或主机根集线器),设备处于开机状态;在USB的D+和D-数据线和所接入的集线器端口或主机的根集线器之间有两个15KΩ的上拉电阻。此时,上拉电阻会使数据信号线上的电平上升,通知集线器有新设备接入;然后,集线器使用中断通道,报告给主机所发生的事件,确实有新设备接入时,主机向连接设备的集线器发送 Set_Port_Feature要求,使集线器向端口发送USB硬件复位命令并持续10ms,然后识别设备的速度。此时,设备已经完成了初始化操作,在主机证明设备已经离开重置状态时,开始在端点0的默认通道上进行USB控制传输,进入枚举阶段。

  块传输标准例程
    
  固件的发送例程通过端点1实现到主机的块传输功能,其流程如图3所示。以上传 心电数据为例,固件通过端点0接收主机的上传心电数据要求后,将待传送的数据存入writePtr缓冲区,同时,把待传输的数据、大小等信息存入 bulkState。

图3 块传输发送模块例程 

  固件的接收例程通过端点2从主机接收数据,主机先发送一个OUT信令到端点 2,SIE从收发器自动接收数据并存储到FIFO2,FIFO2会自动更新接收控制寄存器RXC的状态,数据接收的硬件操作完成后,USBN9603会把一个接收中断传送到S3C44B0X处理器,固件执行接收中断服务例程。

  USB通信协议的主机端实现
    
  WDM驱动程序包括设备功能驱动程序和总线驱动程序。其中,总线驱动程序由 Windows提供,本文主机端软件包括以下3个层次:用户模式下的应用程序、实现USB通信的Win32API动态连接库以及核心模式下的WDM设备功能驱动程序。动态连接库封装了访问核心模式驱动程序的函数,并为用户应用程序提供了访问接口,用户应用程序只需调用即可实现特定数据的传输,而主机端软件设计的核心就是如何开发WDM设备功能驱动程序。

  在Windows2000 平台安装Windows2000 DDK,使用Visual C++6.0作为开发工具,同时借助DriverWorks工具包和内核代码调试工具模块SoftICE,以及USB总线监测工具Bus Hound进行WDM驱动程序的开发。

  根据DriverWizard向导提示,选择设备类型为USB ;选择I/O请求包IRP的处理方式为IRP排队方式;创建设备接口为128位的全局唯一标识符(GUID)标识,使得在使用CreateFile()函数打开设备时, WDM能通过GUID识别和访问设备的驱动程序;配置控制、BulkIN和BulkOUT这3个端点分别传输命令和数据。配置3个IOCTL控制命令: MYUSB_IOCTL_ COMMAND是主机发送通信命令的控制命令,其IoctlCode为0x812; MYUSB_IOCTL_ BULK_READ和MYUSB_IOCTL_BULK_ WRITE分别发送Bulk数据传输的读写命令,其IoctlCode分别为0x814和0x815。所有设置完成后,生成.inf安装信息文件。在这些框架下,根据应用需求,即可编写与设备固件通信的主机设备驱动程序。

  当主机要求以 Bulk方式读写并传送心电或血压数据时,会给出IOCTL_CODE为MYUSB_IOCTL_ BULK_READ的 IOCTL IRP,处理例程为BulkReadWrite()。通过传递不同参数分别实现BULK方式的数据读写功能,首先需要从应用程序获得IRP传递的通道号、输入/输出缓冲区及其大小等参数,调用FindPipe()得到IRP要求的通道实例,在该通道上构造URB、调用SubmitUrb()发送URB,实现与底层USB类驱动程序的通信,完成Bulk数据传输功能。

  结语
    
  本文充分利用USB传输速度快、准确性好、使用方便等特点,将USB接口应用 于家用心电、血压监测仪,完成ARM内核MCU与USB控制芯片接口的软硬件设计,通过心电图的传输实验,表明该系统具有高可靠性和准确性。

  参考文献:
  1 萧世文.USB2.0硬件设计.清华大学出版社,2002:67~105
  2 王文艺.高速串行总线在DSP数据采集系统中的应用与研究.浙江大学硕士论文.2002:9~21
  3National Company. USBN9603(Universal Serial Bus) Full Speed Function Controller.National Semiconductors
  4 武安河,周莉莉.Windows设备驱动程序(VxD与WDM)开发实务.电子工业出版社,2001:120~177

所属分类: 上传时间:2007-09-28 11:11:00

下载:0 次 | 共享者:miracle

 引言

  速度是工业生产中的主要被控参数之一,与之相关的各种速度控制系统已被广泛应用于冶金、化工、机械、食品等领域。本文介绍的主动放线机速度自动控制系统适用于微细金属线的恒张力主动放线,可广泛用于拉丝机、绕线机的前端放线,并可在放线过程中保持金属线的张力恒定。适用的线材有金、银、铜、铝等,放线速度为0~700 rpm,线径可达φ0.05 mm,张力控制可通过摆臂一边悬挂的砝码来手动调整。

  整个系统选用六线式单极性步进电机为执行部件,具有低成本和控制方法简单的优点,核心控制芯片选用美国Microchip公司的PIC单片机PIC18F66J10,该芯片具有实用可靠、代码保密性好、片内集成有模拟、数字功能部件等优点。而系统选用美国Allegro Microsystems公司的单极性步进电机专用驱动芯片SLA7026则集驱动和保护于一体。因此,该放线机系统结构简单、价格低廉、工作稳定可靠。

  1 系统结构及工作原理

  1.1 系统总体结构

  该放线机速度控制系统主要由主控芯片PIC18F66J10、驱动芯片SLA7026步进电机驱动器、单极性步进电机、反馈指示装置、环形电位计和相应机械装置构成。其结构组成框图如图1所示。

结构组成框图

  1.2 系统工作原理

  当绕线机的线速度大于放线机的线速度时,摆臂上的滑轮会向上移动,此时如将环形电位器反馈回的电压信号送到单片机PIC18F66J10的模拟输人口进行AD转化以得到数字量大于程序设定的数字值,然后经过PI算法运算后,就可使控制器输出的四路脉冲频率增加。频率增加后的脉冲信号经驱动器隔离放大后,最后送给步进电机,使电机速度增加,从而使摆臂回到水平位置。反之,当绕线机的线速度小于放线机的线速度时,摆臂上的滑轮会向下移动,这样,通过 PI调节,同样可以使摆臂最终回到水平位置。因此,通过摆臂位置反馈来自动控制放线速度,使放线机速度与绕线机速度保持同步,便可构成一个闭环数控系统。其数字PI控制系统框图如图2所示。图中,P为比例系数,它所构成的控制器比例环节的作用是对偏差瞬间做出快速反应。I是积分系数,它所构成的积分环节的作用是把偏差的积累作为输出。TS为采样时间,它决定单片机每隔多长时间将实时位置反馈量与程序设定目标量的差值带入PI算法公式。

数字PI控制系统框图

  2 硬件设计

  2.1 步进电机控制器

  本系统中的步进电机控制器主要由单片机PIC18F66J10、反馈信号调理电路、光电隔离电路等组成。

  (1) 单片机PIC18F66J10

  单片机PIC18F66J10是Microchip公司推出的一款8位高档Flash型单片机。具有如下特点:

  ◇采用纳瓦技术,具有多种运行模式,可显著降低功耗;

  ◇片内具有64 KB的Flash程序存储器和2048字节的SRAM数据存储器;

  ◇内部锁相环(PLL)倍频器在外部振荡器模式下使用时,其允许时钟速度高达40 MHz,从而可使执行速度达到10 MIPS;

  ◇包含2个独立增强型USART异步串口以及2个主控SSP同步串行端口模块,同时具备SPI和I2C (主控和从动)两种工作模式;

  ◇具有2个捕捉/比较/PWM (CCP)模块和3个增强型CCP模块,具有控制的最大灵活性;

  ◇有11个通道10位A/D转换器。该模块包含有可编程采集时间,因此不必等待一个采样周期就可选择通道并启动转换,从而减少代码开销。

  实际上,设计时可选用11 MHz晶振,并通过使用片内4倍频锁相环使系统时钟频率达到40MHz。也可用单片机驱动能力较强的PORTC口的RC0、RC1、RC2、RC3这四个管脚来输出具有时序的方波,以作为控制步进电机转速的控制信号。由于单片机内部集成有11通道10位高速A/D转换器,因此,选用模拟通道AN0作为 A/D转换的模拟电压输入。A/D转换的参考电压使用芯片自带的正电源电压和负电源电压(AVDD和AVSS)。

 
  (2) 反馈信号调理电路

  由于从环形电位器反馈回的电压信号范围是0~10 V,此电压超过了A/D转换器的输入要求,所以要经过精密电阻分压、电容滤波、集成运放构成的电压跟随器跟随,再送到单片机的模拟通道输入口。本设计选用 1MΩ和330 kΩ的电阻来进行分压,以使进行A/D转换的电压信号变化范围保持在0~2.5 V。其中集成运放选用低功耗、单电源5 V供电的轨至轨输入输出通用运算放大器MAX492。

  (3) 光电隔离电路

  选用高速光电耦合器6N137组成的光电隔离电路将步进电机控制器与驱动器隔离开来,可消除电机电感性绕组的串扰,从而使驱动电路的变化不至于影响或者损坏控制电路部分,这样可提高系统的可靠性,增强其抗干扰能力。

         2.2 步进电机驱动器SLA7026

        步进电机按照电机驱动架构可分为单极性和双极性步进电机。本设计选用的单极性步进电机包含两组带有中间抽头的线圈,整个电机共有六条线与外界连接。

  图3所示是一种单极性步进电机驱动电路。它使用四个功率MOSFET来驱动步进电机的两组相位。两相绕组的公共端接到电源VSUPPLY,电机绕组的自由端接各自功率MOSFET的漏极,MOSFET的栅极驱动信号来自经过光电隔离的单片机的控制信号。

一种单极性步进电机驱动电路

  本设计选用Allegro Microsystems公司的大电流PWM单极性步进电机驱动芯片SLA7026。该芯片集成了低功率CMOS逻辑电路和高电压大电流的电力 MOSFET输出,可利用采样电阻检测电流,并用脉宽调制(PWM)控制输出相电流,其内部钳位和续流二极管可提供对感性负载暂态过程的保护,十分适用于半步/整步单极性驱动模式。该器件的工作电压最大可达46 V,电流可达3A。

       由SLA7026构成的步进电机驱动电路如图4所示。该电路的供电电压是24 V,INA、INA、INB、INB是单片机经光电隔离送过来的控制信号,可用来控制驱动芯片内部NMOS管的快速导通与截至,从而变换给电机绕组通电以驱使步进电机转动。OUTA、OUTA、OUTB、OUTB驱动芯片的输出端接步进电机两相绕组的自由端。Rsa、Rsb分别接采样功率电阻0.33Ω以检测电流大小。REFa、REFb是参考电压输入端,主要用来设置输出电流大小。TDa、TDb是OFF时间端。SLA7026驱动芯片内部的PWM电流控制原理为:先使能输出,以使电流流经步进电机绕组和采样电阻,当电流采样电阻上的电压等于参考电压时,电流传感比较器将PWM锁存器复位,此后,驱动芯片关闭一段时间(OFF时间)。在这段时间里,由于负载电感作用会引起续流,并使电流衰减。然后,驱动芯片将重新被使能,这样周期性地重复,就可达到限流的目的。驱动芯片中一相绕组中的电流计算公式为:

公式

  若R9取200Ω,R15取0.33Ω,R17选1 kΩ的电位器,那么,实际工作时,通过调节电位器阻值就可使输出电流稳定为3 A。

由SLA7026构成的步进电机驱动电路

  2.3 电源设计

  由于本放线机使用的是市电220 V,所以,本设计选用台湾明纬的AC/DC开关电源将交流220 V变成直流24 V,然后再经过PWM控制器NCP1200构成的反激式开关电源将该24 V变成直流5 V,再经过LDO稳压芯片AS1117-3.3V变换并稳压至3.3 V给单片机供电。另外,该24 V还要经过三端可调稳压块LM317变成5 V以给SLA7026提供辅助电源。

  3 软件设计

  本系统软件由主程序、A/D转换子程序、PI控制算法子程序和脉冲信号产生子程序等部分组成。主程序主要完成数控系统各子程序的上电初始化,以及实际控制过程中各个功能模块的协调。A/D转换子程序用于完成摆臂位置的采样转换,实际编程时,为了降低采样过程的瞬态误差干扰,本设计运用了算术均值滤波的方法,即最终参与控制运算的位置反馈值是通过多次采样的反馈值求算术平均取得的。PI控制算法子程序是软件设计的重点,调试时要根据放线机的运行状况,反复调整P系数KP、I系数Ki、采样时间Ts和设定值SetValue,以求达到最好的运行效果。脉冲信号产生程序设计应根据步进电机驱动波形的时序关系来不断循环延时,并通过给单片机口线置高、低电平来实现。其中精确定时是使用CCP(捕捉/比较/PWM)模块来完成的。设计中让CCP2工作在比较模式,并选用16位定时器T1作时基,在每个定时器时钟周期到来时使T1数据寄存器中的值从0不断加1,当与16位比较寄存器CCPR2里的设定值匹配时,系统将产生软件中断,然后在中断服务程序中将RC0、RC1、RC2、RC3置高、低电平。图5所示是系统的主程序流程图,而其PI控制算法子程序流程图则如图6所示。

系统的主程序流程图

PI控制算法子程序流程图

        4 结束语

  本文分析了主动放线机的软硬件实现方法,该方法通过选用动态响应快,易于启停及变速的步进电机作为执行元件,抗干扰性较强的PIC单片机PIC18F66J10作为主控芯片和集成PWM驱动芯片SLA7026作为步进电机驱动器来简化硬件电路设计,从而提高了系统工作的稳定性和可靠性。同时使用PI控制算法使放线速度不断跟随绕线速度的变化,近而达到放线速度自动控制目的。实验证明,该系统能达到相关技术指标,可在使用中取得良好的效果。

 

所属分类: 上传时间:2007-09-28 11:27:00

下载:0 次 | 共享者:miracle

1     引言

       目前,市场上的电饭煲大部分采用机械式或者是采用固定功率的方式加热,能源利用率低,功能单一,难以满足人们日益增长的生活需求。因此,开发功能齐全,安全可靠的微电脑电饭煲是非常用必要的。电饭煲从机械式原理到现在的智能电饭煲,期间经历了许多的阶段。电饭煲发挥高新技术优势,以美味炊煮为主导,使产品更加丰富与时尚化,现已形成微电脑、电脑与机械三大类型、十大不同款式。机械电饭煲虽然价格方面体现它的优势之外,其他方面就很难满足人们对现代生活高品质的需求。微电脑或电脑控制的智能电饭煲符合现代人的要求,人性化的界面设计,使得人们一眼看出当前工作状态,让您更安心,各种烹调过程全部由电脑自动控制,并且大多的智能电饭煲采用太空“黑晶”内胆,超硬耐磨,恒久美观,所有的这些特点符合现代人的省时、省力、耐用的观念。

       本文主要介绍利用SPMC65P2404A芯片来对电饭煲的过程进行控制,SPMC65P2404A是凌阳公司的8位元单片机,最高工作频率为8MHz,工作电压2.5V~5V,有192字节的RAM和4K字节的OTP ROM,有23个可编程IO口,8通道10位A/D转换器,2通道8位定时/计数器,2通道16位定时/计数器,1个12位PWM输出口,有低电压、上电、看门狗、外部信号、错误地址复位,并且有一个蜂鸣器输出口。

       2     总体方案介绍

       利用凌阳8位MCU设计的智能电饭煲控制系统原理框图如图2-1所示,通过按键来选择功能模式、显示电路完成显示当前状态和定时时间;通过温度传感器来对温度进行采样;通过MCU的控制最终实现对继电器的控制,从而来控制对加热盘的加热与否,电源部分完成对单片机系统和外围电路提供5V电源,并且对加热盘进行加热。

 

  

                                                            图2-1  控制系统构成框图

       3     系统硬件设计 

       1、由单片机SPMC65P2404A控制的电饭煲的硬件原理图如图3-1所示,它包括按键输入部分,温度检测输入电路,复位和晶振电路,PA6、PA7完成对顶盖和底盘的温度的检测,PA5完成对继电器的控制,SPMC65P2404A是系统的核心部分。

 

                                                             图3-1 电饭煲的电路原理图

       芯片特性简介

       SPMC65P2404A是凌阳公司的8位元单片机,最高工作频率为8MHz,工作电压2.5V~5V,有192字节的RAM和4K字节的OTP ROM,有23个可编程IO口,8通道10位A/D转换器,2通道8位定时/计数器,2通道16位定时/计数器,1个12位PWM输出口,有低电压、上电、看门狗、外部信号、错误地址复位,并且有一个蜂鸣器输出口……。利用这些资源,能够实现电饭煲的功能。

       2、显示电路:

       显示电路由共阳极数码管和10个LED组成,通过单片机位选和所送的数据来点亮相应的LED和数码管的显示状态。其电路原理图如图3-2所示: 
1     引言

       目前,市场上的电饭煲大部分采用机械式或者是采用固定功率的方式加热,能源利用率低,功能单一,难以满足人们日益增长的生活需求。因此,开发功能齐全,安全可靠的微电脑电饭煲是非常用必要的。电饭煲从机械式原理到现在的智能电饭煲,期间经历了许多的阶段。电饭煲发挥高新技术优势,以美味炊煮为主导,使产品更加丰富与时尚化,现已形成微电脑、电脑与机械三大类型、十大不同款式。机械电饭煲虽然价格方面体现它的优势之外,其他方面就很难满足人们对现代生活高品质的需求。微电脑或电脑控制的智能电饭煲符合现代人的要求,人性化的界面设计,使得人们一眼看出当前工作状态,让您更安心,各种烹调过程全部由电脑自动控制,并且大多的智能电饭煲采用太空“黑晶”内胆,超硬耐磨,恒久美观,所有的这些特点符合现代人的省时、省力、耐用的观念。

       本文主要介绍利用SPMC65P2404A芯片来对电饭煲的过程进行控制,SPMC65P2404A是凌阳公司的8位元单片机,最高工作频率为8MHz,工作电压2.5V~5V,有192字节的RAM和4K字节的OTP ROM,有23个可编程IO口,8通道10位A/D转换器,2通道8位定时/计数器,2通道16位定时/计数器,1个12位PWM输出口,有低电压、上电、看门狗、外部信号、错误地址复位,并且有一个蜂鸣器输出口。

       2     总体方案介绍

       利用凌阳8位MCU设计的智能电饭煲控制系统原理框图如图2-1所示,通过按键来选择功能模式、显示电路完成显示当前状态和定时时间;通过温度传感器来对温度进行采样;通过MCU的控制最终实现对继电器的控制,从而来控制对加热盘的加热与否,电源部分完成对单片机系统和外围电路提供5V电源,并且对加热盘进行加热。

 

  

                                                            图2-1  控制系统构成框图

       3     系统硬件设计 

       1、由单片机SPMC65P2404A控制的电饭煲的硬件原理图如图3-1所示,它包括按键输入部分,温度检测输入电路,复位和晶振电路,PA6、PA7完成对顶盖和底盘的温度的检测,PA5完成对继电器的控制,SPMC65P2404A是系统的核心部分。

 

                                                             图3-1 电饭煲的电路原理图

       芯片特性简介

       SPMC65P2404A是凌阳公司的8位元单片机,最高工作频率为8MHz,工作电压2.5V~5V,有192字节的RAM和4K字节的OTP ROM,有23个可编程IO口,8通道10位A/D转换器,2通道8位定时/计数器,2通道16位定时/计数器,1个12位PWM输出口,有低电压、上电、看门狗、外部信号、错误地址复位,并且有一个蜂鸣器输出口……。利用这些资源,能够实现电饭煲的功能。

       2、显示电路:

       显示电路由共阳极数码管和10个LED组成,通过单片机位选和所送的数据来点亮相应的LED和数码管的显示状态。其电路原理图如图3-2所示: 
 

                                                                               图3-2  显示电路

       3、电源电路:

      
电源部分为单片机提供+5V的直流稳压源,并且通过降压、整流、滤波之后的+14V电压对继电器进行供电,通过控制三极管射极的导通与否来控制继电器的工作状态。电源电路原理图如图3-3所示

 

                                                                         图3-3  电源电路

       4、温度采集部分电路图:

       J2和J3是温度传感器的两个接口,其中J2和J3分别是顶盖和底盘温度传感器的接口,单片机检测的信号实际上是与温度传感器分压的电阻的电压值,因为温度传感器的电阻值会随温度的上升而减小,所以分压电阻的电压值间接反映了某一时刻的温度,电路原理图如图3-4所示: 

                                                          图3-4  温度传感器电路

       4     系统软件设计

       4.1 主程序流程

       从样机分析中大致设计整个系统,整个系统输入包括2个温度传感器,5个按键;输出包括2位七段数码管、10个发光二极管、继电器控制信号等。根据控制功能,将程序设计为几个主要的模块,程序主流程见图4-1所示:
 4-1 程序主流程图

 


       4.2   子程序介绍

       1、   诊断子程序

       诊断程序主要进行温度采集并判断传感器是否良好,主要对2个温度传感器连续检测20次,若测到的数据不在范围内(温度范围:-10℃~160℃),则表明传感器短路或断路错误,数码显示“E”,并禁止按键操作。

       2、   键盘扫描子程序

      
程序每循环一次扫描一次键盘,如果扫描到有键按下,则暂存键值,如果连续5次扫描到的键值都一样,则认为是稳定的键值。

       3、   系统共有5个按键,在不同的状态下,每个键只要轻按一次就有效。系统的五个键接于PA1 、PA3、PA2 、PA0、PA4,如果按键值有效则返回值的相应位为0,否则相应位为1。

       4、   温度采集子程序

      
热敏电阻灵敏度高,为了防止干扰及其它原因导致测出的温度值变化太快,引起控制部件频繁动作,温度采集采用滑动平均值滤波方法。即在同一个通道上连续采集三个数据,取其中的中间值。

       5、   显示子程序

      
系统共有2位七段数码管显示及10个发光二极管显示。数码管主要有6种状态需要显示:待机状态、出错显示、焖饭、保温、煮饭中及定时时间显示。发光二极管显示所选择的功能、开始及保温状态。功能显示需采用轮循方式,在按下开始键之前,开始灯闪烁。进入保温状态后,保温指示灯亮。LED显示程序由位码扫描子程序及数码显示状态选定子程序组成。


5     参考文献
[1] 肖健华,经顺林.模糊控制在家电产品中的应用与展望.五邑大学学报(自然科学版),2001
[2] 顾勇.模糊控制及其应用.现代物理知识,1998.

所属分类: 上传时间:2007-09-29 17:19:00

下载:0 次 | 共享者:miracle

设施农业是世界现代农业发展的主要方向之一,我国农业正处于从传统也向高产、优质、高效为目的的现代化农业转化新阶段,设施农业是我国今后比较长的时间内农业发展的个主要方向。

  环境控制对果树生产的重要作用已经为国内外大量的科学实验和生产的实践所证实。只有在适宜的生长环境下果疏才能充分发挥其高产潜力。多年的有关果树生长环境的研究,不仪知道了农业生产,也为温室环境测控的研究提供了理论和依据。但如何利用传感器技术,白动检测技术,通讯技术,计算机技术的发展和温室栽培的推广研制出对温室温度,湿度,二氧化碳浓度的智能测控系统,为果树提供最佳的生长环境,一直是农业研究者面临的重要课题。

  虽然国外采用了全智能控制,但是他们的成本太高,不适合我国国情,国内已有的日光温室主要采用自然能源,虽然造价比较低,但过于简陋,只有少数实现了温度、湿度、光照等单一因素的测控,不能满足日益现代化的农艺要求。本文研制一种价格比较适宜、扩展性较好的多功能温室智能测试系统。

  1 系统组成及工作原理

  本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成各种传感器信号的采集、转换、各种信息的显示等;软件

主要完成信号的处理及控制功能等。

  其工作原理是89C51单片机一次查询各传感器的输出信号,然后89C51对输入信号进行相应处理后通过显示模块44780输出,同时还可输出各种报警信号。

  2 硬件构成

  该系统硬件主要包括以下几个模块:89C51主控模块、传感器模块、A/D转换器、扩展、44780显示模块等。其中89C51主要完成外围硬件的控制以及一些运算功能,传感器完成信号的采样功能,A/D转换器主要完成模/数的转换、存储器主要完成程序和数据的存储、44780显示模块完成字符、数字的显示功能。

  主控模块

  系统采用ATMEL公司生产的AT89C51单片机,它带有4kB闪速式存储器、128B内存,最大工作频率24MHz,同时,具有32条输入输出线,16位定时/计数器,5个中断源,1个串行口。

  2.1 传感器的选取

  2.1.1 温度传感器

  采用AD590集成温度传感器,此传感器是电流型的,它的特性如表1所列。

特性

  测量地表温与土温也可以用AD590集成温度传感器。由于传感器探头要插入土中,所以要将传感器及变换电路封装在金属探棒中。金属探棒可以起到防水、防腐的作用。又因为金属的导热性好,所以金属探棒不会影响传感器对温度的测量。
 
       2.1.2 湿度传感器

  采用IH3605电容式集成湿度传感器。其输出电压较高且线性较好。尢需进行信号放大和信号调整,可直接进行A/D转换。其特性表如表2所列。

特性

  2.1.3 光照强度传感器

  本系统选用北京林业大学生产的光量子传感器,主要由感应元件和匹配滤光片系统组成。感应元件选用硅太阳能电池,在太阳辐射作用下产牛的光电流与辐射强度成线性关系。标准的硅光电池的光谱响应在400nm-1100n。的范围,峰值波长为800nm。光量子传感器是一种灵敏的蓝色硅电池,在近红外区域700nm-1100nm只有相当低的响应,而在可见区域400~700nm比一股硅电池的响应却要高得多,峰值响应在550~-650nm之间。光量子传感器在光的照射下,输山变化十分微弱的电流信号(约几个微安)。所以光合有效辐射的检测电路应选用低漂移,共模抑制比高的集成运算放大器。放大电路采用电流一电压变换放大电路,如图1所示。光电子传感器的电气特性如表3所列。

光电子传感器的电气特性

  2.1.4 C02浓度传感器

  C02浓度传感器选用红外线气敏传感器。其测量范围宽,达-2000ppm,检测精度可达15%。可以选用这种方法来监测温室空气中C02的浓度。

  2.1.5 土壤水分传感器

  选用TDR-3型土壤水分传感器。TDR-3土壤水分传感器可测量土壤水分的体积百分比,与土壤本身的机理无关,是目前国际上最流行的土壤水分测量方法。TDR-3型土壤水分传感器是一款高精度、高灵敏度的测量土壤水分的传感器。

  2.2 多路开关CD4051

  本系统选用了单端8通道模拟多路开关CD4051。它由电平位移电路,带禁止端INH的8选1译码器和由该译码器对各个输出分别加以控制的八个CMOS双向模拟开关组成。其引脚如图2所示。INH为高电平时,八路通道全部不通。A、B、C分别为输入选通地址端,0-7为八路模拟输入信号端,COMMON端为被选通模拟信号的输出端CD4051传送的信号范围从VFE到VDD。由于环境因子的采样信号幅值为0~2V,所以将VEE端与Vss端相连并接地,VDD端接电源端Vcc,使得信号传送范周为O-Vcc,即0~+5V,INH,A,B,C四端连接四根地址线,控制信号的选通,其真倩表见表4。选通的信号从COMMON端送到A/D电路。

引脚 2.2.1 通道的分配

  七路环境因子的测量信号各占一个通道。通道分配如表5所列。

通道分配

  2.3 A/D转换电路

  MC14433采用8位数据输出,转换精度为1/2000,相当于11位二进制A/D转换器的精度。它还具有抗干扰性好、自动校零、自动极性输山、自动量程控制信号输出、单基准电压、外接元件少等特点。MC14433的引脚及外接元件如图3所示。

MC14433的引脚及外接元件

  MC14433的转换速度较慢,不宜用查询方式。系统采用如图3中所示的中断方式。每次A/D转换结束,EOC都输出一个正脉冲,其宽度为0.5个内部时钟振荡周期,如图3所示。将EOC端接入89C51的外部中断1引脚,利用EOC脉冲的下降沿触发中断。单片机处理中断服务程序,接收数据。动态分时输出 BCD码的QO-Q3和DSi-DS;与89C51的PI口相连。
 
      2.4 扩展电路与地址分配

  2.4.1 扩展电路

  89C51芯片上带有扩展功能引脚。

  -EA/VPP端:系统中该引脚接+5V高电平,程序计数器PC先访问内部程序存储器,当PC值超过OFFFH(4k)时,转向

执行外部程序存储器内的程序。

  -PSEN端:外部程序存储器读选通信号。本系统未扩展外部程序存储器,此引脚空。

  ALE/-PROD端:系统扩展外部存储器时ALE输出锁存信号。

  89C51内部有128个字节的RAM存储器。存实时数据采集和处理时,仅靠片内的RAM是不够的,还需要利用89C51的扩展功能扩展外部数据存储器。常用的数据存储器有静态SRAM和动态DRAM。由于DRAM需要不断刷新,设计时要增加刷新电路,电路复杂,可靠性差。因此SRAM在单片机测控系统中应用更普遍。

  木系统采用常用的2KX8位SRAM6116。它采用CMOS工艺制造,单一+5V电源,典型存取时间200ns。与89C51硬件连接如图4所示。74LS373是带三态门的8D锁存器,用作地址锁存器。

  2.4.2 端口及地址分配

  端口及地址分配如表6所列。

端口及地址分配

  根据以上端口分配,可以确定外设地址为:

  多路开关CD4051:XO-X7对应BOH-B7H;B8H-BFH全不通;

  外部扩展RAM:0800-OFFFH,共2k;

  执行信号输出依靠P2.5线选锁存器74LS373,后将控制字从PO口输山到74LS373来完成。

  2.5 执行信号输出

  本系统的执行信号输出电路为试验性的仿真电路。系统模拟八路执行信号,针对七路环境因子信号的监视情况,主控机发出控制指令,控制单片机开启一路或多路执行信号电路,以实现对环境因子状态的调控。执行输出电路由控制字锁存器、发光二极管、电阻组成。各路执行信号所代表的执行机构或系统如表7所列。

各路执行信号所代表的执行机构或系统

  2.6 通信方式

  本系统是温室群的监控系统,它是由多台前沿机和主控机构成的网络组成的。因此系统的状态监视、环境控制等都是通过网络通信来实现的。所以,前沿机的通信电路是系统重要组成部分。

  温室群环境监控系统的实时性要求不高,传输的信息量也不太大,因此串行异步通讯可以满足其通讯需求,并且具有线路简单,易于实现的优点。本系统采异步通讯。温室群环境监控系统要求远距离数据传送,对数据传送速率要求不太高并要有一定的抗干扰能力,因此RS-422最适合系统的要求。适当降低传输速率,如9600bit/s,可以使传送距离达到1200m以上,完全满足系统要求。主控机口通信采用主机板上空闲的标准25芯COM2 口,进行电平转换后挂接RS-422总线。使用这种转换器时可以使用与RS-232相同的通讯软件而无需进行修改。其引脚定义如表8所列。

引脚定义

  本系统采用RS-422与TTL电平转换常用芯片:传输线驱动器SN75174;传输线接收器SN75175,SN75174是一具有三态输出的单片四差分线驱动器。SN75175是具有三态输山的单片四差分接收器。它们的设计符合EIA标准RS-422规范,适用于噪声环境中总线线路较长的多点传输。芯片采用+5V电源,与其他芯片一致。通信线路采用标准RS-422九芯插接件。电路如图5所示。

  2.7 监控网络

  本系统采用总线型监控网络。总线型拓朴结构如图6所示。在总线型控制网络中,主控站通过总线来访问各个前沿机。只有主控站有权控制总线,而各前沿机则不可以,并且各个前沿机之间不能直接进行通信。这种拓朴结构的特点是:数字化的数据通过串行输入/输出总线进行传送;通讯协议采用RS232,RS422,RS485等;系统扩展较为灵活:通信速率较低。

总线型拓朴结构

.8 44780显示模块

  本系统采用44780驱动的LCD,HD44780(KS0062)是用低功耗CMOS技术制造的大规模点阵LCD控制器(兼带驱动器),和4bit/8bit微处理器相连,它能使点阵LCD显示大小写英文字母、数字和符号等丰富的信息,同时有较强的通用性应用,使用方便,用户能用少量元件就可组成一个完整点阵LCD系统,送入相关的数据和指令即可实现所需的显示。

 

  44780显示模块有8条数据线,3条控制线,可与微处理器或微控制器相连,通过送入数据和指令,就可使模块正常工作,44780显示模块和89C51单片机连接电路如图7所示。

  2.9 抗干扰设计

  在微机测控系统中,系统抗干扰性能的好坏直接影响到整个系统工作的可靠性与安全性。因此,抗干扰设计是系统设计的一个主要内容,本系统采用的是由硬件和软件相结合的抗干扰措施。

  2.9.1 系统硬件抗干扰设计

  (1) 滤波技术

  将电源变压器的进线段加入滤波器,以消弱瞬变噪声干扰;在直流电源线和地线之间接滤波电容,以抑制电源噪声。

  (2) 去耦电路

  存印刷电路板的各个集成电路的电源线端与地线端之间配置去耦电容。

  (3) 屏蔽技术

  屏蔽技术主要由电场屏蔽,电磁场屏蔽和磁场屏蔽三类,本系统是电场和电磁场

屏蔽的方法。主要使用低电阻材料作为屏蔽材料,把需要隔离的部分保卫起来。磁场屏蔽则应采用高导磁率的材料。

  (4) 光电隔离:

  再I/O通道上采用光电隔离器,将单片机系统与各种传感器、开关从电器上隔离开来,很大一部分干扰可被阻挡

  2.9.2系统软件抗干扰设计

  对于微机测控系统,仅仅考虑硬件的抗干扰是远远不够的,采取一定的软件抗干扰措施非常必要,它不仪能降低系统的硬件成本,又可以充分发挥软件的优势,使系统具有自我诊断,自我恢复的能力。本系统采用的软件抗干扰措施主要有以下几种:

  (1) 数字滤波技术,采用数字滤波技术除去输入信号中所掺杂的各种随机干扰。 (2) 软件陷阱技术,当系统受剑干扰,PC值发生变化,程序"乱飞"等情况,可以用软件陷阱和看门狗将程序拉回到复位状态。具体的讲,可以在RAM中埋一些标志,在每次程序复位时,通过这些标志,可以判断复位原因并根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不易察觉到程序被重新复位过。

  3 软件设计

  该系统软件主要由主程序、中断子程序、数据采集与A/D转换子程序、显示子程序、报警子程序等六大模块组成,因为C语言编写的软件易于实现模块化,生成的机器代码质量高、可读性强、移植好,所以本系统的软件采用C语言编写,再KeilVision3 Demo版本的集成开发环境下进行编译连接。

  3.1 主程序设计

  主程序主要完成硬件初始化、子程序调用等功能,主程序流程图如图8所示。

主程序流程图

  3.2 数据采集子程序设计
 
       数据采集与A/D转换子程序根据输入参数对相应的模拟信号进行采样、量化及处理,并将相应信号的数值返回主程序。

  3.3 显示子程序设计

  显示子程序完成符号、数值的显示输出。

  3.4 报警子程序

  主要实现异常情况下控制告警信号输山。如当室内温度升高到某一点时,或湿度低于某一规定值时,音频报警装置会发出不同频率的告警信号,同时相应的指示灯亮(点亮报警指示灯的任务由显示子程序来完成),以引起工作人员的主意。

  4 仿真与调试

  4.1 仿真器选择

  本系统选用ME-52单片机仿真开发系统,它实时仿真频率高达33MHz,提供2~24MHz的时钟信号。同时它提供64KB程序代码存储器,支持仿真所有程序和数据地地址空间,支持Franklin V3.XX/Keil 6.xx编译连接工具。具有分别独立控制项目文件的项目管理器。另外具有VC++风格的窗口驻留,窗口动态切分和工作簿模式窗口界面。

  4.2 仿真调试

  在仿真调试阶段,采用"自底向上逐步集成"的策略,逐模块进行仿真测试,在此基础上逐步集成。譬如可先仿真显示模块、测温子模块、测湿度子模块等,然后将仿真成功的模块逐个加入主程序进行仿真,在仿真过程中发现错误,采用"分块压缩策略",快速找到并改正错误;注意在集成过程中出现问题,大多是由于模块间资源使用冲突引起的。当软件模块仿真成功后,可与硬件一起进行在线仿真,此时在调试中出现的问题大多是由于连接线连接错误、虚焊、布线不合理等原因造成的。 随着电子技术的广泛应用,智能温室控制必将成为一种发展趋势,文中提出利用51单片机和新型传感器对温室环境进行测试,目前原型机己取得成功。调试结果表明,本系统可靠性高、使用方便,下一步将住此基础上开发控制系统,给用户提供更大的方便。

所属分类: 上传时间:2007-10-19 16:00:00

下载:0 次 | 共享者:miracle

在提升机制动闸瓦间隙实时在线检测的设计中,需要保存故障时间和故障数据。大部分仪器仪表中都要使用时钟芯片,但是很多的实时时钟芯片(如PCF8563)没有掉电保护,须外接晶振和电池,比较麻烦。而深圳兴威帆电子技术有限公司生产的SD2200ELP是内置32 KBE2PROM的串行实时时钟芯片,不需要外接器件支持,连线简单、可靠,提供的数据精确,断电后也能继续工作。微控制器采用Atmel公司的ATmegal6单片机,利用AT-megai6的硬件TWI接口可直接对SD2200ELP进行操作,无需软件模拟I2C方式,使用方便、可靠。

  1 SD2200L简介

  SD2200L系列(包括SD2200B/C/D/E/FLP)是一种具有内置晶振、支持I2C总线的高精度实时时钟芯片。SD2200ELP是SD2200L系列中的一种,该芯片可保证时钟精度为±5ppm(在-10~50℃下),即年误差小于2.5min。芯片内置时钟精度调整功能,可以在很宽的范围内校正时钟的偏差;内置32KB串行非易失性E2PROM;可在3.0~5.5V下工作,擦写次数可达100万次,数据保存时间为十年;内置一次性电池,可保证在外部掉电情况下时钟使用寿命超过五年。SD2200L系列内部结构如图l所示。

SD2200L系列内部结构

  2 硬件设计

  SD2200ELP既有实时芯片的功能,又可以存储数据到内置E2PRROM中。因为SD2200ELP是I2C总线接口方式,所以其硬件接口设计非常简单,可以大大简化单片机外围器件。AVR的TWI总线实质上就是I2C总线,只是名称不一样。图2中INTl脚为SD2200ELP的定时中断输出,与ATmegal6的外部中断INTl相连接(INTl配置为下降滑触发方式),SDA、SCL为两线式串行引脚,分别与ATmegal6的TWl(PCl、PCO)相连。

INTl脚为SD2200ELP的定时中断输出

  3 软件设计

  如果外围器件是I2C接口类型,而单片机没有I2C接口,那么必须用软件模拟的方式来实现。AVR单片机功能很强,它

带有TWI接口,可以直接利用ATmegal6的硬件I2C接口来对外围I2C器件进行操作,非常方便、有效。这样可以节省模拟I2C程序,为用户编程省去很多麻烦。下面是使用ATmegal6对内置E2PROM的实时时钟芯片SD2200ELP读/写的程序设计,均是在ICCAVR开发环境下编写。

  3.1 ATrnegal6的TWI总线接口

  两线接口TWI很适合于典型的处理器应用。TWI协议允许系统设计者只用两根双向传输线就可以将128个不同的设备互连到一起。这两根线是时钟线SCL和数据线SDA。外部硬件只需2个上拉电阻,每根线上1个。所有连接到总线上的设备都有自己的地址。TWI协议解决了总线仲裁的问题,TWI总线的连接如图3所示。

TWI总线的连接

  TWI总线可以工作于4种不同的模式:主机发送器(MT)、主机接收器(MR)、从机发送器(ST)以及从机接收器(SR)。在后面将介绍的连续读E2PROM操作中就使用了MT和MR模式。

  3.2 实时时钟读取

  实时时钟操作指令格式如下:

实时时钟操作指令格式

  其中高4位称为“器件代码”,它代表实时时钟的器件地址,固定为“0110”。C2、C1、C0构成对实时时钟操作的8条指令。

  实时数据寄存器是一个56位的存储器,它以BCD码方式存储,包括年、月、日、星期、时、分、秒的数据。实时数据的读/写操作都通过发送或接收年(实时数据读写方式1)数据的第一位“LSB”开始执行的。

函数

  3.3 E2PROM的读/写

  SD2200ELP的E2PROM操作指令与实时时钟的器件代码是不一样的。当CPU要对SD12200L中的E2PROM进行操作时,首先发出开始信号给SD2200L,然后CPU发出包括4位器件代码10lO、3位页选码000、1位读/写指令的8位数据(即“从器件地址”)。一位读/写指令表明进行何种操作(读操作为1,写操作为O)。其格式如下:

格式

3.3.1 对E2PROM的页写操作

  写操作可分为:单字节写操作和页写操作。单字节写操作指每次只写入一个字节的数据;页写操作指一次可以写入多个字节的数据。值得注意的是,SD2200L是一个系列,不同类型对应着不同数量的E2PROM。例如在页写操作下,SD2200ELP单个写周期内E2PROM可以被写入64字节的数据。在某监测仪器应用中,需要保存故障值和故障发生时间,故采用页写方式。页写E2PROM程序流程图如图4所示。

  3.3. 2 对E2PROM连续读操作

  读操作有3种方式:立即地址读操作、随机地址读操作和连续读操作。ATmegal6为完成从SD2200ELP内置串行E2PROM中读取数据,必须将几种TWI模式组合起来。由于内置E2PPROM的存储容量 大小不同,因此在进行读操作时,其操作方式有所不同。在查询故障值和故障时间时,需要读出保存在E2PRoM的数据,故采用连续读操作。与页写操作类似,SD2200ELP最多连续读64字节的数据。连续读操作程序流程图如图5所示。

 

程序流程图

  读/写E2PROM需用到的5个公用函数:

读/写E2PROM需用到的5个公用函数

  4 总结

  SD2200ELP可以方便地结合AVR单片机的TWI总线实现日期显示功能。并且因其内置32 KBE2PROM,可以保存时间和相应数据;具有电路简单、占用资源少、程序简洁、调试方便、功耗低等特点。经过实际的现场运行证实了该设计方法是可靠、有效的。对本文的设计方案和程序稍加修改后,可以用在各种需要此功能的数字控制和监控检测系统中。(具体程序见网站WWW.mesnet.com.cn——编者注)

所属分类: 上传时间:2007-10-22 16:38:00

下载:0 次 | 共享者:miracle

0 引言

  随着无线电技术的发展与普及,"频率"已经成为广大群众所熟悉的物理量。而单片机的出现,更是对包括测频在内的各种测量技术带来了许多重大的飞跃,然而,小体积、价廉、功能强等优势也在电子领域占有非常重要的地位。为此.本文给出了一种以单片机为核心的频率测量系统的设计方法。

  1 测频系统的硬件结构

  测量频率的方法一般分为无源测频法、有源测频法及电子计数法三种。无源测频法(又可分为谐振法和电桥法),常用于频率粗测,精度在1%左右。有源比较法可分为拍频法和差频法,前者是利用两个信号线性叠加以产生拍频现象,再通过检测零拍现象进行测频,常用于低频测量,误差在零点几Hz;后者则利用两个非线性信号叠加来产生差频现象,然后通过检测零差现象进行测频,常用于高频测量,误差在±20 Hz左右。以上方法在测量范围和精度上都有一定的不足,而电子计数法主要通过单片机进行控制。由于单片机的较强控制与运算功能,电子计数法的测量频率范围宽,精度高,易于实现。本设计就是采用单片机电子计数法来测量频率,其系统硬件原理框图如图1所示。

统硬件原理框图

  为了提高测量的精度,拓展单片机的测频范围,本设计采取了对信号

进行分频的方法。设计中采用两片同步十进制加法计数器74LS160来组成一个100分频器。该100分频器由两个同步十进制加法计数器74LS160和一个与非门74LS00共同设计而成。由于一个74LS160可以分频十的一次方,而当第一片74LS160工作时,如果有进位,输出端TC便有进位信号送进第二片的CEP端,同时CET也为高电平,这样两个工作状态控制端CET、CEP将同时为高电平,此时第二片74LS160将开始工作。

  2 频率测量模块的电路设计

  用单片机电子计数法测量频率有测频率法和测周期法两种方法。测量频率主要是在单位定时时间里对被测信号脉冲进行计数;测量周期则是在被测信号一个周期时间里对某一基准时钟脉冲进行计数。

  2.1 8051测频法的误差分析

  电子计数器测频法主要是将被测频率信号加到计数器的计数输入端,然后让计数器在标准时间Ts1内进行计数,所得的计数值N1。与被测信号的频率fx1的关系如下:
公式

  而电子计数器测周法则是将标准频率信号fs2送到计数器的计数输入端,而让被测频率信号fx2控制计数器的计数时间,所得的计数值N2与fx2的关系如下:
公式

  事实上,无论用哪种方法进行频率测量,其主要误差源都是由于计数器只能进行整数计数而引起的±1误差:
公式

  可见,在同样的Ts下,测频法fx1的低频端,误差远大于高频端,而测周法在fx2的高频端,其误差远大于低频端。理论研究表明,如进行n次重复测量然后取平均,则±1误差会减小n倍。如给定±1误差ε0,则要求ε≤ε0ο对测频法要fx1≥公式 对测周法则要求fx2≤ε0fs2ο因此,对一给定频率信号fs进行测量时,用测频法fs1越低越好,用测周法则fs2越高越好。

  2.2 8051单片机的测频范围和测频时间

  8051单片机的定时器/计数器接口,在特定晶振频率fc=12 MHz时,可输人信号的频率上限是fx≤fc/24=500 kHz。如用测频法,则频率的上限取决于8051,故测频法的测量范围是:
公式

  即:fx1≤500 kHz。

  用测频法测频时,定时器/计数器的计数时间间隔可由8051的另外一个定时器/计数器完成,外接100分频器的情况下,fx1的频率范围可扩展到50MHz

  用测周法设计时,其频率的下限取决8051计数器的极限。考虑到8051内部为16位,加上TF标志位,计数范围为217,因此其最大计数时间为公式秒。而如果采用半周期测量,则测频范围是:
公式

  在测周法中,标准频率信号fs2由8051的内部定时结构产生,f s2恒为fc/12,因此,在给定ε0为0.0 1时,fx2既有一定的上限频率,也有一定的下限频率。即:
公式

  并由此可见得出:4Hz≤fx1≤10 kHz理论上可以达到无穷大,即fs1可以达到无穷低,因此,fx1可达到无穷小,因此,可以认为测频法的测频范围只有上限频率,没有下限频率。而再 这样,两个频率范围相叠加即可得到该频率计的测频范围:4 Hz≤fx1≤50 MHz。精度可以达到1Hz。从以上分析可以看出,测频法测量的频率覆盖范围较宽,且在高频端的测量精度较高,而在低频段的测量精度较低,同时测量时间较长。测周法测量的频率覆盖范围较窄,在高频段的测量精度较低,在低频段的测量精度较高,测量时间短。因此,测频法适于高频信号的测量,测周法适于较低频信号测量。

  8051可用软件来控制定时器/计数器的工作方式,以实现测频法与测周法的动态切换。对宽频带、高速度的频率测量,可采用软件切换测量方法来提高测量精度与测量速度。其测频电路如图2所示。

测频电路

3 软件设计

  由图2所示的测频电路可知,波形经过施密特触发器74LS132后,再经整形放大后即可变成方波,然后利用8051的定时器/计数器T0给定定时时间为10 ms,再利用8051的定时器/计数器T1作计数器,累计10 ms时间里所经过施密特触发器74LS132的方波信号。当T0定时满10 ms时,T0向CPU发出中断信号以申请中断,并进行频率测量。假设所设定的中介频率为l00/10 ms="l00"×100=10000 Hz="10" kHz,冈为fx=N/T,所以,可以将假定给定数值100与Tl进行比较,再将Tl计数器里所计的数值与给定的数值进行比较。由于在用测频法测量频率时,较小频率的误差较大(±l误差)。所以,这里用l0 kHz作为中间频率,其±1误差为9.9 kHz和1 0.1 kHz,误差率为1%,可见该误差不是很大,还可以接受。

  事实上,当频率比较小于1 0kHz时,若程序选择用测量周期法。则测周法流程图及其程序如如图3所示。

测周法流程图及其程序

  4 结束语

  通过本文所介绍的设计过程即可实现频率测量要求,并能够很好的完成测量结果的存储,完全能够达

到预期的效果。

所属分类: 上传时间:2007-11-07 17:09:00

下载:0 次 | 共享者:miracle

随着汽车工业的不断发展,能源危机以及汽车尾气对大气环境造成的污染日趋严重。而发动机点火时刻的精确控制在提高汽车整体性能的同时,有效地缓解了这一状况。与传统的机械调节式点火时刻控制系统相比,基于微控制器的电子式控制系统具有及时性好、精确度高、控制灵活等优点。为此,从发动机点火控制系统的控制策略出发,设计了一种能提高发动机点火控制精度的新型电子点火控制装置。

  1 系统工作原理

  发动机点火时刻是通过控制点火提前角(即点火时活塞位置到上止点曲轴转过的角度)来实现的。影响火花塞点火时刻的因素主要有发动机转速、负荷大小、发动机冷却水温度以及发动机缸体爆震等。

  整个点火系统硬件电路主要由传感器及信号调理电路、A/D转换器、 、点火电路、电源及火花塞等部分组成。系统原理框图如图1所示。

系统原理框图

  各传感器的输出信号经相应调理电路调理、A/D转换器转换后,送入单片机。单片机依据一定的控制策略、算法对输入信号运算处理,依据运算结果,在合适时刻给出控制信号。控制信号经驱动电路后,控制点火控制电路工作,通过火花塞最终实现发动机点火。

  2 系统硬件设计

  2.1 传感器

及其调理电路

  主要包括转速传感器、水温传感器、爆震传感器和节气门开度传感器及其相应调理电路。

  2.1.1 转速传感器及其调理电路

  采用光电式转速传感器,其作用是测量发动机转速和曲轴转角位置。传感器输出信号经调理电路整形、放大后号送入单片机外部计数器T0(P3.4)引脚上,由单片机在一定时间内对其计数便可测量其转速和曲轴位置。

  2.1.2 水温传感器及其调理电路

  采用集成温度传感器MAX6611测量发动机冷却水温度。单片机依据水温信号对点火提前角作相应调整:当水温低时增大点火提前角,而水温高时减小点火提前角。传感器输出信号经二极管双向限幅和RC滤波电路调理后接到ADC0809的信道0上。

  2.1.3 爆震传感器及其调理电路

  采用安装在发动机缸体上的压电加速度传感器来测量发动机爆震信号,并依据是否发生爆震而对点火提前角作相应调整。传感器输出信号经两级滤波电路调理后接到ADC0809的信道1上。

  2.1.4 节气门开度传感器调理电路

  发动机的负荷的测量是通过线性输出型模拟式节气门传感器(TPS)来实现的。传感器输出信号经双向限幅滤波调理电路后接到ADC0809的信道2上。

  2.2 电控单元及A/D转化电路设计

  本系统以AT89C2051单片机作为控制器。A/D转化器采用ADC0809对前端输入信号进行模/数转换。系统中需要进行A/D转换的信号有水温信号、节气门开度信号和爆震信号。单片机与A/D转换器的接口电路如图2所示。

单片机与A

  由ADDA,ADDB和ADDC选择转化信道,信道0输入温度信号、信道1输入爆震信号、信道2输入节气门开度信号,转化后的信号通过P1口输入到单片机内部。其中AT89C2051的P3.4(T0)对曲轴转速信号计数,确定转速和曲轴位置。通过P3.5输出点火控制信号。

  2.3 点火控制电路设计

  点火电路的作用是产生火花塞点火所需的高压。其输入是来自单片机P3.5引脚的点火控制信号,输出端接到火花塞上。电路如图3所示。

点火控制电路

  单片机的P3.5输出高电平时,T1和T2都截止,12 V电压通过R4和L1对C7充电。当单片机P3.5输出低电平时(发出点火控制信号),T1,T2导通,则C7两端的电压立即变位低电平(即C7迅速放电),从而使流过L1的电流突变,L2两端产生点火高压。其中D1起保护T2的作用。

  2.4 电源电路设计

  在汽车系统中一般只提供12 V的直流电压,而芯片大都需要5 V的电压。本系统采用集成芯片W78L05设计了12 V到5 V的DC-DC转换电路。

  3 系统软件设计

  系统软件主要由主程序及延时子程序、计算基本点火提前角子程序、计数T0中断服务子程序、A/D转化子程序、点火提前角修正子程序和点火子程序组成。本系统采用汇编语言编写了源程序。

  3.1 主程序

  系统上电后,首先进行系统初始化(包括单片机的初始化,ADC0809的初始化,计数器T0的初始化),接着获取转速信号确定基本点火提前角,再进行A/D转化采集水温、爆震和节气门开度信号,对采集的信号进行运算处理,最后等待点火时刻的到来并发出点火控制信号实现系统点火。

  3.2 计算基本点火提前角子程序

  本系统的基本点火提前角由转速信号确定,采用查表法确定基本点火提前角。首先建立两个数据表,一为转速表v(v[0],v[1],v[2],…,v[i],v[i+1],…)和基本点火提前角表。两表中的元素个数相等,且都以升序排序。Vi对应的基本点火提前为基本点火提前角表中的第i个元素。为了减少查找的次数,设计时采用了二分法对转速表进行检索。

3.3 水温对点火提前角修正子程序

  水温对点火提前角进行双重修正,即暖机修正和过热修正。当水箱温度过低,应加大点火提前角,即进行暖机修正。当发动机水箱温度过高,应减小点火提前角,即进行过热修正。

  本设计中水温对点火提前角修正也采用查表法,建立2个修正表:过热修正表(升序表)和暖机修正表(降序表)。根据经验水温对点火提前角最大修正5°,采用直接查找法。首先确定对点火提前角零修正的水温T,测得的水温t大于T则查找过热修正表进行过热修正,否则查找暖机修正表进行暖机修正。

  3.4 爆震信号对点火提前角修正子程序

  系统对点火提前角修正是为了使发动机始终接近爆震临界状态,即处于一种“临界控制”方式,使发动机既接近爆震区又不进入爆震区,此时缸内燃烧的热效率最高。测到有爆震信号点火提前角增加2°,测得无爆震信号时点火提前角减小2°。设临界状态对应的爆震信号为F,当测得的爆震信号f大于F时点火提前角减2°,否则点火提前角加2°。

  另外,节气门开度对点火提前角修正子程序采用直接查表法。

  4 结 语

  本点火装置具有及时性高、控制精度高等优点,实现了对点火提前角的优化控制。该系统已调试成功。

所属分类: 上传时间:2007-11-09 17:26:00

下载:0 次 | 共享者:miracle

概述

  在核污染的环境评测中,最常用的仪表是X、γ 辐射空气吸收剂量率仪。

  在这类仪表中,使用的测量原理主要有以下两种:一种方法是使用脉冲计数的方法,在这类方法中使用光电倍增管或使用计数管对核辐射脉冲计数,通过计数量的多少反映核辐射剂量的大小。另一种方法是将测量的辐射脉冲进行积分、放大后显示输出。在后一种方法中,由于综合考虑了反映核辐射能量脉冲的数量和幅值,所以较好地反映了核辐射的剂量和剂量率。这类仪表的系统结构如(图一)所示。

仪表的系统结构

图一

  存在的问题

  在厂家多年生产这种类型仪表的生产实践中,发现使用该方法生产的仪表,存在以下的问题:

  [1] 在积分放大电路中由于积分常数较大,而且电容的品质对仪表参数影响甚大,因此为了得到较稳定的积分电路性能,电容的容量不能用的太大,所以在输入积分电路中只能用提高电阻的阻值的方法来增加积分常数。这时,电阻的阻值将高达1011欧姆。如此高的阻值在电路中的应用大大地提高了仪表生产的工艺难度和使用时受环境影响的程度。

  [2] 作为影响仪表性能的关键探测部件-探头中,使用的主要传感部件为光电倍增管。它的性能参数大

大地影响整个仪器的性能。在影响探头的诸多参数中,起关键作用的参数为光电倍增管的暗流和兰光灵敏度。若光电倍增管的暗流过大,将会使仪器的本底降不下来,从而使成为不合格产品。若光电倍增管的兰光灵敏度太低,势必要提高电路的放大倍数。这时若设计的放大器倍数过大,将会产生两种后果:a)过大的放大倍数,将影响放大器的稳定性。b)使用电路设计上的限制,有时电路的放大倍数难以达到设计要求。

  [3] 在仪器的构成的诸多元素中,光电倍增管、仪器中的放大电路等都会在温度变化的影响下产生参数的变化,使仪表产生一定的温度漂移,从而使仪表在温度变化的影响下,产生精度上的变化。这一点虽然在电路设计中加入了复杂的温度补偿电路,但是,由于影响因素的多样性和非线性,使一般的电路补偿方式难以达到理想的效果。

  解决方案

  根据以上存在的问题以及对仪表性能提高的要求,在对原有仪表进行较仔细地分析的基础上,根据目前仪表设计、改进的潮流方向以及单片机系统在仪表中的广泛应用。我们对仪表在设计理念和方法上进行了大胆的创新。使用德州仪器公司的MPS430F133单片机对仪表电路结构进行了重新设计。引入了模拟 + 数字放大技术;数字本底调整技术和温度数字校正技术。应用上述原理设计出的仪器经厂家生产和用户试用,基本上达到了生产工艺简单,使用性能稳定的设计目的。

  整个系统的结构描述如下:

  一. 系统结构:

  在考虑应用单片机设计仪表系统时,必须解决好以下几个方面的问题:

  (1)传感器信号的输入和处理电路。这部分电路需要满足信号的输入、调理和放大的功能。同时在电路的设计中还要兼顾放大倍数与放大器的稳定性这两方面的问题。

  (2)信号的变换,为了能将信号输入单片机进行信号的处理和输出,必须将输入放大器输出的模拟信号变换为数字信号。

  (3)数字放大和本底调整控制电路,在这一部分的电路设计中,考虑到原有仪表的结构和用户使用中的一般习惯,在这一部分的调整中仍然采用了使用电位器的模拟调整技术,只不过是将调整的模拟信号经A/D转换后输入到单片机中进行数字校正处理。

  (4)显示输出电路,根据用户要求,仪表的输出采用指针式表头输出。由于表头的输入信号必须为模拟信号,所以这里采用了数字PWM输出技术,将数字信号转变为模拟信号输出。整个仪表系统的结构图如(图二)所示。由上述电路系统图可以看出,在整个电路在对信号的处理过程中,需要完成A/D转换,数字处理和模拟输出这几个环节。为了使整个系统的稳定性达到较高的水平,希望上述功能的集成化程序越高越好。因此在MCU的选型上,采用美国的TI公司生产的MSP430F133单片机。

整个仪表系统的结构图

图二

  二. MSP430F133单片机选型依据

  MSP430F133系列单片机是德州仪器公司生产的一组具有超低功耗的、具有16位RISC结构,16位CPU寄存器和常数寄存器的微控制器。而MSP430F133是这个系列中的一款带有8KB Flash Memory、256B RAM;有12位的带有内部参考电压、采样保持和自动扫描功能的A/D转换器,以及硬件中的PWM输出端口。

  它的超低功耗设计(仅微安级工作电流)正好满足了便携式仪器使用电池供电的特点。它所具有的片内A/D转换器,具有精度较高和速度快的特点,基本上满足了实时采样的要求。它所具有的16位PWM输出端口使输出表头的指示更加平滑稳定。另外它内部所带有的硬件乘法器使单片机的运算性能大大的加强。满足了数字仪器复杂、快速运算的要求。另外使用在单片机内部嵌入的温度传感器,我们可以根据它测出的环境温度和系统的温度特性,对整个仪器系统进行精确的温度数字校正,使系统在环境温度产生较大变化时仍能可靠、稳定地工作。

三. 硬件实现方案

  根据MSP430F133单片机所具有的系统资源和仪表系统的要求,作为传感器的测量信号经过适当放大后即可送入片内的A/D转换器。另外,作为本底放大倍数的电位器调整信号经适当调整后也送入了片内的A/D。一般来说,片内的A/D为12位。基本上能较准确的反映了外部信号的变化。但是由于本仪表测量数值的变化范围为0~10000个单位,这时,仅使用片内的12位A/D所反映的信号变化范围最大为0~4096个单位。这样,在低量程上反映出来的测量信号就显得分辨率不够。如果兼顾了分辨率,就会使仪器的测量范围达不到要求。因此,在片内A/D数位不能提高的情况下,在硬件设计上采用了分段放大转换的设计方法,即把输入的信号放大不同的倍数根据不同的量程分别输入单片机内A/D不同的端口。

  在测量小信号时,使用大倍数的放大器输出信号输入A/D端口,以达到小信号较高的分辨率。而在测量大信号时,小信号的输入端口输入的数据已达到满幅度,这时仪表将使用大信号

输入端口,以达到大信号的动态范围。较好的解决了片内A/D位数不足的矛盾。在输出设计上,直接采用了数字信号的PWM输出,即通过单片机的PWM端口输出信号,经过适当地滤波后,送指针仪表显示,完成了D/A转换输出的功能。

  四. 软件结构及功能

  作为使用微处理器的智能系统,硬件系统的性能必须有与之相配合的软件才能使其达到设计的要求。在本文所述的测量仪表中,同样需要设计与硬件相匹配的软件系统才能使仪表完成所设计的功能。根据仪表性能要求,在软件设计时应着重考虑以下几个方面的问题:

  A 由于该仪表传感器测量的核辐射信号是由闪烁体转化而来的光脉冲信号,根据核物理理论得知,核辐射量的大小与这些脉冲信号的积分值相关。因此,在探头将测得的脉冲信号经放大、A/D转换后,所得的数字信号同样也为一组与核辐射量成正比例的脉冲信号。为了准确地反映信号的大小,系统软件应将这些信号进行数字积分。同时,为了在指针式表头上稳定的显示测量值,还要对积分所得的值进行恰当的滤波,以避免由于指针示值不稳定而影响读数。

  B 作为测量仪表,为了能准确地读数,在仪表生产→老化等工艺完成后还必须进行标定。对本仪表的标定,就是调整仪表的零点和放大倍数。使它的显示值与测量值相吻合。在本仪表的设计中,虽然也是采用了电位器标定调整的方法,但是这两个电位器与仪器的输入放大电路无关,这样就可以最大可能的避免由于电位器引线过长而对仪表放大器的影响,提高了电路的可靠性和稳定性。为了达到调整的目的,我们是将这两个电位器接在稳压基准电源上,通过将电位器中心抽头调整的电压值转变位数字信号的方法,再使用如下公式来对输入信号进行标定。

  Sout = Amp * Sin + Zero式中:Sout - 经标定校正后的显示信号值;Sin - A/D转换后的测量输入信号值;Amp - 放大倍数调整电位器中心抽头电压的A/D转换值;Zero - 零点调整电位器中心抽头电压的A/D转换值;这样,在标定时只需调整这两个电位器即可达到数字标定的目的。

  C 作为提高仪表系统稳定性的一项重要措施,就是对系统进行温度补偿。作为一个复杂的系统,由于受温度影响的因素较多,所以难以总结出一个统一的数学模型来描述仪器的读数 - 温度的特性。因此,在这里使用试验的方法找出系统的温度特性曲线。对于这样一个复杂的数学模型,可以使用输入校正表格 - 分段插值的方法进行校正。用过输入合理设计的表格和运用正确插值方法,在MPS430F133单片机的强大运算功能的支持下,使系统的温度补偿做的更加准确合理。

  D 在仪器的显示部分由于使用了指针式表头,在测量值出现突变或者测量值超过测量范围时,将会出现表针剧烈摆动甚至出现打针的现象。虽然我们在设计输出时,对每一档输出的最大值都给予了限定,但如不采取措施仍会在测量值突变时出现打针现象和表针剧烈摆动现象。因此在输出软件设计上,当输出值变化时,表针的运动中加入了适当的软阻尼。实现阻尼的算法框图见(图三)。这种算法具有较好的平滑性能,使用这样的算法,即使在指针的指示值变化较大时也能够既快又平稳地到达新的测量值。显示出了良好的阻尼性能。

实现阻尼的算法框图

结束语

  本文所述的通过采用16位单片机,采用模拟 - 数字系统相结合的方法设计并实现的测量仪表,可以较大幅度的改善和提高仪表的性能和稳定性。简化生产工艺,降低生产成本。目前所完成的设计,仅是在实现原有功能的基础上做了一点工作,对仪器的智能化还有待于进一步挖掘。我们相信,经过进一步的工作,在仪表的自控、自标定、自动测量等方面都会有更大的改进。那时,不但仪表性能又进一步的提高,而且在使用上也会更加简单、方便。

 

  参考文献:

  1、滨松光子株式会社,光电倍增管 - 基础及其应用,1995.8

  2、戴光曦,实验原子核物理学 北京原子能出版社,1995.6

  3、缪家鼎等,光电技术 杭州浙江大学出版社, 1995.3

  4、TI Company MSP430X13X, MSP430X140X, MIXED SINGNAL MICROCONTROLLER JULY-2000

所属分类: 上传时间:2007-11-22 16:57:00

下载:0 次 | 共享者:miracle

1引言

      目前在油泵油嘴行业中,传统的油嘴加工,多数依靠个人技能所决定的手工操作,产品质量不稳定,生产效率低,劳动强度大,废品率高。

       本系统是对一种电火花机床设计的,采用负极放电方式即采用黄铜对工件的放电达到加工目的。通过试验得到黄铜对工件的耗损比值,用程序控制所需要的加工深度,加工出来的油嘴座面完全符合要求,提高了加工速度,保证了加工精度,完全取代了传统的风磨加工。

       2设计思想

      根据油嘴加工工艺及加工工件的参数,由步进电机驱动电极移动,要准确地自动实时采样,,改变步进电机的工作频率,以控制步进电机的进给量,为了符合油嘴的座面要求,在加工过程中,根据试验得到的耗损比值,利用查表法编程方法来对电极进行实时修正,这是控制砂轮电机完成的。根据不同的粗坯工件的加工深度,采取相应的频率以及控制运行的步数。其工序顺序控制逻辑包括:

       (1)快速趋进:为了提高工作效率,在工件安装好后,步进电机必须快速趋进被加工工件的表面。
  (2)快速退回:当加工完预置的加工量后,步进电机必须退回到初始位置。
  (3)粗磨:对于加工尺寸大的毛坯,为了提高工作效率,可选择单独进行粗加工,粗加工时,步进电机以粗磨速度进给,同时通过改变放电电压,切换放电电容,控制放电火花,放电快,提高加工速度。
  (4)精磨:当加工尺寸较小,为了保证座面的角度和光洁度,采用精磨的方式,精磨时,放电火花小,加工电压低,这也是通过软件控制继电器切换加工电压和放电电容实现。
  (5)粗精磨:本系统可进行粗精磨加工一次完成。在开始加工时采用粗磨,当加工到一定范围以内(如3丝),系统自动转换为加工,这样既提高了加工速度,又保证了精度和光洁度。系统在两种加工方式下能控制火花放电量。

       我们选用三相拍步进电机(45BF3)作为电极的进给驱动部件。被控制的步进电机有正转(进刀)、反转(退刀)和停转三种基本工作方式,正反转又各有不同的运行频率(即进刀或退刀速度)要求,进刀、退刀速度是根据软件进行调整的。当步进电机三相绕组按A→AB→B→BC→C→CA→A的顺序得电,就可实现正转,反之,若按A→AC→C→BC→B→AB→A的顺序得电,就可实现反转,若输出状态始终保持不变,电机也就停止了运行,利用8031的P1口的P1.0、P1.1、P1

      2控制电机的三相绕组,达到控制其运行方式。

      在加工过程中,同时要控制加工电压、切换放电电容,当修复加工电极时,要切换工件、电机的电压。这些都是软件来控制各个继电器按一定的时序的开、闭实现。

       3系统硬件设计

       本系统硬件由四个部分组成,即由8031单片机、2764EPROM以及74LS373组成的基本系统,驱动电路、采样电路和显示与键盘扫描电路。这里主要介绍基本系统及驱动电路。

       3.1基本系统

       系统设立了5位显示器和7个按键,显示器分别显示加工的模式状态、设置值、加工剩余量,七个按键分别为:启动、复位、暂停、十位置数位、个位置数位、置数功能键、加工模式选择,当置数按键起作用后,可给十位和个数置数,加工模式选择可选择粗磨、粗精磨加工方式。在软件中将1~99丝的加工量根据一定的转换关系转换成相应的数据存入一个表中,在加工时根据不同的加工量取相应的表中的数据即可。

       用串行输入、并行输出移位寄存器74LSl64连接LED显示器与键盘。

       3.2驱动电路

       程序控制8031P1口输出数据,通过74LS07驱动器使步进电机正、反转,考虑到本系统在加工过程中高低频辐射及现场电网波动引起的干扰,因此采用光电隔离。

       当P1.0输出为高电平,则74LS07第1脚输出为低电平,此时光耦二极管导通,发光三极管也即导通,三极管T也导通,使绕组受到24V的激励,反之则光隔离,绕组不受电压激励。二极管D1起保护作用发光二极管D2指示电机的每相的工作状态,也为维修带来方便,同样可用程序控制P1口其它位输出。74LS373也可以作为继电器的控制或为以后扩展控制作用。

       4系统软件框图

       系统上电复位后,从8000H单元开始执行程序。首先进行系统初始化,然后进行显示调用和键扫描及按键处理。当按置数键后,可对十位、个位调整设置相应的加工步数,按启动键后,系统启动定时器中断,进入加工状态,加工完成后,显示其状态并退刀,电极退回到原位。

       根据步进电机正反转的控制状态,确定出相应的控制字,然后存入一个表中,在程序中根据加工的状态取相应的控制字输出。步进电机的步进步数也是根据步进电机的步进当量和电极的耗损系统来确定相应的控制参数,将1~99丝的控制数存入一表中,在加工时与表中相应的单元进行比较。而步进电机转速的快慢,可以通过改变定时常数来实现速度的调整。

       在设计软件过程还加进了干扰自动保护措施。在程序运行时,利用8031的定时器跟踪程序,当程序正常时,定时器不断得到复位,若由于干扰使程序出错,定时器便能够使程序返回到出错点,从而使程序继续运行。

       5结束语

      本系统已在某油嘴油泵厂投入使用,实践表明,该系统性能可靠,操作也很方便,给企业带来了明显的经济效益。

所属分类: 上传时间:2007-11-27 16:25:00

下载:0 次 | 共享者:miracle

 本文介绍了应用AT89C51单片机测量数控车床切削力的新方法,重点阐述了单片机实现连续自动采样、A/D转换、标度变换及数据处理的方法。

       文章给出了单片机测控系统的原理、结构及进行数据采集的部分程序。

       1 问题的提出

       在数控车床的加工中,切削力的测量甚为重要。通过对切削力的测量可以分析与研究数控车床各零部件、机构或结构的受力情况和工作状态,验证设计和计算结果的正确性,确定整机工作过程中的负载谱和某些物理现象的机理。因此,他对发展设计理论、保证数控机床安全可靠地运行以及实现数控机床自动加工、自动检测、自动控制和切削力过载报警等都具有十分重要的作用和适用价值。

       2 系统硬件接口电路的设计

       系统硬件原理框图如图1所示。系统以AT89C51单片机为控制核心,外围电路针对单片机的功能特点而设计,充分利用了AT89C51单片机片内资源丰富的特点,简化了外围电路,提高了可靠性。下面对系统中主要功能模块与硬件可靠性技术逐一分析。

图1 系统硬件原理框图

      2.1 切削合力与分力

      为了便于测量和研究数控车床切削力起见,尤其是为了适应生产中设计和使用数控机床、刀具和夹具的需要,一般都把总切削力Fr分解成三个互相垂直方向的力,即Fz、Fy、Fx来研究。

       2.2 测力传感器

       通常测力仪中最常用的传感器是电阻丝应变片和压电晶体。我们所设计的八角环测力仪是一种电阻丝应变片式的测力仪。其工作原理是测力仪的八角环是弹性元件,在环的内外壁上粘贴电阻应变片,并连结成三个电桥以作为测定X、Y、Z三个方向切削力的传感器,在数控车床车削时,车削力经工件转动传递于车刀上,再由车刀刀杆传递到八角环,八角环的变形使紧贴在其上的电阻应变片也随之变形,电阻值R发生了变化(R±ΔR)。当应变片受拉伸时,电阻丝直径变细,电阻值增大(R+ΔR),当应变片受压缩变形时,电阻丝直径变粗,电阻值变小(R-ΔR),从而输出正比例电信号。实验得知,由于电阻应变片的电阻变化很小,所以必须将信号放大到0—5V后才能输入单片机控制系统进行相应的处理。

       电阻应变片组成的电桥如图2所示。a)图为等臂全桥电路,b)图为卧式半桥电路。

图2 电阻应变片组成的电桥

       图2中a)为由电阻应变片所组成的电桥R1、R2、R3、R4分别为四个电桥桥臂的电阻。当A、C端加以一定的桥压U时则B、D端的输出电压 U由下式求得:

(1)

 (1)

       由式(1)可知,当R1R3=R2R4时,电桥输出电压ΔU=0,即电桥处于平衡,这就是在进行切削力测量前必须进行的电桥平衡的调节工作。

      在切削力的作用下,应变片的电阻发生变化,破坏了电桥的平衡。若R1、R2、R3、R4分别产生ΔR1 、ΔR2 、ΔR3 、ΔR4的电阻变化,则由式(1)电桥的输出电压为:

(2)

 (2)

       由式(2)可以看出电桥的一个重要性质,当电桥相邻两臂有符号相同的电阻变化时,电桥输出电压为两桥电阻变化相减的结果。因此,在测力仪接桥时,为使电桥有较大的输出,则应使电桥相邻两臂有符号相反的电阻变化,而相对两臂有符号相同的变化。这就是本测力仪布片于接桥的原则。

       测力仪常用的电桥有等臂全桥(电桥由四个臂组成,R1=R2=R3=R4)及半桥(电桥由两个臂加上两个固定电阻组成,R1=R2=R),如图2所示。由式(2)两种电桥的输出电压为:

      全桥:ΔU=U/4R(ΔR1-ΔR2+ΔR3-ΔR4) (3)

      半桥:ΔU=U/4R(ΔR1-ΔR2) (4)

       比较(3)和(4)可知,当 ΔR1= ΔR3=+ΔR; ΔR2=ΔR4=-ΔR时,全桥的输出为半桥的两倍,也即全桥的灵敏度为半桥的两倍。因此,为提高测力仪的灵敏度,即电桥有较大的输出,我们在设计测力仪时采用了等臂全桥的测量电路。

      2.3 量程放大器

      把传感器输出的信号一般为μv— mv级,放大到模数转换器所能接收的统一电平0—5V。

       2.4 多路开关

       把数控车床切削过程中由传感器变换后的各路的电信号与A/D相连,以便进行A/D转换,这样既可节省设备,又不至于使各个被测参数之间互相竞争。多路开关每次闭合的通道号由程序控制。

      2.5 采样保持电路

      由于现场所测的切削力是连续变化的,而单片机采样却是断续的,为了使参数未被采样时仍能维持原来的数值,所以需要增加一采样保持电路,我们采用了大规模集成电路芯片LF398。

      2.6 A/D转换器

       把测力传感器输出的模拟电压变成数字量,我们选用的是ADC0809八位A/D转换器,他的转换方法为逐次逼近法。在A/D转换器的内部含有一个高阻抗斩波稳定比较器,一个带有模拟开关数组的256R分压器,以及一个逐行逼近的寄存器。八路的模拟开关可由地址锁器和译码器控制,可以在八个通路中任意访问一个单边的模拟信号。

       2.7 显示切削力

       A/D转换器虽然将测力传感器输出的模拟电压值转换为数字量,但是它并不是实际数控车床切削力的值,要得到真正的切削力的值还需进行以下两步工作:静态标定和标度变换。

       静态标定:就是通过实验建立测力传感器输出电压与切削力之间的关系曲线和数学模型。 
       标度变换:就是将A/D转换器转换后的00H—FFH数字量再转换为实际的切削力的值。
       以上两步工作进行完毕后才能在单片机LED上显示出数控车床实际的切削力的值。以便数控车床操作人员进行监视和管理生产等。

       3 系统软件设计

       系统的主程序框图见图3,系统软件包括:动态显示程序、A/D采样程序、标度变换程序和中断服务程序等。

       中断服务程序主要是利用定时器中断产生的时标,对LED数码管进行动态刷新显示。

       3.1 A/D采样程序

      本程序分主程序和中断服务程序两部分。主程序用来对中断初始化,给ADC0809发启动脉冲、送模拟量路数的地址、动态显示、监控报警等。中断服务程序用来接收A/D转换后的数字量和判断一遍采样完成否。

图3 系统主程序框图

 图4 标度变换子程序框图

      部分参考程序如下:

主程序:ORG 0A00H
MOV R1,#30H;输入数据区起始地址
MOV R4,#03H;模拟量总路数送R4
MOV R2,#00H;IN0地址送R2
SETB EA
SETB EX0
SETB IT0
MOV R0,#0F0H
MOV A,R2
MOVX @R0,A
SJMP $ ;等待中断

中断服务程序:
ORG 0003H
AJMP CINT1
ORG 0100H
CINT1: MOV R0,#0F0H
MOVX A,@R0
MOV @R1,A
INC R1
INC R2
MOV A,R2
MOVX @R0,A
DJNZ R4, LOOP;若未采集完3路,则转LOOP
CLR EX0; 若采集完3路,则关INT0中断
LOOP: RETI
END

      3.2 标度变换子程序框图

       由实验结果得知,本系统由A/D转换成的数字量与数控车床切削力的值呈线性关系。因此,标度变换的数学公式为:

Ax=A0+(Am-A0)(Nx-No)/(Nm-No)
A0 ── 一次测量仪表的下限
Am ── 一次测量仪表的上限
Ax ── 实际测量值
N0 ── 仪表下限所对应的数字量
Nm ── 仪表上限所对应的数字量
Nx ── 测量值所对应的数字量

       为了使程序简单,一般把被测参数的起点A0(输入信号为0)所对应的A/D转换值为0,即N0=0,这样公式变为:

Ax= Nx/Nm(Am-A0)+A0

      该系统标度变换子程序框图如图4所示。

       4 结束语

       应用单片机测量数控车床切削力,实现了生产过程中连续自动采样、实时显示、过载报警,以便操作人员进行监控和管理生产,有效地防止了因切削用量过大而损坏数控车床的现象发生。本系统也可经改进后移植到需限载的其他领域中应用。

所属分类: 上传时间:2007-11-27 16:36:00

下载:0 次 | 共享者:miracle

 步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。

        有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。本文介绍的就是为从一日本产旧式打印机上拆下的步进电机而设计的驱动器。

  本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。

  1. 步进电机的工作原理

  该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。

图1 四相步进电机步进示意图

  开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
   
  当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
   
  四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
   
  单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:


a. 单四拍                                                      b. 双四拍                                        c八拍
图2.步进电机工作时序波形图

  2.基于AT89C2051的步进电机驱动器系统电路原理

  步进电机驱动器系统电路原理如图3: 

图3 步进电机驱动器系统电路原理图

  AT89C2051将控制脉冲从P1口的P1.4~P1.7输出,经74LS14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。图中L1为步进电机的一相绕组。AT89C2051选用频率22MHz的晶振,选用较高晶振的目的是为了在方式2下尽量减小AT89C2051对上位机脉冲信号周期的影响。
   
  图3中的RL1~RL4为绕组内阻,50Ω电阻是一外接电阻,起限流作用,也是一个改善回路时间常数的元件。D1~D4为续流二极管,使电机绕组产生的反电动势通过续流二极管(D1~D4)而衰减掉,从而保护了功率管TIP122不受损坏。
   
  在50Ω外接电阻上并联一个200μF电容,可以改善注入步进电机绕组的电流脉冲前沿,提高了步进电机的高频性能。与续流二极管串联的200Ω电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡,电流下降时间变小,也起到提高高频工作性能的作用。

  3.软件设计

  该驱动器根据拨码开关KX、KY的不同组合有三种工作方式供选择:

  方式1为中断方式:P3.5(INT1)为步进脉冲输入端,P3.7为正反转脉冲输入端。上位机(PC机或单片机)与驱动器仅以2条线相连。

  方式2为串行通讯方式:上位机(PC机或单片机)将控制命令发送给驱动器,驱动器根据控制命令自行完成有关控制过程。

  方式3为拨码开关控制方式:通过K1~K5的不同组合,直接控制步进电机。

  当上电或按下复位键KR后,AT89C2051先检测拨码开关KX、KY的状态,根据KX、KY 的不同组合,进入不同的工作方式。以下给出方式1的程序流程框图与源程序。

  在程序的编制中,要特别注意步进电机在换向时的处理。为使步进电机在换向时能平滑过渡,不至于产生错步,应在每一步中设置标志位。其中20H单元的各位为步进电机正转标志位;21H单元各位为反转标志位。在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。这样,当步进电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产生错步。

图4 方式1程序框图

  方式1源程序:
    MOV        20H,#00H              ;20H单元置初值,电机正转位置指针
    MOV         21H,#00H              ;21H单元置初值,电机反转位置指针
    MOV         P1,#0C0H              ;P1口置初值,防止电机上电短路
    MOV         TMOD,#60H           ;T1计数器置初值,开中断
    MOV         TL1,#0FFH
    MOV         TH1,#0FFH
    SETB        ET1
    SETB        EA
    SETB        TR1
    SJMP        $
  ;***********计数器1中断程序************

  IT1P:       JB          P3.7,FAN              ;电机正、反转指针
  ;*************电机正转*****************
              JB          00H,LOOP0
              JB          01H,LOOP1
              JB          02H,LOOP2
              JB          03H,LOOP3
              JB          04H,LOOP4
              JB          05H,LOOP5
              JB          06H,LOOP6
              JB          07H,LOOP7
  LOOP0:      MOV         P1,#0D0H
              MOV         20H,#02H
              MOV         21H,#40H
              AJMP        QUIT
  LOOP1:      MOV         P1,#090H
              MOV         20H,#04H
              MOV         21H,#20H
              AJMP        QUIT
  LOOP2:      MOV         P1,#0B0H
              MOV         20H,#08H
              MOV         21H,#10H
              AJMP        QUIT
  LOOP3:      MOV         P1,#030H
              MOV         20H,#10H
              MOV         21H,#08H
              AJMP        QUIT
  LOOP4:      MOV         P1,#070H
              MOV         20H,#20H
              MOV         21H,#04H
              AJMP        QUIT
  LOOP5:      MOV         P1,#060H
              MOV         20H,#40H
              MOV         21H,#02H
              AJMP        QUIT
  LOOP6:      MOV         P1,#0E0H
              MOV         20H,#80H
              MOV         21H,#01H
              AJMP        QUIT
  LOOP7:      MOV         P1,#0C0H
              MOV         20H,#01H
              MOV         21H,#80H
              AJMP        QUIT
  ;***************电机反转*****************
  FAN:        JB          08H,LOOQ0
              JB          09H,LOOQ1
              JB          0AH,LOOQ2
              JB          0BH,LOOQ3
              JB          0CH,LOOQ4
              JB          0DH,LOOQ5
              JB          0EH,LOOQ6
              JB          0FH,LOOQ7
  LOOQ0:      MOV         P1,#0A0H
              MOV         21H,#02H
              MOV         20H,#40H
              AJMP        QUIT
  LOOQ1:      MOV         P1,#0E0H
              MOV         21H,#04H
              MOV         20H,#20H
              AJMP        QUIT
  LOOQ2:      MOV         P1,#0C0H
              MOV         21H,#08H
              MOV         20H,#10H
              AJMP        QUIT
  LOOQ3:      MOV         P1,#0D0H
              MOV         21H,#10H
              MOV         20H,#08H
              AJMP        QUIT
  LOOQ4:      MOV         P1,#050H
              MOV         21H,#20H
              MOV         20H,#04H
              AJMP        QUIT
  LOOQ5:      MOV         P1,#070H
              MOV         21H,#40H
              MOV         20H,#02H
              AJMP        QUIT
  LOOQ6:      MOV         P1,#030H
              MOV         21H,#80H
              MOV         20H,#01H
              AJMP        QUIT
  LOOQ7:      MOV         P1,#0B0H
              MOV         21H,#01H
              MOV         20H,#80H
  QUIT:       RETI
              END

  4.结论
   
  该驱动器经实验验证能驱动0.5N.m的步进电机。将驱动部分的电阻、电容及续流二极管的有关参数加以调整,可驱动1.2N.m的步进电机。该驱动器电路简单可靠,结构紧凑,对于I/O口线与单片机资源紧张的系统来说特别适用。

 

所属分类: 上传时间:2007-11-27 16:43:00

下载:0 次 | 共享者:miracle

介绍了一种基于ATMEL89单片机的水文缆道测验系统,本系统保留原有的人工缆道设备的结构和资源条件,实现流量测验、水位监测、流量计算自动化,还能与PC机串行通信打印结果。

  早期的中小河道水文测验一般是采用人工操作的水文缆道测验系统,操作时间长、劳动强度大、主观误差大。为此我们对原有的人工测验系统进行了改造,采用单片机控制替代人工进行自动水文测验。本文介绍了基于ATMEL89单片机的水文缆道自动测验系统,系统的设计是构建在原有设施基础上,而且尽量不改变系统结构并能兼容手动操作方法,自动地完成流量的测验计算和打印,适用于中小河道的悬索和悬杆两种类型的水文缆道。

  根据水利部颁发的《水文缆道测验规范》及人工控制水文缆道的结构和测验要求,单片机控制系统的主要功能有:自动进行河道断面的面积、平均流速、流量测验和计算打印;河道断面任一垂线上水深、水面偏角、河底偏角、垂线平均流速的自动测验;干绳、湿绳和位移修正;测验期间水位自动监测等。系统的硬件以单片机为核心以及输入/输出接口,存储器系统和打印显示电路等部分组成;软件部分由系统控制、数据采集存储、误差修正、流量计算4个主要软件模块组成。

  下面介绍本系统的原理和设计要点。

  1 系统构成
   

  系统框图如图1所示。

  采用AT89S8252单片机。由于河道测验的数据量大且运算比较复杂,而单片机内部的存储器容量有限。故增加外部存储器RAM6116和ROM6264。外部信号的输入采集接口是以多路A/D片ADC0809为核心,将缆道信号和水位信号送到单片机P1口和P3口承担其他输入、输出信号的接口。下面根据水文测验的特点,介绍主要的接口电路和工作过程。

  1.1 ADC0809接口电路
   

  以ADC0809为中心的接口电路如图2所示。

  他将电传水位计的水位变化信号和缆道送来的流速、偏角、水面水底信号经变换后传送到单片机。该接口具有电路简单、稳定可靠、抗干扰强等特点。

  1.1.1 水位信号的获取
  

  电传水位计是用来监测水位的变化,为了获取水位信号对电传水位计的传感器部分进行了改造。在传感器内部增加了干簧继电器J3,J4,J5,取消内部电池而直接由系统供电。电阻R5~R8组成分压器,分压器输出到ADCIN2口电路如图2所示。当水位变化时浮子随之升降,浮子升降3 cm,传感器内部的磁钢旋转一周,即每变化1 cm有一个干簧继电器会通断一次。J3,J4,J5分别吸合时IN2口的电压分别为1.6 V,2.5 V,3.2 V左右,无继电器吸合时IN2口电压为+5 V。根据ADCIN2口的电压数值可以判断是哪个干簧继电器通断,由IN2端电压变化规律可以知道水位的上升或下降如图3所示,图3中(a)为上升,(b)为下降。

  1.1.2 水面水底信号的获取
  

  进行垂线水深测量时,铅鱼运行到河道断面的指定垂线位置后开始下降,一旦铅鱼接触水面则启动水深计数器开始水深计数,当铅鱼继续下降接触水底时,水底开关闭合停止计数,该计数值即为本条垂线的水深初值。

  工作过程如下:在铅鱼下降过程中单片机不断地读取ADCIN1口电压,铅鱼入水前继电器J1,J2处于常闭位置,ADC0809输入端IN1的电压是由R3,R4分压决定为2.5 V,一旦铅鱼接触水面+5 V电压通过水下极板→河水→铅鱼→副索1→ADC0809使IN1端电压上升到3 V以上。单片机根据IN1口的电压判断铅鱼已接触水面启动水深计数,同时令P3.4输出高电平继电器J1接通常开触点,由电路图可知河水电阻与R4并联使IN1口的电压为1.5 V左右。当铅鱼继续下降直到接触河底,河底开关K2被压通,铅鱼内部4.5 V电池E1接入电路中ADCIN1口电压下降到0 V以下,单片机判断已达到河底停止水深计数并通过P1口输出信号使水深电动机停止运行。

  1.1.3 偏角信号的获取
  

  悬索缆道配有专门的偏角仪,用来修正水流导致铅鱼不能垂直下降到水底而产生的水深测量误差。偏角仪可以测量出铅鱼受水流影响偏离正常位置的角度,再根据偏角的大小通过查表或公式计算来修正水深误差。人工测量是用眼睛根据偏角仪的刻度估测偏角的大小,误差较大。我们对偏角仪稍做改动增加一个电位器W1和相应的电路如图1所示,通过机械联动装置将偏角的位移转换成电位器的转动从而改变W1的阻值,利用副索2将因偏角变化导致的电压变化送到ADCIN0口。考虑到野外工作的特殊性,采用性能稳定密封性好的线绕电位器,由于IN0口的电压变化与偏角之间不是线性关系用软件查表方式确定偏角值。为了减少机械位移、缆索电阻等因素的影响,实际操作时当铅鱼未入水时测一次偏角作基准,达到水面和水底时分别测一次水面偏角和水底偏角,经修正后即得到较精确的偏角值。

  1.1.4 流速信号的获取
  

  流速的测量是由流速仪完成,测量流速时继电器J1,J2均接通常开触点-5 V电压加于水下极板,K1为流速仪内部开关,流速仪每转动一圈K1通断一次。K1断开时ADCIN0口的电压为1.5 V左右,K1接通后ADCIN0口的电压变化大于0.5 V,只要监测IN0口的电压差就可以判断流速仪的转动情况。实际测量中IN0口的电压差大小与测点垂线的距离和水质有关,距离越大电压差越小,在150 m的河道中流速信号的电压差大于0.5 V。用ADC0809监测流速信号,当VREF=5V时分辨率为0.02 V足以区别流速仪的转动,考虑到某些不确定的干扰因素将电压差的分辨率定在0.1 V,可以满足一般中、小河道的测验要求。对于较宽的河道可以通过改进电路或提高工作电压的方法来增加电压差。与PC机通信接口等部分组成的接口信息如:
   

  (1)行程信号如水深、水平距离;
  (2)水位信号;
  (3)输出控制信号用来控制电动机进行正转、反转、停止,使铅鱼按要求运动做定点测量。

  接口电路如图1所示,电路充分利用ADC0809多路模数变换器将复杂的接口信息转换成数字信号。同时还利用光电门将工作索行程(水深和水平距离的移动)转换成电脉冲信号,送到ATMEL89单片机进行处理、显示、控制完成自动测验。

  1.2 行程信号的获取接口电路
  

  铅鱼的行程信号包括铅鱼水平往返移动的行程信号,和铅鱼测量水深时垂直移动的水深信号。位移信号的获取如图4所示。他是由加装在机械传动装置上的切光板和光电门获得。设计为缆索每移动1 cm切光板遮光一次,光电门产生一个脉冲。水深和往返信号分别从光敏二极管D3,D4上取出,经过异或门后加到单片机P3.2外部中断0输入端,每移动1 cm产生一个中断,中断服务程序可以区别铅鱼此时作水平往返移动还是垂直移动,两者只取其一。

  1.3 其他电路部分
  

  P1口的输入功能是从控制面板读入操作命令和初始化数值,输出功能是输出控制信号。一是控制行程电动机正、反转和停机,使铅鱼按测验要求进行垂直和水平运动;二是在水深测量过程中控制继电器J1、J2的闭合与断开获取水面水底信号。显示打印电路部分用6个LED管显示和微型打印机进行简单打印。用 P3.1串口与PC机相连可以进行数据的转存和进一步处理,显示和打印。

  2 系统软件流程图
  

  本系统的软件约占7 kB,系统程序流程图如图5所示。

  程序分为系统管理、运算处理、测验控制3大模块。系统管理模块包括:初始化、系统监控、操作切换、紧急处理等程序。运算处理模块包括:数据运算、误差修正、显示打印等程序。测验控制模块是由包括:测垂线到起始点距离、测垂线水深、测垂线流速、测垂线水位、接口数据采集等诸多子程序组成。

       为了尽量减少测量误差保证测量精度严格符合水文规范要求,在测垂线水深子程序中采用了二次入水操作,程序流程如图6所示。

  实际水深测量中由于铅鱼的运动会引起缆索的起伏跳动而造成测量误差,我们在程序中设定的操作是:当铅鱼入水后暂停在水面10 s不进行水深计数,待其稳定后升出水面20 cm,再第二次进入水面。铅鱼第二次到达水面后启动水深计数暂停下降,测量水面偏角θA,铅鱼继续下降直到河底停止水深计数,测量水底偏角θB。最后根据干绳长度(缆索到水面的高度)、湿绳长度(水深初值)、θA,θB计算出实际的该条垂线水深值。

  3 结 语
  

  ATMEL89单片机水文缆道测验系统具有较强的兼容性,适合中、小河道的自动或半自动测验,操作方便性能稳定,测验精度达到部颁《规范》要求,有效地减少了操作者的劳动强度和工作时间。

  参考文献

  [1] 余永权.ATMEL89系列单片机应用技术[M].北京:航空航天大学出版社,2002.
  [2] 胡汉才.单片机原理与接口技术[M].北京:清华大学出版社,1996.
  [3] 李广第.单片机基础[M].北京:航空航天大 学出版社,1998.
  [4] 何立民.单片机应用技术选编[M].北京:航空航天大学出版社,1998.

所属分类: 上传时间:2007-11-27 17:12:00

下载:0 次 | 共享者:miracle


  1概述

  TLC1549系列是美国德州仪器公司生产的具有串行控制、连续逐次逼近型的模数转换器,它采用两个差分基准电压高阻输入和一个三态输出构成三线接口,其中三态输出分别为片选(CS低电平有效),输入/输出时钟(I/O CLOCK),数据输出(DATAOUT)。TLC1549引脚排列如图1所示。TLC1549能以串行方式送给单片机,其功能结构如图2所示。由于TLC1549采用CMOS工艺。内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能,而且开关电容设计使在满刻度时总误差最大仅为±1 LSB(4.8 mV),因此可广泛应用于模拟量和数字量的转换电路。

TLC1549引脚排列

TLC1549能以串行方式送给单片机功能结构

  TLC1549在工作温度范围内的极限参数:

  • 电源电压范围:-0.5 V~6.5 V;
  • 125℃输入电压范围:-0.3 V~VCC+0.3 V;
  • 输出电压范围:-0.3~VCC+0.3 V;
  • 正基准电压:VCC+0.1 V;
  • 负基准电压:-0.1 V;
  • 峰值输入电流:+20 mA;
  • 峰值总输入电流:±30 mA;
  • 工作温度范围:TLC1549M为-55℃~125℃,TLC1549C为0℃~70℃,TLC1549I为-40℃~85℃。

  2 工作原理

  TLC1549具有6种串行接口时序模式,这些模式是由I/O CLOCK周期和CS定义。根据TLC1549的功能结构和工作时序,其工作过程可分为3个阶段:模拟量采样、模拟量转换和数字量传输。图3所示为TLC1549的时序图。

TLC1549的时序图

  2.1 输入的模拟量采样

  在第3个I/O CLOCK下降沿,输入模拟量开始采样,采样持续7个I/O CLOCK周期,采样值在第10个I/O CLOCK下降沿锁存。

  2.2 输入的模拟量转换

  对于连续逐次逼近型的模数转换器TLC1549,CMOS门限检测器通过检测一系列电容的充电电压决定A/D转换后的

数字量的每一位,如图4所示。在转换过程的第一阶段,模拟输入量同时关闭SC和ST进行充电采样,这一过程使所有电容的充电电压之和达到模数转换器的输入电压。转换过程的第二阶段打开所有SC和ST,CMOS门限检测器通过识别每一只电容的电压确定每一位,使其接近参考电压。在这个过程中,10只电容逐一检测,直到确定转换的十位数字量。其详细步骤为:门限检测器检测第一只电容(weight=512)的电压,该电容的节点512连接到REF+。梯型网络中,其他电容的等效节点接到REF-。如果总节点的电压大于门限检测器的电压(大约VCC的一半),“0”被送至输出寄存器,此时512-weight的电容连接到REF-。经反相后为“1”,即为最高位MSB为1;如果总节点的电压小于门限检测器的电压(大约VCC的一半),“1”被送至输出寄存器,此时512-weight的电容连接到REF+,经反相后为“0”,存为最高位MSB为0。对于256-weight的电容和128-weight的电容也要通过连续逐次逼近型的重复操作,直到确定从高位(MSB)到低位(LSB)所有数字量,即为初始的模拟电压数字量。整个转换过程调整VREF+和VREF1以便从数字0至1跳变的电压(VZT)为0.002 4 V,满度跳变电压(VFT)为4.908 V,即1 LSB="4".8 mV。

连续逐次逼近系统采样模式

  2.3 数字量的传输

  当片选CS由低电平变为高时,I/O CLOCK禁止且A/D转换结果的三态串行输出DATA OUT处于高阻状态;当串行接口将CS拉至有效时,即CS由高变为低时,CS复位内部时钟,控制并使能DA-TA OUT和I/O CLOCK,允许I/O CLOCK工作并使DATA OUT脱离高阻状态。串行接口把输入/输出时钟序列供给I/O CLOCK并接收上一次转换结果。首先移出上一次转换结果数字量对应的最高位,下一个I/O CLOCK的下降沿驱动DATA OUT输出上一次转换结果数字量对应的次高位,第9个I/OCLOCK的下降沿将按次序驱动DATA OUT输出上一次转换结果数字量的最低位,第10个I/OCLOCK的下降沿,DATA OUT输出一个低电平,以便串行接口传输超过10个时钟;I/O CLOCK从主机串行接口接收长度在10~16个时钟的输入序列。

  CS的下降沿,上一次转换的MSB出现在DATA OUT端。10位数字量通过DATA OUT发送到主机串行接口。为了开始传输,最少需要10个时钟脉冲,如果I/OCLOCK传送大于10个时钟,那么在第10个时钟的下降沿,内部逻辑把DATA OUT拉至低电平以确保其余位清零。在正常转换周期内,即规定的时间内CS端由高电平至低电平的跳变可以终止该周期,器件返回初始状态(输出数据寄存器的内容保持为上一次转换结果)。由于可能破坏输出数据,所以在接近转换完成时要小心防止CS拉至低电平。

3 实例应用及编程

  实践中,某功能模块需将模拟电压转换为数字量,经过单片机处理后,储存在EEPROM中。利用P1.7作为片选端ADCS,P1.6作为数据输出端AD-DATA,P1.5作为时钟端ADCLK。图5所示为A/D串行接口应用原理图。

A

  对于较大程序,应采用结构化程序设计,将整个程序按功能分成若干个模块,不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,易于调试和维护。以下给出了程序代码:

程序

程序

程序

  4 结束语

  利用A/D串行输出设计不但提高了模数转换的精度,具有抗干扰性,而且节省了大量元件和印刷电路板的空间。该系统设计已经成功应用于工业现场控制系统的数据测量。

所属分类: 上传时间:2007-12-03 17:02:00

下载:0 次 | 共享者:miracle