文章快速检索  
  高级检索
FDM型3D打印机的高精度进料系统研究
司国斌,王春霞,靳孝峰     
焦作大学 机电工程学院, 河南 焦作 454003
摘要: 为了提高打印成型件的精度和质量,对FDM型3D打印机进料系统及其具体实现方法进行了改进.系统采用功率管IRF530N、加热管和PWM组成加热模块,采用铂热电阻Pt100、差动放大电路和PID算法组成温度测控模块.既简化了标度变化的计算量,又降低了电阻值温漂对测量结果的影响.针对基于步进电机结构的送料控制模块,给出了减少步进电机失步的措施.系统实现了180~250℃,±1℃精度的恒温控制,为FDM型3D打印机系统的恒温和高精度进料提供了保障,并且在简单调整后,还可对湿度、压力、位移和角度等物理量进行控制.
关键词: 3D打印机     PID     PWM     恒温控制    

基金项目: 河南省科技攻关项目(152102210204,152102210020)
Research for high-precision feed system based on 3D printer of FDM
SI Guo-bin, WANG Chun-xia, JIN Xiao-feng     
College of Mechanical and Electrical Engineering, Jiaozuo University, Jiaozuo 454003, China
Abstract: In order to improve accuracy and quality of print moldings, high-precision feed system based on 3D printer of FDM and the implement method is improved. This system used IRF530N power tube, heating pipe and PWM as a Heating Module; Pt100 platinum thermistor, differential amplifier circuit and PID Algorithm as a Temperature Measuring and Controlling Module. It not only simplified the calculation of scale changes, but also reduced the influence of the measurement of resistance drift. Based on feeding control module of the stepping motor, some measures for reducing the phenomenon of the stepper motor which losed step were given. The realization of constant temperature control of 180-250℃ range, ±1℃ accuracy can guarantee the constant temperature and high precision feeding of 3D printer of FDM. It can also be used to control the humidity, pressure, displacement and angle and other physical quantities.
Key words: 3D printer     PID     PWM     thermostatical control    

3D打印在汽车、建筑、航空航天和医疗等领域应用十分广泛,如模具制造[1]、零部件加工[2]、日用品模型加工和外形设计.FDM型3D打印机具有操作环境干净、安全,工艺简单,易操作且不产生垃圾,尺寸精度较高,表面质量较好,易于装配和原材料种类多,费用低等优点[3-4].进料系统作为FDM型3D打印机的核心部件,直接影响到成型件的精度和质量.材料收缩率、喷头温度、进料速度与挤出速度的匹配等,都会影响FDM型3D打印机进料系统的精度.材料的收缩率属于外部因素,可通过喷头温度和进料速度与挤出速度的匹配改善.因此,研究进料系统温度控制及其具体实现方法,有一定意义和价值.限于篇幅,本文主要研究喷头温度控制对进料精度的影响.

1 进料系统总体

进料系统主要由四部分组成:加热模块、温度模块、电机模块和风扇模块,组成框图如图 1所示.其中,加热模块由加热控制电路和加热管组成,实现固体塑料融化;温度模块由温度测量电路和温度传感器组成,实现温度和进料控制;电机模块由电机控制电路和电机组成,实现送料量控制;风扇模块由风扇控制电路和风扇组成,实现气体扩散和系统冷却.本文研究的关键点集中在加热模块和温度测量模块,以实现进料系统的恒温控制.在本系统中,选用STM32F103VBT6作为主控制器(LQFP100封装),选用铂热电阻Pt100作为温度传感器[5-6].

图 1 进料系统组成框图 Fig.1 Block diagram of the feed system
2 加热模块设计

FDM型3D打印常用的塑料耗材有PLA和ABS两种,直径分别为1.75 mm和3.0 mm.PLA是生物分解性材料,具有较低的熔体强度,打印模型更容易塑形,表面光泽性优异,色彩艳丽,气味宜人,适于环保产品;ABS有刺鼻气味,但它的耐撞和耐热性好,适于对耐热和耐磨要求较高的产品.PLA耗材最佳的打印温度为180~210 ℃,ABS耗材最佳的打印温度为190~210 ℃.根据热学理论和进料量,加热管功率在30~40 W时效果较佳.

