基于AT89S52的生物组织自动脱水机的设计与实现

2012-09-19 02:33鲁杰爽
制造业自动化 2012年6期
关键词:脱水机数组步数

鲁杰爽

LU Jie-shuang

(湖北职业技术学院 机电工程学院,孝感 432000 )

0 引言

生物组织自动脱水机是医院病理科的常用制片设备。温度测控和步进电机的精确控制是生物组织自动脱水机设计中最重要的两个技术问题。本文将从这两个方面介绍其改进设计。

1 温度的测量与控制

自动脱水机要求在浸蜡工作过程中保持恒温,通常温度为60℃!65℃。温度测量与控制的基本要求是温度控制准确、操作简单和可靠性高。

温度传感器很多,具有各自的优缺点和适用场合。集成温度传感器AD590是电流输出,测温线性好,但需设计变送器电路进行电流电压转换和信号放大,尤其实际使用时还需要进行校准,带来了不便。

在改进设计中我们采用了LM35温度传感器,其额定工作温度为-50℃!+150℃,测量精度较高,它的输出电压与摄氏温度成正比,电压灵敏度为+10mv/ 。LM35无需作任何调整或校准,在实际使用上非常方便,其外围工作电路简单,可靠性很高。设计的温度测量电路如图1所示。

由于LM35输出信号为电压信号,无需进行电流电压转换,为了提高电路可靠性,省去了放大器及变送器电路,LM35输出与温度(室温!100 )成正比的电压信号(室温电压~1V),并直接送入AD转换器。

为了提高温度测量精度,采用了分辨率为10位的串行AD转换器TLC1543,它转换精度高、转换速度快(约10us),仅需占用单片机4个I/O引脚,外围工作电路也非常简单,提高了模数转换的可靠性。为了减少误差的干扰和影响,程序采用了5次连续温度采样、冒泡法排序和取中间值的办法进行数字滤波。

单片机AT89S52引脚P3.3经光耦和双向可控硅来控制加热管的通电和断电来实现加热的控制,温度控制采用了增量式PID控制算法[1-3],取得了令人满意的温度控制精度。

图1 温度测量电路

2 步进电机的控制

本文设计的生物组织自动脱水机水平方向有12个液缸,装载生物组织的吊篮固定在机座的纵向滑条上,由机座X电机驱动机座水平方向依次先运动到每个液缸上方,后由机座Y电机推动吊篮下放至液缸进行医学处理,延时等待用户设定的时间后再由Y电机将吊篮向上提起。接着开始下一个液缸的医学处理。步进电机每次都必须准确地将吊篮移动一定的距离并定位。

2.1 步进电机的驱动电路设计

步进电机的驱动电路如图2所示,采用SGS公司的步进电动机单相绕组驱动集成电路芯片PBL3717A,2块芯片和少量的无源元件就可以构成两相步进电动机的驱动电路,可以实现整步、半步、1/4步、微步距运行控制,性价比高。若用数模转换芯片的输出电压来改变9号引脚电压即可实现细分控制。本系统无需细分控制,故固定接+5V。

PHAS引脚用于控制绕组的电流方向(电机转动方向),IN1和IN0引脚用于设置输出的线圈电流大小,当两者输入组合为00、01、10、11时,分别对应绕组电流的100%、60%、20%、0%。单片机AT89S52依次输出控制字,通过锁存器来设置驱动芯片的PHAS、IN1、IN0引脚以控制两相线圈A和B的电流,就可以实现对步进电机的转动方向、步距的控制。本系统采用1/4步距,16拍工作方式:

计算出这16拍对应的16个控制字,并定义为数组存储在单片机ROM中。程序运行时只需顺序输出这组控制字,改变两个控制字输出之间的延时长短,即改变控制字的输出频率,就可以改变步进电机的转速。正序或反序输出这组控制字就可以实现步进电机的正转或反转。

图2 步进电机驱动电路

2.2 步进电机控制的软件设计

2.2.1 步进电机的升降速控制

步进电机控制[4]的关键问题是保证步进电机在频繁启动、停止、换向及高速运转过程中不失步、不超步,尽可能快地移动一定距离并准确定位,提高工作效率。

如前所述,步进电机通过改变控制字的输出频率来改变其转速。由步进电机的矩频特性可知,电机的输出转矩随着频率的增加而下降。实际负载运行时,步进电机有一个最大启动转速和最大负载转速,启动时超过最大启动转速驱动电机会造成电机失步,甚至堵转,因此必然有一个升速过程。同样地,高速运转的步进电机要停转时,必须有降速过程,否则电机容易因惯性而超步,造成定位不准确,损害电机。故步进电机拖动负载高速移动一定距离时,须经过“启动—加速—高速匀速运行—减速—停止”5个阶段。步进电机升降速曲线的设计是否合理不但直接影响电机运行的升降速度,还影响着电机运行噪音、最高速度、定位精度、系统运行平稳性和品质,影响着整机的综合性能。

常见的步进电机升降速曲线有:梯形曲线、抛物线和指数曲线等[5,6]。理想升速曲线为指数曲线[7],它更能使步进电机转子的加速度的变化与输出转矩的变化即矩频特性相适应,能充分发挥步进电机的有效转矩,大大缩短升降速时间。

由步进电机的运动方程可推出其升速曲线是一条指数曲线[8]。f (t) = fm(1-e-t/τ), 其中f为步进电机m的最高工作频率,τ为决定升速快慢的时间常数,可通过实验来确定。由于X、Y步进电机的负载不同,通过分别对X、Y步进电机进行多次实验和比较,根据步进电机的工作力矩、最终工作频率、升降速时间长短的要求,计算并编制出各自的最优化升速曲线。

