DXD系列包装机制袋控制系统设计
Design of Bag-Making Control System of DXD Series Packaging Machine
DOI: 10.12677/DSC.2022.113011, PDF, 下载: 341  浏览: 1,167 
作者: 王敬礼, 丁金华:大连工业大学机械工程与自动化学院,辽宁 大连
关键词: DXD系列包装机STM32触摸屏梯形加减速DXD Series Packaging Machine STM32 Touch Screen Trapezoidal Acceleration and Deceleration
摘要: 为了提高DXDL60c型包装拉袋精度,保证拉袋平稳性。根据包装机系统组成和制袋流程,采用STM32作为主控制器,触摸屏作为上位机,设计硬件电路,分析拉袋电机与主电机的动作时序及速度匹配,采用梯形加减速算法应用于包装机拉袋,编写算法程序,完成系统控制程序设计。经试验验证,采用的加减速算法能够快速精确地控制拉袋过程的每一个脉冲频率,没有累积误差和失步现象存在,能够实现拉袋控制并提升了其精度。
Abstract: In order to improve the accuracy of DXDL60c-type packaging bags, to ensure the stability of the bags, according to the composition of the packaging machine system and the bag-making process, STM32 is used as the main controller and the touch screen as the upper computer machine. The hardware circuit is designed and analyzes the action sequence and speed matching between the bagging motor and the main motor. The trapezoidal acceleration and deceleration algorithm is applied to the packaging machine, writes the algorithm program, and completes the system control program. After the test, the acceleration and deceleration algorithm can quickly and accurately control each pulse frequency of the bagging process, without cumulative error and loss of step, which can realize the bagging control and improve its accuracy.
文章引用:王敬礼, 丁金华. DXD系列包装机制袋控制系统设计[J]. 动力系统与控制, 2022, 11(3): 92-103. https://doi.org/10.12677/DSC.2022.113011

1. 引言

包装机的拉袋精度与包装过程的其他动作是密切相关的。DXDL60c型包装机主要用于小袋流体包装,其拉袋精度为±2 mm。拉袋电机采用步进电机,在开环控制情况下也具有高精度、无积累误差的优点 [1] [2]。采用梯形加减速算法控制拉袋电机转速,通过修改定时器参数精确控制脉冲频率,选取最大加速度,从而实现快速准确拉袋。对于包装机主控制器来说 [3],STM32具有高性能、低成本、低功耗的特点,并且STM32编程灵活,运算速度快 [4] [5],故将STM32用作该包装机主控芯片,使包装技术与单片机技术相结合,可实现机电一体化控制,进行电气电路和程序设计,其控制界面功能通过触摸屏实现,实时显示包装机状态参数并控制其工作过程 [6]。

2. DXDL60c型包装机结构及工作原理

Figure 1. Abbreviated diagram of the mechanical structure of DXDL60c packaging machine

图1. DXDL60c包装机机械结构简图

DXDL60c包装机是一种针对小袋流体进行包装的包装设备,包含机械系统和电控装置。机械系统分为七大机构,分别为主传动机构、张力控制机构、计量充填机构、成型机构、热封切断机构、拉袋机构和输送机构。其中热封切断机构包括热封机构和切断机构,包装机机构简图如图1所示。

此外还有电控装置,主要指电控箱内电气电路包含主电机、送纸电机、拉袋电机控制电路,热封温度采集及其控制电路,用于控制机械执行机构。

主电机为机械系统提供动力源,主电机通过带传动与减速器相连,通过减速器驱动分配轴,将动力分配给计量、充填、热封、切断、输送等机构。分配轴转动带动齿轮副、桃型凸轮、热封凸轮和锥齿轮副转动。齿轮副转动带动计量充填机构工作。桃型凸轮转动,通过拉袋接近开关提供拉袋信号,拉袋电机转动,主动滚轮带动从动滚轮转动,完成拉袋动作。热封凸轮转动将动力传给热封器,从而完成加热和压合动作。切刀与L型热封器用钢板连接,通过热封器动作带动切刀动作。锥齿轮副转动带动传送带向外输出包装好的成品袋。

3. 控制系统设计

3.1. 硬件设计

主控芯片选用STM32F103VET6。根据包装机功能要求设计电机控制电路,电路框图如图2所示。

