基于STM32的测控冰箱外壳温度的系统

(整期优先)网络出版时间:2022-09-05
/ 3

基于STM32的测控冰箱外壳温度的系统

张巍

(珠海格力电器股份有限公司,广东 珠海 519070)

摘要:生产冰箱中,冰箱外壳先通过热风循环烘道加热,最终进入发泡工序,自动化生产。一定比例的外壳加热不合格导致发泡失败是行业难题,造成每年几十万的损失。烘道加热与发泡工序之间,设计一种低成本温控系统,检测外壳温度不合格,运输外壳的皮带会停,直到人工处理完毕异常,再次按键,线体运行。系统用STM32F103作为主控芯片,状态机思维编程,C语言开发,实现对冰箱外壳测温和线体控制,避免经济损失,提高合格率。

关键词:冰箱外壳;烘道;STM32;温度。

System of measuring and controlling the refrigerator casing temperature based on stm32

Zhang Wei 

(Gree Electric Appliances INC.Of Zhuhai, Guangdong Zhuhai 519070)

Abstract: In the production refrigerator, the refrigerator shell is first heated through the hot air circulation drying channel, and finally enters the foaming process for automatic production. A certain proportion of shell heating unqualified leads to foaming failure is a problem in the industry, resulting in hundreds of thousands of annual losses. Between the drying channel heating and foaming process, a low-cost temperature control system is designed to detect that the shell temperature is unqualified, and the belt of the transport shell will stop until the manual processing is abnormal, press the button again, and the wire body runs. The system uses stm32f103 as the main control chip, the state machine thinking programming, c language development, to realize the temperature measurement and wire body control of the refrigerator shell, to avoid economic losses, and improve the qualified rate. 

Key words:Refrigerator shell ;drying tunnel;stm32; temperature .

0 引言

冰箱外壳由箱体和门体组成。外壳预装、烘道预热、进入夹具、发泡中、发泡完成组成外壳发泡工艺。不同季节车间环境温度、来料温度、烘道链速、烘道长度、不同尺寸冰箱外壳等等都能影响烘道加热外壳结果,造成一定比例的不合格预热。发泡成型后难维修,一般报废。人工手持测温提高生产成本,结合产线实际需求,通过这套系统,为企业带来效益。

1 系统总体方案设计

 

 

 

 

 

 

光电开关使用两对,安装于烘道末端的称前光电开关,安装于皮带线末端的称后光电开关。外壳进入烘道,皮带运输外壳,当外壳触发位前光电开关,位于烘道末端的测温模块开始工作。如果预热后外壳的表面温度合格,皮带运行,否则皮带停止。当外壳触发后光电开关,皮带停止,避免外壳掉落。任何时候皮带停止,都需要人工现场排查异常后,按键一次,皮带线才能运行,避免不合格品流入下工序。

2 系统硬件电路设计

2.1STM32芯片

STM32F103C8T6芯片,硬件采用LQFP48封装,37个GPIO,分别为PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1。该芯片基于ARM Cortex-m3的32位的微控制器,主频72MHz、FLASH 64KB、RAM 20KB、2个12bit ADC、4个16bit定时器、3个USART、1个CAN、2个I2C、2个SPI、1个USB。

2.2测温

使用工作电源24V DC,温度范围0-300度,输出4-20ma,0-5V,光学分辨率20:1,测量精度1%的红外测温传感器。将其安装在前光电开关后5厘米处,测温传感器接J1端子,C1、C2滤波,R1采样,R2和C3是RC滤波,ADC1_IN0连接主控芯片的PA0脚。

2.3按键

S1是按键,初始为断开状态,KEY1处于高电平,当按下,KEY1处于低电平,KEY1接主控芯片的PA1脚。

KEY

2.4电源

选用开关电源供电,输出为+24V、+12V、+5V、GND,使用IC NCV1117ST33T3G将5V转换出3.3V,给主控芯片供电。

2.5前、后光电开关

选用红外光源、波长870nm、测试距离15米,响应时间1ms以下、三线制、对射式的NPN型光电开关。光电开关发射和接收均接J2端子,蓝色接1脚、黑色接2脚、褐色接3脚,R8与D1作为指示灯负载,D1选用24V指示灯,R7限流,R7和R8可依据实际情况调整,工业环境电磁干扰较复杂,U1是光耦PC817起隔离作用,PS1接主控芯片的PA2脚。当检查到有外壳,PS1处于高电平,否则处于低电平。前、后光电开关电路原理相同,后光电开关的PS2接PA3脚。

ps1

2.6皮带控制

皮带线L线一直长闭,选用5A/250V的继电器控制皮带线N线,J4端子接皮带零线输入和输出,Q1驱动继电器,D3反向放电。RELAY接PA4脚,当RELAY为高电平,继电器闭合,皮带运行,反之停止。

RELAY

2.7显示模块

