单片机控制的显微镜观测台三维运动系统

2012-11-28 11:45赵水英孙旭霞李生民
关键词:显微镜上位脉冲

赵水英,孙旭霞,李生民

(1.宿州学院机械与电子工程学院,安徽 宿州234000;2.西安理工大学自动化与信息工程学院,陕西 西安710048)

1 引 言

步进电机是基于电磁感应作用,将电脉冲信号直接转换为角位移或线位移的执行元件,具有步进精度高、易于控制、响应速度快等优点[1],广泛应用于数控机床、绘图仪和机器人控制等自动控制系统中。

1938年,德国工程师Max Knoll和Ernst Ruska制造出了世界上第一台透射电子显微镜。这时对显微镜的控制已经开始从手动方式向机械控制方向发展。随着计算机技术、自动化技术和通信技术的迅速发展,人们将机械控制与计算机控制结合起来,形成了数控技术,促进了显微镜观测台自动控制的发展。用显微镜在环境恶劣的条件下进行观测时,往往会出现设备难以实现微小控制,或产生微小但却不能忽视的误差,这些因素往往会导致一些不确定的意外出现,影响观测效果。为了提高观测台的运动精度,达到理想的观测效果,本文提出了利用步进电机作为显微镜观测台控制系统的执行元件,采用单片机实现系统的三维运动控制。

针对显微镜观测台的运动需求,本文采用美国ATMEL公司生产的低电压、高性能的COMS八位单片机AT89C51作为控制器[2],选择串行口实现上位机与下位机之间的通信,由下位机分析上位机所发命令,分时驱动3台步进电机,实现对其拖动显微镜观测台精确、快速、自动的运行。最终步进电机能够按照上位机所指定的命令及设定的模式运行,如依照快速模式运行时,电机能够按照设定的速度快速运行直到停止。实践结果表明该系统运行稳定,具有准确、快速、可靠等优点。

2 系统总体方案设计

显微镜观测台三维运动控制系统的设计分为硬件和软件两大部分。其中,硬件部分主要由单片机、键盘输入模块、电机驱动模块、电机速度显示模块、测速电路模块等构成,系统组成框图如图1所示。该系统采用单片机AT89C51控制3台步进电机,第一个电机驱动载物台做X轴方向的运动,第二个电机驱动载物台做Y轴方向的运动,第三个电机驱动载物台做Z轴方向的运动。每个电机的转速通过电机速度显示模块显示出来。上位机与下位机之间通过串行接口进行通信,下位机接受并处理上位机所发送的命令以及返回给上位机的对应标志。

根据显微镜载物台的运动需求,每个电机都必须完成步进、慢速和快速三种模式的自动运行。在对步进电机发送脉冲时,依照步进、慢速和快速三种模式,以不同方式调节发送的脉冲,例如在快速模式中,首先进行升频加速,当加速到预定速度或支持的最高速度时,发恒定脉冲匀速运行,当检测到停止命令时,开始降频直到脉冲频率较低时停止发脉冲,电机停止。这样,对X、Y、Z3个坐标轴方向的电机进行控制,使3台电机拖动的显微镜载物台可以顺利到达指定位置进行观测。

3 系统硬件部分设计

3.1 AT89C51外部接口控制功能设计

AT89C51是一种带4K字节Flash存储器的低电压、高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。通过AT89C51控制X、Y、Z轴上电机的方向、数据输入/输出、脉冲输入等,其外部接口控制功能设计如表1所示。

图1 系统组成框图

表1 AT89C51与外部接口控制功能设计

3.2 驱动电路模块

为了简化硬件电路结构,提高控制精度,系统驱动电路采用瑞得电气公司型号为SDRV2A的步进电机驱动器,该驱动器有以下特点:(1)工作电压为直流电压24V;(2)高集成度模块,恒流控制;(3)电源损耗低,开关频率高;(4)最高驱动电压DC40V,驱动电流0.1~2.0A可调;(4)细分数可以通过拨码开关M1、M2和M3设定,有1、2、4、8、16、32、64和128八种设定方法,细分后步进电机步距角按公式:步距角=电机固有步距角/细分数[3],进行计算;(5)所有输入信号与功率放大部分光电隔离,散热器与驱动器内部完全电绝缘;(6)脉冲信号输入控制端CP+、CP-,脉冲幅度为5V,最小脉冲宽度应大于5μS,上升沿有效,内部采用光耦隔离。

3.3 看门狗模块

由于对于显微镜载物台控制系统的控制精度、稳定性和抗干扰能力等的要求都比较高,然而,在系统运行过程中,常常会遇到各种各样的现场干扰,导致程序跑飞或死机[4]。因此,为了保证系统能够及时发出复位信号,使系统恢复正常运行,系统加入了看门狗模块。该模块是采用美国XICOR公司的芯片X25045,其内部集成有E2PROM、看门狗定时器、电压监控等。不仅大大简化了硬件电路,提高了系统的可靠性,减少了对印制电路板的空间要求,还降低了系统功耗和成本。

X25045外部接线如图2所示。该电路中有3种方法能使CPU复位:(1)上电复位。通过C8和R7接电源VCC,经或门综合后产生一个高电平使AT89C51复位。(2)人工复位。通过开关S、R6和R1,经或门综合后输出高电平送给AT89C51的RESET复位端使CPU复位。(3)看门狗复位。通过C5和R1经或门综合后使CPU复位。结合软件编程,当系统跑飞或死机时,看门狗定时时间很快增长到预置时间,迫使系统复位。

图2 X25045外部接线图