Figure 2. Control circuit block diagram

图2. 控制电路框图

送纸电机和拉袋电机都是根据接近开关信号动作,因此设计接近开关接口电路如图3所示。

接近开关用于送纸时,当浮动辊处于接近开关检测位置时,接近开关上的NPN管导通,接近开关输出为低电平,光电耦合器发光管得电,接收管导通,此时I1为低电平。反之,当浮动辊离开接近开关,接近开关上的NPN管截止,接近开关输出高电平,光耦合器发光管没有电流通过,接收管截止,I1处于高电平。

Figure 3. Circuit of proximity switch interface

图3. 接近开关接口电路

3.2. 软件设计

根据包装机工作流程,设计软件控制流程图如图4所示。其中主电机转速通过变频器设定,热封温度通过温控表设定,袋长通过触摸屏设定。

实现包装机的制袋过程主要完成对主电机、送纸电机以及拉袋电机的控制程序设计。主电机通过触摸屏启停按钮来控制其动作,当按下按钮时,写入STM32寄存器Reg [1] 的值为1,STM32的CPU判断指定寄存器的值,如果一致,主电机转动,转动的同时判断送纸和拉袋信号,从而控制送纸电机与拉袋电机转动。

送纸电机根据送纸信号动作。当浮动辊远离送纸接近开关,PA7处于高电平,STM32使PE4输出低电平,送纸电机转动。反之,当浮动辊处于送纸接近开关检测位置时,PA7处于低电平,STM32使PE4输出高电平,送纸电机停转。

拉袋电机根据拉袋信号动作。配置TIM4的通道4为PWM输出模式1,输出引脚为PB9,当桃型凸轮转动靠近拉袋接近开关时,PA6处于低电平,TIM4使能,PB9输出设定频率的脉冲数,拉袋电机转过对应的角度,当桃型凸轮转动离开拉袋接近开关时,PA6处于高电平,TIM4失能,PB9不输出,拉袋电机停转。

根据拉袋接近开关信号PA6的电平进行计数,在中断配置函数中将PA6配置为浮空输入,设置为下降沿触发,使能外部中断。当PA6输入低电平时,进入中断,计数值counter++。当PA6为高电平时,不进入中断,counter不变。设计电机控制流程图如图5所示。

由于负载的存在,控制STM32输出设定最大频率脉冲驱动步进电机拉袋,步进电机不会转动。因此需要选取不产生失步的最大加速度,控制步进电机先加速到设定最大频率脉冲,匀速拉袋,然后减速到0,实现步进电机快速准确拉袋。

Figure 4. Software design and control flow chart

图4. 软件设计控制流程图

Figure 5. Flow chart of motor control program design

图5. 电机控制程序设计流程图

3.3. 梯形加减速运动数学模型

目前对于控制步进电机加减速算法有梯形加减速算法、S型加减速算法和指数加减速算法等 [7] [8]。其中S型加减速算法柔性好,对步进电机冲击小,但实现过程复杂计算量大,对CPU运算能力要求高;指数加减速算法初始加速度大,启动冲击严重,计算量也比较大;梯形加减速算法计算相对简单,用于控制拉袋速度完全能够满足要求。

期望的加减速曲线如图6所示,电机速度与脉冲频率成正比,脉冲频率越大,电机速度越快,在梯形加速过程中,速度的变化是直线,将曲线截取加速过程放大并加入脉冲如图7所示。

Figure 6. The acceleration and deceleration expectation curve

图6. 加减速期望曲线

Figure 7. Acceleration curve

图7. 加速曲线

该加速曲线中,横轴时间t按加速过程中的每一个脉冲发送时间划分,记为 t 0 , t 1 , t 2 , t 3 δ t 为时间间隔, c n 为第n个脉冲定时器计数值, t t 为定时器计数时间间隔, f t 为定时器计数频率,则脉冲定时器周期为 δ t = c n t t = c n / f t ,a为加速度, α 为步距角,n为脉冲数,旋转过得角度为 θ ( t ) ,则步进电机的角

位移为 θ ( t ) = 1 2 a t 2 = n α 。因此,前n个脉冲的总时间: t n = 2 α n a ,可求得第n个脉冲的计数值: c n = 1 t t ( 2 α ( n + 1 ) / a 2 α n / a )

