1 引 言 步进电机是一种将脉冲信号转换为直线或角位移的伺服执行元件,由于其具有结构简单、运行可靠、控制方便、控制性能好,并且具有步距值不受诸如电压和温度变化的影响、误差不长期积累等优点,所以在仪器仪表、机器人、数控机床、工业控制、楼宇自动化等领域得到了越来越广泛的应用。其基本原理是每施加一个脉冲信号,其转轴就转过一定的角度,称为一步。随着输入到步进电机的脉冲数增加,直线或角位移也随之增加。如果将脉冲信号的频率变大,则步进电机的旋转速度就随之而变快,反之则变慢。 为了实现步进电机的运动控制,较多采用的一种方案是以传统的单片机作为控制系统的微处理器,通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,实现步进电机的速度和位置控制。但是,这种方案中微处理器本身不具备网络通讯能力,要想和上位机器连接需要加上其他的通讯接口且可靠性较差,实现起来麻烦,并且在使用一些智能控制算法时,传统单片机不容易实现并且程序处理速度也成为制约提高系统实时控制性的一个瓶颈。 由于LonWorks技术将底层控制和网络通讯结合起来,并且通过其主要部件神经元芯片来进行控制,可以在局域或远程计算机上(简称上位控制机)随时将控制信号传递给LonWorks智能控制器,实现对步进电机旋转角度和速度控制。同时由于采用NeuronC进行编程,可以很方便地实现智能控制算法,并将程序下载到所设计的智能控制器中,所以采用LonWorks技术进行步进电机的控制系统的设计将具有更高的精度、灵活性、适应性并且可以通过网络对步进电机进行实时监视和控制。
2 整体结构设计 要采用LonWorks技术进行步进电机智能控制器的设计,首先必须进行整体结构的规划,这里采用的控制方法分为两种:(1)让步进电机按照上位控制机发出的控制信号进行,包括转角的大小和运行的速度。(2)让步进电机按照外部测量和
控制设备的信号进行运动。 设计的智能控制器的整体结构框图如图1所示。执行/停止按钮接在神经元芯片的IO4脚,用来控制电机按照控制器内部的程序进行运行。正向点动按钮接神经元芯片的IO5脚,用来手动控制步进电机进行正向点动,每步的点动时间由程序来决定,按一下点动一下,如按住按钮不放,则进行连续点动。反向点动按钮接神经元芯片的IO6脚,用来手动控制步电机进行反向点动,控制方式同正向点动按钮。所有按钮一端接470Ω的电阻后接+5V
电源,另一端接神经元芯片的相应的IO口引脚并同时接地。A/D转换电路和神经元芯片的IO7,IO8,IO9,IO10脚相联,用来将测量装置的模拟量信号转为数字信号再送人神经元芯片进行处理。IO0~IO3用于提供步进电机驱动电路所需要波形信号。 具体的操作过程是这样的,首先将设计好的程序进行编译,然后下载到控制器中,按下执行按钮,步进电机将按照下载的程序控制方法进行运动,同时我们也可以实时地在上位控制机上向智能控制器传递控制信号,让步进电机在控制器内部程序的控制之下,按照我们的指定的运动方式进行。
3 具体硬件的设计3.1 LonWorks控制模块的设计 使用LonWorks技术进行智能控制器离不开控制模块,他是LonWorks智能控制器的最基本的一个控制单元,按照Echelon公司的思想,控制模块实际上是设计LonWorks智能节点的一个通用模块,是与外部接口电路分离的不同单元。图2是所设计的控制模块的电路板图。
神经元芯片采用Toshiba公司的TMPN3150,存储器采用Atmel公司的AT29C256,收发器选用Echelon公司的FTT-10A自由拓扑双绞线收发器,2中左20插脚分别与神经元;S片的11个I/O,RESET,SERVICE,电源及接地引脚等直接相连,右6个插脚中间2个用来接双绞线接口。在智能控制器的开发时,控制模块只需设计一次,其他同类型的产品都可以采用。3.2 A/D转换电路的设计 为了让控制器能够根据测量的模拟信号进行步进电机的控制,所以必须将模拟信号转变成数字信号,这里考虑到步进电机的控制精度,所以必须选用精度躬高的A/D转换芯片。另外考虑到神经元芯片和A/D芯片在进行连接时,使用串行方式可以节省神经元芯/的IO端口,所以选用Maxim公司的8路输入12b精度的高速、低功耗串行A/D转换器MAXl86。可以有单+5V电源输人或者土5 V电源输入。模拟输入可以通过软件配置为双极性/单极性、单端/差分工作方式。MAXl86具有四线串行接口,可以直接与SPI、QSPI或Microwire外部逻辑的设备直接相连,MAXl86内部有+4.096V参考电压源。 图3是A/D转换芯片的接口电路以及和神经元芯片的引脚连接图,神经元芯片的IO7在这里用于MAXl86的片选,IO8提供时钟信号输出,IO9用于串行数据输出,IO10用于串行数据输入。MAXl86的控制字的写入与转换数据的输出通过串行数据线完成,其各个输入通道由控制字进行选择。模拟信号输入范围是0~十4.096V。需要说明的是模拟信号的输入必须加上信号调理电路进行信号的转换、放大和缩小等以适应量程的需求。
3.3 步进电机驱动电路的设计 步进电机在这里选用二相八步,也就是控制时钟走8个周期,步进电机走一定格。所以选用一种用来驱动二相步进电机的专用芯片UC3770A,他由可控制逻辑输入端,电流传感器,含有内置式保护二极管的单稳态输出端组成。由于控制的是二相步进电机,所以采用2片UC3770A和一些外部元件可以组成一个完备的二相步进电机驱动系统。 图4是由2片UC3770A组成的驱动电路。UC3770A逻辑输入端在开路时,被认为是高电子输入。UC3770A的换相输入端为管脚8,他控制着二相步进电机绕组电流的方向,内置的施密特触发器产生换相延时,可以有效地消除电流换相时输出管脚电流噪音干扰。输出端为管脚1和管脚15,电路工作时,步进电机绕组的驱动电流从0增大,管脚16上的外接电阻产生分压Vrs,Vrs通过低通电路的电阻Rc加压于管脚10,当Vrs增大超过内置电压比较器的门限电压时,将关断电流开关运算器,电流开关运算器产生信号关断其内部晶体管,绕组电流将通过续流二极管组成的环行通路里续流,电流逐渐减小,Vrs也随之减小;当小于门限电压时,电流开关运算器开启,此过程周而复始重复,直至绕组电流被要求反相;当换相输入端管脚8被输入逻辑信号要求换相时,开启的晶体管被关断,关断的一组晶体管将被开启,此时绕组电流减小至0,再反向增大。
3.4 UC3770A输入信号波形的产生 由于对二相步进电机进行二相八步控制,所以必须让神经元芯片输出和此相适应的波形信号,然后将波形信号输入UC3770A,从而控制步进电机。为了满足要求,对于2片UC3770A需要的波形时序图如图5所示,如让步进电机正向运动,PhaseB的波形选择图中的正向,如让步进电机反向运动,只要将PhaseB的波形取反选择图中的反向,根据时序图,其实只要在程序的控制之下在IO0一IO3口产生相应的时序波形即可。也就是在相应间隔时间下让IO0一IO3依次输出1100→0110→0100→0001→0000→1010→1000→1101,如果让步进电机反向运行,则IO0~IO3依次产生1000→0010→0000→00101→0100→1110→1100→1001,由于神经元芯片IO口本身具有较高的可靠性,完全可以满足UC3770A的要求。这样一来省去了波形发生电路的设计,简化了硬件结构,提高了系统可靠性。
4 结 语 通过LonWorks技术可以非常方便设计出二相八步步进电机智能控制器,不仅结构简单而且可靠性高。通过LonWorks技术设计步进电机智能控制器,将智能控制、网络通讯、计算机实时控制都结合起来,具备较高的技术含量,弥补了传统单片机控制的不足,具有很好的发展和应用前景。