APP下载

基于CAN总线和STM32的智能步进电机驱动模块设计

2012-12-15马丹丹张文超

生命科学仪器 2012年5期
关键词:实时性细分总线

马丹丹,张文超

(杭州电子科技大学电子信息学院,浙江 杭州 310018)

1 引言

步进电机是一种将电脉冲信号转化为相应的角位移或直线位移的机电执行元件。因其控制简便,具有精确步进、没有误差累计和便于开环控制等优点,故被广泛应用于诸多行业的自动化控制系统中作为执行部件。

许多生命科学仪器中都需要采用步进电机作为样品定位执行部件[1]。但是传统的步进电机驱动往往采用由一个MCU负责全部任务的集中管理控制模式,随着系统任务的增多,管理控制都变得繁杂了,集中控制体系就难以满足实时性、快速性及精确定位的要求。为此,本文提出基于STM32和CAN总线的“分布串行式”控制体系的设计方案,通过现场总线技术实现基于高性能MCU的集中控制及上下位机的实时通信。简化了控制系统,提高了系统的稳定性和灵活性,很好地改善了传统控制架构的缺点和不足,并实现了在细分模式下的精确定位[2]。

2 两种系统架构的比较

2.1 传统集中控制架构的特点与剖析

图1 传统集中式驱动模式架构

此模式缺点如下:

(1)系统实时性不够。在多步进电机控制系统中,随着控制节点的增多,控制信号和反馈信号将大大增加,单个MCU既要负责整个系统的协调调度,还要频繁的控制和改变各个节点的信号控制参数来控制步进电机的运行状态,造成MCU的负担过重,影响整个系统的实时性。

(2)子模块不具备智能性,独立性不好。系统的各个驱动子模块必须依赖MCU发出命令才能执行相应动作,这就占用了MCU的大量软硬件资源,使系统总性能下降。

(3)操作复杂。由图1可以看出,电机驱动子模块越多,则由MCU应用系统引出的控制线越繁杂,在多步进电机控制系统中排线布局将变得复杂,易发生断线或解除不良的故障,且增加了成本。

2.2 分布式架构的特点与剖析

本文设计的基于STM32和CAN总线的智能步进电机驱动模块即为分布串行式架构,如图2所示。

图2 分布串行式驱动模式架构

上位机系统由PC机显示器和RS232接口模块构成,并采用Labwindows/CVI编写设计良好的人机界面。

下位机系统为CAN总线连接的主节点和若干个智能电机控制子节点。主节点和子节点均采用高性能的STM32F103ZET6作为处理核心,主节点负责协调指挥各个子节点完成任务的统一调度管理、指令下达和数据传输等工作,子节点则根据下行命令对电机做出相应的驱动控制。

与传统架构相比,其优点如下:

(1)增强了系统的实时性。主控节点只需负责电机运行控制命令的下达和整个系统的协调调度,频繁切换或频繁改变步进电机运行状态的任务可由智能步进电机驱动模块自身来完成,从根本上减轻了主控节点的负担,提高了整个系统的实时性。

(2)子模块具有智能性,独立性好。用户只需将电机运行控制命令(如细分步数、转向、转速、步数等)经CAN总线传送给各个子模块,由子模块来控制步进电机的自动运行,而无需主控模块的监管。

(3)控制简单,节约成本。由图2可以看出,主控模块可直接通过CAN总线传送控制命令,大大降低现场信号线连接的繁琐度与线缆费用,提高信号传输的精度与灵活性,同时也有利于系统的安装、调试和维护。

(4)采用CAN总线使得整个系统具有传输速率高、兼容性好、容错能力强及扩展性好等优点[3]。

3 系统的总体方案的选取

3.1 系统主节点的控制芯片的选取

系统主节点除电源模块外,主要包括主控单元、串口模块、CAN接口模块。主节点的任务如下:

(1)它通过RS232接口接收上位机下达的指令和数据,并根据任务需要通过CAN接口模块和CAN总线下传给某个子节点,由相应的子节点功能模块完成相应的任务。

