生物组织脱水机设计_第1页
生物组织脱水机设计_第2页
生物组织脱水机设计_第3页
生物组织脱水机设计_第4页
生物组织脱水机设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

0引言

随着医学科学的发展,对疾病的诊断手段日益增多。但迄今为止,即使是世

界上科学技术最发达的国家,疾病的诊断主要还是通过病理诊断。病理技术是病

理学诊断不可分割的一部份,制片质量的好坏很大程度上影响病理医生做出正确

的病理诊断。脱水是病理制片技术的第一个环节,从人体取下的待检病理组织必

须先经过脱水,然后经过其他处理,最后病理医生在显微镜下才干清嘶地判别组

织的性质。

传统的靠人工脱水的方法早就已经不能满足需要,用自动化的机器控制脱水

显得十分必要。由于组织在脱水处理过程中需要在多种溶液中浸泡、烘干等处理,

每一个环节又必须配合相应的时间、温度,于是配备先进,高质量的仪器设备是

保证和提高制片质量的重要条件。

生物组织脱水机是对人体或者动植物组织自动按程序浸入各种溶剂进行脱

水最大特点是利用非上班时间处理组织,并保证组织脱水、透明和浸蜡效果。但

是,目前广泛使用的组织脱水除智能化程度不高外,还由于工业现场大功率感

性负载的干扰,在运行过程中,很容易浮现死机程序蓦地跑飞等非正常工作情况。

智能生物组织脱水机(IntelligentDehydratingMachineforOrganicTissue)采用

单片机与计算机控制的组织脱水机组成机电一体化系统,具有产品结构简化、

智能化程

度高的优点⑴。通过容错技术设计,保证了生物组织脱水机不浮现死机,系统运

转可靠,定时准确,脱水效果好。

1系统基本原理与设计分析

1.1生物组织脱水机设计要求

根据生物组织脱水机的发展现状和系统设计中的具体要求,需要完成以下功

能的设计:

(1)应用软件界面:通过应用软件的设计,实现微机与下位机(单片机)的通

信:用户通过软件界面实现对单片机的控制,并完成对应生物组织脱水任务。

(2)现场操作:现场可以控制脱水机定位在任意一个位置,包括脱水机的细调

与校准。保证生物组织不会处人在禁止区域,而使组织遭受伤害。为进一步提高

系统可靠性,生物组织必须沿着给定的直线平稳、迅速的移入脱水缸中。

(3)定时操作:用户设置好操作流程和操作启动时间,脱水机会按给定程序执

行,完成一次或者几次脱水任务。

(4)控制器的双操作并行处理:脱水机能够同时处理两路程序,提高系统的效

率。

(5)掉电处理:每次掉电后系统自动保存数据,下次启动时系统恢复上一次数

据,保证组织脱水的安全。

1.2系融案的

根据上面提出的设计要求和实际情况,提出了下面三种设计方案:

方案一:利用网络上已有的Labview工具(一种用于开辟测量和自动控制系

统的图形化编程软件。这一强大的开辟工具可用于测试测量、数据采集、分析和

显示,仪器控制)进行上位机的应用程序开辟,单片机实现机电控制。此方案设

计简单,容易实现,避免软件的开辟,从而大大缩短系统开辟周期,并且使系统

成本降到最低,具有很强的市场竞争力。但是由于系统属于二次开辟,应用程序

的扩展性受到一定的限制,并且功能过于简单,难以满足科技高速发展的未来市

场。

方案二:使用嵌入式控制器ARM,电子硬盘,能保存十种以上的表格处理

方案,并能在TFT液晶屏上动态显示处理流程,使用触摸屏接受用户操作;带有

终端远程控制和现实的设备;全封闭式自动贯注试剂,多达12个的自定义程序。

此方案功能完善,用户界面友好,操作性强,具有很好的系统扩展性和独立性,

能够满足随时随地挪移处理的要求,适合现在医疗器件的高性能设备。

方案三:采用目前比较流行的应用软件开辟工具Delphi,强调功能的易实现

性和强大的控件支持,底层机械控制采用AT89s52作主控器,结合12c存储器

CAT24WC02保存与记录操作数据,使系统达到智能化程度和强大的异常处理能

力。此方案最大特点是软件功能强大,能够完成大量的计算处理,大大减轻了下

位机的处理压力,使硬件设计更加简单和具有很强的软硬件扩展性能。并且利用

