谢良松
(贵阳职业技术学院,贵州贵阳550025)
由于在增材制造上独特的优势,3D打印机在快速成型方面应用广泛,特别是在快速验证设计方面[1]。随着科技的快速发展,桌面级的3D打印机也随处可见,但是在快速应用的同时,普通桌面级3D打印机也出现了一些问题,比如在环境温度较低时,会出现翘边现象[2],虽然通过热床能有一定的改善,但是对热床要求较高,如果参数不合适翘边现象依然明显[3]。
针对上述问题,设计开发了一套以STM32为控制核心的温度控制系统,以保持打印机内部全空间温度恒定,替代传统热床仅加热打印件底部的方式,改善翘边问题。
该恒温控制系统基于自制的桌面级3D打印平台,如图1所示。温度控制系统实物图如图2所示,该温度控制系统主要由PTC加热模块、STM32控制器、涡轮风机、显示屏、NTC温度传感器等构成。
图1 3D打印平台 图2 温度控制系统构成
由于该3D打印平台电源电压为12 V,所以温度控制系统也选用了额定电压为12 V的PTC加热模块,选用MOS管驱动PTC加热模块,主控制器采用的具体型号为STM32F103核心板,板上共48引脚。显示模块选用0.96寸带SPI接口的OLED显示屏,可以在程序中定义显示内容,以实现显示实时温度、用户设置的目标温度、pwm输出的频率、风机的开关状态等信息,便于观察和判断该温度控制系统的运行状态。其系统的工作原理图如图3所示。
图3 控制结构图
在温度控制程序设计方面,采用比较经典的PID算法[4]。由于该系统为闭环控制,温度传感器将实时的温度值反馈到控制器中,与用户设置的目标值进行对比后,产生的误差经PID算法运算后实时调节PWM输出,控制PTC加热器和涡轮风机转速。目前较为成熟的控制算法有模糊控制算法[5]、PID控制算法、神经网络控制算法以及多种算法混合控制。由于每种算法都有自己独特的优势,其中PID算法不需要推导复杂的控制参数就能达到很好的控制效果,且针对温度控制系统的鲁棒性很好,结合实际情况和需要,本温度控制系统的控制算法采用增量式PID控制,数学模型可以表示为:
Δm(k)=Δmp(k)+Δmi(k)+Δmd(k)
其中,m(k)—第K个控制周期输出的控制量;
m(k-1)—第K-1个控制周期输出的控制量。
该数学模型经过处理后可以得到如下表达式:
m(k)=m(k-1)+kp×(e(k)-e(k-1))+ki×e(k)+kd×(e(k-1)+e(k-2))
其中,kp—比例参数,ki—积分参数,kd—微分参数,e(k)—控制器在第k次采样的偏差值。
其写成相应的对PTC控制的C程序如下:
Int calcul_PID(int now_s;unsigned int target)
{
Static int Bias,Pwm_out,Last_Bias;
Bias = target-now_s;
Pwm_out=Pwm_out+Kp*( Bias-Last_Bias)+Ki* Bias;
Last_Bias = Bias;
Return Pwm_out;
}
对涡轮风机的控制,根据用户设定的温度不同控制风机的转速,其控制C程序如下:
Motor_control = Pwm_out + load_m;
图4 实际打印效果
搭建完成温度控制系统硬件平台后,在PC上编写PID控制程序,然后将编译好的程序下载到控制器内,上电运行整个温度控制系统,记录试验数据并分析,实时调整PID参数,经过多次试验,得到最优的控制参数为p=2,I=1。由图4的实际打印效果来看,没有出现卷边等现象,满足预期的设计要求。图5为打印平台内部实时温度变化曲线,在30 s左右基本达到预设温度,50 s左右开始稳定在50 ℃,已经完全符合打印要求。由此表明控制效果良好,符合设计要求。
图5 打印平台内部温度变化曲线
针对3D打印机设计了一种可以快速调整打印机打印环境的温度控制系统,该温度控制系统能够极大地改善在低温环境下打印的翘边现象,大大地减少了打印废件的产生,可以替代热床,同时该温度控制系统能够实时检测环境温度并在显示屏上显示控制参数。依托3D打印平台,基于PID控制理论设计了恒温控制系统,并进行温度控制试验。试验结果证明:在该3D打印平台上,环境温度控制效果良好,打印件未出现翘边现象,在环境温度变化时系统能够快速反应,实时调整打印环境温度以满足恒温的打印环境。验证了该温度控制系统的有效性,同时该套温度控制系统也能够应用于其他3D打印机中。