(2)由各个子模块产生的数据和请求信息等,通过CAN接口模块和CAN总线传送到主节点,再由主节点分类识别并根据需要将有关的数据和请求信息通过RS232接口上传给上位机。

(3)各个子节点需要协调工作时,由主节点完成。

鉴于上文所述主节点的三大任务,其主控芯片应选用速度高、程序和数据存储器容量大的单片机,以满足复杂的算法编程和大量的数据采集需要,以及快速准确的信息交换。因此,本文中主控芯片采用ST公司STM32系列32位微控制器中的“增强型”系列STM32F103ZET6[4]。

其优势如下:

(1)采用高性能、低成本、低功耗的的ARM Cortex-M3内核。

(2)丰富的外设接口。包括5个USART、USB接口、CAN接口、DMA通道等,其中利用串口可以进行上下位机的通信,利用CAN接口可以组成分布式控制系统等,这些都为后续系统扩展提供了不可或缺的条件。

(3)强大的定时器功能。STM32多达11个定时器,带有用于电机控制的PWM输出,特别适合在电机控制场合的应用,这就为子节点控制芯片的选取提供了强有力的条件。

3.2 通信总线的选取与设计

(1)上位机和主节点间通信选用了RS232总线,其设计简单,应用广泛,在短距离通信中是不错的选择。

(2)节点间通信选取了CAN总线。CAN总线是一种多主异步串行总线,与传统的现场总线相比,其具有优良的错误处理机制;数据通信具有较高的可靠性、实时性和灵活性;通信距离长,速度快;价格低廉等优点。

基于CAN总线的应用网络中CAN节点的构成可以有多种实现方案,因本设计中节点的控制芯片均采用STM32F103ZET6,其内部自带CAN控制器,为缩短开发周期,选取外加CAN收发芯片VP230来构成CAN接口模块。

VP230是TI公司推出的3.3VCAN总线收发器,其工作电压为3.3V,满足HBM模式16KV的ESD防护,允许总线上多达120个节点,符合ISO11898标准要求,具有过热关断保护功能。

3.3 子节点硬件设计

子节点(如图3所示)的主要功能为在完成通信协议解析的基础上,根据上位机发送的命令,实现对步进电机的精确控制。主要包括CAN通信接口模块,子节点微控制器模块,电机驱动模块。子节点的控制芯片和CAN接口模块和主节点一致,不再赘述。

图3 子节点智能电机驱动模块简图

为实现步进电机的精确控制,本文采用在细分驱动模式下控制电机的运转。选取北京海华博远科技发展有限公司研制的THB7128作为驱动芯片。THB7128为大功率、高细分两相混合式步进电机驱动专用芯片,双全桥MOSFET驱动;最高耐压可达DC40V;输出电流峰值可达3.3A;多种细分模式可选,最高可达128细分。

智能模块细分驱动工作原理:通过采用拟正弦波的绕组驱动电流实现对步进电机励磁绕组电流的细分控制,对步进电机步距角进行细分,从而达到更高的步进精度。本设计中子节点MCU将细分控制信号发送给电机驱动模块,其内部集成的相序产生器将设定的电流值送入DAC。经误差比较放大环节和PWM驱动调节电机绕组中的电流,使其按照给定波形变化,从而获得所需要的细分精度驱动步进电机运转[5]。

4 系统软件设计

整个系统的软件分为上位机软件和下位机节点控制软件。

上位机的软件通过Labwindows/CVI编写,包括三大部分:通信模块,管理模块,界面设计。通信模块主要负责实现CAN接口通信的初始化、数据接收和发送。管理模块负责各个电机的启停、运行步数、速度、转向及细分模式的设置。界面设计则为人机交互提供了方便。

下位机软件由主程序、CAN初始化程序、CAN报文发送和接收程序、电机控制程序等组成。主程序流程图如图4所示。

