关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 步进电机驱动微型输注仪器的一种新方式

步进电机驱动微型输注仪器的一种新方式

作者:时间:2009-02-27来源:网络收藏

1、引言

本文引用地址:http://www.eepw.com.cn/article/163943.htm

是一种将数字信号直接转换成角位移或线位移的控制元件,具有快速起动和停止的特点。其机械位移和转速分别与输入脉冲的数量和脉冲频率成正比。在工业生产及人们生活的方方面面的应用十分广泛,而单片机控制具有功能灵活多样,脉冲输出准确,实时性强的特点,且系统成本较低。

现有的小型步进电机电路,基本采用OC门和三极管推拉式驱动。OC门电路驱动电机的缺点是驱动电流不够,响应速度慢,而且OC门最好工作在+5V电压环境下,在低电压环境下,工作不稳定。三极管推拉式驱动步进电机的缺点是NPN和PNP三极管的选择上。两个三极管的PN结开关点要尽量相同,否则三极管会被击穿,产生不安全隐患。

本文针对传统小型步进电机驱动存在的这些问题,并结合一种的电机驱动装置的设计,提出一种新型步进电机驱动方案。本方案采用MSP430单片机,通过其上运行的软件控制MAX4685高速模拟开关的输出,从而实现对步进电机的控制。

这种低成本,高稳定,高性能的驱动,适合低电压,大电流,响应频率比较高的场合。

2、的电机驱动方案

本文研制的由三个部件组成:输注液容器、一个小型电池驱动的泵、用于准确控制泵输注剂量的计算机芯片。以上部件封装后,形成一个大小如同寻呼机的输注仪器,泵容器通过输入指令的控制由细塑料管输注液体。

该仪器的电机驱动装置,包括指令输入面板、驱动电路控制板、步进电机。驱动电路控制板采用集成电路MAX4685;其驱动电路控制板的输出端连接小型步进电机的输入端。该微型输注仪器的电机驱动框图如图1所示。


图1 电机驱动框图

输入面板是通过按键设置参数,通过在单片机运行的智能软件控制单片机的IO端口输出。单片机的IO端口连接集成电路MAX4685的输入端。集成电路MAX4685为高速模拟开关,输入为脉冲方波,控制MAX4685模拟开关的动作,使MAX4685的输出为脉冲方波。这样MAX4685可提供500mA的脉冲电流。MAX4685芯片为双路模拟开关,开关闭合时具有0.8Ω的电阻(2.7V工作),1.8V到5.5V电压工作范围。响应速度最高可达1MHz,驱动电流最大可达500mA。

  MAX4685具体的参数如下:

  NC端闭合电阻最大为0.8Ω(工作电压为2.7V);
  NO端的闭合电阻最大为0.8Ω(工作电压为2.7V);
  两个通道的匹配电阻最大为0.06Ω;
  工作的电压范围1.8V-5.5V;
  槛位电压为1.8V,最高输入信号电压为5.5V。

本实例是驱动两相直流步进电机。采用的单片机型号为MSP430F149。该型号的单片机是具有FLASH功能的超低功耗的16位单片机,工作电压为1.8V-3.6V。用按键选择菜单功能,设置参数。通过智能软件控制单片机的P50、P51、P52、P55 等4个IO端口输出驱动步进电机所用的脉冲波形,控制MAX4685的开关。用MAX4685的输出提供驱动步进电机所需的电流。电机的转速靠输出脉冲波形的频率来控制。电机的转动推动注射器输液。

具体的连接如图2所示。


图2 单片机、MAX4685、步进电机的连接关系图

本设计用单片机控制MAX4685的开关,用MAX4685的输出提供步进电机的脉冲波形,可确保输出电压波形稳定,驱动电流大,干扰小。达到低成本、高稳定性、响应速度快的低电压微型电机的要求。OC门和三极管推拉式驱动不易集成化。

3、电机驱动程序的具体设计与实现

合实例的电机驱动部分的连接关系,MAX4685的输入状态如表1。


表1 MAX4685的输入状态表


本文用MSP430F149单片机控制MAX4685模拟开关的动作,来实现对步进电机的控制。MSP430F149单片机的P50、P51 IO端口经MAX4685驱动后,连接到步进电机的相A上;P52、P55 IO端口经驱动后,连接到步进电机的相B上。步进电机的转动模式为全步模式,选用的是两相,每圈20步的步进电机。每步的转角为18度。每圈的转动精度为±10度。

步进电机的相的输入信号和转动关系如图3所示。相A和相B加的信号如果从1-4,将逆时针旋转,从4-1将顺时针旋转。


图3 步进电机相的输入信号与转动的关系

用MSP430F149的IO输出端输出信号,控制MAX4685的动作,产生相A和相B所需的信号。如表2所示。表中列出的信号为电机转动每步所需的信号关系。电机转动通过传动装置,推动注射器注液。

表2 单片机IO端口输出信号与转动的关系表

该微型输注仪器的电机驱动程序的具体流程如图4 所示,其中包括以下几个关键步骤:

(1)单片机相关IO端口定义
P5.0 P5.1 P5.2 P5.3 P5.4 P5.5 P5.6 P5.7
A B C Data Vdd D

(2)电机相关定时器定时初始化
TBCCR0 = IntTime; //主定时器 总时间
TBCCR1 = IntTime1;
//定时器1 电机给电,高电平时间
TBCCR2 = IntTime2;
//定时器2 电机停歇,低电平时间

(3)启动电机相关定时器
TBCCTL1 = 0x10; //开定时器1
TBCCTL2 = 0x10; //开定时器2
TBCTL = 0x0114; //开主定时器

(4)关闭电机相关定时器
TBCCTL0 = 0x00;
TBCCTL1 = 0x00;
TBCCTL2 = 0x00;

(5)中断处理函数
interrupt[TIMERB1_VECTOR] void Timer_B1 (void)
根据定时器中断向量TBIV 的值调整马达走步方向,或将马达走到相应位置。


图4 电机驱动流程图

4、结论

本设计改变了现有的OC门驱动和三极管推拉式的驱动,采用了MAX4685高速模拟开关直接驱动小型步进电机。这种驱动方案的响应速度可达到1MHz,驱动电流可达到500mA,可设计成低成本、高稳定性、响应速度高的电机驱动电路,直接驱动小型步进电机。同时具有原理简单,易于实现的特点。



评论


相关推荐

技术专区

关闭