本发明涉及一种3D打印步进电机控制系统,属于智能控制技术领域。
背景技术:
3D打印机,是基于快速成形技术的一种机器。3D打印技术是一种以数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术。
传统的3D打印机,因为步进电机驱动器的缘故,以及系统化的设计问题,使得打印机在打印时因为给电机输出电流的不稳定,导致步进电机带动喷头运动的时候可能出现抖动的问题。喷头抖动会导致打印不均匀,进而导致成品不符合规格。
同时,因为打印机的塑料和金属粉末成本高昂,现在的精确度并不适合制造大部分的高端设备工业品,而低端大规模生产的产品却显得效率极低,且单体机做生产,维护费用和难度远远高于传统工艺把产业链平摊开的做法。高不成低不就,直接导致3D打印机的工业附加值较低。
此外,3D打印机真正打印出一个成品,真正做出一个模型,需要大量的工程,结构方面的知识,需要精巧的设计,并根据具体情况进行调整,工程量较大。
技术实现要素:
本发明要解决的技术问题是如何增加3D打印机打印过程中的稳定性,防止喷头抖动。
为了解决上述技术问题,本发明的技术方案是提供一种3D打印步进电机控制系统,其特征在于:包括
用于作为核心模块,控制3D打印步进电机工作的网络处理器;
用于从上位机下载模型数据,以及从内存中将处理数据输出到网络处理器中以控制步进电机工作的输入输出接口;
用于储存从上位机下载的模型数据的本地存储模块;
用于获取网络资源的通信模块;
输入输出接口、本地存储模块、通信模块均与网络处理器进行信息交换,网络处理器通过脉冲频率控制3D打印步进电机转动的速度和加速度,使3D打印步进电机带动的喷头稳定工作。
优选地,所述网络处理器为STM32F107VC网络处理器。
优选地,所述输入输出接口包括模拟量输入AI接口、数字量输入DI接口和数字量输出DO接口;AI接口用于连接传感器,以获取现场连续变化的信号;DI接口用于连接传感器,以采集现场的开关量信息;DO接口用于输出数字信号,以控制执行机构动作。
优选地,所述本地存储模块包括EEPROM和外接的SD卡。
优选地,还包括用于线路的铺设、控制板中晶振的调节测试、各电路的串通以及JTAG接口的设计的基本模块,基本模块连接网络处理器。
优选地,所述包括用于供用户观察仪器状态和选择其功能的人机接口,人机接口连接网络处理器。
更优选地,所述人机接口包括LED灯以及LED显示屏。
优选地,所述3D打印步进电机为57型步进电机。
优选地,还包括3D打印步进电机定位控制系统,上位机下达位置指令X0,根据步进电机位置补偿表得到补偿位置ΔX,位置指令X0与补偿位置ΔX的和形成实际位置指令Xs,实际位置指令Xs与步进电机当前位置的实时反馈值之差为位置偏差E,根据位置偏差E和步进电动机当前转速发出转速指令N,并解析为转向信号dir和脉冲信号cp,控制步进电动机的转速和转向,使步进电动机达到指令位置。
更优选地,当步进电动机到达指令位置时,使步进电动机的转速降为可停转速,以便于快速准确定位控制。
本发明提供的系统克服了现有技术的不足,充分利用集成的外设单元和其相应的外围接口电路,采用了脉冲频率控制电机转动的速度和加速度,不仅能解决3D打印过程中抖动问题,还能保证远程监控终端的稳定性,同时在一定程度上降低了3D打印的硬件成本;在处理器设备上有储存设备及外设储存设备,可以储存之前的模板数据,进而降低了重复制作模板的工程量,储存和打印也变得方便快捷。
附图说明
图1为本实施例提供的3D打印步进电机控制系统的总体结构框图;
图2为步进电机定位控制系统原理框图;
图3为系统的输入/输出接口电路;(a)AI接口电路;(b)DI接口电路;(c)DO输出电路;
图4为3D打印步进电机控制系统进行3D打印的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
一、总体设计
1.1总体结构
图1为本实施例提供的3D打印步进电机控制系统的总体结构框图,所述的3D打印步进电机控制系统由5个模块构成。其核心模块为STM32F107VC网络处理器,该芯片具备72MHz运行频率和90DMIPS的处理性能,集成了以太网、CAN总线、RS485、RS232、USBOTG等各种高性能工业标准接口,其标准外设包括10个定时器、16路12位1Msps采样速率的A/D模/数转换器、2路12位D/A数模转换器等,可以应用于多种工业场合。
与核心模块进行信息交换的其它模块分别是:1)基本模块,主要用于线路的铺设、控制板中晶振的调节测试、各电路的串通以及JTAG接口的设计;2)本地存储模块,主要用于储存导入的3D模型,有EEPROM和外接的SD卡分别对应两条总线;3)输入输出接口,主要用于从电脑端下载模型数据加以储存,以及从内存中处理数据输出到控制板中处理数据控制步进电机工作;4)人机接口,有LED灯显示以及LED显示屏以供用户观察仪器状态和选择其功能;5)通信模块,装有DP82848网络芯片和RS485模块,获取网络资源。
1.2步进电机的选择
本实施例选择57型步进电机。
57型步进电机具有两大优点:1)不需要反馈信号就可以对系统的位置、速度输出进行控制。其原因是它可以将电脉冲信号转变为角位移或线位移。在非超载情况下,电机转速、停止位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。当步进驱动器接收到一个脉冲信号时,它就能驱动步进电机按设定的方向转动一个固定的角度,通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。2)可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
基于以上优点,本实施例选用了57型步进电机作为3D打印步进电机控制系统的核心。
1.3步进电机定位控制器的工作原理
确定位置及速度原理:定位使用相对定位的方式;当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
57型步进电机的步距角为1.8°,一步的脉冲个数为200。
由于控制器具有采样周期时间限制,在升速率较高时,步进电机的转速容易穿越开关线,形成极限环,造成系统振荡,无法正常工作。为解决以上问题,本实施例设计了一个步进电机定位控制系统,如图2所示,该定位控制系统由位置补偿表、位置控制器、升降速控制器、信号转换器、转速及位置检测器、转速反馈及失步检测器等功能模块组成。
步进电机定位控制系统实现准确定位的工作原理如下:上位机向步进电机定位系统下达位置指令X0,根据起始位置、目标位置和转向查找位置补偿表得到补偿位置ΔX,位置指令X0与补偿位置ΔX的和形成实际位置指令Xs,实际位置指令Xs与步进电机当前位置的实时反馈值之差为位置偏差E,位置控制器根据位置偏差E和步进电动机当前转速发出转速指令N,再由升降速控制器计算出当前步进电动机的转速/′t,之后由信号转换器解析为转向信号dir和脉冲信号cp,控制步进电动机的转速和转向,使步进电动机达到指令位置。当系统到达指令位置时,位置控制器必须使步进电动机的转速降为可停转速,从而达到快速准确定位控制的要求。
升降速控制器:用于保证步进电动机的转速能以准确的速率Dac直线下降。步进电动机的最低转速、最高转速分别为n(min)、n(max)。步进电动机从n(max)直线下降到n(min),步进电动机所移动的位置偏差为Em,则:
同理,电机当前转速为n时,步进电动机从n直线下降到n(min),步进电动机移动的位置偏差:
上式以位置正偏差时能减少偏差的运动方向为转速的正方向,当位置负偏差时步进电动机的运动方向应为负方向,则有:
如果以式(2)和式(3)为定位系统最佳开关线,则定位系统的状态位于开关线时对步进电动机实施以n(min)或n(max)为目标、Dac为速率的直线降速,系统状态最终可达(0,n(min))或(0,-n(min))点,从而使定位系统快速准确停车。
位置补偿表:为了补偿由于定位系统的传动误差、运动机构间隙非线性、丝杠的扭转刚度不足等原因造成定位误差,在不使用直接位置检测的情况下可采用补偿表来减少定位系统的误差。构建补偿表应考虑如下因素:(1)起点和终点;(2)往返;(3)系统运行时间。位置补偿表根据不同电机的属性由若干次试验预先获得,为了减少补偿表的数据量,可使用插补的方法。补偿表仅在位置指令输入时调用,而非每步都调用。位置补偿表的具体构建方法参见文献:李汉,钟饰勇.步进电动机快速准确定位系统的设计[J].微特电机,2012,40(5):34-36.以及孟凯,张炯.LPC2210微控制器在步进电机位置控制系统中的应用[J].电工电气,2010,(8):32-35.
转速、位置及失步检测:定位系统位置和转速的检测采用增量型编码器。为了简化系统,降低成本,未使用位置传感器检测工作台的位置,仅检测步进电动机轴端的位置。采用抗振动M/T测速方法可提高转速和位置检测的准确度并具备抗振动性。因为系统可实时检测步进电动机的转速,通过比较升降速控制器的输出转速N和实测转速Nact来检测是否失步,但要设置一个允许偏差。定位系统一旦检测到失步立即重启位置控制,确保定位的可靠性。
1.4系统的输入/输出接口设计
系统的输入/输出接口包括AI(Analog Input,模拟量输入)接口、DI(Digital Input,数字量输入)接口和DO(Digital Output,数字量输出)接口。AI接口用于连接传感器,以获取现场连续变化的信号,如温度、湿度、烟雾等;DI接口用于连接传感器采集现场的开关量信息,如设备震动、开关门动作、水浸超标和系统断电等;DO接口用于输出数字信号,以控制执行机构动作,如继电器等设备。
STM32F107VC内部集成了ADC(模拟数字转换器),输入通道的幅值范围为0~3.3V,传感器输出的模拟量数据需要经过滤波、放大处理过程输入至ADC接口通道。ADC的精度很大程度上依赖于基准电源的精度。本系统采用高精度参考电压源AD780为STM32F107VC提供基准电压。AD780是一款超高精度带隙基准电压源,可以通过4~36V的输入电源提供2.5~3.0V输出基准电压。它具有低初始误差、低温度漂移和低输出噪声,非常适合用于增强高分辨率ADC的功能。
系统的AI接口电路、DI接口电路以及DO输出电路如图3所示;图3清晰的展现出了AI接口和DI接口,AI接口实现将被控对象的模拟量参数转换成标准电流或电压信号;DI接口将脉冲信号转换成计算机能够接受的数字信号。STM32F107VC的GPIO引脚都可以由软件配置为输入/输出模式,并且输入可承受5VTTL电平。本系统采用PC817光电耦合器实现GPIO引脚与外围电路的电气隔离,提升终端的电绝缘和抗干扰能力。DO接口使用大电流三极管驱动继电器输出开关信号。
二、3D打印步进电机控制系统的实现
2.1控制系统结构设计
控制系统主要由3部分组成:电机控制位移系统、传感反馈系统和电源系统。电机控制分为钻头、控制位移和风冷三大部分。传感反馈功能由位置传感器、温湿度传感器实现。数控板及置物板的放置需要根据x、y、z轴的活动范围确定。
2.2控制系统硬件组成
控制系统硬件部分由三个基本模块构成:1)电机直接驱动接口电路;2)驱动脉冲发生电路及过流保护电路;3)微处理器控制模块。按单路方式,一块控制板控制一路步进电机。其软件部分需要根据不同设备类型进行开发。其硬件部分中核心的微处理器采用了东芝TB6560。TB6560步进电机驱动器是具有高稳定性、可靠性和抗干扰性的经济型步进电机驱动器,适用于各种工业控制环境。硬件中的驱动器主要用于驱动35、39、42、57型4、6、8线两相混合式步进电机。其细分数有4种,最大16细分,其驱动电流范围为0.3A-3A,输出电流共有14档,电流的分辨率约为0.2A,具有自动半流,低压关断、过流保护和过热停车功能。
TB6560步进电机驱动器微处理器控制板采用STM32F107VC处理器,其内置256K的FLASH存储器,256K的存储器除了可以实现基本的电机控制及与上层系统交换数据外,还可以存储一些运动轨迹库,用于给上层系统进行调用,由于该存储空间可以实现加密处理,因此可以有效地保护驱动程序库的安全。用STM32F107VC来储存以往打印的模板数据,用于快速方便的成件打印成品。
STM32F107VC处理器可以外接SD卡,可以用来扩展各类控制化系统的运动控制程序库,能方便地实现系统的扩展,实现各类工业自动化设备的开发。本系统在实现3D打印时,通过选取基本的XYZ运动模组,开发了针对该系统的步进电机控制软件库,实现了步进电机的位移控制。
2.33D打印工作流程
3D打印步进电机控制系统进行3D打印的流程如图4所示。首先,建立预加工的计算机三维实体模型“.STL”文件,结合CAD、CAM将其以STL、ply、wrl等数据格式存储,看模型是否合适并进行缩放和修补。打印机采用挤压的方式把热熔丝从加热头挤出来,用挤出的细丝将模型的一层画出来;然后,采用三维模型打印分层软件(slicer)对该三维模型进行分层;并且生成路径文件“G-Code”文件告诉打印头该如何运动和吐料。使用Seinforge软件进行分层后,需要Pronterface打印控制软件来全程控制打印过程;在软件中通过设定打印机的热熔丝、进料头等参数后开始进行打印;在打印中观察和控制数控版打印是否正常,在不正常情况下立即停止打印并纠正参数。
综上,本发明提供的系统采用TB6560步进电机驱动器控制57型步进电机。这种控制方法采用了脉冲频率控制电机转动的速度和加速度,因而解决了3D打印过程中的抖动问题。系统由STM32F107VC网络处理器、输入输出接口、基本模块、本地存储模块和通信模块5部分构成,通过分析这5种模块中重要零部件的参数和工作原理,开发了能实现XYZ三轴方向精确位移控制的系统。试验表明,本发明提供的系统能实现XYZ三轴方向的精确定位和位移控制。