<p>
1 引言</p><br><p>
随着制造业朝着生产规模化、产品个性化的方向发展,产品型号变化加快,生产批量相对变小,多种型号共线生产、覆盖件大型化,一体化的趋势日益明显,要求压力机不仅能够高速度、高精度、大负载的运转,而且应具有更大的柔性,能迅速、方便地改变输出运动规律。以上这些不断提高的加工工艺和生产条件的多样化都促进了锻压设备行业的重大变革。在需求的推动下,目前,世界上出现伺服电机直接驱动的伺服压力机,能够满足塑性加工、难成形材料成形、复杂形状零件成形、复合成形以及高精度成形等成形工艺的要求。伺服压力机采用交流伺服电机代替普通交流电机,去除传统曲柄压力机上的飞轮和离合器,使得压力机机械结构得以简化,可靠性增强。所以研制适合不同材料加工要求的压力机数字控制系统, 对提高材料加工技术的水平和加工装备的数字化能力具有十分重要的现实意义[1]。</p><p>
伺服压力机的基本结构及对控制系统的要求与传统压力机比较,伺服压力机取消了原有压力机的飞轮和离合器,保留了曲柄滑块驱动机构,其传动系统采用一级齿轮减速系统,将其运动和动力传递给压力机的曲轴,由曲轴的转动实现压力机的往返运动。</p><p>
同时,伺服压力机对控制系统有更高的要求,一般要求控制系统满足:可编程的滑块运动曲线,适应不同的加工对象、不同材质的加工工艺;滑块位置和速度的精确控制;快速的响应[2]。 </p><br>
<p><br></p>
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3.1 软件的总体结构
软件部分采用Real2View MDK(Microcon-troller Development Kit)进行程序代码编写 ,采用模块化的编程思想,独立完成系统设置模块,编码器反馈模块,定时器模块,通信模块和PID闭环控制模块的程序设置,程序的整体结构如图2所示:
图2 软件结构图
图3 主程序流程
3.2 主程序流程
在电机的运动部分,由于采用串口通信传递电机的控制参数,因而需要定义串口通信的数据格式,在此处的程序设计中,把数据帧划分为命令控制字、状态查询字(需下位机返回数据)和电机参数字。以上位机传递运动参数为例,上位机发送位置指令,控制器检测是否收到数据,根据收到的数据给驱动器发送信号,控制电机精确的运行到指定位置,如果出现误差,则进行误差补偿,系统程序的流程如图3所示。
3.3 转子位置、角速度检测
脉冲编码器模块主要完成位置和速度的计算,实现位移和速度的闭环控制。增量式编码器其输出信号为脉冲信号,其脉冲个数与相对旋转位移有关,而与旋转的绝对位置无关,其精度较高,而且其成本相对较低。如果预先设定一个基准位置,则可以利用增量式编码器实现绝对式编码器的功能,即可以测出旋转的绝对位置。而速度的计算有两种方法,一种是采用f/v转换电路,将频率转换为电压信号实现测速,另一种是在给定的时间内对脉冲计数直接完成速度的计算,考虑到实现的复杂性,本处采用后一种方法实现。
3.4 定时器模块
在整个控制程序中,PWM脉冲的产生和控制是最关键的环节,能否可靠的产生实时可调的PWM脉冲关系到整个系统的灵活性和精确度。在STM32中有2种定时器:通用定时器和高级定时器,其中T1M1为高级定时器,TI M2、TI M3和TIM4为通用定时器。通用定时器由一个16位自动装载计数器构成,该计数器可以通过可编程预分频器进行驱动。通用定时器可设置成16位向上、向下、中心3种自动装载的计数模式。通用定时器最高可以配置72MHz的系统时钟,每个通用定时器有4个16位高精度的捕获/比较通道,可以配置输出6路互补的PWM脉冲。
该控制系统采用向上计数的PWM模式脉冲驱动电机。脉冲宽度调制是一种对脉冲信号的电平宽度进行数字编码的方法。通过高精度定时器的应用,脉冲周期中的高电平和低电平的持续时间皆可由基础高精度定时器的是高频率的整数倍数表示出来。在确定输出电压的条件下,单段完整的PWM脉冲信号包含3个参数: 脉冲频率、脉冲占空比、脉冲个数。前2个参数决定脉冲的形状,后1个参数确定脉冲维持的时间。PWM产生部分程序流程图如图4所示。
图4 脉冲产生流程图
3.4.1 脉冲信号的端口配置
脉冲信号的端口配置包括3路定时器PWM的输出、3路使能信号,3路方向信号,定时器的PWM脉冲信号的输出口配置成复用推挽输出模式,方向信号和能使信号的输出口配置成推挽输出模式,而编码器的捕获输入口配置成浮空输入模式。GPIO根据连接速度的需要可以配置成2MHz、10MHz和50MHz3种类型。
3.4.2 脉冲频率和占空比的设置
在STM32控制芯片中,与定时器相关的寄存器有计数器寄存器(TMCNT)、预分频器寄存器(TMPSC)、捕获/比较寄存器(TMCCR)、自动装载寄存器(TMARR)。要产生指定参数的PWM脉冲, 主要就是对这些寄存器进行配置。下面介绍PWM信号配置步骤:
(1) 基频的设置。在STM32中TIM1高级定时器的时钟基频由ABP1桥时钟确定,而通用定时器的时钟基频由ABP2桥时钟确定。在系统模块中ABP1桥和ABP2桥时钟都配置成最高的72MHz系统时钟。由于16位的定时器表示的脉冲频率范围有限,为了扩大其输出脉冲的频率范围,需要通过设置预分频器寄存器,降低输入时的频率,配置成72MHz/TMPSC的基频。这样设置后,计数器寄存器和自动装载寄存器皆以分频后的基频为单位进行比较和计数。
(2) 基频的设置。在向上计数模式中,计数器寄存器从0开始计数到自动装载寄存器设置的值,然后重新从0开始计数同时产生一个计数器溢出中断。通过设置自动装载寄存器,调整溢出中断产生的时间,溢出中断产生后,系统会自动实现一次电平转换,开启下一个脉
冲周期。因此由72MHz/TMARR可以确定了PWM信号的频率。
(3) 占空比的设置。在计数器寄存器从0增加计数到自动装置寄存器设置值的过中,可以通过设置比较寄存器,改变比较寄存器与计数寄存器之间的大小关系, 实现一次电平跳变,其中因此通过为了扩大可以产生的脉冲范围,可能需要对72MHz的系统时钟进行预分频。所以实际程序中先需要判断是否需要预分频,如若需要配置,那么还需计算最小的预分频系数。
3.4.3 脉冲计数
STM32可以直接设置 PWM脉冲信号的周期和占空比,确定脉冲信号的形状,但需要通过对脉冲计数来确定发送脉冲个数,决定定时器的起停。在生成PWM过程中,当计数寄存器当前数值大于比较寄存器设置值时,将产生比较中断。当计数寄存器值增加到自动装载寄存器设置值时,将产生溢出中断,2个中断皆采用边沿触发,比较中断将在下降沿触发,而溢出中断将在上升沿触发,在中断触发的时刻即可实现脉冲的计数。
一周热门 更多>