因软件实现指数运算困难,对各自的最优升速曲线进行离散化,均匀分为若干段,用阶梯曲线逼近,计算出各频率点和对应的各频率点运行步数。控制规律如图3所示,步进电机以低于最大启动频率的突跳频率启动,并按指数规律阶跃上升。在离散的每个速度频率点上连续运行一定的步数以免失步,然后跳转至下一个频率点上运行。随着频率点的升高,频率突变量减小,频率点运行步数逐渐增加。

图3 指数规律升降速曲线

步进电机控制字输出频率的改变通过单片机定时器中断(工作方式1)实现,升降速度实际上就是不断改变定时器初值的大小。据此可计算出各频率点对应的定时初值,并进行修正,计入定时器误差,即单片机从定时器计数溢出开始,单片机响应中断的时间和定时中断函数内再次给计数器赋初值指令及其前面指令的机器周期之和。定时器初值要加上这个误差值,以提高步进电机的转速精度。

将各频率点对应的2个字节定时初值修正值和对应的1个字节运行步数计算好,按频率点的升频顺序定义为一个数组存储在单片机ROM内,数组以最高运行频率点结束,并将其对应的运行步数用0x00填充,作为升速阶段结束的标记。程序运行时正向查数组即可实现指数规律升速,当查数组查到当前频率点运行步数为0x00,意味着进入了匀速运行阶段。简化起见,降速过程采用升速的逆过程,只需反向查频率点数组就可实现指数规律降速。这种升降速方案容易实现、频率点修改方便且效果理想。

2.2.2 步进电机控制的软件实现

由于需要控制X、Y两个步进电机,为了节约单片机资源而共用定时器0,定义了步进电机运行函数void RunningMoto(uchar *motoname, bit direction, ulong steps)。基本思想是根据形参传入的电机名,来使频率点指针指向对应的X或Y频率点数组,控制字指针则指向对应的X或Y电机控制字数组,以实现相应步进电机的运行,direction=0表示电机正转,正向顺序输出控制字数组中数据,否则反向顺序输出,steps则表示将要运行的总步数,然后就开启定时器,由定时器0中断函数实现升速、匀速、降速运行所规定的总步数,最后停止定时器。

定时器0中断函数的功能则是按照当前频率点查得的定时初值重新赋值以控制中断的时间间隔,每中断一次就依次输出控制字数组中的控制字,使电机运行一步,同时使当前频率点运行步数减1,当前步数加1,直至当前频率点运行步数减为零,频率点指针后移而转入下一个频率点的运行。若查得的当前频率点运行步数为0×00,说明进入匀速阶段,设置匀速标志变量,计算当前频率点运行步数(总步数-2×当前步数),匀速阶段步数运行结束后,则进入了降速阶段,频率点指针前移,重复升速的逆过程,直至当前步数等于总步数,则关闭定时器,结束电机运行。为了准确控制机座吊篮的移动位置,电机X或Y每运行一步,还需对其坐标X或Y进行加1或减1计算。程序流程如图4所示。

图4 步进电机控制流程

2.3 共振问题的处理

步进电机在运行过程容易与整机固有频率发生共振而增大运行噪音,影响着整机的稳定性和寿命。我们主要从以下两方面来改善共振现象。

1)步进电机以1/4步距运行。这样步进电机每运行一步,其绕组内的电流将不再是0和额定工作电流I之间的来回突变,而是从0经0.2I变化到I,缓解了相电流突变的程度,自然也就减少了电机运行的振动和噪音。

2)在频率表的局部范围内,灵活调整相关离散频率点及其对应的定时初值,改变步进电机的振动频率,避免共振现象的发生。

实践证明,这些措施明显改善了共振现象,取得了良好效果。

3 结束语

本文所述的温度测控和步进电机运行控制方案在实践中取得了理想效果,应用于生物组织自动脱水机的实际生产中,该方案具有很强的实用价值。

[1] 杨宁, 黄元峰. 微机控制技术(第2版)[M]. 北京: 高等教育出版社, 2005: 43-44.

[2] 何顶新, 王维, 等. 温控系统中改进的PID算法[J]. 电气传动, 2007, 37(8): 36-39.

[3] 严晓照, 张兴国. 增量式PID控制在温控系统中的应用[J].南通大学学报, 2006, 5(4): 48-51.

[4] 王晓明. 电动机的单片机控制[M]. 北京: 北京航空航天大学出版社, 2002.

[5] 刘颖, 王志刚, 王红, 张喜伟. 步进电机升降频的优化算法[J]. 微电机, 2010, 43(8): 93-94.

[6] 闫剑虹, 何泰祥. 步进电机高速启停控制的单片机实现[J]. 空间电子技术, 2009(2): 124-127.

[7] 高亮. 8051单片机对步进电机的控制及步进电机升降速曲线的设计[J]. 测控技术, 2002, 21(11): 64-65.

[8] 李海波, 何雪涛. 步进电机升降速的离散控制[J]. 北京化工大学学报, 2003, 30(1): 92-94.

猜你喜欢
脱水机数组步数
火电厂湿法脱硫石膏真空脱水机选型研究
JAVA稀疏矩阵算法
楚国的探索之旅
JAVA玩转数学之二维数组排序
微信运动步数识人指南
叠螺式脱水机在某大型电厂的应用
病理全自动脱水机的检修与保养
更高效用好 Excel的数组公式
国人运动偏爱健走
寻找勾股数组的历程