加热模块电路如图 2所示.图 2中,选用N沟道、HEXFET、功率MOSFET IRF530N(图中Q2).IRF530N具有90 mΩ的超低导通电阻,最大漏极电流ID=17 A,漏源击穿电压VDSS=100 V.HOT为来自主控器STM32F103VBT6的I/O信号,幅值电压为0~3.3 V,而IRF530N的栅源极导通电压VDS=2.0~4.0 V,因此为保证IRF530N可靠工作,先用HOT控制NPN型三极管9013(图中Q1)的工作状态,再用Q1控制Q2,实现加热管控制.当Q1处于截止状态时,Q2导通,加热管加热;当Q1处于导通状态时,Q2截止,加热管停止加热.STM32F103VBT6内部集成4个16位定时计数器TIM1,TIM2,TIM3和TIM4,每个定时计数器有4路定时计数通道TIMx_CH1,TIMx_CH2,TIMx_CH3和TIMx_CH4,每路定时计数通道都具有PWM工作模式.

图 2 加热模块电路 Fig.2 Heating module circuit

本文中选用PWM模式下TIM2_CH2定时计数通道,作为HOT信号.STM32F103系列在PWM模式设置时,应注意以下几点:

1) PWM通道对应的I/O引脚设置为复用功能的推挽输出模式;

2) 在定时器复位后,设置其有关参数和系数;

3) 时钟预分频系数TIM_Prescaler的取值范围为0~65 535,定时计数时钟频率等于系统时钟频率fosc除以1与TIM_Prescaler的和.例如当fosc=72 MHz,TIM_Prescaler=71时,定时计数时钟频率等于1 MHz;

4) 可通过函数“TIM2- > CCR2=xx”设置TIM2_CH2定时计数通道PWM的占空比.

注意:在停止加热时不仅要关闭TIM2_CH2,还要通过函数“TIM_ForcedOC2Config(TIM2,TIM_ForcedAction_InActive)”,使其强制输出非匹配电平(高电平),以保证场效应管IRF530N处于截止状态.

3 温度模块设计

铂热电阻Pt100是一种常用的温度传感器,测量范围为-190~630 ℃,精度为±1 ℃.在0~630 ℃时,铂热电阻Pt100的阻值温度关系为

$ {{R}_{t}}\text{=100}\left( \text{1+at+b}{{\text{t}}^{2}} \right), $ (1)

式中:a=3.96847×10-3-1, b=5.847×10-7-2.因此,0 ℃时,Pt100的阻值为100 Ω;250 ℃时,Pt100的阻值为194.1 Ω.本文为保证测温模块有合理的余量,设计测温上限为250 ℃.温度模块电路如图 3所示.

图 3 温度模块电路 Fig.3 Temperature module circuit

图 3中,选用低成本运算放大器LM324,构成差动运算放大电路对温度信号进行调理,输出V3

$ {{V}_{3}}=\frac{{{R}_{6}}}{{{R}_{9}}}\left( {{V}_{2}}-{{V}_{1}} \right), $ (2)

式中:R6=110 kΩ,R9=3.3 kΩ.经计算,知0~250 ℃时,V3变化范围为0~3.14 V.LM324在单+5V供电时,输出信号范围为0~3.5 V,在有效测温范围内,信号可完整传输.

图中U2是一款高精度基准电压芯片REF3033,输出电压为(3.3±0.006)V,输出电流为25 mA.电阻R8R7组成串联电阻分压结构,分压V1向差动电路提供反相端输入电压.电阻R10和铂热电阻RT1也组成串联电阻分压结构,分压V2向差动电路提供同相端输入电压.于是,式(2)可表示为

$ {{V}_{3}}=\frac{{{R}_{6}}}{{{R}_{9}}}\left( \frac{{{R}_{{{\text{T}}_{1}}}}}{{{R}_{10}}+{{R}_{{{\text{T}}_{1}}}}}-\frac{{{R}_{8}}}{{{R}_{7}}+{{R}_{\text{8}}}} \right){{V}_{\text{ref}}}. $ (3)

R7R10阻值相同,R8RT1在0 ℃时的阻值相同,R10远远大于RT1.因此,根据式(1),则式(3)可近似为