期望的加减速曲线受设定速度限制,因此如果不考虑这点,步进电机加减速过程就只包含两个阶段:从速度为0匀加速到速度最大值 ω c ,从 ω c 匀减速到0,如图8所示。

Figure 8. The acceleration and deceleration curve without the maximum speed limit

图8. 不受最大速度限制的加减速曲线

由于加速与减速交界点角速度相等,因此可得 n 1 a 1 = n 2 a 2 ,当控制步进电机加减速过程拉袋时,主要利用匀速阶段,因此要考虑最大速度限制,所给最高速度必须满足条件: ω max < ω c ,也就是说,在加速到 ω max 时,步进电机要进入匀速状态,计算第n个脉冲发出时间 t n 和脉冲数n。可以得出步进电机到达

设定最高速度时所需脉冲数: n = ω n 2 2 a α ,设定减速与加速阶段脉冲数相等,加速截止脉冲数和匀速截止脉冲数可求并作为脉冲所处阶段的判断条件。

3.4. 算法程序实现

变频器输入设定频率之后,主电机转速确定,因此根据桃型凸轮90˚为拉袋时间,占主电机旋转一周时长的1/4,因此可以得到主电机与拉袋时间的关系如表1所示。步进电机滚轮的周长为200 mm,步进电机驱动器细分为8,步距角为1.8˚,拉袋步进电机旋转一周需要1600个脉冲,因此可计算出拉袋长度与脉冲数之间的关系,如表2所示。

Table 1. Relationship between main motor speed and bagging time

表1. 主电机转速与拉袋时间关系

Table 2. Relationship between pull bag length and pulse number

表2. 拉袋长度与脉冲数关系

拉袋时间与脉冲数已知,根据 T = ARR ( PSC + 1 ) / 72 M ,为定时器周期,ARR为定时器重装载寄存器的值,即脉冲计数值,PSC为预分频数,取71,72 M为系统时钟频率。计算出拉袋过程平均脉冲计数值,以此作为匀速脉冲计数值ARR,如表3所示。

Table 3. Setting pull-bag maximum speed pulse count

表3. 设定拉袋最高速度脉冲计数值

Figure 9. Flow chart of trapezoidal algorithm programming

图9. 梯形算法程序设计流程图

电机拉袋长度由步距角和脉冲数决定,因此用理想匀速拉袋过程脉冲计数值近似代替实际匀速过程脉冲计数值对拉袋精度没有影响。

进行电机加减速控制程序设计,首先配置TIM4引脚和工作模式以及中断配置,编写电机运行计算函数:MOTOR_RUN_calculate (u32 acc, u32 dec, u32 topspeed, u32step_num),其四个参数分别为加速度、减速度、最高速度和脉冲总数,其中最高速度为最大拉袋速度脉冲计数值,编写中断服务函数。

最高拉袋速度脉冲的计数值ARR写入数组TIM_count[],每当触摸屏输入设定袋长之后,单片机根据步距角计算出对应脉冲数,脉冲数与对应计数值写入电机运行函数MOTOR_RUN_calculate (u32 acc, u32 dec, u32 topspeed, u32 step),选取最大加速度和减速度设定为10000,当继续增大,脉冲频率变化过快,通过计算步进电机角位移,发现出现失步现象。

当所有参数写入之后,函数开始运行,首先计算出加速阶段截止脉冲数step1和匀速阶段截止脉冲数step2,然后计算出每毫秒发出的脉冲数和目前该毫秒发出的总脉冲数,并设置两个数组分别装在所有计算结果。

每毫秒进一次中断,首先判断总脉冲数是否小于step1,若小于则目前处于加速阶段,将数组每毫秒发送的脉冲数的计数值按照正序赋值给TIM4。总脉冲数不满足小于step1且满足小于step2,则目前处于匀速阶段,此时将最高速度脉冲计数值赋值给TIM4,当不满足小于step2且满足小于step_num时,则目前处于减速阶段,将数组每毫秒发送的脉冲数的计数值按照倒序赋值给TIM4,当不满足小于step_num时,说明所有脉冲发送完毕,采用先计算再用数组存储的方法是为了使输出脉冲具有连续性与准确性,并能够减少CPU占用。程序设计流程图如图9所示。