计算机软件的易操作性和完善的功能,在缩短开辟周期和节省设计成本的同时,

系统性能也得到了很大的提高。

根据上面三种方案和目前开辟的需要,选择方案三比较合适,主要是考虑到

随着计算机的普及,利用了计算机强大的处理性能和扩展性,不仅节省设计成本

2

和开辟周期,也是未来的一种发展趋势。

1.3系统总体方案设计

整个设计过程包括底层控制硬件和生物组织脱水机模型的制作:单片机程序

设计和系统调试;串口通信实现和Delphi应用程序开辟四个部份。其中生物组织

脱水机的整体硬件部份包括上位机和下位机两个部份,其硬件部份的设计主要集

中在RS232接口电路、单片机系统电路、CAT24WC02存储港电路和L298机目驱

动电路,如图1所示。

RXD.

TXDMAX23------A

L298机电

串口2接口电机电

TXD1

RXD路驱动1#

微型计算机单片机

RS232

通信12c------►

L298机电

E2PRO机电2

M驱动2#

上位机下位机

图1生物组织脱水系统硬件结构图

开机上电后系统复位,单片机读12c总线的E2PR0M数据进行系统恢复和电

机的复位,等待用户发送命令。当系统检测到来自用户的命令后,计算机会根据

当前的工作状态给与相应的处理,如显示器的界面,串口数据的发送和机电的操

作方法,MAX232接口电路检测到信号后迅速传递给下位机,下位机根据接收到

的数据和当前系统状态,实现机电的驱动和数据流操作。每次浮现异常是单片机

会自动保存当前数据到24WC02存储器中。整个过程如图2所示。

用户输入控制统

图2系统程序设计原理图

3

2硬件电路设计

2.1单片机最小系统设计

本系统采用Atmel公司AT单片机AT89s52作为机电驱动主控制器。作为系

统的微机控制器,主要从以下特点考虑:

AT89S52是一种带8K字节闪烁可编程可擦除只读存储流(FPEROM—Falsh

ProgrammableandErasableReadOnlyMemory)的低电压,256*8bitRAM存储空

间,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易

失存储器创造技术创造,与工业标准的MCS-51指令集和输出管脚相兼容。由于

将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一

种高效微控制器,为不少嵌入式控制系统提供了一种灵便性高且价廉的方案⑶。

单片机的引脚和系统设计电路如图3所示。

PDIP

(TRPIJOC3VCC

(T2ex)R1.lC3KU)«00|

EC3»ai<A0ii

《MOSDP1ase

(40)PIJSC□KXSVkO9i

<SO()R.7C

WTC

伊mgQCJOVPF

<TO)P3.1C□AL£^R53