$ {{V}_{3}}\gg \frac{{{R}_{6}}}{{{R}_{9}}}\left( \frac{\text{100}\left( \text{at+b}{{\text{t}}^{2}} \right)}{{{R}_{10}}+\text{100}\left( \text{1+at+b}{{\text{t}}^{2}} \right)} \right){{V}_{\text{ref}}}, $ (4)

式中Vref=3.3 V.再将R6R9R10的阻值代入式(4),式(4)可表示为

$ {{V}_{3}}=110\left( \frac{\text{at+b}{{\text{t}}^{2}}}{33+\text{at+b}{{\text{t}}^{2}}} \right). $ (5)

式(5)即为进料系统温度与电压的关系.选用差动放大电路不仅可简化温度与电压的关系,又可明显降低电阻温漂对测量结果的影响.

对测温电路的几点说明:1) R6R12选用精度为0.05%的低温漂精密电阻;2) 稳压二极管D1将温度信号钳制在3.3 V以下,对单片机STM32F103VBT6的ADC_IN0通道进行电压保护;3) 电阻R13既可限流,又可在V3 > 3.3 V时保护LM324;4) ADC0连接单片机STM32F103VBT6的ADC_IN0通道.

4 恒温控制算法设计

PID是一种经典的闭环控制方法,很多场合都用其来实现恒温控制[7-10].本文先利用ADC,经标度变换,得到当前温度T_feed.再用目标温度T_Set与当前温度T_feed做差运算:如果偏差在0.1 ℃以内,继续保持当前PID参数;如果偏差超出0.1 ℃,调用PID算法进行调节.本文采用±0.1 ℃的理论偏差,保证±1 ℃的实际误差.PID恒温控制的核心实现方法如下:

if(fabs(T_Set-T_feed) > 0.1)

{

  float Pv;

  Pv=PIDCalc (Temp_HOT,T_feed);

  CCR_feed=5995-(CCR_feed+Pv*20.0); //将温度转换为TIM2_CH2的占空比参数

  if(CCR_feed < =1) CCR_feed=1;

 else if(CCR_feed > =5950) CCR_feed=5950;

  TIM2- > CCR2=CCR_feed; //更新占空比,实现PID温度调节

}

typedef struct PID {float SetPoint,Proportion,Integral,Derivative,LastError,PrevError,SumError; } PID;

在结构体PID中,SetPoint为目标温度,Proportion为比例常数,Integral为积分常数,Derivative为微分常数,LastError为当前偏差,PrevError为上次偏差,SumError为总偏差.

float PIDCalc(PID *Temp,float NextPoint) // PID计算,Temp为PID型数组

{

  float dError,Error;

  Error=Temp- > SetPoint-NextPoint; //计算偏差

  Temp- > SumError+=Error; //计算积分

dError=Temp- > LastError-Temp- > PrevError; //计算微分

  Temp- > PrevError=Temp- > LastError; //更新上次偏差

  Temp- > LastError=Error; //更新当前偏差

  if(Temp- > SumError < 900)

  Temp- > SumError=900; //限制总偏差

  else if(Temp- > SumError < -900)

  Temp- > SumError=-900;

  return (Temp- > Proportion * Error //返回得到比例项

  +Temp- > Integral * Temp- > SumError //返回得到积分项

  +Temp- > Derivative * dError //返回得到微分项

  );

}

5 电机模块设计

电机模块控制进料量大小.本文选用2相4线制混合式步进电机为系统的驱动装置,电机驱动电路是电机模块的电路核心.目前,集成的步进电机驱动芯片较多,如A39系列、L62系列、TA83系列和THB系列等.应选择输出电流可调、细分数可程控选择的步进电机驱动芯片,以保证系统柔性.虽然步进电机具有成本低和可准确定位等优点,但失步现象是其核心缺陷,产生失步的本质是电机输出扭矩偏小[11].为减少失步现象,在电机模块软硬件设计时,应注意以下几点:1) 尽可能得到准确的负载大小,使电机扭矩有20%以上的余量,即大马拉小车;2) 采用梯形结构的启动、运行和停止方式[7];3) 大负载选用低速、小步距角和小细分数,小负载可选用高速、大步距角和大细分数;4) 电机驱动芯片至少有20%的功率余量,同时提供上限电压使电流动态调整[12-13].