图4 下位机主流程图

5 实验及结果分析

本设计选用型号为42BYGHW208的两相混合式步进电机进行测试。

本系统采用“针尖对针尖”的实用实验方法进行验证,并通过示波器记录不同细分数的波形图,波形图如图5所示,实验测试实物图如图6所示。

此型号步进电机步距角为1.8度,经计算,步进电机128细分时针尖走过的弧长约为0.0066mm,而针尖的直径可达微米级,故此种测试方法是有效的。具体实验方法:设置不同的细分数,在每种细分数状态下设定电机转动相同的圈数,观察电机转动的累积误差。记录电机转动无累积误差时的最大步进频率。得到数据如表1所示。

图5 八细分取样电阻两端波形(理想VS实测)

图6 整个实验系统实物图

表1 实验测试结果

根据表1可以得到如下结论:

(1)细分驱动要有频率上限限制的,且细分数越高,上限频率越低。这是因为随着步进电机细分数的增加,其步距角越来越小,若频率过快,则很容易出现振荡失步等现象,并导致步进电机丢步。

(2)为了快速而又不丢步地进行定位驱动,建议最好采用整步和细分步相结合的方式。即首先用整步快速运行到接近预定位置,然后再用较高的细分步数“细分”驱动精确地平滑地运行到预定位置。

(3)为了可靠地不丢步的运行,建议所用驱动时钟(CLK)频率不要接近表1的最大限制频率(fmax)。比如在3/4或1/2 fmax处运行,具体多少为佳需要看步进电机所带的负载轻重与否,负载轻,频率就可以高一些;负载重,频率就要低一些。这样就可以可靠地准确地驱动到预定位置。

波形图测试说明如下:

为测试方便,本次实验选取测试取样电阻(图3中RA, RB)两端的电流波形。图5(a)为理想状态下8细分时的为200Hz,步进电机A,B两相绕组取样电阻两端的电流波形。可以看出两路波形均为取绝对值后的正余弦波,相位相差90°,图5(b)为200Hz,步进细分数为8时的实际测试结果,可见实测波形与理想波形基本一致,限于篇幅,其他细分数的波形就不赘述了。图6为主节点带两个子节点的整个实验系统实物照片。上位机界面图比较繁杂,尺寸大,此略。

6 结论

基于STM32和CAN总线的智能步进电机驱动模块的设计,很好的解决了传统并行集中控制模式中存在不足,硬件上减少走线、系统更易于扩展,软件上通信更加灵活,实时性更好,纠错能力强,经实践证明,该系统控制灵活,数据传输可靠,在生命科学仪器中具有较强的通用性和广泛的应用前景。

[1]张文超. CAN总线技术研究与基于CAN总线的生命科学仪器硬件系统设计(上篇)[J]. 医疗卫生设备. 2005, 26(2):8-10.

[2]张文超. CAN总线技术研究与基于CAN总线的生命科学仪器硬件系统设计(下篇)[J]. 医疗卫生设备. 2005, 26(3):3-5.

[3]魏衡华, 陈根杰, 张玉斌, 等. 基于CAN总线的步进电机控制系统的设计[J]总线与网络. 2009, (1):29-32 .

[4]刘威龙, 孙明磊, 王頔, 等. 基于STM32的分布式步进电机控制系统设计[J]. 数字技术与应用. 2012, (3):12-14.

[5]王志超,林岩,李大庆. 两相混合式步进电机细分驱动[J]. 信息与电子工程. 2008, 6(6):457-459.

猜你喜欢

实时性细分总线
基于规则实时性的端云动态分配方法研究
深耕环保细分领域,维尔利为环保注入新动力
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
航空电子AFDX与AVB传输实时性抗干扰对比
1~7月,我国货车各细分市场均有增长
整体低迷难掩细分市场亮点
多通道ARINC429总线检查仪
纸媒新希望 看新型报纸如何细分市场逆势上扬
一种车载Profibus总线系统的实时性分析