4. 触摸屏监控界面设计

运用MCGS组态软件设计触摸屏监控界面,如图10所示,触摸屏与STM32之间通过RS485线连接,基于MODBUS RTU协议通讯 [9] [10],使用03和06功能码,读取和写入寄存器,实现二者之间通讯。

Figure 10. Main control interface of the packaging machine

图10. 包装机主控界面

5. 实验测试

在完成程序设计后,将所有程序下载到STM32中,设定包装速度为130袋/分,袋长范围是由热封器长度决定,为50~120 mm。包装材料为涤纶/聚乙烯,对应热封温度设定为160℃,等待热封器温度达到设定值,启动,包装机开始工作,对拉袋过程进行试验。

采用示波器检测步进电机的脉冲引脚PB9输出的PWM波形,一共测试了四组,分别设定袋长为60、80、100、120。测得最大脉冲频率为3.71 KHZ、4.97 KHZ、6.15 KHZ、7.44 KHZ。当测试袋长为80 mm时,其PWM波形如图11所示。

Figure 11. PWM waveform at the frequency of 4.97 KHZ

图11. 频率为4.97 KHZ时PWM波形

可以看出,输出脉冲高电平时已经不能很好保持其形态,不断设定不同袋长和袋速进行试验,直至当设定包装速度为160袋/分,袋长为120 mm,输出为9.92 KHZ时,如图12所示。

Figure 12. PWM waveform at the frequency of 9.92 KHZ

图12. 频率为9.92 KHZ时PWM波形

发现脉冲上升沿过后不能保持,此时步进电机没有停转,说明该频率下,步进电机不失步并且仍然能够正常拉袋。但此时热封出现了封合不严、漏气等问题,是由于制袋速度过快,热封封合时间缩短导致。当包装速度设定为120袋/分,袋长为120 mm时,热封封合效果能够基本满足要求。通过不断实验最终确定了最大包装速度。

6. 结论

本文通过介绍DXDL60c包装机系统组成和工作流程,选用STM32F103VET6作为主控制器设计,通过分析主电机转速与拉袋电机输入脉冲频率关系,使拉袋电机与主电机协调配合,采用梯形加减速算法,选择能满足要求的最大加速度,实现对拉袋步进电机速度的快速准确控制,提升了拉袋精度,实现了包装机的制袋功能。通过实验,测试出能满足最大袋长和热封效果的最大包装速度。选用触摸屏作为包装机的监控界面,能够实时地,更有效地控制包装机的整个制袋过程。且操作简便、工作稳定、可靠性高。

参考文献

[1] 宋芳. 基于单片机控制的步进电机自适应细分调速方法研究[J]. 信息通信, 2020(8): 73-74.
[2] 魏磊. 步进电机的精确速度和位移控制研究[J]. 科技传播, 2015, 7(24): 125-126.
[3] 武亚平. 基于单片机技术研究DXD系列包装机的控制系统[J]. 包装与食品机械, 2013, 31(2): 31-33.
[4] 樊勇, 徐海飞. 高速小袋包装机控制系统的设计[J]. 包装工程, 2016, 37(1): 125-129.
[5] 高雪, 袁飞. 基于STM32和PLC的枕式包装机控制系统的设计[J]. 包装与食品机械, 2019, 37(3): 19-23.
[6] 邢小琛, 武佩, 刘宇, 宣传宗, 马彦华. 捆草机电气控制系统的设计研究—基于MCGS与单片机技术[J]. 农机化研究, 2017, 39(6): 219-222, 254.
[7] 刘俊侃. 梯形加减速算法在MCU控制步进电机中的应用研究[J]. 机电信息, 2020(18): 44-45+48.
[8] 陈祖霖, 沈英, 吴靖. 结合STM32和FPGA的步进电机运动控制系统设计[J]. 福州大学学报(自然科学版), 2020, 48(1): 27-33.
[9] 吴晨红. 基于Modbus通信协议的信号采集系统[J]. 电子制作, 2021(7): 42-44.
[10] 高旭彬. 基于MSP430单片机的Modbus协议软件设计方法[J]. 工矿自动化, 2013, 39(4): 87-90.