6 实验

以本文设计的FDM型3D打印机进料系统为平台,测得表 1所示的温度数据.由表 1可知,进料系统温控范围为180~250 ℃,最大正偏差为+0.6~+0.9 ℃,最大负偏差为-0.5~-0.8 ℃,完全达到±1 ℃的精度.如果要进一步减小偏差,可选用高精度温度传感器和高速ADC,但对于FDM型3D打印进料系统,温度控制没有实际意义,实际应用中±5 ℃的误差即可完全满足要求.

表 1 温度测量数据 Table 1 Datas of temperature measurement
目标温度 180 190 200 210 230 250
实测值1 180.3 189.5 199.8 210.1 229.6 250.7
实测值2 180.2 190.1 200.2 210.7 229.8 250.6
实测值3 179.8 190.4 200.7 210.2 229.4 249.5
实测值4 180.3 190.6 200.5 210.8 230.1 250.1
实测值5 179.5 189.3 199.4 209.5 230.7 250.8
实测值6 179.7 189.3 199.6 209.7 230.9 250.3
实测值7 180.6 190.0 200.9 210.5 229.3 249.6
实测值8 180.2 189.2 200.3 210.6 230.4 249.8
平均值 180.1 189.8 200.2 210.3 230.0 250.2
最大正偏差 +0.6 +0.6 +0.9 +0.7 +0.9 +0.8
最大负偏差 -0.5 -0.8 -0.6 -0.5 -0.7 -0.5
7 结论

本文研究并设计出一套完整的FDM型3D打印机进料控制系统,将PWM、PID、差动放大电路和铂热电阻有机结合,实现180~250 ℃,±1 ℃精度的恒温控制,为FDM型3D打印机系统的打印质量和精度提供了保证.同时,该进料系统还具有以下特点:1) 调整差动放大电路的增益,可改变测温范围;2) 选用高精度温度传感器和高速ADC[14-15],可实现更高精度的温度控制;3) 对电路进行简单调整,还可实现对湿度、压力、位移和角度的控制.

