基于STM32的动态注塑信号调节器设计
2024-04-30蔡国强
宋 建,李 钰,蔡国强
1.华南理工大学,广东省高分子先进制造技术及装备重点实验室,聚合物加工工程教育部重点实验室;2.东华机械有限公司
0 引言
动态注塑成型加工技术将传统的稳态剪切流变支配的加工方式改为振动剪切流变的加工方法,实现了对注塑原理的突破,理论和实验均表明此项技术不仅对注塑工况有明显的改善效果,而且对高分子材料注塑成型制品的形状、性能与质量均有积极的调控作用[1]。目前,有学者针对不同注塑机研究并开发了电磁激振式、液压激振式等的脉动压力诱导塑化注射装置[1]。电磁激振式通过交变电磁力引起螺杆轴向振动,而液压激振式通过激振油缸产生的周期性脉动油压诱导螺杆轴向振动,或不使用激振油缸,通过注射油缸配合液压阀的周期性变化,使螺杆在交变外力作用下作轴向振动。上述激振方式均需在注塑机原有的机械设备上增加一套额外的激振装置。针对新型的液压伺服注塑机,瞿金平院士团队提出了一种泵控液压激振解决方案[2-4]:通过控制伺服液压泵出口压力/流量(P/Q)的周期性变化使得螺杆产生轴向和周向脉动。
本文基于嵌入式系统开发了一种动态注塑信号调节器,能根据不同注塑工序产生波形、频率和幅度可调的交流信号,与原有的注塑机控制器给出的P/Q信号合成后接入伺服驱动器,控制液压泵出口的P/Q产生周期性变化,继而使得螺杆产生脉动,将原先的静态注塑机升级改造为动态注塑机。
1 系统整体结构设计
动态注塑信号调节器的总体结构框图如图1所示,主要由6部分组成,分别为主控芯片、信号发生电路、信号调幅电路、信号合成电路、RS485通讯接口电路以及触摸屏。主控芯片为STM32F103ZET6单片机,这是一款基于Cortex-M3的32位处理器。信号发生电路与信号调幅电路配合产生相应波形、频率、幅值可调的振动交流信号,在信号合成电路中与注塑机控制器产生的静态注塑P/Q信号合成叠加成为动态注塑P/Q信号输出;RS485通讯接口用于与注塑机控制器的通讯连接,并接收注塑机控制器的工序信号;触摸屏用于各个注塑工序相应的频率、幅值参数设定以及波形选项的选定,并将对应的工序步骤显示屏幕上,便于识别操控。
2 硬件设计
2.1 信号发生电路
信号发生电路的核心为AD9833芯片,AD9833生成波形采用了DDS数字合成器技术。图2为DDS基本结构示意图,原理是利用相位累加器在时钟信号的作用下累加频率控制字,输出的结果与波形控制字相加,作为不同类型波形数据分区块存储的地址值,再将地址值与相位控制字相加,得到相位不同的波形[5]。
图2 DDS基本结构示意图
STM32主控芯片与AD9833的通讯方式为单工SPI通讯,而后续使用的MCP41010芯片也采用单工SPI通讯,因此为节省IO口,采用一主多从的器件布局,所有的从器件共享同一根时钟线与数据线。主控芯片STM32为每个从机分配1个独立的NSS片选引脚,从而实现各从器件的独立寻址。文中用到STM32F103ZET6主控芯片的SPI1接口,由于需要有多个NSS片选引脚,因此在配置SPI1相关引脚为复用功能时需要将固件函数库SPI_InitTypeDef结构体中的SPI_NSS成员参数设置为软件管理模式[6]。
图3为设计的信号发生电路原理图,时钟线与数据线分别为SPI1的PA-5、PA-7,片选引脚选用PA-4,外部时钟速率为25 MHz。AD9833芯片的输出端接电容隔离直流分量。此处电压跟随器起到隔离缓冲、提高带载能力的作用,这有助于提高后续由数字电位器组成的放大电路的稳定。
图3 信号发生电路原理图
2.2 信号调幅电路
传统的增益可调节放大电路中的电阻一般会采用机械转钮式电阻,通过机械结构的划片带动以改变电阻值从而改变增益大小[7]。这种方式虽然价格低、结构简单,但是调节时一般都需要人为或者电机带动,不符合动态注塑信号调节器的应用需求。本文采用通用型运算放大器与数字电位器组合成的程控放大器实现增益的调节。
MCP41010是一款单通道、数字控制的8引脚数字电位器,具有256位的分辨精度,PA与PB为电位器的2个终端,PW为数字电位器的滑动端,在上电时抽头复位到半量程 (80 h),即滑动端PW指向PA与PB的中间[8]。
信号调幅电路原理图如图4所示,MCP41010用于通讯的时钟线与数据线连接SPI1的PA-5、PA-7,片选引脚选择为PA-6。将数字电位器MCP41010与运算放大器OP07组成信号幅值调节电路,放大方式采用反相比例放大,其中放大电路的负反馈电阻采用50 kΩ的固定电阻,MCP41010数字电位器作为输入电阻,信号经过放大增益后连接电压跟随器以提高后续带负载能力。
图4 信号调幅电路原理图
2.3 信号合成电路
信号发生电路与信号调幅电路配合产生P/Q振动交流信号,而P/Q振动交流信号需要与静态注塑P/Q直流信号叠加合成为动态注塑P/Q信号。图5中Vin2与Vin3分别为振动交流信号与注塑机控制器输出的静态注塑直流信号,此处先使用OP07运算放大器组成的反相加法器进行信号合成,之后再采用反相运算放大器实现相位反转,最终生成所需的动态注塑信号。
图5 信号合成电路原理图
2.4 RS485通讯接口电路
RS485总线具有布线简单、通讯方便、价格低、通讯距离长等优点,被广泛应用于各种工业场景中[9]。通讯单元的物理层采用RS485串行总线的方式。
图6为RS485电路原理图,使用SP3485芯片作为TTL电平与485电平的转换芯片。其中SP3485的DE引脚发送使能信号(高电平有效),RE引脚接受使能信号(低电平有效),因而将其同时与单片机STM32的PD7引脚连接,便可仅需1个引脚控制串口数据的收发。R14与R17为偏置电阻用来保证总线空闲时,A、B之间的电压差不大于200 mV,从而避免因为总线空闲时由于A、B压差不定而引起的逻辑混乱,导致可能出现的乱码。
图6 RS485电路原理图
2.5 触摸屏
人机交互界面使用的触摸屏硬件模块为ALIENTEK第2代7寸TFTLCD电容触摸屏,内置ILI1963 LCD控制器以及FT5426电容触摸芯片,其分辨率为800像素×480像素,支持16位的8080并行接口,可使用565RGB真彩显示,内部自带显卡存储,正常工作电压为3.3 V。
根据LCD控制器的显示工作机理,其内部RAM可以认为是不带地址总线的静态随机存储器,因此将STM32的相应串口设置为工作在FSMC总线方式下,就能按照16位的8080并口通讯方式访问LCD控制器,并实现对LCD的驱动。而FT5426与STM32的通讯方式采用标准I2C的形式,在完成初始化后读取触摸坐标数据,先读取0X02寄存器,判断有多少个有效触摸点,然后读取0X03~0X1E等寄存器,便可获取触摸坐标数据。
3 软件设计
3.1 软件总体架构
动态信号调节器的软件基于UCOSIII操作系统开发。用户可以创建多个优先级别不同的任务,并按照任务优先级选择性地调用任务[10]。本文根据功能需要设计:信号发生、信号调幅、Modbus通讯以及触摸屏4个任务,并配置不同的循环时间。循环任务之前需要对系统的软件和硬件进行初始化,主要包括操作系统初始化、SPI总线初始化、RS485串口初始化、触摸屏初始化与emWin初始化等,系统程序主流程图如图7所示。
图7 系统程序主流程图
3.2 信号发生任务
信号发生任务部分需要使用SPI总线,对SPI总线进行初始化的工作在主流程中就已经完成,因此,在进入到任务函数中后只需要判断是否需要改变参数,若为是,则进入到对AD9833的写数据过程;若为否,则直接结束。
本文对AD9833的写数据过程共分为5个步骤:
1)对AD9833进行初始化时,为了避免产生虚假DAC输出,需要将RESET置为1,使AD9833复位,即写入0x0100;
2)控制寄存器B28=1,D14D15=00,此项命令是为了将一个完整的字通过2次连续写入载入到频率寄存器当中,即写入0x2100;
3)选择频率寄存器,写入2个连续的14位数据;
4)选择相位寄存器并写入相位数据;
5)重新将RESET位置为0,选择要使用的频率寄存器、相位寄存器以及需要输出的波形种类,在RESET置0后的8个MCLK周期内,DAC输出端会出现信号。
信号发生任务程序流程图如图8所示。
图8 信号发生任务程序流程图
3.3 信号调幅任务
信号调幅任务需要在主流程完成SPI总线的初始化,进入任务函数后只需要判断是否改变阻值,若为是,则对MCP41010写数据;若为否,则直接结束。
对MCP41010的写数据共分为2个字节:第1段为命令字节,命令字节中第2、3位和6、7位为无关位,C1、C0为指令选择位,P1、P0为通道选择位,MCP41010只集成了1个电位器,因而通常会将命令字节设定为0x11;数据字节为8位,可以将电位器滑动端置于256个端点中的任意一个,精度极高。信号调幅任务程序流程图如图9所示。
图9 信号调幅任务程序流程图
3.4 Modbus通讯任务
Modbus通讯协议现阶段广泛应用于工业领域,在不同的串口设备之间进行数据交换与通讯,目前已成为一种通用的工业标准,获得不同硬件厂商的支持[11]。
Modbus的通讯协议采用主/从问答的方式,通讯时由主机发起通讯任务,通讯格式为:从机地址-功能代码-地址区域-数据量-校验码,而从机在接收呼叫后,会根据功能代码完成相应动作并向主机响应[12]。
本文采用的Modbus传输协议通过RS485串口进行传输,在进行协议层数据传输前,需要先完成物理层硬件串口的初始化,这部分工作在主程序流程中执行。进入到任务函数中需要依次判断是否收到主机指令、是否为本机地址、CRC校验是否正确,在均为是的情况下就可以根据功能码进行数据的读取或者写入,再向主机响应数据,至此结束。Modubs通讯任务程序流程图如图10所示。
图10 Modbus通讯任务程序流程图
3.5 触摸屏任务
触摸屏任务主要使用emWin图形库来帮助显示更新,因此,在对触摸屏进行初始化后,也需要对emWin图形库进行初始化,这2部分的工作已经在准备阶段完成。因而,进入至触摸屏任务后,检测触摸屏是否按下,若为是,则会实时更新显示;若为否,则直接结束任务。触摸屏任务程序流程图如图11所示。
图11 触摸屏任务程序流程图
触摸屏界面图如图12所示,注塑共分为3个不同的阶段,分别为注射、保压以及熔胶,因此在触摸屏界面上可以分别对不同阶段的P/Q注塑信号进行参数的设定与选择。其中,P/Q振动信号的频率、幅值参数可以通过直接点击相应位置的编辑框后输入设定数值;波形的选择则可以在下拉列表中进行选定。在完成信号参数设定后,调节器会根据与上位机的通讯信息实时对输出的波形进行调节,并且将当前的工序信息显示在触摸屏上,以方便用户观察。
图12 触摸屏界面图
4 实验测试与结果分析
测试时使用的示波器型号为:Tektronix DPO 2012B。实验方法为:通过用户界面针对注射、保压、熔胶3种工序分别设置不同频率和幅值的正弦波、三角波、方波信号,使用示波器通道CH2测试静态注塑P/Q信号,CH1测试经过动态注塑信号调节器信号叠加处理后的动态注塑P/Q信号,如图13、图14所示。
图13 动态注塑时的P给定信号
图14 动态注塑时的Q给定信号
经过测试可得出以下结论:动态注塑信号调节器能够产生正弦波、三角波与方波3种周期性信号且波形输出的频率可达0.1 Hz,信号幅值范围为0~10 V,符合伺服泵的输入信号范围,能够激起注塑机的液压脉动从而达到动态注塑的效果。
5 结束语
本文基于STM32F103ZET6芯片与UCOSIII操作系统设计了一款动态注塑信号调节器。采用了AD9833和MCP41010芯片实现了P/Q振动信号的发生与调幅;采用OP07组成的加法器实现了P/Q振动信号与静态注塑P/Q信号的合成;基于RS485接口并采用Modbus通讯协议实现了注塑机控制器与调节器的实时通讯;基于emWin图形库设计了人机交互界面,可以在触摸屏上设定选定注塑参数。经实验测试,设计的调节器可根据注塑机控制器传送的工序信息在不同工序下输出不同波形、频率和幅度的动态注塑P/Q信号,满足泵控液压激振系统与动态注塑的应用需求。