停止半自动全自动加一个防爆限位开关关

全自动化学发光分析仪加样控制系统的设计与实现_学霸学习网
全自动化学发光分析仪加样控制系统的设计与实现
硕士学位论文(工程硕士)全自动化学发光分析仪加样控制系统的设 计与实现Design and Implementation of the Sampling Control System of The Automated Chemiluminescence Immunoassay Analyzer何燕平哈尔滨工业大学 2012 年 6 月 国内图书分类号:TP391.8 国际图书分类号:621.3学校代码:10213 密级:公开工程硕士学位论文全自动化学发光分析仪加样控制系统的设 计与实现硕 士 研 究 生: 何燕平 导 副 导 师: 夏 勇 副教授 师 : 杨友谊 高级工程师申 请 学 位: 工程硕士 学 科: 软件工程所 在 单 位: 软件学院 答 辩 日 期: 2012 年 6 月 授予学位单位: 哈尔滨工业大学 Classified Index: TP391.8 U.D.C: 621.3Dissertation for the Master’s Degree in EngineeringDesign and Implementation of the Sampling Control System of The Automated Chemiluminescence Immunoassay AnalyzerCandidate: Supervisor: Associate Supervisor: Academic Degree Applied for: Speciality: Affiliation: Date of Defence: Degree-Conferring-Institution:He Yanping Associate Prof. Xia Yong SE.Yang Youyi Master of Engineering Software Engineering Harbin Institute of Technology at Weihai June, 2012 Harbin Institute of Technology 哈尔滨工业大学工程硕士学位论文摘要全自动化学发光免疫分析仪可以通过血清样本,通过自动化的添加样本、添 加试剂、添加磁珠、孵育、磁分离以及清洗、最后加发光底物,测量发光光强的 方法进行免疫分析,在临床诊断中具有很重要的作用。但目前,国内使用的全自 动化学发光免疫分析仪都是国外的产品。因此研制具有自主产权的该类产品具有 很高的研究价值。其中全自动化学发光免疫分析仪加样控制系统的设计是非常关 键的,在保证高速加样的前提下,要确保系统的可靠性和准确性以及稳定性。 针对分析仪对加样控制系统有较高的控制需求,分析系统主要的被控对象― ― 左、右加样臂,设计了以 TMS320F2812 数字信号处理器为核心的加样控制系 统。硬件系统主要由核心控制板和电机驱动板构成。核心板以 TMS320F2812 和 CPLD 为主体,实现两个独立三轴的加样运动控制。驱动板实现电机信号的驱动以 及其他信号的隔离等辅助功能。加样控制系统通过控制器局域网络(CAN)与上 位机通讯,接收上位机的加样命令,分析并执行加样动作。加样控制系统的主控 软件采用结构化程序设计,主要由加样控制程序、CAN 通讯子程序、加样泵控制 子程序、FLASH 读写子程序等模块构成。加样控制程序采用位置环和速度环双闭 环的 PID 算法,在加样动作高速完成的前提下保证了定位精度和运动的平滑性。 加样控制程序通过参数化设计,可以根据不同的仪器以及不同的控制要求,修改 相应的控制参数,来满足用户需求。 全自动化学发光分析仪加样控制系统经过软件测试及实际测试,响应速度 快、定位精度高、加样精度准确,可靠性以及稳定性良好,达到了项目预期的技 术指标。 关键词:数字信号处理器;PID 控制算法;控制器局域网络;结构化程序设计;软 件测试-I- 哈尔滨工业大学工程硕士学位论文AbstractThe common analysis process of the automated chemiluminescence immunoassay analyzer could first automatically add the patient's serum samples to the reaction cups, then reagents,beads, after a period of incubating and adding magnetic separation and washing, and finally with a light-emitting substrate measure the luminous intensity immunoassay. Through the former processes the machine will give the result, which plays an important role in diagnosis. However, this kind of immunoassay analyzer used in our country currently are almost foreign products. Therefore, the development of such products with self-producing property has an important research value. Automatic chemiluminescence immunoassay analyzer sampling control system is critical in this system which ensures the analysis result, system reliability and stability. Considering the characteristic of left sampling arm and right sampling arm, this paper designed a sampling control system using TMS320F2812, a kind of DSP, as the main controller in accordance with the high demand of control precision and moving speed of the sampling control system. The hardware system is composed with the master electric board and the motor driving board. Among them the master electric control board uses TMS320F2812 and CPLD as main control chips to realize two independent threeaxis-like movement control circuit. Moreover the driving board realized the auxiliary functions such as the motor signal driving and common IO signals isolating. Sample control system uses CAN bus to communicating with the host computer, and then receives a command from PC which analyzes and executes the corresponding sample actions. Using structured programming, the software of sample master control system compose with the sampling action subroutine, the CAN communication subroutine, the sample pump control subroutine, and the FLASH reading and writing subroutines. The sample control program uses dual closed loop PID control algorithm--the position loop and speed loop, which ensures the sampling accuracy and movement smoothness under the premise of measuring and high-speed actions. Sampling control program applies parametric designs to adopt to various instruments and control requirements. The appropriate control parameters can also be modified by user, which brings better flexibility. Through a long period software testing and actual testing in hospital, the automatic chemical luminescence analyzer sampling control system showed the advantage of fast response, high positioning accuracy, high precision, good reliability and stability. Keywords: Digital Signal Processing, ProportionalCintegralCderivative control algorithm, Controller Area Network, Structured programming,Software testing- II - 哈尔滨工业大学工程硕士学位论文目录摘 要 .................................................................................................................................. I Abstract ............................................................................................................................... II 第1章 绪 论 ................................................................................................................... 1 1.1 课题来源及研究目的和意义 .................................................................................. 1 1.2 国内外研究现状 ...................................................................................................... 2 1.2.1 化学发光免疫分析设备 ................................................................................... 2 1.2.2 多轴定位控制系统 ........................................................................................... 2 1.3 系统所采用的主要技术手段 ................................................................................... 3 1.3.1 基于 TMS320F2812 的控制系统设计 .............................................................. 3 1.3.2 双闭环的数字 PID 定位控制算法 ................................................................... 4 1.3.3 基于 CAN 总线的通讯控制 ............................................................................. 4 1.4 本课题研究的主要内容 .......................................................................................... 5 第 2 章 系统分析及概要设计 ........................................................................................... 8 2.1 系统分析 .................................................................................................................. 8 2.1.1 被控对象分析 ................................................................................................... 8 2.1.2 控制系统的技术需求 ....................................................................................... 9 2.1.3 系统的需求分析和实现的功能 ..................................................................... 10 2.2 控制系统的概要设计 ............................................................................................ 11 2.2.1 控制系统的功能分析 ..................................................................................... 11 2.2.2 控制系统硬件设计分析 ................................................................................. 11 2.2.3 控制系统软件概要设计 ................................................................................. 15 2.3 本章小结 ................................................................................................................ 16 第 3 章 控制系统的硬件设计与实现 ............................................................................. 17 3.1 核心控制板的电路设计与实现 ............................................................................ 17 3.2 驱动板的电路设计与实现 .................................................................................... 21 3.3 本章小结 ................................................................................................................ 21 第 4 章 主控软件的设计与实现 ..................................................................................... 22 4.1 主程序的设计与实现 ............................................................................................ 22 4.1.1 主程序的设计 ................................................................................................. 22- III - 哈尔滨工业大学工程硕士学位论文4.1.2 主程序的实现 ................................................................................................. 25 4.2 CAN 通讯模块的设计与实现 ................................................................................ 26 4.2.1 CAN 通讯模块的设计 ..................................................................................... 26 4.2.2 CAN 通讯模块的实现 ..................................................................................... 26 4.3 FLASH 读写模块的设计与实现 ........................................................................... 28 4.3.1 FLASH 读写模块的设计 ................................................................................ 28 4.3.2 FLASH 读写模块的实现 ................................................................................ 30 4.4 取样及加样子程序的设计与实现 ........................................................................ 31 4.4.1 PID 控制算法的设计与实现 ........................................................................... 31 4.4.2 加样泵控制子程序的设计与实现 ................................................................. 34 4.4.3 加样臂初始化子程序的设计与实现 ............................................................. 35 4.4.4 基本加样子程序的设计与实现 ..................................................................... 37 4.4.5 复杂加样子程序的设计与实现 ..................................................................... 39 4.5 程序设计的主要结构体 ........................................................................................ 41 4.6 本章小结 ................................................................................................................ 43 第 5 章 系统测试分析 ..................................................................................................... 44 5.1 系统测试环境 ........................................................................................................ 44 5.2 测试目标及测试内容 ............................................................................................ 44 5.3 测试用例 ................................................................................................................ 45 5.3.1 功能测试 ......................................................................................................... 45 5.3.2 性能测试 ......................................................................................................... 46 5.3.3 加样精度测试 ................................................................................................. 47 5.4 测试结果及分析 .................................................................................................... 47 5.4.1 功能测试结果及分析 ..................................................................................... 47 5.4.2 性能测试结果及分析 ..................................................................................... 47 5.4.3 加样精度测试结果及分析 ............................................................................. 48 5.4.4 测试结果总结 ................................................................................................. 48 5.5 本章小结 ................................................................................................................ 48 结 论 ............................................................................................................................... 49 参考文献 ........................................................................................................................... 50 哈尔滨工业大学学位论文原创性声明及使用授权说明 ............................................... 53 致 谢 ............................................................................................................................... 54 个人简历 ........................................................................................................................... 55- IV - 哈尔滨工业大学工程硕士学位论文第1章 绪1.1 课题来源及研究目的和意义论本课题来源于国家 863 重点项目 78710,该项目针对生命科学 研究中对大规模、高通量、低材耗的生物样本处理与检测设备的需求,研发高通 量生物微量试样自动化处理与检测设备。作为其中的一部分,本课题研究全自动 化学发光分析仪的样本吸取和添加的控制系统。 化学发光免疫分析(Chemiluminescence Immuneassay, CLIA)是将具有高灵 敏度的化学发光测定技术与高特异性的免疫反应相结合,用于各种抗原、半抗 原、抗体、激素、酶、脂肪酸、维生素和药物等的检测分析技术[1]。该技术是继放 免分析、酶免分析、荧光免疫分析和时间分辨荧光免疫分析之后发展起来的一项 最新免疫测定技术。 CLIA 的主要优势是灵敏度比较高、特异性较好,并且容易研制成自动化设 备,被大量用于临床样品的高通量筛选应用[2]。近年来,已经有许多的国外厂家研 制出各种型号的全自动化 CLIA 检测仪,使其不再需要人工进行逐步的操作,可由 机器自动完成全部操作。 目前市场上的 CLIA 产品严重依赖进口国外产品,不仅经济成本较高,产品涉 及使用的耗材和试剂也必须依赖生产厂商,该结果直接造成产品总的价格一路飙 升。同时,国外产品在设计上无法完全从国人的角度出发,而在功能的完善上国 内的操作人员往往不便修改,产品的测试方法也是固定的,产品整体的灵活性不 强。因此设计和研发具有自主产权的全自动化学发光分析仪具有很高的现实意 义。 本课题的设计主要是研究全自动化学发光分析仪的加样控制系统,其核心是 需要设计两个三轴的运动控制系统以及实现精密的定量加样。这在化学反光免疫 分析设备中加样控制系统是非常关键的,将决定了测量结果的精度和有效性,并 对能否保证产品整体性能的稳定起了至关重要的作用。因此本设计在全自动化学 发光分析仪的研制过程中是具有非常重要的研究价值。-1- 哈尔滨工业大学工程硕士学位论文1.2 国内外研究现状1.2.1 化学发光免疫分析设备化学免疫分析的技术经历了 4 代[3]。全自动 CLIA 仪器主要有 Diasorin 公司的 LIAISON 全自动 CLIA 仪、拜尔公司的 Advia Centaur[4] 全自动 CLIA 仪和雅培 (Abbott)公司的 Architect 全自动 CLIA 仪[5]等。 我国对 CLIA 领域的研究开始时间较晚,相关的技术还不成熟,尽管有几家公 司在半自动化仪器方面有少量产品出现,但在全自动化产品方面,目前我国仍处 于空白阶段。1.2.2 多轴定位控制系统多轴联动数控系统广泛地应用于雕刻、数控机床、医疗器械等领域[3]。而三轴 的运动控制机械臂在各种行业中是比较常见的,例如广告设备、标牌设备、礼品 加工设备、模具制作设备等行业,均有广泛的市场应用。其主要技术体现在机、 电一体化的控制。 随着行业的需求不断提高,加工工业及制造工艺的不断完善,多轴运动控制 系统的发展势头也是很迅猛的。国内外许多著名公司都在从事多轴运动控制系统 的设计与研究,例如美国 DELFATAU 公司的 PMAC 多轴控制系统,中国计算机技 术研究所的蓝天数控系列,基于美国 AD 公司数字信号处理器的 GT-400 系列控制 系统,日本三菱 MELDAS 系列控制系统等[6]。国内中国计算机技术研究所的蓝天 数控系统等。 目前多轴的运动控制系统的通常采用专用运动控制芯片来实现,这种方式开 发迅速,成本较低,但灵活度不高。数控系统具有成本低,价格上更经济节省, 功能上也非常灵活等优点[7,8]。该类型的控制系统总体可划分为以下三类:1) 基于工控机的数控系统。工控机具有开发周期短,功能板卡丰富,可靠性 高等优点,在国内有着广泛的应用。但其缺点是价格较高,实时性不好,国产的 工控机数控系统的总体生产性能指标还无法达到发达国家的水平。目前,也有使 用基于 PC 的补偿控制器做运动控制的方案[9]。在免疫分析仪研制方面,国内也有 采用 PC+运动控制卡实现免疫分析仪的解决方案[10]。 2) 单片机数控系统。系统的控制核心是单片机,其优点是技术成熟、价格低 廉、实时性好;其缺陷是单片机主频不高,开发周期较长,导致性能整体稍低。 目前主流的单片机控制器包括有 ARM9 系列[11,12]、cortex M3 系列[13]、AVR[14]及 PIC 系列[15]单片机等。-2- 哈尔滨工业大学工程硕士学位论文3) DSP 数控系统控制系统。这类系统以 DSP 作为系统核心,采用 DSP 的控制 系统具有运算速度快,控制精度高,控制性能高等优点。目前,基于 DSP 的运动 控制系统应用十分广泛[16,17] 。这类系统的控制策略主要有前馈控制,交叉耦合控 制,最优控制[18]。所以 DSP 数控系统控制系统的应用领域在逐渐的扩大,发展前 景也越来愈好。 目前,世界上大型 DSP 生产商已经将 DSP 的高速运算速度和单片机的高控制 能力相结合,研发出电动机控制的专用 DSP。这些 DSP 集成了电动机控制的优 点,既可增加死区,还有灵活多变的 PWM 信号发生器、高速高精度 ADC,同时 具有用于电动机速度及位置反馈的编码器接口等电路,总体来说, DSP 是目前用 于电动机控制中功能最强大的控制器。近几年来,随着对 DSP 的研究越来越专业 化,DSP 功能的也就不断完善,价格不断下降,使工业生产中 DSP 的使用范围不 断扩大[19,20]。1.3 系统所采用的主要技术手段1.3.1 基于 TMS320F2812 的控制系统设计传统的多轴运动控制系统采用的是专用的计算机加多个单片机或是多个专用 运动控制芯片的设计方法,其架构相对来说比较复杂,在高速、高精度和多轴同 步运动控制等方面存在着较难的技术瓶颈。因为 DSP 具有较高的数据处理能力, 适用于实现复杂的控制算法,所以这类控制系统能够实现复杂的多轴运动控制, 以及轨迹规划等[21] 。本文采用基于数字信号处理器( DSP )的控制系统。常见的 有 TI 公司的 TMS320C2000 系列和 AD 公司的 ADMCxxx 系列。为实现快速精确 的定位控制,本文采用 TI 公司的 TMS320F2812 DSP 控制器作为主控单元,采用 EPM1270 的可编程逻辑器件进行端口扩展以及接口扩展设计主控系统。DSP 运动 控 制 器 加 CPLD 的 主 控 单 元 结 构 可 以 实 现 多 轴 的 高 速 、 高 精 度 控 制 。 TMS320F2812 采用高性能静态 CMOS 技术,主频可达 150MHz,具有低功耗高性 能的特点,支持 JTAG 边界扫描调试接口,该系列芯片拥有支持复杂高精度的电机 控制的两个事件管理器,可以输出多路 PWM 控制信号,使系统的多轴控制指令集 合在一个中断周期内完成,实现高速精确的多轴运动控制。此外 C28x 系列芯片支 持 96 个中断,4 个 32 位的定时器[22,23]。 TI 的开发平台 CCS 软件提供了为 C2000 DSP 提供了 Simulink 工具,用于实 施和验证 C2000 的设计[24]。TMS320F2812 被广泛的应用在数据采集处理[25],交流 伺服控制系统[26],直流电机控制[27],DC-DC 变换[28]等领域。-3- 哈尔滨工业大学工程硕士学位论文1.3.2 双闭环的数字 PID 定位控制算法PID 控制器(比例、积分和微分调节)是 20 世纪 30 年代末期出现的,因为 PID 控制结构简单,参数易于调整,在工业控制领域有着较大的发展和应用。 PID 可通过编制计算机语言实现,这样的软件系统灵活性很强,PID 算法可以得到修正 和完善,从而使数字 PID 具有很大的灵活性和适用性[29]。传统的增量式 PID 控制 算法来调节驱动信号的频率[30] 。 PID 算法主要思想是根据系统的期望值和反馈的实际值之间的差值来调节输出 值得大小。调节由比例 P,积分 I 和微分 D 三部分组成。连续系统中的 PID 控制 公式如公式(1-1)所示。1 t de(t ) (1-1) e(t )dt ? Td ] ? T 0 dt 对公式(1-1)进行离散化,通过采样方式得到采样周期 T 的数字 PID 计算公 u (t ) ? K p [e(t ) ?式如公式(1-2)所示。ui ? K p [ei ? T TI?ej ?0ij?TD (ei ? ei ?1 )] T(1-2)PID 控制器是线性的。增大比例系数 Kp,可以加快系统响应,减少静差,但 是增大的 Kp 可能导致系统超调,以及引起系统的稳定性变差。减小 Ti 积分时 间,可以加速系统静差的消除,但会导致系统的稳定性变差。增大 Td 微分时间, 可以加快系统响应,有利于提高系统的稳定性,但系统对噪声的抑制能力减弱, 使系统对噪声有较敏感的响应[31]。 在本设计中必须要保证多轴控制系统的定位精度 [32]和运动速度以及运动的平 滑性[33]。在多轴系统中,可以对每个轴进行反馈和前馈控制,每个轴的循环单独 设计以达到提高跟踪精度,可以提高跟踪和轮廓需要准确性[34]。 TI 公司提供了可供参考的电机控制库[35],其中,比较具有参考价值的是基于 码盘反馈的直流有刷电机例程库。例程是针对单个有刷直流电机转角控制的方 案,尽管本文采用的是直流无刷电机,实现位置控制,该实例对本设计的两个加 样臂 X 轴的位置环与速度环的 PID 控制程序提供了一定的设计思路。1.3.3 基于 CAN 总线的通讯控制本文的加样控制系统,通过 CAN 总线接收上位机的控制命令执行相应的加样 动作,并通过 CAN 总线向上位机反馈加样系统的状态信息。 CAN 总线是一种非常常见的工业现场控制总线,其广泛使用在各式各样行业-4- 哈尔滨工业大学工程硕士学位论文的控制系统中,其主要特点有[36,37]: 1) 支持多主控制。总线空闲状态,任何节点都可以向总线发送数据,最先发 送的节点可以得到总线控制权。 2) 数据作为消息发送,消息由 1-8 个字节组成,发送可以选择定期或者按需 进行[38],消息发送通过标识符进行识别和优先级判定。 3) 可扩展性好。CAN 总线上增加或删除节点,其他节点的软硬件不需相应改 变。 4) 最大标准传输速率高。 CAN 总线是一种广播总线,标准传输速度可达 1 Mbit /秒[39]。 5) 实时通讯总线。CAN 总线是一种实时通讯的总线协议[40]。 6) 错误检测、错误通知、错误恢复功能。CAN 总线具有完善的容错机制[41], 主要手段有总线监听、循环冗余检查、位填充和报文格式检查机制。 7) 可以界定故障。为了保证网络的畅通,CAN 总线本身可将网络中的故障节 点隔离出去。 目前国内相关的研究起步较晚,全国产化的全自动化学发光免疫分析仪还没 有比较成熟的产品,而国外同类产品的价格又非常昂贵,还需要购买国外的试剂 盒用来做各种测试,直接导致测试成本高,产品整体的价格水平居高不下。同时 对于国内的操作人员来说,国外产品不便修改,灵活性较差。本科研课题的设计 宗旨是实现产品控制简单,便于操作,成本低廉,功能强大,性能稳定,以达到 性价比最优的目的。作为全自动化学发光免疫分析仪重要的加样控制系统,本课 题需要在保证加样精度的前提下,尽可能的加快加样速度。主要的技术成果有: 基于 CAN 通讯的控制系统的设计与实现;利用双闭环的 PID 定位控制算法,实现 了基于 DSP+CPLD 的双三轴运动控制系统的设计等。 本课题设计的加样控制系统的优点:模块化设计,针对加样动作划分基本执 行动作,可以满足各种复杂的加样需求;基于 CAN 的通讯机制,通讯速度快,可 靠性高;能准确完成定位控制,加样速度快,运动平稳,加样精度高;和国外同 类产品比较,价格有大幅降低。1.4 本课题研究的主要内容本课题主要研究全自动化学发光免疫分析仪加样控制系统的设计。加样系统 中主要需要完成准确的定位控制和加样控制两个方面。系统定位控制采用两个三 轴定位的加样臂来完成,加样控制是通过加样针上通过管路连接的精密注射泵来 实现的。加样系统主要控制加样针定位到指定区域吸取样本或试剂,然后定位到 反应杯孔进行添加。在定位完成后,取样和加样都是通过控制注射泵来完成,而-5- 哈尔滨工业大学工程硕士学位论文注射泵通过串口发送命令实现抽取和注射控制,因此本课题的主要研究内容是实 现准确快速的三轴定位控制系统。具体研究内容包括: 1) 分析控制对象所有的控制信号和反馈信号,完成主控系统的原理设计,设 计硬件系统,调试各个功能模块,编写测试程序,完成主控系统的硬件设计。 2) 硬件系统调试完毕后,首先编写功能模块子程序。包括 CAN 通讯程序, 串口收发程序、反馈信息读取程序(X 轴坐标反馈、Y 轴坐标反馈、Z 轴坐标反馈 等) 。 3) 三轴运动控制的实现。先分别完成 X 轴、Y 轴和 Z 轴的运动控制。X 轴的 运动控制要求最高,采用速度环和位置环的双闭环 PID 算法,来满足高速准确的 定位要求。每个轴独立的运动控制完成后,整合 X 轴和 Y 轴的运动控制实现联 动。最后整合坐标计算,完成逻辑位置的定位程序,即定位哪一个区域,哪一个 加样孔的子程序设计,实现与物理坐标无关的定位,便于上位机进行控制。 4) 注射泵控制子程序的设计。注射泵的控制命令较多,包括吸取量、注射 量、阀切换、速度控制等。控制命令也比较长,因此需要根据加样需求编写适合 系统需求的控制子程序,便于取样和加样控制。 5) 主程序架构的设计。控制系统软件的主要流程是接收上位机的命令控制加 样臂的动作,设计思路采用将基本加样动作设计成子程序的形式,接受不同的命 令调用不同的子程序。目前的执行流程不存在脱机执行的情况,因此设计采用接 受一条命令执行一条,通过反馈告知上位机执行完毕再接收新的控制命令的形 式。 本文组织结构如下: 第 2 章主要介绍了全自动化学发光免疫分析仪加样控制系统的总体设计。简 单说明了分析仪的操作原理,根据用户需求设计硬件应具备的功能,然后介绍了 硬件的两大模块设计,重点介绍了核心控制板的设计。最后对软件功能进行了概 要性说明,包括软件操作过程、主体模块的功能介绍和划分的各功能模块等。 第 3 章主要介绍了全自动化学发光免疫分析仪加样控制系统的硬件系统核心 控制板和驱动控制板的设计思路及硬件电路图,对两个模块的主要功能进行了介 绍,着重介绍了核心电路板的功能组成及相关各部分的详细设计。 第 4 章主要介绍了全自动化学发光免疫分析仪加样控制系统的软件系统。首 先介绍了主控软件的层次结构图。然后分别对初始化流程模块、中断子程序模 块、主循环程序模块、CAN 通讯程序模块、串口通讯程序模块以及加样控制程序 模块进行了详细分析,其中详细说明了各个模块的功能和设计思想,并对部分模 块的流程图进行了辅助说明。最后给出了程序主要的结构体定义。 第 5 章主要介绍了全自动化学发光免疫分析仪加样控制系统的测试方法,包-6- 哈尔滨工业大学工程硕士学位论文括测试程序的设计和测试结果的分析等。经过对定位精度,加样速度以及加样精 度的测试,证明该加样控制系统设计符合全自动化学发光免疫分析仪的设计要 求,即产品的各项技术指标均可达到国外同类产品水平,系统完全实现了预期目 标。-7- 哈尔滨工业大学工程硕士学位论文第2章 系统分析及概要设计2.1 系统分析2.1.1 被控对象分析本课题主要研究全自动化学发光免疫分析仪加样控制系统的设计。该仪器的 检测方法主要有 1 步检测、2 步检测和 3 步检测三种方法。根据所作测试不同来选 择不同的检测试剂以及检测方法。以最简单的一步检测方法为例,检测过程如 下: 1) 依次向反应杯中加入待测样本、跟踪试剂以及磁珠。 2) 在 36。C 环境下孵育 10~30 分钟后进行冲洗。 3) 送入测量室加入激发液,测量发光值得到测量结果。 本课题的加样控制系统是该仪器的重要环节,负责吸取待测样本、磁珠、跟 踪试剂、缓冲试剂等添加到反应杯孔中。加样精度和定位精度都要求很高,加样 精度小于 5%,定位精度小于 0.5mm。加样系统主要需要完成准确的定位控制和加 样控制两个方面。系统定位控制采用两个三轴定位的加样臂来完成,加样控制是 通过加样针上通过管路连接的精密注射泵来实现的。左加样臂 左加样针 右加样臂 右加样针光轴图 2-1 加样臂示意图图 2-1 所示的是加样臂定位的示意图。加样系统主要控制加样针定位到指定区 域吸取样本或试剂,然后定位到反应杯孔进行添加。加样针共有 2 个,根据位置 分为左加样针和右加样针,加样针固定在加样臂上,分别对应左加样臂和右加样 臂。加样臂安装在光轴上,通过直流电机带动加样臂进行横向移动,本文规定为 X 轴方向。加样臂上的步进电机可以控制加样针前后移动,规定为 Y 轴方向。同 时加样针固定在一个小型的直流电机上,可以进行上下移动,规定为 Z 轴方向。 因此每个加样针的定位是通过 3 个电机来进行控制的,整个加样控制系统定位有 6-8- 哈尔滨工业大学工程硕士学位论文个电机,其中直流电机 4 个,步进电机 2 个。 图 2-2 所示的为加样区域示意图,样本区存放的是待检样本试管(可放置试管 12 行 12 列共 144 个样本) ,试剂区存放检测添加的试剂盒(可放置 16 个试剂盒, 每个试剂盒最多有 7 种成分包括磁珠、试剂、缓冲试剂等) 。样本区和试剂区都是 加样针进行吸取动作的地方,而加样区域是添加动作的地方。加样区域有 3 个: 左加样位置、孵育加样位置和右加样位置,对应反应杯传送通道的相应位置,每 个反应杯有 6 个杯孔。左清洗位置和右清洗位置分别对应左右针的清洗区域,避 免样本或试剂的交叉污染。Z轴 X轴左加样区 Y轴孵育加样区 右加样区右清洗区域 左清洗区域 样本区试剂区图 2-2 加样区域示意图2.1.2 控制系统的技术需求全自动化学发光分析仪整体的控制由嵌入式工控机来协调控制,加样控制系 统是一个相对独立的子系统,与其他控制子系统一起完成化学发光免疫分析的流 程控制。 根据分析仪设备的总体要求,加样控制系统主要需要完成的技术指标有: 1) 加样速度。需要满足每小时 200 个的测试通量,要求完成一个复杂的取样 加样流程不能超过 18S 以内。这个复杂加样流程包含冲洗、定位样本区、吸取样 本、定位试剂区、吸取试剂、吸取磁珠、定位至样本区、添加样本,添加试剂, 抽吸混匀等所全部的流程。影响加样速度的主要因素有通讯响应速度,三轴定位 的运动速度,加样泵动作的速度等。 2) 定位精度。取样加样位置对加样精度要求较高,定位精度要达到 0.5mm。-9- 哈尔滨工业大学工程硕士学位论文其中 X 轴对定位要求最高,其运动距离最远,负载最重。 3) 加样精度。加样精度也是测量非常关键的因素,超过 5%的加样误差会对 测量结果产生较大的影响。2.1.3 系统的需求分析和实现的功能通过上述分析,本文设计的控制系统需要实现两个独立的三轴定位控制系 统,以及精确的样本添加控制系统。控制系统需要与上位机控制软件进行通讯, 需要实现可靠的通讯系统及通讯机制。 分析系统需要实现的三轴定位系统,控制速度以及控制精度都是非常重要的 技术指标,同时加样动作需要实现高度的灵活性,可以自主设计特定的运动动作 和运动轨迹。被控对象共有 6 个电机,其中直流电机 4 个,步进电机 2 个。需要 4 对 PWM 控制信号和 2 个频率输出信号。每个电机都有光电编码器反馈,需要配备 6 个相应的解码和计数单元。本文采用基于 DSP 的实现方案,选择在工业控制领 域应用广泛的 TI 公司的高性能处理器 TMS320F2812 作为主控单元,该处理器运 算速度快,具有丰富的控制接口:多达 12 个的 PWM 输出,2 组光电编码器计数 接口,3 个定时器等。配备 CPLD 扩充辅助逻辑来满足控制系统的设计需求。控制 系统控制电机的信号有:4 对 PWM 输出和两路频率信号输出,以及 6 个光电编码 器译码及计数单元。 样本添加控制系统需要通过高精度的注射泵来进行控制,系统选用串口控制 的成熟的高精度注射泵实现,左、右加样臂共需要两个注射泵。选用成品的注射 泵,该产品经过广泛的测试,加样精度可靠,控制方式简单。控制系统通过两个 的串口进行连接即可,系统使用 TMS320F2812 的两个串口经电平隔离与两个注射 泵连接进行控制。 通讯控制系统需要可靠性高,传输速度高,选用目前应用广泛的控制局域网 CAN 总线实现控制系统与 PC 机的通讯。TMS320F2812 集成了 CAN 控制器,经 过电平转换即可满足系统需求。 多轴运动控制系统,控制程序需要同时执行多组 PID 运算,执行大量运算, 需要比较大的暂存单元。因此系统需要外扩 FLASH 和 RAM,用于存放程序和运 算中间结果。 因此,系统硬件实现的主要功能包括:基于 DSP 和 CPLD 的控制系统,需要 输出 4 对 PWM 信号,2 组频率信号,相应的需要配备驱动电路用于控制相应的直 流电机和交流电机;6 组光电编码器信号输入,经过电平隔离输入 DSP 和 CPLD; 2 路串口输出,用于控制注射泵;外扩 FLASH 和 RAM 用于存储程序和运算中间- 10 - 哈尔滨工业大学工程硕士学位论文结果;一路 CAN 信号与 PC 机通讯。 相应的控制软件应该包含,定位控制程序、PID 运算程序、加样控制程序、码 盘计数程序、串口通讯程序和 CAN 通讯程序等。2.2 控制系统的概要设计2.2.1 控制系统的功能分析根据技术要求以及控制系统的需求分析,分析仪加样控制系统主要的功能应 该包括: 1) CAN 通讯功能。嵌入式工控机通过 CAN 总线与加样控制子系统以及其他 控制子系统通讯。加样控制子系统通过 CAN 总线接收工控机发来的加样动作命 令,执行相应的加样动作,并反馈加样控制系统当前的执行状态。 2) 高速、精确的三轴加样臂的运动控制。三个运动轴分别为 X,Y 和 Z 轴, X 轴的负载最大,需要带动整个加样臂进行横向移动,其特点是负载重且运动距 离远,单个加样臂重量接近 3KG,最大运动距离 1.3m,因此控制要求较高;Y 轴 负载重量不足 1KG,最大运动距离 0.8m;Z 轴负载最小,不足 0.5KG,最大运动 距离短 0.4m。三个运动轴均为闭环系统,配备码盘用于反馈移动距离。三个运动 轴都装有限位开关用于运动保护,避免越过保护位置发生碰撞,限位开关同时作 为各个轴的零位,在系统开机后确定初始位置。 3) 精确的加样量控制。加样量控制通过国外的高性能的加样注射泵来实现定 量控制。注射泵通过串口与 DSP 通讯,通过串口发出各种控制命令和设置命令, 包括泵的吸取、排出、阀动作切换等。2.2.2 控制系统硬件设计分析分析整个系统可以确定主要控制对象有 X 轴和 Z 轴的直流电机各 2 个,Y 轴 的步进电机 2 个。配备光电编码器接口 6 个,限位开关 6 个,用于控制注射泵的 SCI 串行口 2 个。PC 机与主控系统之间通过 CAN 总线进行通讯。 根据全自动化学发光分析仪加样控制系统的需求,对需求进行分析,加样控 制系统主控系统由核心板和驱动扩展板构成,其主控系统构成图如图 2-3 所示。- 11 - 哈尔滨工业大学工程硕士学位论文左臂X轴电机左臂X轴驱动右臂X轴驱动右臂X轴电机左臂X轴码盘 左臂X轴限位码盘反馈 IO输入 F2812+ CPLD 核心板码盘反馈 IO输入右臂X轴码盘 右臂X轴限位左臂YZ驱动左臂YZ控制左臂YX控制右臂YZ驱动左加样泵串口1 IO扩展1串口2 IO扩展2右加样泵工控机CAN总线 驱动扩展板电源图 2-3 主控系统的硬件结构图2.2.2.1 核心电路板的设计 核心控制板是以 TMS320F2812 处理器为核心,其功能结构图如图 2-4 所示。 芯片主要性能如下: 1) 采用高性能静态 CMOS(Static CMOS)技术,时钟频率可达 150MHz。 2) 高性能的 32 位中央处理器,支持 16 位× 16 位和 32 位× 32 位乘且累加操 作。 3) 采用哈佛总线结构。 4) 片内存储器 8K× 16 位的 Flash 存储器, 2 块 4K× 16 位的随机存储器 (SARAM) ,1 块 8K× 16 位的随机存储器。 5) 具有外部存储器接口,用于扩展外部存储器。 6) 支持外部中断扩展,最多可支持 96 个外部中断。 7) 3 个 32 位的 CPU 定时器。 8) 2 个事件管理器(EVA、EVB) 。 9) 2 个串行通信接口(SCIs) ,标准的 UART。 10) 改进的局域网络(eCAN) 。- 12 - 哈尔滨工业大学工程硕士学位论文11) 最多可有 56 个独立的可编程、通用输入/输出(GPIO)引脚。图 2-4 TMS320F2812 功能框图核心控制板的组成框图如图 2-5 所示。核心板以 TMS320F2812 为核心,使用 EPM1270 可编程逻辑器件扩展端口及实现辅助逻辑,外扩 512KX16 位 RAM 用于 存放中间运算结果,扩展 256KX16 位 FLASH 用于存储控制相关参数等。核心板 输出 4 路 PWM 信号用于控制两路 X 轴和两路 Z 轴的直流电机,两路 Y 轴的步进 电机由 CPLD 扩展输出的频率信号进行控制。TMS320F2812 芯片集成了两路光电 编码器译码计数接口,用于 X 轴光电编码反馈, Y 轴和 Z 轴的光电编码器由 CPLD 完成译码和计数功能。F2812 的两个 SCI 串行口分别用于控制左右臂的两个 注射泵。CAN 总线用于与主机以及其他处理单元的通讯。- 13 - 哈尔滨工业大学工程硕士学位论文核心 电路板数据总线16PWM输出×4控制总线输入/输出 TMS320F2812 CPLD SCI接口×2 RAM FLASH 光电编码×4光电编码×2扩展I/O 频率输出×2CAN总线地址总线19图 2-5 核心板组成框图2.2.2.2 驱动扩展板的设计 驱动扩展版的功能主要是完成直流电机驱动、步进电机驱动、输入信号滤 波、输入输出信号的电平转换和隔离以及电源管理等。其组成框图如图 2-6 所示。 X 轴使用 24V 的 MAXON 直流伺服电机,控制方式采用脉宽调制方式进行调 速控制,选择了芯片 L6505 和 L6201 芯片进行驱动;Y 轴使用的是 24V 的步进电 机,使用方向信号和脉冲频率来控制电机的转向和转速,驱动选择了东芝公司生 产的 TB6560 步进电机专用驱动芯片。 由于控制板上的控制信号来自核心版上的 DSP 和 CPLD,此两者都是 3.3V 的 输出电平,而扩展版上的控制芯片大都是 5V 芯片,而电机驱动更是使用了 24V 的电源供电,所以转接板设计采用 LM 设计了稳定的 5V 供电电路,采用 SN74LV4245 对核心板和转接板信号进行电平转换。- 14 - 哈尔滨工业大学工程硕士学位论文I/O QEP电平转换 电平转换 直流电机 驱动 步进电机 驱动 232电平 转换 CAN总线 收发器 其他驱动限位开关信号 码盘信号电机限位 开关 六个码盘 四个直流 电机 两个步进 电机PWMPWM核心板时钟信号 SCI CAN时钟信号驱动扩展板I/O其他开关量图 2-6 扩展板结构框图2.2.3 控制系统软件概要设计加样控制系统的软件工作流程为,首先 CAN 控制器从上位机接收到一条加样 动作指令,主控程序判断当前加样臂处于空闲状态,就根据该加样指令,执行相 应的加样动作。加样动作的完成是由一系列的子动作组合完成的。以左臂加样为 例,主要的加样子动作包括左臂 Z 轴复位、左臂 X、Y 轴联动定位、左臂加样泵 冲洗、左臂加样泵抽取定量液体、左臂加样泵添加定量液体。考虑到加样控制有 很多的位置参数和控制参数,需要用 FLASH 进行存储,还应该包含 FLASH 读写 功能。 分析控制要求及硬件的总体设计,加样控制系统的控制程序主要包括 CAN 通 讯模块,FLASH 读写模块,取样及加样子程序模块。其中取样及加样子程序模块 包括定时器处理模块,PID 运算模块,位置计算模块,速度计算模块,错误判断及 处理模块等。综上,加样控制系统的控制程序主要的模块如图 2-7 所示。 CAN 通讯模块是用来接收上位机命令,通知主程序执行相应加样子程序,反 馈控制系统的执行状态。 定时器处理模块包括了定时检测各传感器状态,计算各运动轴的电机位置, 反馈给主程序,进行 PID 运算,更新 PID 输出等。 PID 运算模块是用来设计速度环及位置环的双闭环 PID 算法的,来满足高速- 15 - 哈尔滨工业大学工程硕士学位论文及精确的运动控制要求。位置环的输出给速度环的输入,速度环的输出控制电机 转速。 位置计算模块可根据 DSP 的码盘解码单元(QEP)输出的脉冲值,计算各个 运动轴电机当前的位置,并反馈给位置环 PID 的反馈输入。 速度计算模块是用来根据定时器间隔期间的位置变化,计算电机运动速度, 反馈给速度环的反馈输入。 FLASH 读写模块是用来读取和存储控制系统的控制参数。 错误判断及处理模块可实时检测运动状态,一旦运动中出现故障,进行故障 判断及信息反馈。对于严重的故障要进行停机处理,避免发生事故。主程序CAN 通讯FLASH 读写取样、加样子程序定位子程序注射泵控制子程序串口通讯 X 轴、Y 轴联动 Z 轴运动PID计算 子程序X轴位置计算Y轴位置计算Z轴位置计算图 2-7 主控软件结构图2.3 本章小结本章首先介绍全自动化学发光免疫分析仪加样控制系统操作原理。根据用户 需求设计硬件应具备的功能,然后介绍了硬件的两大模块设计,重点介绍了核心 控制板的设计。最后对加样控制系统的软件概要设计进行了介绍。介绍的内容包 括软件的工作流程,控制程序包涵的若干模块及各模块的功能说明。- 16 - 哈尔滨工业大学工程硕士学位论文第3章 控制系统的硬件设计与实现3.1 核心控制板的电路设计与实现控制系统选用 TMS320F2812 为核心,需要控制的电机包含有 4 个直流电机和 2 个步进电机。TMS320F2812 有 6 对 PWM 输出,可以控制 6 个直流电机,因此 直流电机的 PWM 控制已经满足。6 个电机需要 6 个 QEP 单元的输入,而 DSP 芯 片只有 2 路 QEP 单元,需要扩充 QEP 解码及计数电路。考虑到还有其他辅助电路 需要,系统选用 EPM1270 的 CPLD 实现辅助逻辑及 QEP 计数功能。 核心板主要原理图包括 TMS320F2812 芯片的连接图、CPLD 信号连接图、存 储器扩展连接图、电源原理图和扩展插槽原理图五部分。 TMS320F2812 芯片的连接图如图 3-1 所示。扩展总线引出用于扩展 RAM 和 FLASH、读写 CPLD 内的寄存器等。芯片内核电压 1.9V,外围工作电压 3.3V,在 本设计中没有 A/D 转换,因此模拟电压 3.3V 由数字电压 3.3V 经磁珠隔离后接到 模拟电压 3.3V 侧;事件管理器接口大部分信号都被引出,包括 PWM 输出、QEP 引脚(光电编码器接口) 、串行口 SCI、CAN 通讯口等;数据线、地址线以及基本 总线控制信号是 F2812 的外扩总线,用于连接外扩 RAM 和 FLASH,同时用于扩 展外部接口。本图中总线信号引出,分别连接到扩展 RAM、FLASH 和 CPLD 器 件上,实现存储区域扩展以及端口和辅助逻辑的扩展,相应的地址空间选择由 CS0,CS2 和 CS6 进行选择;图中 J1 是 F2812 的 JTAG 接口,用于 TMS320F2812 的程序下载和在线调试;此外,考虑到系统的可靠性,选用外部 30Mhz 的有源晶 振作为处理器的时钟源。- 17 - TMS320F2812GEMU1 T3PWM T4PWMEMU0TDOTDITMSTTRSTXA18XA17XA16XA15XA14XA13XA12XA11XA10XXXXXXXXXXC A A A A A A A A A ANKD9 PWM1 PWM2 PWM3 PWM4 PWM5 PWM6 T1PWM T2PWM QEP1A QEP1B QEP1I C1TRIP C2TRIP C3TRIP PWM7 PWM8 PWM9 PWM10 QEP2A QEP2B QEP2I C4TRIP C5TRIP C6TRIP T2TRIP T1TRIP876543210111111111111111111111113 8 8 4 16643232335554443332211004 5 0 3 8676771665862841820518183TMS320F2812U1A1111111111111999990 4 4 4 4 4 5 5 5 5 5 6 7 7 6 60000011222611TESTSEL 2 3 4 5 8 1 5 6 7 8 9 0 3 5 7 9 0 1 2 1 2 2 4 6 7 9 6 7 2 3 4TEST2TEST1EMU1EMU0TDOTDITMSTTRSTXA18XA17XA16XA15XA14XA13XA12XA11XA10XXXXXXXXXX350C A A A A A A A A A AK9876543210U1DPWM1PWM2PWM3PWM4PWM5PWM6T2PWM_T2CMPT2PWM_T2CMPCAP1_QEP1CAP2_QEP2CAP3_QEP11TDIRATCLKINAC1TRIPC2TRIPC3TRIPPWM7PWM8PWM9PWM10PWM11PWM12T3PWM_T3CMPT4PWM_T4CMPCAP4_QEP3CAP5_QEP4CAP6_QEP12TDIRBTCLKINBC4TRIPC5TRIPC6TRIPT2CTRIPT1CTRIPXZCS6AND7XZCS0AND1X1/XCLKINXCLKOUTXHOLDA XREADYXMP/MCXHOLDXZCS2XWEXD15XD14XD13XD12XD11XD10XRD X X X X X X X X X XXINT2_ADCSOCXRSR/WX D D D D D D D D D DXNMI_XINT132 9 8 7 6 5 4 3 2 1 0XF_XPLLDISXINT1_XBIOSPISOMIASPISIMOASCIRXDBSCITXDBMCLKRAMCLKXA CANRXA CANTXASCIRXDASCITXDA SPICLKASPISTEA7711154881118411997766533332226 MSFRA MDXA MDRA 976171224563844376438549630741MFSXAT4TRIPT3TRIP099137XCLKOUT/RSTR/W/XRD/XHOLDA/XWE/XHOLDXREADY/CS6/CS2/CS0XD15XD14XD13XD12XD11XD10XXXXXXXXXXDDDDDDDDDD99122222288113344111879 1 0 4 0 2 9 6 5 88765432109755541055439075019CANRXACANTXASPISTEASPICLKASIMIASIMOAT4TRIPT3TRIP1k RXD2 TXD2 XF_XPLLDISRXD1TXD1NMIINT2INT1GAIN5AIN6AIN7AIN8AIN1AIN2AIN3AIN4NR21哈尔滨工业大学工程硕士学位论文图 3-1 TMS320F2812 信号连接原理图- 18 1 1 1 1 1 1 1 1 7 7 7 7 7 6 6 6 2 3 4 5 6 7 8 9 4 3 2 1 0 9 8 7 TMS320F2812 U1C ADCINB0 ADCINB1 ADCINB2 ADCINB3 ADCINB4 ADCINB5 ADCINB6 ADCINB7 ADCINA0 ADCINA1 ADCINA2 ADCINA3 ADCINA4 ADCINA5 ADCINA6 ADCINA7 ADCBGREFIN AVDDREFBG ADCRESEXT AVSSREFBG NMI INT2 INT1 /RST XF_XPLLDIS ADCREFM ADCREFP ADGLO V V VSSA2 VSSA1 V D D VSS1 D D D D A A G 1 2 1 N D 1 1 1 1 1 1 1 1 1 1 1 1 1 6 6 5 2 0 1 6 6 7 6 6 4 3 3 5 4 5 2 6 4.7k 4.7k 4.7k 4.7k 4.7k 1 C DV1.9 0 2 4 A AV3.3 G N 1 C 0 1 D 4 R16 R15 R14 R13 R12 A A G G N DV3.3 N D D 24.9K R 1D31DV3.3晶X振OUTPUT/INH11R0 2 EMU0 T TDO DV3.3 TDI TMSkCKVGDNDDJTAGJ111975314231111R23420 8642GND03C33uTRSTFEMU1DV3.3DV3.31R0 3k 哈尔滨工业大学工程硕士学位论文CPLD 选用 ALTERA 公司的 EPM1270 的芯片,信号连接如图 3-2 所示。图中 XA[14..0]连接 F2812 的外部地址线,XD[15..0]连接 F2812 的数据线,经总线扩展 EPM1270 内部实现端口扩展、步进电机控制器、光电编码译码计数器等逻辑电 路。CPLD 的逻辑实现选用 VHDL 硬件描述语言进行设计。O U T 9O U T 8O U T 7O U T 6O U T 5O U T 4O U T 3O U T 2O U T 1I N 1I N 2I N 3I N 4I N 5 X C P L W K T 3I N 6I N 7I N 8I N 9I N 1 0I N 1 1I N 1 2I N 1 3I N 1 4I N 1 5I N 1 6I N 1 7I N 1 8I N 1 9U2BU2D1 01 01 01 01 01 01 01 09 89 79 69 59 49 39 O 18 M 98 88 78 68 58 48 18 07 97 87 77 67 57 47 3OUT1010972IN2087654321 UIOIOTOUT1111071IN21IOIOI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OI OOUT1211170IN22IOIOOUT1311269IN23IOIOOUT1411368IN24IOIOOUT1511467IN25II BIOIOOOOUT1611766IN26//IOOUT17118U2CIOOUT18119EPM1270T144I5IOOUT19120IOOUT20121IOOUT21122IOOUT22123IOOUT23124IOOUT24125IOOUT25127IOOUT26129IOOUT27130IOOUT28131IOXREADY132IO/RST133IOINT2134U2AIO1372IOT4PWM138KIO139NIOINT1140AIOBC1TRIP141IOC2TRIP142IOC3TRIP143IOPWM6144IOM54321E34M543DWI11W1110123456MMMMM07PWEPM1270T144I5RP12WSMAADDDAAAAAAA2WWWWWXXCNXXXX1/XXXXXXAXXX图 3-2 EPM1270 信号连接原理图存储器扩展的原理图如图 3-3 所示,RAM 芯片选择 IS61LV25616 芯片,容量 为 256KX16 位 , 对 应 地 址 空 间 为 0xx140000H 。 FLASH 芯 片 选 择 SST39VF800 芯片,容量为 512KX16 位,对应地址空间为 0x000H。- 19 -XRTTPPPPP///DBAAI I O O 3 4NI OKI O 1 23IOG C L K 3G63IN27C NIOL62IN28KKIO61IN292 4IO/DEV_CLRn60IN30IO/DEV_OE59PWM7IO58PWM8IO57PWM9IO55PWM10IO53C4TRIPIO52C5TRIPIO51C6TRIPIO50XD7IO49XD6IO48XD5IOEPM1270T144I545XD4IO44XD3IOBANK143XD2IO42XD1IO41XD0IO40XD8IO39XD9IO38XD10III OI OI OI OI OI OI OI OI OI O O O / G C / G CI OI OI OI OI OI OI OI OI OIIOO37XD11IO5678 L L 1 1 1 2 1 3 1 4 1 5 1 6 1 K 8 0 2 K 0 1 2 1 2 2 2 3 2 4 2 7 2 8 2 9 3 0 3 1 3EPM1270T144I52 GN4D 7Du C14 4 VF7 5u C11 /XRD /XWE /CS6 XA17 XA16 XA15 XA14 XA13 XA12 XA11 XA10 X X X X X X X X X XG D FN V A A A A A A A A A AD 5 9 8 7 6 5 4 3 2 1 0G0.1uFC15N0.1uFDC18 0.1uFC12GN34414442222222211D71.5k 9 0 1 7 6 4 3 2 7 6 5 4 3 2 1 0 9 8 5 4 3R11210R6G IS61LV25616ALUNDLUOWCA17A16A15A14A13A12A11A10AAAAAAAAAA3B B E 9 8 7 6 5 4E32102111111E1 9 6 5 40784TPS54310UA 4 6 1 3 2RVBIASSS/ENPWRGDSYNCVIN3VIN2VIN16GTN TPS62040 G UD 5 VIN1NGMODEEVIN2DNNDVSENSEPGND3PGND2PGND1COMP BOOTPH5PH4PH3PH2PH1PGNDPGNDSSF W W1 B11235198763 G G210I/O15I/O14I/O13I/O12I/O11I/O10VCCVCC I/O9I/O8I/O7I/O6I/O5I/O4I/O3I/O2I/O1I/O0GNNN 9 D D 1 5 7 8D00.047uFC1310.2K1%R1031313333333211111987423187652109654308219.6kR0C197pf1CXD15XD14XD13XD12XD11XD10XXXXXXXXXX3.3uHL0 614BAT3.3DDDDDDDDDD33.3uHL987654321092p 1 CC20f0 745图 3-3 存储器扩展原理图哈尔滨工业大学工程硕士学位论文芯片保证芯片电压未稳定前,保证复位信号有效。电源电路原理图如图 3-4 所示。电源稳压芯片选用 TI 公司的 TPS54310 和 TPS62040 芯片,同时选用 TPS3305图 3-4 电源电路原理图- 20 /CS2 DV1.9 G N D 2 6 DV3.3 /CE /OE 9 N C 1 0 DV1.9 N C 1 165K 1% R 1 C 6 4 0 8 5 0 K p F 1 2 N C 1 3 N C 3 C10 1 4 3 u N C F 1 5 N C G 4 7 N N C D S W S 4 464K 1% R 3 C 1 5 6 3 9 4 p K F /EXT_RST DV1.961.43kR0C218p/XRD/XWEfXA18XA17XA16XA15XA14XA13XA12XA11XA10XXXXXXXXXX27.4k27.4K1%RAAAAAAAAAA998765432104C1672111411222222uF8167812345678 89012345GNSST39VF800UD/WEA18A17A16A15A14A13A12A11A10AAAAAAAAAA40.1uFC179876543210GND4321tps3305UGWDISENSE2SENSE17NDQ15DQ14DQ13DQ12DQ11DQ10GVCCDDDDDDDDDDDNQQQQQQQQQQD9876543210V/RSTRST/MR2434443333344433332D7675319642042085319D5678DV3.31CXD15XD14XD13XD12XD11XD10XXXXXXXXXX/RST0 5DDDDDDDDDDDV3.349876543210 G DN VPWM_7PWM_8PWM_9PWM_10D 2 R23 53.3nFC350计。K G N XR2 XR1 XL2 XL1 D 1 0 9 8 7 6 5 4 3 2 1 L6506D U16 ENDRIVER N G IN4 IN3 IN2 IN1 POWEREN SYNC OSC R/C C N D G N VSENSE2 VSENSE D G D OUT4 OUT3 OUT2 OUT1 N V R26 N 5 2 VCC REF1 REF2 D 2.26K R28 0 C K 1 0 1 C36 1 1 1 1 1 1 1 1 2 0 1 2 3 4 5 6 7 8 9 0 n F G N D D 1 C44 V 0 5 0 n F G G N N G G D D N N 1 C47 1 C39 n D n D F F 2.26K R29 2.26K R24 2 2 2 2 0 C42 C33 0 n n F F G G N N R30 R25 D 0.1 0.1 D G G G G N N N N D D D D动。3.3 本章小结的原理图如图 3-5 所示。3.2 驱动板的电路设计与实现哈尔滨工业大学工程硕士学位论文图 3-5 X 轴驱动原理图本章首先分析了硬件系统核心控制板和驱动控制板的设计思路及硬件电路图,对各模块进行介绍,着重介绍了核心电路板的功能组成及各部分的详细设信号经过 L6506 送至两个全桥驱动芯片 L6201 进行驱动后,控制直流电机的运加样臂 X 轴使用 24V 的 MAXON 直流伺服电机,控制方式采用脉宽调制方式进行调速控制,选择了芯片 L6505 和 L6201 芯片进行驱动。驱动板 X 轴驱动控制L6506 是带电流检测的线性集成电路,两个加样臂 X 轴电机控制的 4 路 PWM- 21 G G N N D D 2 C40 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 0 u l6201p U17 l6201p G N IN2 BOOT2 VREF SENSE ENABLE N N G G N IN2 BOOT2 VREF SENSE ENABLE N N G N C C C N 24VB N C C C N D D D D BOOT1 BOOT1 OUT1 OUT2 OUT1 OUT2 G G G G N N V N N IN1 N G N N IN1 N V N N D C S C C D N D C S C C D D 1 9 8 7 6 5 4 3 2 1 1 9 8 7 6 5 4 3 2 1 0 0 G G N 1 24VB C41 N D 0 D 0 n F 24VB 1 C45 1 C43 1 C37 1 C34 0 0 0 0 n n n n F F F F R27 R22 4.7 4.7 1 C46 1 C38 0 0 n n F F G G N N D D Diode D Diode D 9 7 G G N N D D Diode D10 Diode D 8 Header 2 P Header 2 P 2 1 6 2 1 52C3120uFU1524VAGND24VA0.1uFC3224VA 哈尔滨工业大学工程硕士学位论文第4章 主控软件的设计与实现主控程序的设计思路是将周期性的 PID 运算(20Khz 的控制频率)放到 50us 的定时器中断中进行处理,相应的位置计算和速度计算都在 PID 运算过程中进行 计算,保证 PID 控制频率。CAN 通讯的命令读取在 FIFO 中几个时钟周期就可以 完成,采用 CAN 接收中断的方式进行处理,通过命令数组传送给循环处理主程 序。主程序分析命令,并执行相应的动作,反馈执行状态给上位机。4.1 主程序的设计与实现4.1.1 主程序的设计主控程序的主要函数结构图如图 4-1 所示。 InitSysCtrl 初始化系统控制,包括 DisableDog、InitPeripheralClocks 和 InitPll 三个主要函数。DisableDog 用于关闭看门狗,避免执行过程中 DSP 复位,InitPll 用于设置 CPU 的工作频率为 120Mhz,输入晶振为 30Mhz,需要进行倍频设置。 InitPeripheralClocks 用于初始化外围时钟频率:高速总线工作频率和低速总线工作 频率的设置,CAN 时钟使能,串口时钟使能等; InitPieCtrl 初始化中断控制寄存器,关中断,清除所有的中断使能寄存器,清 除所有的中断标志寄存器; InitPieVectTable 清除中断向量表; InitXintf 配置外部总线的时序; MemCopy 将部分 FLASH 中的程序拷贝到内存中执行; InitFlash 使能 FLASH 流水线模式,提高程序执行效率; InitEcan CAN 模块初始化; InitSci_fifo:初始化串口; Init_Process():加样控制系统初始化,包括控制参数读取,运行状态复位等; MainISR():主定时器中断; Arm_action 主循环函数,接收到新的上位机命令,执行该命令,并反馈控制 系统的执行状态。工作模式是接收一条指令,执行一条。在指令执行期间不接收 新的指令。- 22 - 哈尔滨工业大学工程硕士学位论文初始化系统控制 InitSysCtrl关闭看门狗 DisableDog初始化外围总线 InitXintf初始化时钟 InitPll初始化中断控制 InitPieCtrl初始化外围时钟 InitPeripheralClocks初始化中断向量表 InitPieVectTable 主程序 Main错误发送 Error_Send初始化FLASH InitFlash事件管理器1PWM初始化 F281X_EV1_BDC_PWM_Init事件管理器2PWM初始化 F281X_EV2_BDC_PWM_Init 存储器拷贝 MemCopyFLASH读取 FlashRead初始化CAN控制器 InitECan初始化参数表 InitSaveTemp初始化串口 InitSci_fifo延时 Loop_Us初始化控制系统 Init_Process参数读取 Para_load动作执行 Arm_actionPID参数设置 Para_load_pid图 4-1 主程序结构图Arm_action 函数是程序的主函数,其结构图如图 4-2 所示。Arm_action 函数包 含了涵盖了所有的加样动作子程序。比如 Z 轴运动,XY 联动定位,加样泵吸取, 加样泵添加,同时还包含了错误检测和报告等程序。- 23 - 哈尔滨工业大学工程硕士学位论文Can发送程序 Mailbox_trans_FIFO 双臂Z轴初始化 Bothz_init错误处理及反馈 Error_Send左臂移动至坐标 Left_Move加样臂初始化 Allinit右臂移动至坐标 Right_Move左臂冲洗 Left_Wash左臂Z轴运动(液位检测) Zl_move右臂冲洗 Right_Wash左臂加样泵命令 Left_Pump_cmd左右臂冲洗 Both_Wash右臂Z轴运动(液位检测) Zr_move左臂定位 Left_Positon右臂加样泵命令 Right_Pump_cmd动作执行函数 Arm_Action双臂加样 ArmCC10左臂Z轴归位 Zl_Iint右臂定位 Right_Position右臂Z轴归位 Zr_Init右臂初始化 Right_Iint左臂加样泵命令发送 Knfa_Send左臂初始化 Left_Init右臂加样泵命令发送 Knfb_Send左臂吸取 Left_Suck双臂同时定位 Both_position右臂吸取 Right_Suck错误信息反馈 Error_Send左臂添加 Left_pip双臂冲洗 Both_Wash右臂添加 Right_pip双臂Z轴初始化 Bothz_Init图 4-2 主函数结构图- 24 - 哈尔滨工业大学工程硕士学位论文4.1.2 主程序的实现程序初始化执行流程图如图 4-3 所示。开始 初始化系统控制 通用端口配置 关中断 初始化中断 设置中断向量表配置外围总线时序 拷贝程序段到内存 FLASH流水功能开启 初始化CAN 初始化串口 设置定时器中断 PID及其他参数读取 开中断接收到 上位机命令? 是 执行动作 反馈状态 否否状态错误? 是 错误反馈 结束图 4-3 程序初始化流程图- 25 - 哈尔滨工业大学工程硕士学位论文在 DSP 启动或重启后,首先要执行必要的初始化设置,包括 CPU 工作时钟设 置;芯片高速总线、低速总线的时序设置,外部总线时序设置;中断设置及中断 向量表设置;串口使能及波特率设置;CAN 总线使能及收发设置;定时器中断设 置;PID 参数设置;开中断,进入主循环程序。4.2 CAN 通讯模块的设计与实现4.2.1 CAN 通讯模块的设计CAN 通讯模块负责接收上位机命令,向上位机反馈加样系统状态信息。 CAN 接收采用中断模式,提高系统执行效率。 CAN 通讯程序包括三个子程序:初始化子程序、CAN 发送子程序和 CAN 接 收子程序。子程序说明如表 4-1 所示。程序名 void InitECan(void) void mailbox_trans(Uint32 messageL,Uint32 messageH) void mailbox_read(int16 MBXnbr) 表 4-1 CAN 通讯子程序列表 功能 说明 初始化 CAN 配置发送邮箱和接收邮箱、初始化波 功能 特率,配置引脚、配置接收中断等 消息发送子程序 消息接收子程序 C AN 发送,一次发送 8 个字节共 64 位 CAN 消息接收,参数为接收邮箱号4.2.2 CAN 通讯模块的实现CAN 初始化子程序流程图如图 4-4 所示。系统首先要使能 F2812 的 CAN_TX 和 CAN_RX 功能引脚,否则这两个引脚只能作为通用引脚使用,随后配置 CAN 控制器使能 F2812 的 CAN 控制器功能,配置 CAN 的工作模式,使能 CAN 接收中 断,清除 CAN 发送标志位,设置为 1Mbit/s 的数据传输率,设置发送和接收的消 息邮箱,最后复位相应的接收邮箱 CAN 控制器的初始化过程就完成了。 CAN 通讯的发送和接收函数都比较简单,只需将消息送入相应的发送邮箱, 或从接收邮箱提取消息,清除相应标志即可。 CAN 通讯模块与上位机进行通讯,还需要有通讯的命令格式,根据系统需求 以及上位机对下位机执行动作的划分。 通讯协议主要包含给出了上位机通知控制系统的的基本动作命令、组合动作 命令、获取参数及状态的命令等。- 26 - 哈尔滨工业大学工程硕士学位论文开始使能CAN收发引脚配置寄存器 使能CAN功能配置CAN工作模式配置CAN中断复位CAN邮箱控制字清除发送位CAN时间参数配置使能发送和接收邮箱 设置邮箱ID复位接收邮箱数据结束图 4-4 CAN 初始化子程序流程图- 27 - 哈尔滨工业大学工程硕士学位论文4.3 FLASH 读写模块的设计与实现4.3.1 FLASH 读写模块的设计该模块主要用来存储各个定位位置的坐标值,在系统进行定位矫正时可以修 改对应的存储数值。FLASH 存储的参数表如表 4-2 所示。主要的目的是存储各个 取样和加样位置的坐标值,在开机初始化后可以自动定位到目标位置。序号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 参数 LeftPaStartx LeftPaStarty LeftPaEndx LeftPaEndy LeftPaTotalx LeftPaTotaly LeftPaZmax LeftPaFlag LeftReStartx LeftReStarty LeftReDeltax LeftReTotaly LeftReZmax7 LeftReZmax4 LeftReZmax1 LeftReFlag LeftLIStartx 表 4-2 FLASH 存储参数表 参数描述 序号 参数 左臂样本区 X 40 RightPaStartx 起始位置 左臂样本区 Y 41 RightPaStarty 起始位置 左臂样本区 X 42 RightPaTotalx 最大位置 左臂样本区 Y 43 RightPaTotaly 最大位置 左臂样本区 x 44 保留 轴总行程 左臂样本区 y 45 保留 轴总行程 左臂样本区 z 46 RightPaZmax 轴最大值 左臂样本区设 47 RightPaFlag 置标志 左臂试剂区 x 48 RightReStartx 起始 左臂试剂区 y 49 RightReStarty 起始 左臂试剂区 x 50 RightReDeltax 差值 左臂试剂区 y 51 RightReTotaly 总行程 左臂试剂区 52 RightReZmax7 (7)zmax 左臂试剂区 53 RightReZmax4 (456)zmax 右臂试剂区 54 RightReZmax1 (123)zmax 左臂试剂区设 55 RightReFlag 置标志 左臂左加样 1 56 RightLIStartx 槽 x 坐标- 28 -参数描述 右臂样本区 X 最大位置 右臂样本区 Y 最大位置 右臂样本区 x 差 值 右臂样本区 y 差 值右臂样本区 z 轴 最大值 右臂样本区设置 标志 右臂试剂区 X 起始位置 右臂试剂区 Y 起始位置 右臂试剂区 x 轴 差值 右臂试剂区 y 轴 总行程 右 臂 试 剂 区 (7)zmax 右 臂 试 剂 区 (456)zmax 右 臂 试 剂 区 (123)zmax 右臂试剂区设置 标志 右臂左加样 x 起 始 哈尔滨工业大学工程硕士学位论文序号 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38参数 LeftLIStarty LeftLITotalx LeftLIInjectz LeftLIFlag LeftIIStartx LeftIIStarty 保留 保留 LeftIIFlag LeftWastex LeftWastey LeftWastez LeftWasteFLag LeftWashx LeftWashy LeftWashz LeftWashFlag 保留 保留 保留 保留 保留参数描述 左臂左加样 1 槽 y 坐标 左臂左加样反 应杯间距 左臂左加样 z 轴位置 左臂左加样设 置标志 左臂孵育加样 x 起始 左臂孵育加样 y 起始序号 57 58 59 60 61 62 63 64参数 RightLIStarty 保留 保留 RightLIFlag RightIIStartx RightIIStarty RightIITotalx RightIIInjectz RightIIFlag RightWastex RightWastey RightWastez RightWasteFLag RightWashx RightWashy RightWashz RightWashFlag RightRIStartx RightRIStarty RightRITotalx RightRIInjectz RightRIFlag表 4-2(续表) 参数描述 右臂左加样 y 起始右臂左加样设 置标志 右臂孵育加样 1 槽 x 坐标 右臂孵育加样 1 槽 y 坐标 右臂孵育加样 反应杯间距 右臂孵育加样 z 轴位置 右臂孵育加样 设置标志 右臂废液位置 x 坐标 右臂废液位置 y 坐标 右臂 排废 液 z 轴位置 右臂废液位置 设置标志 右臂清洗位置 x 坐标 右臂清洗位置 y 坐标 右臂清洗 z 轴 位置 右臂清洗位置 设置标志 右臂右加样 1 槽 x 坐标 右臂右加样 1 槽 y 坐标 右臂右加样反 应杯间距 右臂 右加 样 z 轴位置 右臂右加样设 置标志左臂孵育加样 设置标志(1 有 效) 左臂废液位置 x 坐标 左臂废液位置 y 坐标 左臂废液 z 轴 位置 左臂废液位置 设置标志 左臂清洗位置 x 坐标 左臂清洗位置 y 坐标 左臂清洗 z 轴 位置 左臂清洗位置 设置标志65 66 67 68 69 70 71 72 73 74 75 76 77 78- 29 - 哈尔滨工业大学工程硕士学位论文4.3.2 FLASH 读写模块的实现各个区域的定位都是通过定位校准程序来实现的,根据保存的参数可以定位 到各个加样和取样位置。以典型的样本区定位距离,样本区有 12 个试管架,每个 试管架上有 12 个试管。构成 12 行 12 列的试管,共有 144 个加样位置,如图 4-5 所示。以左臂为例,样本区试管定位根据样本区起始位置的 X 坐标(参数 1)和 Y 坐标(参数 2) ,以及样本区结束位置的 X 坐标(参数 3)和 Y 坐标(参数 4) , 可以求得各个位置 X,Y 坐标。第 m 行第 n 列的坐标计算如公式 4-1 和公式 4-2 所 示。X轴 样本区结束位置 Z轴 Y轴样本区起始位置图 4-5 样本区定位示意图( LeftPaEndx ? LeftPastar tx ) * (m ? 1) (4-1) 11 ( LeftPaEndy ? LeftPastar ty ) * (n ? 1) (4-2) Yn ? LeftPaStar ty ? 11 FLASH 采用 39VF800 存储芯片,需要按照其定义的命令格式进行读写操作。 X m ? LeftPaStar tx ?主要实现的字程序如表 4-3 所示,命令包括块擦除、区擦除、单字写入、数组写 入、单字读出、数组读出等。- 30 - 哈尔滨工业大学工程硕士学位论文表 4-3 FLASH 读写模块子程序列表 程序名 功能 Uint16 SectorErase(Uint16 区擦除子程序,参数为区号 SectorNum) Uint16 BlockErase(Uint16 块擦除子程序,参数为块号 BlockNum); Uint16 ChipErase(void); 芯片擦除子程序 FLASH 写入子程序,RamStart 为 RAM 起 Uint16 FlashWrite(Uint32 RamStart, 始 地 址 , RomStart 为 Rom 起 始 地 址 , Uint32 RomStart, Uint16 Length) Length 为数据长度 FLASH 读出子程序,RamStart 为 RAM 起 void FlashRead(Uint32 RamStart, Uint32 始 地 址 , RomStart 为 Rom 起 始 地 址 , RomStart, Uint16 Length); Length 为数据长度4.4 取样及加样子程序的设计与实现该模块包含分析仪各类测试所需要的各种取样和加样模式。最简单的取、加 样流程为:首先加样针定位到清洗区域,控制注射泵进行加样针清洗;定位到取 样位置,控制注射泵进行定量取样;定位到加样位置,控制注射泵进行加样。4.4.1 PID 控制算法的设计与实现4.4.1.1 PID 控制算法的设计 定位采用 X、Y 轴联动,Z 轴独立运动的方式。X、Y 定位时,Z 轴升起,避 免运动过程中发生撞针。各个方向的运动都有位置反馈,通过码盘计数进行位置 计算。在接近位置前减速,在到达位置时停止。其中 X 轴采用 PID 控制,由 PID 算法进行调整停止位置即可。在定位过程中需要检测反馈信号,计算当前坐标, 计算 PID 输出等等,将这些实时读取或者计算的过程在定时器中断处理程序中进 行处理,即保证实时性又简化相关子程序的设计,提高程序执行效率。 为了实现快速和准确的定位, X 轴采用速度环和位置环的双闭环 PID 控制。 双闭环 PID 电机控制示意图如图 4-6 所示。位置环在外, ? r* 为给定位置的期望 值,经过 PID 计算得到速度环的期望值 ? r* 经过速度环计算得到速度环输出,经过 周期调整输出到 PWM 单元产生直流电机运动的 PWM 输出,经过 H 桥驱动,驱 动电机旋转。电机上有码盘,来反馈电机的位置信息,通过 Qep 的运算得到电机 的位置信息,反馈给位置环的反馈值 ? r 。同时,码盘的反馈值经过速度计算得到 电机的运动速度,作为速度环的反馈值 ? r 。因此,双闭环的位置 PID 算法主要包 括位置计算、速度计算、位置 PID 计算、速度 PID 计算、周期调整以及 PWM 控 制等模块。- 31 - 哈尔滨工业大学工程硕士学位论文图 4-6 双闭环 PID 电机控制图4.4.1.2 PID 控制算法的详细设计 数字 PID 控制算法通过定时采样并更新输出的方法实现,主要在定时器中断 函数中完成计算和输出控制,定时器周期为 200Khz ,每 50us 执行一次 PID 运 算,更新 PWM 输出。 双闭环 PID 控制的程序流程图如图 4-7 所示。首先进行必要的初始化工作, 包括:时钟配置、引脚配置、中断配置和 PWM 引脚配置等。设置定时器周期为 50us,每秒的定时器中断次数 200K 次。打开定时器中断,读取定位参数和 pid 控 制参数,进入主程序循环等待定时器中断。 在中断处理程序里面,首先保存必要的现场信息,清除中断标记。执行位置 计算子程序,得到目前的位置信息。执行速度计算子程序,得到目前的速度信 息。执行 RMP_CNTL 模块,该模块用于逐级增加 pid 的位置给定值,避免电机突 然启动的电流过大。执行位置 pid 运算得到速度的给定值,执行速度 pid 运算,得 到电机的驱动输出。恢复现场后,返回主程序执行。- 32 - 哈尔滨工业大学工程硕士学位论文开始左右臂X轴位置计算冲洗泵标志 有效?是 冲洗泵动作执行 废液泵动作执行否 左右臂液位探测判断 设定液位探测标志限位检测滤波左右臂速度计算RC输出计算位置及速度PID计算PWM输出判断运动 到位?是运动到位标识置1 否清除中断服务标志结束图 4-7 定时器进行 PID 运算的流程图首先进行 X 轴的位置计算,求得后面的位置环 PID 的反馈数值;随后是冲洗 泵控制子程序,冲洗泵需要 50hz 的时钟控制,通过对定时器中断次数计数实现 10ms 的定时反转,输出时钟为 20ms 的脉冲信号;计算液位探测,判断加样针是 否在液体里面,液位探测在吸取样本和试剂时用于检测加样针是否已经达到样本- 33 - 哈尔滨工业大学工程硕士学位论文和试剂里面,到达液体后 Z 轴运动就会停止;接下来,检测限位开关,避免加样 臂运动超出限位范围;然后就是双闭环 PID 的计算过程,最后判断运动是否到 位,清除中断标志等待下一次中断。4.4.2 加样泵控制子程序的设计与实现4.4.2.1 加样泵控制子程序的设计 定量取样和加样是通过由串口控制注射泵 MSP-C1 动作完成的。两个注射泵 需要有两个独立的串口通讯程序,串口发送通过 FIFO 进行发送,减少等待时间, 串口接收采用中断方式,提高程序执行效率。加样泵控制程序包括:串行口初始 化子程序、左臂加样泵控制子程序和右臂加样泵控制子程序。 1) 串行口初始化子程序。 SCI 串行通信的初始化主要完成串行口管脚配置, 设置传输格式,打开 SCI 接收中断,配置波特率,使能发送和接收 FIFO 功能。加 样泵的控制命令比较长,最长的命令超过 20 个字节,如果不采用 FIFO,采用中 断方式进行发送和接收,都会导致中断过于频繁,导致程序效率很低。 2) 加样泵控制子程序。左臂和右臂加样泵控制子程序基本一致,主要是串行 口和设备地址不同。初始化完成后,通过往 SCI 缓冲区写入注射泵的控制命令就 可以控制注射泵执行各类动作。注射泵的通讯格式如图 4-8 所示。标志 地址 数字 命令序列 结束符 异或值 图 4-8 注射泵串口通讯格式4.4.2.2 加样泵控制子程序的实现 加样泵控制子程序采用 FIFO 的发送方式,发送命令控制在 16 个字节以内, 满足 F2812 的最大 FIFO 要求,发送程序依次发送命令序列即可。当某些命令需要 参数时,需要将调用函数的参数转换成 ASCII 码后才可以发送。 在程序设计过程中,把常用的命令和特殊字符设置成常量增加程序的可读 性,设置的常量表如表 4-4 所示。- 34 - 哈尔滨工业大学工程硕士学位论文常量名 Flag Knfa Knfb Number Valve_in Valve_out Valve_bypass Piston_move Run_cmd Endf数值 0x02 0x32 0x33 0x31 0x49 0x4f 0x42 0x41 0x52 0x03表 4-4 注射泵通讯控制常量 类型 标志 地址 地址 数字 命令序列 命令序列 命令序列 命令序列 命令序列 结束符说明 通讯标志 左臂泵地址 右臂泵地址 阀切换到输入状态 阀切换到输出状态 阀切换到旁路状态 活塞运动到 xx 位置 运行命令4.4.3 加样臂初始化子程序的设计与实现4.4.3.1 加样臂初始化子程序的设计 三个运动轴的限位位置同时做为各个轴的零位位置,因此在初始化运动开始 前,无法确定加样针目前所在位置,位置计算无法进行,因此 PID 运算此时不能 运行。在软件设计过程中,设置了三个轴的初始化完成标记,用于表征运动轴已 经完成初始化操作。该变量对应表格如表 4-5 所示。变量名 Zl_init_flag Yl_init_flag Xl_init_flag Zr_init_flag Yr_init_flag Xr_init_flag 表 4-5 初始化标志 说明 左臂Z轴初始化标记,完成置1 左臂Y轴初始化标记,完成置1 左臂X轴初始化标记,完成置1 右臂Z轴初始化标记,完成置1 右臂Y轴初始化标记,完成置1 右臂X轴初始化标记,完成置14.4.3.2 加样臂初始化子程序的实现 加样臂的初始化流程图如图 4-9 所示,其具体操作分以下几个步骤: 初始化前,加样针的位置不能确定,为避免撞针,首先要进行 Z 轴的归位操 作,Z 轴提升到初始化位置,同时 Z 轴位置清零,置 Z 轴初始化标志,进行 Z 轴 的位置计算。 Z 轴归位后,进行 Y 轴的归位操作, Y 轴电机低速运动至限位位 置,Y 轴位置清零,置 Y 轴初始化标志。X 轴的初始化过程首先要判断目前加样 臂是否在限位位置,如果是则离开限位一段距离,以保证零位位置。然后 X 轴低 速向限位方向移动,归位后,X 轴位置清零,置初始化标志,开始进行 pid 调节, 至此,所有三个运动轴初始化完成。- 35 - 哈尔滨工业大学工程硕士学位论文开始双臂Z轴归位 是 超时? 否 否 归位完成? 是 Z轴位置清零 双臂Y轴归位超时? 否 否 归位完成? 是 Y轴位置清零 双臂X轴低速归位是是 超时? 否 否 归位完成? 是 X轴位置清零 PID运算允许 左右臂定位至清洗区域 执行管路清洗 报错返回图 4-9 加样臂初始化流程图在此期间,需要检测每个轴的运动是否正确,包括:码盘反馈、初始化超时 等。如果有异常情况进入异常处理,等待用户处理故障后,重新开机执行初始化 动作。- 36 - 哈尔滨工业大学工程硕士学位论文三个运动轴初始化完成基本可以保证执行部件运行正常,可以进行正常的定 位操作,调用联动的定位程序,定位到冲洗区域,进行冲洗操作,为加样操作做 准备。4.4.4 基本加样子程序的设计与实现4.4.4.1 基本加样子程序的设计 加样臂在加样过程中定位区域如图 4-10 所示。左臂定位区域有样本区、左针 清洗区、左加样区、孵育区和试剂区。右针定位区域有右针清洗区、样本区、左 加样区、孵育区、试剂区和右加样区。左加样区右加样区左针清洗区 右针清洗区孵育区样本区试剂区图 4-10 加样臂运动定位区域图基本加样动作是单个加样臂动作完成,左加样臂和右加样臂分别动作,在运 动前要判断运动的区域是否有效,同时根据另一个加样臂的位置判断是否有碰撞 危险,如果有碰撞可能则将另一个加样臂回到初始位置。 4.4.4.2 基本加样子程序的实现 以左臂为例,基本加样动作过程以首先从加样针清洗开始,然后定位到样本 区或试剂区进行取样或者取试剂,定位到加样区(左加样区、孵育区和右加样 区)完成加样动作。涉及的加样动作参数较多,程序设计采用全局变量的方式存 储加样动作参数,避免子程序参数过多。左臂基本加样的流程图如图 4-11 所示。- 37 - 哈尔滨工业大学工程硕士学位论文开始 左针定位到废液位置 排出废液左针定位到冲洗位置 冲洗加样针左针升起 吸取一小段空气 否 样本加样区域? 是 左针定位至试剂区 对应行列的试剂定位样本区 对应行列的试管吸取试剂是 吸取样本 吸取磁珠? 否 左针定位磁珠位置 吸取磁珠否 左加样区域? 是 定位左加样区 对应加样孔位置 左针定位孵育区 对应加样孔位置添加样本或试剂添加样本或试剂左针定位冲洗区域返回图 4-11 左臂基本加样动作流程图- 38 - 哈尔滨工业大学工程硕士学位论文主要变量如表 4-6 所示。表 4-6 基本加样动作变量表 变量名 Soak_pos Column Row Inject_pos Soak_ul Mage_ul Mage_ul 含义 取样位置 取样区行位置 取样区列位置 加样位置 取样量 磁珠量 磁珠标志 说明 0:样本区,1:试剂区 样本区 1~12,试剂区 1~7 样本区 1~12,试剂区 1~16 3:左加样区,4:孵育区,5:右加样区 单位 ul 单位 ul 0:不加磁珠,1:带磁珠加样左加样臂基本加样的涉及的主要子程序如表 4-7 所示。表 4-7 左加样臂基本加样涉及的主要子程序 函数定义 void left_wash(Uint16 times); void zl_init(void); void zl_move(Uint16 zz); void zl_move_level(Uint16 zmax); Uint16 left_move(Uint16 xx,Uint16 yy); void left_position(Uint16 area,Uint16 column,Uint16 row); void eject_waste_a(void); void wash_pip_a(void); void pip_prepare_a(void); void suck_pip_a(Uint16 ul); void inject_pip_a(void); void left_pump_cmd(Uint16 cmd1,Uint16 para1); 说明 左针冲洗子程序 左针Z轴提升到初始位置 左针 Z 轴移动至 ZZ 位置 左针 Z 轴带液体检测下降,zmax 未保护距离 左针 X、Y 联动运动到坐标(XX,YY)位置 左针定位至 area 区域,对应行列分别为 column 和 row 的位置。 左针排出废液 左针冲洗 左针吸取一段空气,隔离系统液与样本(试剂) 左针吸取容量为 ul 的样本或试剂 左针添加样本或试剂 左加样泵命令发送,cmd 为命令,para 为对应参数基本加样动作是一个加样臂静止,一个加样臂执行加样动作的。4.4.5 复杂加样子程序的设计与实现4.4.5.1 复杂加样子程序的设计 复杂加样是两个加样臂同时运动进行加样的,对于某些测试,需要尽快混合 样本和试剂时需要完成的加样流程时就需要使用复杂加样的加样模式。实现两个 臂的同时运动需要设立互斥区域,避免运动时两个臂发生碰撞。左臂右臂的互斥 区域表如表 4-8 所示。互斥区域只是在一次基本的同时运动时有效,在整个加样过 程中,遇到互斥区域,相应的加样臂等待另一个加样臂离开互斥区域后再执行相 应动作。- 39 - 哈尔滨工业大学工程硕士学位论文表 4-8 加样臂互斥区域表 左加样臂位置 样本区 试剂区 左加样区 孵育加样区 清洗区 右加样臂运动冲突区域 样本区、左加样区 样本区、左加样区、孵育加样区、右加样区、清洗区、试剂区左侧 样本区、左加样区 样本区、左加样区、孵育加样区 无冲突区域复杂加样子程序完成左加样臂和右加样臂的同时运动,提高加样效率。本系 统采用同时双臂运动函数实现该功能,函数封装了冲突检测功能,如果命令指明 的运动区域存在冲突,则报错并返回。 不同的测试对应的加样流程不同,所采用的复杂加样子程序也不尽相同,在 实现过程中,设计较多的加样参数来满足不同的加样需求。复杂加样子程序参数 表如表 4-9 所示。表 4-9 加样臂互斥区域表 参数 patient_x patient_y reagent_x reagent_y inject_hole action_flag inject_flag magnetic_flag patient_ml reagent_ml magnetic_ml 说明 样本区x位置 样本区y位置 试剂区x位置 试剂区y位置 反应杯孔位 动作序列标志 抽吸标志 磁珠加样标志 样本量 试剂量 磁珠量4.4.5.1 复杂加样子程序的实现 复杂加样子程序流程图如图 4-12 所示。 (1)首先要完成各加样位置、取样量和加样量的计算,判断参数是否有效, 无效的参数说明加样动作不符合复杂加样的设计要求; (2)进行双臂加样针的同时清洗; (3)右臂执行定位到试剂孔吸取试剂; (4)左臂定位到样本区吸取样本,同时右臂归位; (5)左臂到加样区添加样本,同时右臂在试剂区吸取磁珠; (6)左臂回到冲洗位置执行冲洗,右臂同时到样本区添加试剂和磁珠; (7)右臂回冲洗位置执行冲洗后,复杂加样的动作执行完毕。- 40 - 哈尔滨工业大学工程硕士学位论文开始 计算各取、加样位 置及相应参数 否 参数有效? 是 双臂加样针冲洗 报错右臂定位试剂孔吸取试剂 双臂同时运动 左臂定位到样本孔 右臂回零位 左臂吸取样本双臂同时运动 左臂定位加样孔加样 右臂吸磁珠双臂同时运动 左臂回冲洗孔冲洗 右臂定位加样孔加试剂右臂回冲洗孔冲洗结束图 4-12 双臂同时动作加样流程图4.5 程序设计的主要结构体考虑到程序的可读性,以及可复用性,程序定义了多个结构体类型的变量, 主要结构体变量如表 4-10 所示。- 41 - 哈尔滨工业大学工程硕士学位论文表 4-10 控制程序结构体变量表 结构体名称 pidR_spd pidR_pos pidL_spd pidL_pos pwmRX pwmRZ pwmLX pwmLZ qepL qepR speedR speedL rcL rcR 类型 PIDREG3 PIDREG3 PIDREG3 PIDREG3 PWMGEN PWMGEN PWMGEN PWMGEN QEP QEP SPEED_ESTIMATION SPEED_ESTIMATION RMPCNTL RMPCNTL 说明 右臂速度环PID结构体 右臂位置环PID结构体 左臂速度环PID结构体 左臂位置环PID结构体 右臂X轴PWM结构体 右臂Z轴PWM结构体 左臂X轴PWM结构体 左臂Z轴PWM结构体 左臂X轴码盘计数结构体 右臂X轴码盘计数结构体 右臂X轴速度计算结构体 左臂X轴速度计算结构体 左臂X轴RC计算结构体 右臂X轴RC计算结构体主 要 的 结 构 体 有 用 于 PID 计 算 的 PIDREG3 , 用 于 PWM 输 出 控 制 的 PWMGEN , 用 于 QEP 解 码 计 算 的 QEP 结 构 体 , 以 及 用 于 速 度 计 算 的 SPEED_ESTIMATION 以及用于增量输出给定值的 RMPCNTL 结构体。如表 4-11 所示。表 4-11 控制程序结构体定义表 结构体 成员 Ref Fdb Err Kp OutMax OutMin Out Ki Kc Kd Up1 (*calc)() Rotation MfuncPeriod DutyFunc PeriodMax PwmActive (*init)() (*update)() 定义 _iq _iq _iq _iq _iq _iq _iq _iq _iq _iq _iq void Uint16 int16 int16 Uint16 Uint16 Void Void 类型 输入 输入 变量 参数 变量 变量 输出 参数 参数 参数 历史值 函数指针 输入 输入 输入 参数 参数 函数指针 函数指针 说明 参考值输入 反馈值输入 差值 比例增益 输出最大值 输出最小值 PID计算的输出 积分参数 积分矫正参数 微分参}

我要回帖

更多关于 限位开关接线图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信