欢迎来到天天文库
浏览记录
ID:36805940
大小:389.89 KB
页数:5页
时间:2019-05-15
《基于单片机的步进电机控制装置应用研制》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于单片机的步进电机控制装置应用研制李光富易理刚(长沙理工大学长沙410007)摘要:介绍了一种单片机实现的用于装量生产线上的蠕动泵装置。它可实现装量生产线的手动或自动的单次、多次及混合分装,其分装的精度可达到1‰ml。关键词:单片机步进电机蠕动泵分装中图分类号:TV698121TP274文献标识码:A现代药厂制药生产上的装配,如针剂、瓶装药液等,大多采用单片机或其它智能装置,实现自动分装。其中,单片机实现的分装,大多是根据公式,将分装量转换为脉冲数,由单片机按照控制程序,控制步进电机带动蠕动泵实现的。但是,由于电机的起动是一个变加速的非线性曲线,如果采用简单的线性常系数法
2、,则很难真实再现电机的启动过程,由此方法计算得来的脉冲数,也是不够精确的,存在较大的计量误差。本文采用指数对数法,实现启动过程非线性拟合,由此得来的脉冲频率或脉冲数,较之线性常数法,更加符合电机的启动特性,可获得较高的计量精度。1概述本文步进电机控制的蠕动泵装置基于单片机AT89S58,可工作于自动或手动方式。在自动方式下工作时,分为单次、多次及混合三种分装形式。多次分装时,则在设置分装量、转速、回吸量、主控方式的同时,设置分装次数和暂停时间。单片机根据分装量、回吸量、分装次数、暂停时间及转速等的设定值控制步进电机的工作状态,其控制输出的时标曲线,如图1所示。分装次数、分装
3、量等参数的设定可由用户按不同的要求从键盘输入,并存放在EEPROM中。手动方式下工作时,单片机仅起监测作用。控制操作均在步进电机上进行,分装量由控制步进电机的手动给定提供。25ms25ms正转信号反转信号25ms启动信号停止信号输出状态正反转状态脉冲输出图1单片机控制输出的时标曲线2硬件设计为了简化电路,提高装置的可靠性,本系统的硬件以AT89S58单片机为核心,外围扩展电路包括控制开关量输入输出、EEPROM存储、lcd显示及键盘电路、485通信接口电路。控制输出单EEPROM电路片显示及键盘电路机控制输入通信电路图2装置硬件结构框图如图2所示,电机“控制输入”的开关量主
4、要有操作面板上的电机起、停信号。“控制输出”电路主要有控制电机起、停的开关信号,控制电机运转方向(正转或反转)信号以及2脉宽调制输出信号。EEPROM电路由CAT24C021串口ic总线电路组成,主要存储由键盘设置的密码、时间和在菜单结构下设置的运行参数。键盘电路由4*5矩阵行列式电路组成,包括0-9十个数字键,小数点键,左(下)、右(上)光标移动键,控制电机起、停键,手动正、反转键,另外还有编程键、确认键和取消键。其中,数字键、小数点键、光标移动键、编程键、确认键和取消键,主要用于菜单操作。装置的显示部分采用SMG12232ALCM字符型液晶显示模块。通讯电路采用RS48
5、5通讯接口,主要用在具有主、从机并列运行的场合,在单台装置运行模式下,该接口一般不用。3软件部分的设计3.1设计原理利用设定的分装量及标定(实际装量)与脉冲数的换算关系,将分装量转换为脉冲数。利用单片机的定时器,进行脉宽调制,实现步进电机的变频调速,并带动蠕动泵工作。利用单片机发送计算所得数量的脉冲来实现分装的精确装量。分装量与脉冲数的换算关系,如下:正转脉冲数=有效脉冲数+回吸反转脉冲数;未定标操作过的有效脉冲数=分装量*系数1(系数1,可由查表得来);定标操作过的有效脉冲数=分装量*系数2;系数2=上次运行脉冲数/实际装量;回吸反转脉冲数=回吸量*系数2。3.2主程序框
6、图初始化扫描端口及键盘N有键按下否?待机界面YY端口运行键?NY端口停止键?N手动正转键?Y置手动反转标志NY手动反转键?置手动正转标志调用STOPPWM子程序NY调用STARTPWM键盘运行键?子程序N参数设置Y键盘停止键NYN菜单设置界面编程键图3主程序框图2主程序框图,如图3所示。装置采用结构化程序设计方法,即主程序由若干个子程序模块组成,各个模块的功能相对独立,从而给程序的编写和功能的扩充带来了方便。主程序由以下几个部分组成,分别是初始化模块、键盘端口扫描模块、数据预处理模块、电机控制模块、显示模块。其中,初始化模块主要是设置堆栈,开放定时器t0、定时器t2及串口中
7、断,2将存放在程序表格中的一些系统初始参数写入EPROM.。3.3子程序模块设计扫描键盘和端口子程序,主要是扫描键盘及端口是否有键按下,如果有键按下,则执行相应的键盘分析处理程序;无键按下,则显示运行界面。在该子程序的开始,分别调用了WriteTIME和Load两个子程序模块。其中,WriteTIME子程序,主要是将设定时间写入2EPROM,或利用定时器T0的计时,每运行30分钟,即从设定时间中减去30,并改写上2次写入EPROM时间单元的内容。Load为电机控制子程序,其作用是根据分装形式和输送方向和脉宽调制的状
此文档下载收益归作者所有