参考文献
[1] 刘媛媛, 张付华, 陈伟华. 面向3D打印复合工艺的生物CAD/CAM系统及试验研究[J]. 机械工程学报 , 2014, 50 (15) : 147–153.
LIU Yuan-yuan, ZHANG Fu-hua, CHEN Wei-hua. CAD/CAM system and experimental study of biological 3D printing composite process[J]. Journal of Mechanical Engineering , 2014, 50 (15) : 147–153. DOI:10.3901/JME.2014.15.147
[2] 王海军, 黄卫东. 矿机易损设备3D打印修复技术的应用初探[J]. 煤炭工程 , 2014, 46 (12) : 72–74.
WANG Hai-jun, HUANG Wei-dong. Discussion on application of 3D printing and repair technology to easily worn equipment of mine machinery[J]. Coal Engineering , 2014, 46 (12) : 72–74.
[3] 谭秀腾, 郭小定, 李小龙. 基于ARM的桌面型3D打印机控制系统设计[J]. 应用科技 , 2014, 41 (5) : 57–61.
TAN Xiu-teng, GUO Xiao-ding, LI Xiao-long. Design of desktop 3D printer control system based on ARM[J]. Applied Science and Technology , 2014, 41 (5) : 57–61.
[4] 阴贺生, 赵文豪, 宋杰, 等. 基于三臂并联结构的桌面3D打印机[J]. 机械 , 2015, 42 (2) : 36–40.
YIN He-sheng, ZHAO Wen-hao, SONG Jie, et al. A desktop 3D printer based on delta structure[J]. Machinery , 2015, 42 (2) : 36–40.
[5] 严长城, 应贵平. 基于PT100铂热电阻的高精度测温系统的设计[J]. 机电工程技术 , 2015, 44 (3) : 71–74.
YAN Chang-cheng, YING Gui-ping. The design of a temperature collection system with high precision based on PT100[J]. Mechanical & Electrical Engineering Technology , 2015, 44 (3) : 71–74.
[6] 赵宇佳, 姜汉钧, 张羊, 等. 一种超低功耗高精度温度传感器芯片设计[J]. 微电子学与计算机 , 2015, 12 (1) : 40–43.
ZHAO Yu-jia, JIANG Han-jun, ZHANG Yang, et al. A novel ultra-low power temperature sensor IC with high precision[J]. Microelectronics & Computer , 2015, 12 (1) : 40–43.
[7] 张军. 基于ARM的高精度PID温度控制器[J]. 仪表技术与传感器 , 2013, 50 (10) : 65–66.
ZHANG Jun. ARM-based high-precision PID temperature controller[J]. Instrument Technique and Sensor , 2013, 50 (10) : 65–66.
[8] 闫兵, 马琰. 单螺杆挤出机温度时变性与非线性控制的解决方法[J]. 计算机测量与控制 , 2014, 22 (4) : 1076–1078.
YAN Bing, MA Yan. Single screw extruder temperature time-varying and non-linear control solution[J]. Computer Measurement & Control , 2014, 22 (4) : 1076–1078.
[9] 马洪涛. 基于PID的波峰焊温度控制研究[J]. 加热热工艺 , 2013, 42 (9) : 205–207.
MA Hong-tao. Temperature control of wave soldering based on PID technology[J]. Hot Working Technology , 2013, 42 (9) : 205–207.
[10] 谭宝成, 康祖清. 模糊PID算法在定型机温控系统上的应用[J]. 西安工业大学学报 , 2012, 32 (11) : 895–898.
TAN Bao-cheng, KANG Zu-qing. Application of fuzzy-PID to boarding machine temperature control system[J]. Journal of Xi'an Technological University , 2012, 32 (11) : 895–898.
[11] 李茂军, 刘鼎邦. 步进电机细分驱动电磁转矩分析[J]. 控制工程 , 2013, 20 (2) : 243–245.
LI Mao-jun, LIU Ding-bang. Study on electromagnetic torque of stepping motor subdivided driving[J]. Control Engineering of China , 2013, 20 (2) : 243–245.
[12] 李敬一, 王会彬. 基于PID算法的步进电机位置控制[J]. 军民两用技术与产品 , 2015, 4 (1) : 55–57.
LI Jing-yi, WANG Hui-bin. Position control method based on PID algorithm for stepper motor[J]. Dual Use Technologies & Products , 2015, 4 (1) : 55–57.
[13] 孙孔政, 徐抒岩, 曹小涛, 等. 基于矩频曲线的步进电机加减速控制[J]. 微电机 , 2014, 47 (1) : 81–85.
SUN Kong-zheng, XU Shu-yan, CAO Xiao-tao, et al. Speed control of step motor based on torque curve[J]. Micromotors , 2014, 47 (1) : 81–85.
[14] 肖汉波. 基于EV10AQ190的高速ADC接口设计[J]. 电子器件 , 2015, 38 (3) : 569–575.
XIAO Han-bo. Design of interface circuit for high speed ADC based on EV10AQ190[J]. Chinese Journal of Electron Devices , 2015, 38 (3) : 569–575.
[15] 孙建涛, 马小兵, 陈兵, 等. 一种基于片同步技术的高速接口电路设计方法[J]. 测试技术学报 , 2008, 22 (5) : 442–448.
SUN Jian-tao, MA Xiao-bing, CHEN Bing, et al. Design of high-speed interface circuits with chipsync technology[J]. Journal of Test and Measurement Technology , 2008, 22 (5) : 442–448.
http://dx.doi.org/10.3785/j.issn.1006-754X.2016.05.013
教育部主管,浙江大学和中国机械工程学会主办
0

文章信息

司国斌, 王春霞, 靳孝峰
SI Guo-bin, WANG Chun-xia, JIN Xiao-feng
FDM型3D打印机的高精度进料系统研究
Research for high-precision feed system based on 3D printer of FDM
工程设计学报, 2016, 23(5): 497-500.
Chinese Journal of Engineering Design, 2016, 23(5): 497-500.
http://dx.doi.org/10.3785/j.issn.1006-754X.2016.05.013

文章历史

收稿日期: 2016-03-09

相关文章

工作空间