(WT1JP3JCD«.y(Ai5i

(TO)AC3268141

(T1>P33C

(WR)P3JBCnwa1*

XTAL2C

XTM1Cn卬zi

GNDC□njOCMl

图3单片机小系统

AT89s52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2

个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,

如图4所示。AT89s52可以按照常规方法进行编程,也可以在线编程。其将通用

的微处理器和Flash存储器结合在一起,特殊是可反复擦写的Flash存储器可有

效地降低开辟成本网。其功能特性如表1所示。

根据本系统的设计要求,AT89s52内部资源已经够用,无需扩展。因此,系

统硬件设计非常简单。

4

表1AT89S52的功能特性

主要功能特性

兼容MCS51指令系统8k可反复擦写(>1000次)FlashROM

32个双向I/O口256x8bit内部RAM

3个16位可编程定时/计数器中断时钟频点0-33MHZ

2个串行中断可编程UART全双工串行通道

2个外部中断源共5个中断源

2个读写中断口线3级加密位

低功耗空暇和掉电模式软件设置睡眠和唤醒功能

2.2驱3m

步进电动机是一种用电脉冲信号进行控制并将电脉冲信号转换成相应的角

位移的执行器。由于受脉冲的控制,其转子的角位移量和速度严格地与输入脉

冲的数量和脉冲频率成正比。改变通电顺

序可改变步进电动机的旋转方向;改变通,。彳的彳优之匕物“^

电频率可改变步进电动机的转速。机电转

子均匀分布着不少小齿,定子齿有三个励

磁绕阻,其几何轴线挨次分别与转子齿轴

线错开0乙、1/32/3T,(相邻两转子图4定转子的展开图

齿轴线间的距离为齿距以P表示)下面是定转子的展开图,如图4所示。

如A相通电,B、C相不通电时,由于磁场作用,齿1与A对齐(转子不受

任何力以下均同)。同理如果以次给B、C相通电,每通一次电转子都会转动1/3

To如再给A相通电,B、C相不通电,齿4与A对齐,转子又向右移过M3T

这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电

机转子向右转过一个齿距,如果不断地按A、B、C、A通电,机电就每步(每

脉冲)1/3向右旋转。如按A、C、B、A通电,机电就反转。由此可见:电

机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺

序决定。无非,出于对力矩、平稳、噪音及减少角度等方面考虑。本系统采用四

相,八拍运行A-AB-B-BC-C-CD-D-DA-A步,距角为0.9度步进机电

驱动时序如图5所示。

5

0123456789101112131415

elk

•I

II\

dj_outl

dj_out2

dj_out3

dj_out4

W-------------周期T-------------->

l

图5L298N步进机电驱动时序图

作为步进机电常用驱动器L298N是SGS公司的产品,15脚Multiwatt封装,

内部包含4通道逻辑驱动电路。是一种二相和四相机电的专用驱动器,即内含二

个H桥的高电压大电流双全桥式驱动器。其引脚图如图6所示。

高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提

供信号;而且电路简单,使用比较方便。通过比较,使用L298N芯片充分发挥

了它的功能,能稳定地驱动步进机电,且价格不高,故选用L298N驱动机电[5]。

而使用L298N时,可以用L297米提供时序信号,可以节省单片机。口的使用;

也可以直接用单片机摹拟出时序信号,由于控制并不复杂,故选用后者。

步进机电是数字控制机电,它将脉冲信号转变成角位移,即给一个脉冲信号,

6

步进机电就转动一个角度,因此非常适合于单片机控制。步进机电区别于其他控

制机电的最大特点是,它是通过输入脉冲信号来进行控制的,即机电的总转动角

度由输入脉冲数决定,而机电的转速由脉冲信号频率决定。如果给步进机电发一

个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,

步进机电就转得越快。调整单片机发出的脉冲频率,就可以对步进机电进行调速。

机电驱动电路如图7所示。

2.3数学模型

生物组织脱水机的设计模型如图8所示,他由两个步进机电的协调运转来控

制组织的运动与定位,由实物模型对应来建立数学模型,这里以机电1的起始点,

对应坐标(0,0)(采用直角坐标系);机电2对应为(L,0)(L为两机电的距

离,实际测量中为5个机电转轮周长20.4cm),在运动过程中,机电的最大挪移

高度H为8.5C(C为机电转轮周长,约34.7cm),组织脱水机总共有11个脱水

缸,其中5号缸为保护缸,所以每一个缸间距为5/11C(约1.9cm)o

机电通过控制悬挂组织的两悬臂来实现组织脱水的所有运动操作。这里设

两悬臂长度分别为L1,L2,利用三角几何关系可得:

L1=。2+丫2

L2=q(L—X)2+、

7

其中,x,y为直角坐标系对应的点。这样就完成为了机电的数学模型,工作

台上的每一点,都能对应直角坐标系中的(x,y)点。

2.4RS232串口通信接口电路设计

随着计算机应用技术和微机网络技术的发展,计算机与其外部设备之间的

数据传输越发显得重要。而串行通讯技术是实现这一功能的有效途径,它具有经

济方便、数据传输可靠、合用于远距离通讯的特点,在工业监控、数据采集、检

测等系统中有着广泛的应用。

在异步通讯中,数据是一帧一帧传送的,在帧格式中,一个字符由4部份

组成:起始位、数据位、奇偶校验位和住手位,如图9所示。首先是一个起始位“0”,

然后是5~8位数据规定低位在前,高位在后,接下来是奇偶校验位可省

略,最后是住手位”1L起始位“0”信号只占用1位,用来通知接收设备一个待接

收的字符开始到来。路线在不传送字符时应保持为力”。接收端不断检测路线的

状态,若连续为力”以后又检测到一个“0”,就知道发来一个新字符,应即将淮备

接收⑹。

8

-------------异步aiM------------

起收停M

趁止二

F低位套位

位位起

tt位

O

0I/OII/OIT/o|I/OII/OII/olUOI/O111

图9异步通讯原理示意图

串口通讯对单片机而言意义重大,非但可以实现将单片机的数据传输到电脑

端,而且也能实现电脑对单片机的控制,比如你可以把写入单片机的数据码显示

在电脑上,如可以使用一个按键,当按下它时使其一个字母如:AA,通过单片

机的串口将它发送到电脑上显示,起到仿真器的某些功效,站长在开辟数据采集

设备时就是通过串口来检查数据正确与否的。

AT89S52单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以

方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是

RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换

电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行

摹拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就

是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、

第3脚的TXDo这是最简单的连接方法,但是对我们来说已经足够使用了,电

路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的

10脚连接,第15脚和单片机的20脚连接。如图10所示。

VCC

RXD

TXD

图10串口通讯的硬件电路图

9

2.5CAT24WC02存储器

美国CATALYST公司出品的CAT24WCXX是一个1~256Kb的支持12c总线数

据传送协议的串行CM0SE2PR0M,可用电擦除,可编程自定义时写周期(包括

自动擦除时间不超过10ms,典型时间为5ms)。串行E2PROM普通具有2种写入方

式:一种是字节写入方式;另一种是页写入方式。串行E2PROM允许在一个周期

内同时对1B到1页的若干字的编程写入,1页的大小取决于芯片内页寄存器的大

小,其中CAT24WC02具有16B数据的页面与能力,CAT24WCXX系列E2PROM在

汽车电子及电度表、水表和煤气表中得到了广泛的应用团。

CAT24WCXX器件原理如图12所示,每一个CAT24WCXX器件都支持双向、

两线数据传输协议。如果器件被定义为发送器,则该器件发送数据到总线;如果

器件被定义为接收器,则该器件接收来自总线的数据。总线由主器件控制,当它

作为从器件。主器件提供串行时钟(SCL),控制总线访问和产生起始和住手条

件。主器件和从器件皆可作为发送器或者接收器,但必须由主器件决定采取何种

工作模式。

注:

一些器件没有使用引脚

AO,Al,A2,WF和页

所存器.

司以参见侬C系列器件

了解相关详细信息.

图11CAT24WCXX器件原理框图

在起始条件之后,从主器件接收的第一个字节是控制字节。控制字节以4位

控制码开始。CAT24WCXX器件这4位设置为1010以便进行读写操作。随后的

3位为片选位(A2、Al、A0)o片选位的不同组合允许在同一条总线上使用的

24XX器件达八个,并用于选择访问哪一个器件。控制寄存器中的片选位必须与

相应器件引脚A2、A1和A0上的逻辑电平保持一致。实际上这些位是字地址中3

10

个最高有效位。

字节写操作以来自于主器件的起始位开始,4位控制码紧随其后。接下来的3

位是存储块寻址位(不带地址输入引脚的潜件)或者片选位(带地址输入引脚的

器件)。然后主发送器将R/W位(该位为逻辑低电平)发送到总线。从器件

在第九个时钟周期产生一个确认位。

如果在WP引脚保持高电平时进行存储器写操作,器件会确认命令,但不会

启动写周期,也不会写入数据,而会即将接受新的命令。写命令为一个字节,在

发送写命令后,内部地址计数器增加,指向下一个要寻址的位置。写周期期间,

CAT24WCXX不会对命令进行确认。CAT24WC02储存器电路如图12所示c

图1224WC02储存器电路图

3单片机程序设计

3.1分时处理系统的设计

在常规单片机处理中,最简单有效的方法是循环执行和中断控制,不用考虑

任何事件的并发性与处理器的利用率,这样带来的好处是系统设计简单可靠,程

序透明性好,随着处理的数据量增加,处理对象的增多和运算的要求提高,往往

会考虑到移植嵌入式操作系统,例如广泛流行Linux>WindowsCE,UCOS-II>

VxWorks等实时操作系统,最为典型的Linux操作系统,他广泛的应用在多个领

域网。

但是这并不意味着每一个系统应用嵌入式操作系统是合理的,对于

AT89s52这样的小型单片机系统,操作系统的嵌入显得过于臃肿,要进行大量

的裁剪,为了提高系统的利用率、最低设计成本和时间,有一种方法是可行的,

11

基于中断的分时处埋手段。生物组织脱水机在系统设计中所运用的分时处理如

图13所示。

11

图13分时处理框图

处理器被分为实时处理进程和非实时处理两种处理类别,对于一些实时性

要求比较高,系统时间占用短的情况下,系统分配给一个实时处理进程。例如电

机在转动过程中步进要有一定的实时性,来保证机电的平稳运行U

时间钝F=200us

图14系统时间分配规则

又如串口数据的收发处理,由于系统有一个串口中断将接受、发送数据保存在串

口数据缓冲区,他的任务是进行数据检索和事件控制,对时间要求不是很严格,

所以采用非实时进程比较合适。

那末怎样才干保证实时性呢,如图14所示,系统定时中断TO以200us的

时间片轮驱动相应的处理程序。而非实时处理进程是靠传递状态来完成的,每次

给定的时间结束,系统会给出一个就绪状态,当系统检索到此状态时触发相应处

理程序。以下为相应设计程序:

12

voidtime()interrupt1using1

{if((sys_t&0x07)==0x00)dj_task();〃机电实时操作

elseif((sys_t&0x3f)==0x01)com_task();〃串口接收与发送

elseif((sys_t&Ox1f)==Ox12)dj_ea=1;〃机电运动任务

elseif((sys_t&0xff)=0x25)com_ea=1;〃串口通信处理

elseif((sys_t&0x7f)==0x1b)dLmove_load_ea=1;

sysj++;

)

voidmain()

{sysjni();

com_ini();

djjni();

EA=1;

while(1)〃非实时操作任务

{if(com_ea){com_op();com_ea=0;}

if(dj_ea){dj_op();dj_ea=O;}

if(dj_move_load_ea){dj_moveJoad();dj_move_load_ea=0;}

_nop_();

)

)

为了提高系统利用率和系统优化,必须为每一个进程分配驱动时间,系统的

时间分配是根据基2对分法则来实现的

由于对分的可嵌套性和对分细化,使得时间片轮可以设定为任意值,如有

1/8+1/8=1/4,可产生两个等时对分进程,1/8*5,可产生一个(5/8)进程时间片

轮。

3.2数据缓冲"乒乓操作"

“乒乓操作”是一个往往应用于数据流控制的处理技巧,典型的乒乓操作方法

13

如图4所示。乒乓操作的处理流程为:输入数据流通过“输入数据选择单元”将数

据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用

的存储单元为双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。在第一个缓

冲周期,将输入的数据流缓存到“数据缓冲模块1”;在第2个缓冲周期,通过“输

入数据选择单元''的切换,将输入的数据流缓存郅'数据缓冲模块2”,同时将“数

据缓冲模块1”缓存的第1个周期数据通过“输入数据选择单元”的选择,送至IJ“数据

流运算处理模块”进行运算处理;在第3个缓冲周期通过“输入数据选择单元”的再

次切换,将输入的数据流缓存到“数据缓冲模块1”,同时将“数据缓冲模块2”缓存

的第2个周期的数据通过“输入数据选择单元“切换,送到“数据流运算处理模块”

进行运算处理,如此循环⑼。

图15乒乓操作原理图

如图15所示,乒乓操作的最大特点是通过“输入数据选择单元''和"输出数据

选择单元''按节拍、相互配合的切换,将经过缓冲的数据流没有停顿地送到“数据

流运算处理模块''进行运算与处理。把乒乓操作模块当做一个整体,站在这个模

块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因

此非常适合对数据流进行流水线式处理。所以乒乓操作往往应用于流水线式算

法,完成数据的无缝缓冲与处理口叽

在机电的操作过程中用到了三次乒乓操作,第一次是串口接收与机电任务装

载过程的数据缓冲,在系统进程中,机电运动操作相对串口数据通信来说是比较

缓慢的,机电不可能在结束时才处理串口数据,第二次是处理取组织器的线性移

动操作,由于程序中机电控制取组织器运动是两机电与它的距离对应成直角坐标

14

系来运算的,所以采用了内插法实现线性运动,插值算法与电极坐标运算必须通

过乒乓数据缓冲才干实现取组织器连续运动,保证组织在挪移中的安全性。最后

一次是机电的定位与机电过程运转,进一步保证了取组织器挪移的连续性和实时

性。

以下程序设计中兀看到乒乓操作的整个过程:

voiddj_op()

{if(djjoad_in&&djjoad_out)//pingpang_2控制过程

{dj_cxy_p=~dj_cxy_p;

dj_load_in=0;dj_load_out=0;

)

if(!djjoad_in)//pingpang_2in数据流人

{if(dj.step<dj.num)

{if(djjx)

dj.cx[!dj_cxy_p]=dj.lx-(long)(dj.lx-dj.nx)*(long)(dj.step+1)/(long)dj.num;

else

dj.cx[!dj_cxy_p]=dj.lx+(long)(dj.nx-dj.lx)*(long)(dj.step+1)/(long)dj.num;

if(djjy)

dj.cy[!dj_cxyj3]=dj.ly-(long)(dj.ly-dj.ny)*(long)(dj.step+1)/(long)dj.num;

else

dj.cy[!dLcxyjD]=dj.ly+(long)(dj.ny-dj.ly)*(long)(dj.step+1)/(long)dj.num;

……(相应其他处理程序略)

if(!dj_load_out&&!dj_dw_in)//pingpang_2数据流出

{dj_position(dj.cx[dj_cxyj3],dj.cy[dj_cxy_p]);

dLload_out=1;

)

/*if(dj.st==255&&dj.mov_st!=0)〃用于系统调试

{dj_move(dj.mov_rx,dj.mov_ry);〃启动挪移操作

dj.v=dj.r_v;dj.a=dj.r_a;

15

dj.mov_st=0;〃关闭机电挪移允许位

}*/

)

3.4机电控制过程

机电控制过程作为整个下位机程序的控制核心,处理方法显得尤其重要,

它需要处理来自串口的数据和向上位机反馈组织脱水机的工作状态和过程;处理

启动任务配置,包括组织挪移的目标位置,挪移的速度以及加速度,并写入控制

寄存器;处理挪移过程的线性引导和插值运算;处理机电的实际动作、起停控制

和状态反馈。机电的控制过程如图16所示。

图16机电控制过程框图

当上位机向下位机发送挪移任务后,数据首先被写入串口接受数据缓冲器

中,当串口通信过程完成,机电主控模块判断乒乓操作缓冲是否允许写入和能否

接收下一个挪移任务,并反馈到串口发送对列中,否则等待电极任务完成和乒乓

操作缓冲中的数据被取出,进行数据的又一次缓冲和串口数据反馈信号发送。周

而复始的进行“握手通信”,当机电任务启动后,机电在向目标挪移过程的同时,

系统通过“乒乓操作”实现下一目标的运算和装载,使挪移目标到达后能迅速向下

一目标挪移,保证挪移过程连续、稳定。通过内插的梳密程度来控制挪移的速度,

内插的快慢来控制挪移的加速度。每次重置目标位置,系统也同时在进行直角坐

标系到机电实际位置运算处理。从而实现机电的一体化控制。

16

3.5串口通信

系统建立串口对象时分配了一个实时处理进程,用来处理来自串口的数据和

所要发送的数据,并判断接收是否超时,保证串口数据的有效性和可靠性。此外

还分配了一个非时实处理进程,用来控制数据的发送、接收队列处理,进一步为

上层提供服务。如图17所示,系统在接受到数据直至接受完成,都是由时实处

理进程完成的。接下来发送消息给队列处理进程,当检索到敏感信号是触发事件

处理方法,实现系统的主动操作。

串口对象包括接收数据指针、发送数据指针和串口状态三个属性,两个方法

分别为串口发送很串口接收,一个串口任务,即串口触发事件响应任务。

图17串口通讯的硬件电路图

以下为串口底层功能程序,主要为串口超时判断,中断接收和中断发送过

程:

voidcom_task()〃这里系统分配一个实时进程

{if(com1.st==0)〃用于判断串口超时

{if(com1.ov_t<com_ovtime)com1.ov_t++;

else〃限制最大接收长度

{com1.rd[com1.rd_p]=O;

com1.rd_p=O;〃字符串封装

com1.st=1;〃置串口状态为接收完毕

)

)

)

17

voidTcomm(void)interrupt4using2//串口处理程序

{岫)

{if(*com1.wr!=0)〃是否结束

{sbuf=*com1.wr:〃发送缓冲区数据

com1.wr++;

)

ti=O;

)

if(ri)

{if(com1.rd_p<(comJen-1))

{com1.rd[com1.rd_p++]=sbuf;〃写数据到数据缓冲区

com1.ov_t=0;〃置串口状态为开始接收

)

com1.st=0;

ri=0;

)

)

3.612c总线应用

12c总线支持任何IC生产过程NMOS、CMOS双极性两线串行数据SDA和串行

时钊5cL线,在连接到总线的器件间传递信息每一个器件都有一个惟一的,在

12c总线中惟一浮现的是被定义为起始S和住手P条件,如图18所示,其中一种

情况是在SCL线是高电平时SDA线从高电平向低电平切换的这个过程表示起始

条件,当SCL是高电平时SDA线由低电平向高电平切换表示住手条件,起始和

住手条件普通由主机产生总线,在起始条件后,被认为处于忙的状态在住手条

件的某段时间后总线被认为再次处于空暇状态,如果产生重复起始Sr条件而不

产生住手条件总线会向来处于忙的状态,此时的起始条件S和重复起始Sr条件

在功能上是一样

的,因此在本文档的剩余部份符号S将作为一个通用的术语既表示起始条件又表

18

示重复起始条件。

起始位数据住手位

图1812c总线起始与住手

发送到SDA线上的每一个字节必须为8位,每次传输可以发送的字节数量不

受限制,每一个字节后必须跟一个响应位,首先传输的是数据的最高位MSB,

如图19所示,如果从机要完成一些其他功能,当从机准备好接收下一个数据

字节并释放时钟线SCL后,数据传输继续在一些情况下可以用与12c总线格式

不一样的格式,例如兼容CBUS的器件甚至在传输一个字节时用这样的地址起

始的报文可

以通过产生住手条件来终止此时不会产生响应。

尤鬲佃来自从机的应答侑勺[*।

!!字力产!!

।।时钟陵为底.开始下一字冲।।

L»JACKACKLfJ

图1912c总线的数据传输

数据传输必须带响应相关的响应时钟脉冲,由主机在响应响应时钟脉冲期间释放

SDA线,在响应的时钟脉冲期间接收器必须将SDA线拉低,使它在这个时钟脉冲

的高电平期间保持稳定的低电平如图20所示。如果传输中有主机接收器,它必

须通过在从机不产生时钟的最后一个字节不产生一个响应向从机发送器通知数

据结束从机发送器必须释放数据线允许主机产生一个住手或者重复起始条件。

19

19

在对CAT24WC02进行读写操作中,采用的是多字节的页写操作,多字节接

收以及重复格式发送接受过程如图21所示。

S从机地址R/WA数据A数据A/AP

______己传输的雌_

]由主机到从机U3)(n字节+应答厂

2=应答(SDALOW)S=^条件

□由从机到主机么=琲应答(SDAH【GH)P■止条件.

主机一发送器发送数据到从机T收器.

S从机地址RWA数据A数据AAP

1八上、己传输的数据

1(由-----(n字节+应答)一

寻址字节后,主机f收器立即读从机一发送器中的数据“

S从机地址R/函A第据“&从机地址R/WA数据A/五P

(由_(由_

I领)*读/马」+应*

传输的方向可

S尸重券幽条件以在这点随

复合读写操作过程,

图2112c多字节发送过程

当上位机发送掉电信号,或者下位机系统浮现异常时,下位机系统通过12c

总线访问CAT24WC02存储器,把当前数据和工作状态写入到CAT24WC02存储

器中,使系统在下一次开机运行使能够恢复上一次异常的断点数据,保证生物组

织的安全性和系统的智能化程度。

4计算机软件开辟

4.1基于Delphi的应用程序开辟

作为一种工具,Delphi建立在成熟的面向对象语言ObjectPascal之上。使用

Delphi,可以做到能用C++完成的任何事情但避免C++的大部份的麻烦;使用

Delphi,可以创建VisualBasic应用程序。反过来则是做不到的。在C++中,程

序员可能会在内存管理、模板、操作符重载时遇到麻烦,而在Delphi中则不会

浮现这种问题。在VisualBasic中很快遇到一些障碍,而且会时常浮现这样的情

20

况。Delphi既具有C++的强大性又具有VisualBasic的易用性m。Delphi开辟界

面如图22所示。

*

O

S

a

n

:

图22Delphi开辟软件界面

好的软件开辟工具的标志是:它是面向对象的、可自行扩展的、并可以促进

好的软件开辟实践。Delphi满足了所有的要求。Delphi使用ObjectPascal语言,

它本Delphi可以自行扩展。高质量的语言和体系结构促进了好的实践。由Delphi

的类的特征可以看出:它是相容的、一致的、均衡的

上面的设计中完成为了机电的运动操作,而没有具体到作'也和任务的建立,

所以Delphi要解决这些问题,并能提供友好的操作界面。实际的操作中首先

建立一个Application工程,添加四个单元文件,分别为mianl.pas>

com1.pas>about1.pas>F_com_view.paSo其中miard为组织脱水机的主要控制

部份,完成脱水的所有操作;com1为串口通信部份,负责数据的收发和通信

设置;aboutl用于软件的说明和使用匡助;F_com_view用于显示串口数据流,

便于系统调试。

整个控制过程中,主要采用spcomm串口通信控件、image图象控件、stringgrid

字符串表格控件和time时间控件,其中spcomm控件主要有两个方法,

CommlReceiveData数据接收和WriteCommData数据发送,通过改变spcomm属

性:CommName来选择串口,BaudRate来设苴通信速率以及ParityCheck、

ByteSize>Parity、StopBits来控制串口工作方式。Image主要通过picture来装入

初始图象,然后利用canvas属性来进行图象操作,它有以下几种方法,如表2

所示:

21

表2Delphi图象处理常用方法

方法用途

Moveto(x:integer;y:integer)移到对应点

LineTo(x:integer;yinteger)从当前点到对应点画线

Arc(x1,x2,x3,x4:integer:y1,y2,y3,y4:ingeger)根据对应点画弧

Draw(x:integer;y:integer;graphic:Tgraphic)画图片到对应点

对于Stringgrid控件和Time控件的属性和方法主要用来作为流程输入界面

和时间处理控制。

4.2控制流程与程序设计

通过Delphi的应用软件是合理的,它首先为每一个新建的工程构建一个最

佳框架,但是设计中还需要完成功能函数的组建。在智能生物组织脱水机的设计

中,将系统细分为三层:输入层、控制层与输出层,如图23所示。

输入接

口层犍盘、鼠标响应事件串口响应定时器

系统事

输入输出件处理

系统处数据流控控制与

理层制API调

图23应用软件结构框图

系统结构的构建还需要用户事件的操作流程,它工作在地层软件与用户之

间,是实际对象的封装,主要完成智能生物组织脱水机的整个脱水控制过程,下

面是在Delhpi中的组织脱水工作流程,如图24所示。

22

系统工作初始化

图24脱水机工作流程图

23

4系统调试

5.1生物组织脱水机操作步骤

(1)接好电路连线,并检查电路,然后打开下位机电源,运行应用软件“生物组

织脱水机虚拟仪器.exe”,进入系统初始界面,如图25所示。初始化完成后会听

到“jobfinished”的提示声音。

图25系统初始化界面

(2)打开串口,然后点击开始启动操作,系统进行复位,这时取组织期刚好停

止在原点。测量精确位置(X。丫卜打开精确调整面板进行精确调整,如图26

所示。

「电机初始住置设定-----------------------

电机1:

-50+5

电机HZH

-50,

「电机位置调试---------------------------

位置:

图26机电精确位置调整

(3)打开工作流程文件,装入操作1中运行,在菜单“操作”中选择“程序运行”,

此时组织脱水机按规定流程工作,记录每一步时间。

24

(4)选择组织数目为2个,将两个操作流程文件装入,继续按步骤(3)操作,

实现脱水机的双操作并行处理,可以看到两个操作的进度,并记录下来。

(5)再需要的情况下,系统可以实现任意的定时开机处理,只须实用户设置好

操作流程和启动时间,如图27所示。

图27定时启动设置

(6)在某些要求更高的情况下,可以实现机械手操作,在菜单“操作”中选择“测

试”,鼠标的挪移对应成取组织器的实时操作,如图28所示,红线为挪移的凯迹。

图28机械手操作

(6)操作任务完成后,系统会给一个“jobfinished”提示音,此时可以关闭组织

脱水机,完成一次脱水操作。

5.2数据记录与系统性能分析

在步骤2中,由于机电的矢步现象导致复位的偏差,经过多次测量,如表3

所示,根据公式计算出失步偏差

表3失步位置记录

第1次第2次第3次第4次第5次第6次第7次第8次

2mm4mm1mmOmm2mm0mm1mm3mm

25

平均值C=11?C

n1

i-1

方差DeJZn(C-C)2

温馨提示

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

评论

0/150

提交评论