该电路仅使用两个I/O口,实现5V驱动扫描显示电路,成本较低且节省主控I/O口。U4是共阳双八数码管,COMA1显示温度高位,COMA2显示低位。Q2和Q3分别是NPN和PNP三极管,驱动U4,R20-R26是限流电阻470欧,可根据数码管显示进行调节。LED_DATA和LED_CLK接主控芯片PA5和PA6。U3是HC164A,8位串行数据写入、并行数据输出的边沿触发移位寄存器,只有RST脚处于高电平且CLK脚处于上升沿时,数据才能写入,将A1与A2连在一起作为输入,A-H位输出,其中H为高电平,数码管亮,反之灭。

display

3 系统软件设计

下图是软件流程,按键、前、后光电开关函数使用状态机编程。

标志位说明:ASFLAG为1是开ADC采集,0是关;TFLAG为1是测温合格,0是不合格;TSFLAG是状态标志位,为1是测温不合格、按键未按下,为2是测温不合格、按键按下,为3是测温不合格转合格、按键未按下,为0是温度由不合格转合格、按键按下。RFFLAG为1是前光电开关控制皮带使能,0是失能;RBFLAG为1是后光电开关控制皮带使能,0是失能。KMFLAG为1表示按键按下,0表示未按。SBRETURN为1是后光电开关探测有外壳,0是无。

函数说明:按键函数,按键分“初始”、“按下”、“释放”三态。“按下态”运行三种情况中的一种,第一种当SBRETURN置1或者ASFLAG置0,则KMFLAG置0,第二种当SBRETURN置0同时TFLAG置1以及TSFLAG置0,则KMFLAG置0,如非上述两种,则KMFLAG置1,其余两态按状态机跳转编写即可。显示函数,温度值每10ms刷新一次,高、低位显示程序间隔5500us,人眼无法察觉不会闪烁;PA5置低电平间隔1us后置高电平产生一次上升沿;将测温值作为形参,如果温度低于10,则高位固定显示0,低位显示实际值,如果温度大于等于10小于等于99,则温度值求余10后为低位显示,温度值取模10后为高位显示,分高和低位显示;双八数码管的高低位显示从0-9,本质是各数码管中最小单元的LED使能与否,数据从LED_DATA输入,循环8次,每循环一次数据向左移位一次。皮带函数,当RFFLAG或RBFLAG置0则皮带停止,否则运行。前光电开关分外壳“未到”、“刚到”、“经过中”、“离开”四态,“未到”和“刚到”态,ASFLAG均置0;“经过中”态内部计时,如持续400ms处于该态则计时清零、ASFLAG置1,否则ASFLAG置0,返回“未到”态;“离开”态,如PA2为高电平,则ASFLAG、KMFLAG置0,返回“未到”态。后光电开关分外壳“未到”、“刚到”、“离开”三态。“未到”态,RBFLAG置1、SBRETURN置0;“刚到”态,RBFLAG置0、SBRETURN置1,如误动作则RBFLAG置1并回到“未到”态,“离开”态RBFLAG置0。

当ASFLAG置1,每秒运行测温运算函数,同时运行测温不合格函数。

测温运算,使用DMA减少CPU负载,将DMA中ADC值装载N次,按由大到小排列,取中值为有效值,这样测试的温度比较客观,屏蔽不稳定因素,输出TFLAG置1或0。

温度不合格函数运行,当TFLAG为0,此时判定KMFLAG,如KMFLAG是0,则RFFLAG置0,TSFLAG置1,如KMFLAG是1,则RFFLAG置1,TSFLAG置2;否则当TFLAG为1且TSFLAG非0,此时判定KMFLAG,如KMFLAG是0,则RFFLAG置0,TSFLAG置3,如KMFLAG是1,则RFFLAG置1,TSFLAG置0。

4 结语

系统在生产线使用良好,开发硬件成本低,对线体改造影响小,解决了行业难题,有较大的经济效益外壳相对前后光电开关的位置状态、测温状态、按键人工处理与否等属于时刻变化的状态,通过排列组合,上述多种状态产生的每种情况程序都要完全考虑,这也是采用状态机编程的重要原因。冰箱外壳存在一定长度,有时候外壳头部温度合格,但是中间温度不合格,此时皮带按程序进行停止,如果此时人工未及时按键一次处理,当停止一段时间后,外壳温度因为停在烘道末端继续上升温度,温度会从不合格变为合格状态,如程序编写遗漏该状态,皮带运行,异常品流下去,则失去一次异常处理机会,带来批量的质量隐患。软件设计相对硬件复杂,尤其工业使用要求编程缜密,上述温度不合格转为合格状态,此时皮带停止,只有人工现场解决异常按键后,皮带才能运行,这是设计使用状态机的原因。

参考文献:

[1].感测技术基础[M].2版 孙传友.北京:电子工业出版社,2006

[2].电子技术基础 康华光 高等教育出版社,2009

[3].STM32F103固件函数库用户手册 意法半导体公司,2007

[4].STM32F103x8数据手册 意法半导体公司,2009

[5].嵌入式系统的C程序设计(加)KirK Zurell 机械工业出版社,2001

作者简介:

张巍(1984-),男,本科,中级工程师,测控技术与仪器专业,主要从事空调控制器及整机测试系统的嵌入式开发。