4 系统软件部分设计

软件系统采用结构化、模块化的程序设计方法,利用Keil软件采用C语言编程与硬件结合实现系统功能。本系统软件的第一模块是通信模块的设计,包括数据接收模块、数据处理模块和数据发送模块;第二模块是控制步进电机做慢速、步进和快速三种模式的算法设计;第三模块是初始化模块,包括定时器T0、T1初始化、串行口初始化和看门狗初始化等。

4.1 通信模块的设计

通信模块是保证上位机与下位机之间进行正常数据通信的重要模块之一,是整个系统需要解决的关键技术之一。

当下位机接到上位机的相关数据时,在数据接收程序模块中,将所接收数据依次从数据缓冲区读出,根据接收到的数据调用数据处理模块程序;当下位机需要给上位机回送数据时,执行数据发送模块程序,将数据以字节为单位放入发送缓存;在数据处理模块中,将上位机发送的命令数据分为六大类:(1)模式设定。接收数据后进入数据处理,首先判断是否启动电机,然后确定运动方向、坐标轴和电机运行模式,最后接收脉冲设定标志位置并返回。(2)速度设定。接收数据后进入数据处理,首先将数据传入数组,数组中数据组合,传入速度暂存,然后判断速度暂存是否大于设定最大速度,最后判断电机是否已经运行到标志位置并返回,达到电机速度设定的目的。(3)步进脉冲数设定。接收数据后进入数据处理,首先判断X、Y、Z轴方向的电机,然后进行脉冲设定,最后返回数据处理。(4)步进脉冲数接收。接收数据后进入数据处理,首先将数据传入数组,然后将数组中的数据组合传入脉冲暂存,最后相关标志位置位或清零,数组清零,返回。(5)启动。接收数据后进入数据处理,首先判断是否启动,电机是否已经运行,将参数暂存导入变量中,然后判断电机是否已经走到尽头,最后返回。(6)停止。

4.2 步进电机速度控制算法设计

为了能够实现显微镜载物台精确、自动的进行定位,关键是对步进电机的速度进行控制,进而实现快速、步进、慢速3种运行模式。而步进电机的速度控制方法有软件延时和定时器中断两种方法。所谓软件延时法[5]是通过改变延时时间长短来改变输出脉冲的频率,缺点占用CPU时间长,没有实际应用价值;所谓定时器中断法是脉冲输出操作在中断服务子程序中完成,改变定时器的时间常数就能够实现步进电机的调速[6],该方法占用CPU时间少,且适用于各种单片机,是目前较实用的、理想的调速方法。因此,本系统采用定时器中断法,通过控制单片机所发步进脉冲的频率实现调速。

对于步进模式,是由上位机发送脉冲数、设定步进电机速度,运行时以设定速度运行,当脉冲数计够设定值时,步进电机停止。在步进电机运行过程中,可以通过上位机发送停止命令使其停止。对于慢速模式,是由上位机发送步进电机设定速度,运行时以设定速度一直运行下去,由上位机发送停止命令使其停止。然而,对于快速模式,当设定速度大于步进电机的最大空载启动频率时,如果仍然与步进模式、慢速模式运行方式相同的话,电机运行过程中就很容易失步。因此,所发的脉冲频率要进行升频,在步进电机最大空载启动频率的基础上,开始升频,直到上位机所发送的设定速度 (上位机所发送的设定速度小于步进电机的最大空载运行频率),然后匀速运动,当接收到上位机的停止命令时,开始降频减速,减速到步进电机的最大空载启动频率时,终止脉冲发送,步进电机停止,快速模式的脉冲频率变化过程如图3所示。现以快速模式为例,其程序流程图如图4所示。

图3 快速模式的脉冲频率变化过程

5 结束语

针对显微镜观测台空间运动的特点,文中设计并实现了基于单片机和步进电机的显微镜观测台控制系统,阐述了系统实现的总体方案、系统硬件部分主要模块设计和软件模块设计,通过对3台步进电机的分时驱动,实现了观测台3坐标方向的精确定位。系统能够实时采集观测台运动系统的多种参数信息,并送PC机处理,完成了步进、慢速和快速3种运行模式等功能。通过某企业投入实践验证了系统的定位精度高、可靠性高、操作方便等性能,提高了显微镜观测台的自动化程度,有助于研究的顺利进行。此外,本系统也为类似于显微镜观测台运动的其他系统的自动定位控制提供了有力参考。

图4 快速模式流程图

[1]孙建忠,白凤仙.特种电机及其控制 [M].北京:中国水利水电出版社,2005:12-13.

[2]谢维成,杨加国.单片机原理与应用及C51程序设计 [M].北京:清华大学出版社,2010:11-12.

[3]刘保廷,程树康.步进电机及其驱动控制系统 [M].哈尔滨:哈尔滨工业大学出版社,1997:29-31.

[4]张占立,康春花,郭士军,等.基于单片机的步进电机控制系统 [J].电机与控制应用,2011,38(03):28-31.

[5]刘松国,朱世强,王会方.多轴运动控制器研制及其在机械手上的应用 [J].机电工程,2011,28(05):556-559.

[6]陈桂顺,包晔峰,单明东,等.基于PIC单片机的步进电机运动控制器 [J].电焊机,2011,41(04):54-56.

猜你喜欢
显微镜上位脉冲
《用显微镜看大象》
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
你会使用显微镜吗
显微镜
上下解反向的脉冲微分包含解的存在性
特斯拉 风云之老阿姨上位
黄芩苷脉冲片的制备
显微镜下看沙
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统