时间:2024-05-04
许荣再
摘要:文章简要介绍了全自动洗碗机的工作原理及主要功能,分析了洗碗机的几个主要检测对象及控制对象的具体控制需求。给出了一款以STM8S系列单片机为控制核心的洗碗机控制器的具体设计方案,介绍了系统各主要功能模块的原理图设计、软件总体框架结构以及部分软件模块的设计思路等。该方案同时考虑了兼容性设计的问题,可兼容两种显示方案,三种类型的洗涤电机以及多种运行参数选择。
关键词:STM8S;单片机;兼容性设计;洗碗机控制器;软件结构
中图分类号:TP368 文献标识码:A文章编号:1006-8937(2014)20-0023-03
洗碗机在欧美已广泛应用于普通家庭的厨房中,有数据统计,在欧美主要国家,洗碗机的普及率已达到70%以上,几乎是家家户户必备的厨房生活电器。而在中国,由于生活习惯的影响,洗碗机一直无法得到普及,但随着现代都市生活品质的不断提高,人们越来越关注生活中能带来更多便利的电器,洗碗机也在吸引着更多中国消费者的眼球,它的便利性正逐步得到人们的认可。目前市场上Electrolux、SIEMENS、Whirlpool、SANYO、Hair、Midea等国内外著名品牌均推出其洗碗机产品,洗碗机产品具有很广阔的市场前景。
1工作原理及主要功能
洗碗机是用于洗碗的机器,它可用于自动清洗碗、盘、碟、勺子、筷子等餐具。根据洗碗机的用途、洗涤方式、安装方式、控制方式、开门方式等,可将它分为多种种类及型号。本文主要讨论的是家用喷淋式全自动洗碗机的设计方案及实现方式,该产品也是目前家用洗碗机中最主要的产品形式。
此类型洗碗机的主要工作原理就是用水泵将加热后的水抽送到旋转喷臂,在水压的作用下喷臂会旋转,水通过旋转喷臂上的小孔向上下左右强力喷淋,辅助以清洁剂等物品,将碗碟上的油污等冲洗干净,从而达到清洗碗碟的目的。喷淋式洗碗机工作原理如图1所示。
洗碗机的主要功能包括洗涤、消毒、烘干、预约、水质软化、掉电自动记忆、学习功能等,系统提供多种洗涤程序供用户选择,用户可根据需要选择普通、快速、强力、夜间、精细、自保养等洗涤模式。
2系统硬件方案
洗碗机控制器的系统主要组成部分如图2所示,由于洗碗机的系统功能比较复杂,需要检测及控制的信号量比较多,主要负载包括洗涤泵、进水阀、排水阀、加热器、洗涤剂阀等,其中加热器采用继电器控制,其余负载均采用可控硅控制。在洗涤泵的控制电路设计上考虑了兼容性,可兼容三种类型的电机:无转速反馈的交流电机、带转速反馈的交流电机以及BLAC调速电机。主要的信号输入量包括:水温、门开关、水位开关、溢流、过零信号、加热器反馈信号、电机转速、缺盐信号等。用户操作界面包括6个按键、10个LED、2位数码管、蜂鸣器等。下面分别介绍部分主要电路的设计方案。
2.1主控芯片选择
考虑到洗碗机控制器系统软硬件复杂程度高,系统整体需求较高,结合芯片性能、价格等因素,选用了意法半导体公司的STM8S系列8位单片机STM8S207R8,该芯片是ST推出的高性能8位单片机,在价格方面具有很强的竞争力。该芯片为64 PIN LQFP封装,具有52个I/O,64 K FLASH,6 K RAM,1.5 K EEPROM,16通道10位ADC,9通道CAPCOM Timer,具有多组SPI、IIC、UART等外围接口,内核运行频率24 MHz,整体功能十分强大,可满足本系统的功能需求。
2.2电源电路设计
根据洗碗机控制器产品特点及成本要求,控制器电源电路采用了非隔离型的开关电源方案。由于控制器总体功率不高,主要负载为1路继电器、2路显示、5路可控硅,因此采用了PI的LNK306开关电源控制芯片,总功率输出约4 W,提供-5 V和+7 V两路输出用于MCU及继电器等负载供电。该方案具有性能可靠、抗干扰能力强等优点。电源电路图如图3所示。
2.3过零信号电路设计
由于过零信号被用于控制可控硅的导通角,从而控制电机的转速,因此过零信号的准确性会影响电机的调速控制。由于采用非隔离型开关电源,因此过零电路的设计直接采用L线经电阻降压后驱动三极管的方案,该方案原理简单、成本低、可靠性好,主要需考虑的是分压电阻的取值,以提高电路的精度。由于门开关、水位开关、加热器反馈信号在系统电气线路中也是同样的接法,因此采用同样的设计方案。
2.4电机驱动电路设计
根据能耗要求及产品功能需求的不同,匹配的电机也有所不同。本产品在设计时充分考虑了电机驱动的兼容性,最简单的无反馈定速电机直接采用可控硅全导通进行控制;带霍尔传感器的交流电机采用了可控硅导通角闭环控制方式进行调速;BLAC调速电机则通过UART串口通讯,传输控制命令至BLAC电机内部的驱动板进行控制。因此在方案上可控硅控制部分的电路是一致的,针对两款反馈电机分别再增加了TACHO反馈电路以及UART通讯电路。通过软件EEPROM中的参数设定,可直接匹配所选的电机类型。
2.5用户操作界面设计
用户界面包括6个按键、10个LED或2路数码管、1个蜂鸣器,设计上采用矩阵扫描的方式,其中10个LED和2路数码管是兼容设计方案,也就是2选1的方式,可通过EEPROM中的参数设定自动匹配。显示部分设计为3X8扫描方式、按键部分为3X2扫描方式,总体为3X10的矩阵扫描。
3系统软件方案
软件是整个控制系统的核心,程序的框架会直接影响软件功能实现的优劣,由于系统功能复杂,包括正常模式、FVT测试模式、工厂测试模式、参数设定模式等,每个模式下均有复杂的逻辑功能。因此从模块化、结构化的软件设计角度出发,需要从功能划分上定义出各主程序运行模块,然后在模块内部再根据具体需求完成软件逻辑实现。
3.1MCU资源分配及中断使用
由于需要检测控制的信号量较多,需要合理地使用MCU资源,软件中共使用了以下几个中断源:
①PORTA_EXTI:外部中断,用于过零信号检测。
②PORTD_EXTI:外部中断,用于霍尔传感器信号检测。
③PORTE_EXTI:外部中断,用于流量信号检测。
④TIMER2_CMP:定时器中断,用于可控硅导通角控制。
⑤UART1_RX/TX:UART1通讯中断,用于FVT TEST UART通讯。
⑥UART3_RX/TX:UART3通讯中断,用于BLAC电机UART通讯。
⑦TIM4_UPD:定时器中断,用于时基2 ms定时产生。
各中断均处理实时性高的任务或信号检测,时基中断部分进行了显示扫描、计时器累加等基础任务,信号量的进一步处理则在主程序中由相应的程序进行处理。
3.2软件框架
软件主程序整体框架采用了状态机+时间调度的模式,每个主要模块均按状态机的机制进行状态细分,在每个工作状态下再按时间间隔分配任务,规定每个任务的执行间隔时间。
主程序在开始时先进行硬件系统的初始化,对MCU资源进行配置;然后读取EEPROM数据,包括机型设置参数以及程序运行参数;再对程序的运行数据进行初始化,根据需要恢复断电前的系统运行状态;或者进行程序运行状态的选择,进入各种参数设定模式或测试模式。主程序流程图如图4所示。
关于时间调度模式,主要是根据任务运行的频度及信号处理的及时性需求对任务进行划分。以NORMAL_MODE运行状态为例,该模块处理了洗碗机正常洗涤控制程序的全部任务,包括显示扫描、按键处理、输入信号的检测、负载控制信号的输出、故障检测、电机通讯控制、洗涤程序等。根据任务类型,将时间调度分为每2 ms、每10 ms、每100 ms执行一次的三种调度节点类型,其中2 ms时间调度中处理了各输入信号的检测以及电机通讯等任务;10 ms时间调度处理了用户界面的输入输出程序及故障检测程序等;100 ms时间调度则处理了主洗涤流程控制程序。NORMAL_MODE模块流程图如图5所示。
3.3主洗涤流程控制程序
本洗碗机提供了10种洗涤程序,包括普通、快速、强力、夜间、精细、自保养等,每种洗涤程序对应一个具体程序流程,程序流程一般包括预洗、主洗、冷冲、热冲、烘干这些阶段。每个阶段再根据程序的需求选择相应的进水量、洗涤时间、加热温度、洗洁剂添加、冲洗次数、光亮剂添加、烘干等。软件中将所有的洗涤程序均细分为80个步骤,需要执行的步骤根据结束条件进行退出判断,不需要执行的步骤则直接跳过。因此在软件处理上仍然采用状态机的形式对步骤进行管理,执行至每一个步骤时,相应对该步骤进行显示处理、中断处理、步骤结束检测以及故障检测处理等,满足步骤结束条件时进入下一步骤,直到完成所有步骤。主洗涤流程控制程序如图6所示。
4结语
该洗碗机控制器设计方案可靠、性能稳定、功能齐全,具有良好的扩展兼容性。软件采用模块化设计理念、结构清晰、健壮性高、易于维护修改。该控制器已实现产品批量生产,其方案可广泛应用于家用洗碗机的控制系统。
参考文献:
[1] 胡汉才.单片机原理及系统设计[M].北京:清华大学出版社,2002.
[2] 周其节.自动控制原理[M].广州:华南理工大学出版社,1989.
[3] 京讯.全自动家用洗碗机[J].家用电器,1999,(2).
endprint
摘要:文章简要介绍了全自动洗碗机的工作原理及主要功能,分析了洗碗机的几个主要检测对象及控制对象的具体控制需求。给出了一款以STM8S系列单片机为控制核心的洗碗机控制器的具体设计方案,介绍了系统各主要功能模块的原理图设计、软件总体框架结构以及部分软件模块的设计思路等。该方案同时考虑了兼容性设计的问题,可兼容两种显示方案,三种类型的洗涤电机以及多种运行参数选择。
关键词:STM8S;单片机;兼容性设计;洗碗机控制器;软件结构
中图分类号:TP368 文献标识码:A文章编号:1006-8937(2014)20-0023-03
洗碗机在欧美已广泛应用于普通家庭的厨房中,有数据统计,在欧美主要国家,洗碗机的普及率已达到70%以上,几乎是家家户户必备的厨房生活电器。而在中国,由于生活习惯的影响,洗碗机一直无法得到普及,但随着现代都市生活品质的不断提高,人们越来越关注生活中能带来更多便利的电器,洗碗机也在吸引着更多中国消费者的眼球,它的便利性正逐步得到人们的认可。目前市场上Electrolux、SIEMENS、Whirlpool、SANYO、Hair、Midea等国内外著名品牌均推出其洗碗机产品,洗碗机产品具有很广阔的市场前景。
1工作原理及主要功能
洗碗机是用于洗碗的机器,它可用于自动清洗碗、盘、碟、勺子、筷子等餐具。根据洗碗机的用途、洗涤方式、安装方式、控制方式、开门方式等,可将它分为多种种类及型号。本文主要讨论的是家用喷淋式全自动洗碗机的设计方案及实现方式,该产品也是目前家用洗碗机中最主要的产品形式。
此类型洗碗机的主要工作原理就是用水泵将加热后的水抽送到旋转喷臂,在水压的作用下喷臂会旋转,水通过旋转喷臂上的小孔向上下左右强力喷淋,辅助以清洁剂等物品,将碗碟上的油污等冲洗干净,从而达到清洗碗碟的目的。喷淋式洗碗机工作原理如图1所示。
洗碗机的主要功能包括洗涤、消毒、烘干、预约、水质软化、掉电自动记忆、学习功能等,系统提供多种洗涤程序供用户选择,用户可根据需要选择普通、快速、强力、夜间、精细、自保养等洗涤模式。
2系统硬件方案
洗碗机控制器的系统主要组成部分如图2所示,由于洗碗机的系统功能比较复杂,需要检测及控制的信号量比较多,主要负载包括洗涤泵、进水阀、排水阀、加热器、洗涤剂阀等,其中加热器采用继电器控制,其余负载均采用可控硅控制。在洗涤泵的控制电路设计上考虑了兼容性,可兼容三种类型的电机:无转速反馈的交流电机、带转速反馈的交流电机以及BLAC调速电机。主要的信号输入量包括:水温、门开关、水位开关、溢流、过零信号、加热器反馈信号、电机转速、缺盐信号等。用户操作界面包括6个按键、10个LED、2位数码管、蜂鸣器等。下面分别介绍部分主要电路的设计方案。
2.1主控芯片选择
考虑到洗碗机控制器系统软硬件复杂程度高,系统整体需求较高,结合芯片性能、价格等因素,选用了意法半导体公司的STM8S系列8位单片机STM8S207R8,该芯片是ST推出的高性能8位单片机,在价格方面具有很强的竞争力。该芯片为64 PIN LQFP封装,具有52个I/O,64 K FLASH,6 K RAM,1.5 K EEPROM,16通道10位ADC,9通道CAPCOM Timer,具有多组SPI、IIC、UART等外围接口,内核运行频率24 MHz,整体功能十分强大,可满足本系统的功能需求。
2.2电源电路设计
根据洗碗机控制器产品特点及成本要求,控制器电源电路采用了非隔离型的开关电源方案。由于控制器总体功率不高,主要负载为1路继电器、2路显示、5路可控硅,因此采用了PI的LNK306开关电源控制芯片,总功率输出约4 W,提供-5 V和+7 V两路输出用于MCU及继电器等负载供电。该方案具有性能可靠、抗干扰能力强等优点。电源电路图如图3所示。
2.3过零信号电路设计
由于过零信号被用于控制可控硅的导通角,从而控制电机的转速,因此过零信号的准确性会影响电机的调速控制。由于采用非隔离型开关电源,因此过零电路的设计直接采用L线经电阻降压后驱动三极管的方案,该方案原理简单、成本低、可靠性好,主要需考虑的是分压电阻的取值,以提高电路的精度。由于门开关、水位开关、加热器反馈信号在系统电气线路中也是同样的接法,因此采用同样的设计方案。
2.4电机驱动电路设计
根据能耗要求及产品功能需求的不同,匹配的电机也有所不同。本产品在设计时充分考虑了电机驱动的兼容性,最简单的无反馈定速电机直接采用可控硅全导通进行控制;带霍尔传感器的交流电机采用了可控硅导通角闭环控制方式进行调速;BLAC调速电机则通过UART串口通讯,传输控制命令至BLAC电机内部的驱动板进行控制。因此在方案上可控硅控制部分的电路是一致的,针对两款反馈电机分别再增加了TACHO反馈电路以及UART通讯电路。通过软件EEPROM中的参数设定,可直接匹配所选的电机类型。
2.5用户操作界面设计
用户界面包括6个按键、10个LED或2路数码管、1个蜂鸣器,设计上采用矩阵扫描的方式,其中10个LED和2路数码管是兼容设计方案,也就是2选1的方式,可通过EEPROM中的参数设定自动匹配。显示部分设计为3X8扫描方式、按键部分为3X2扫描方式,总体为3X10的矩阵扫描。
3系统软件方案
软件是整个控制系统的核心,程序的框架会直接影响软件功能实现的优劣,由于系统功能复杂,包括正常模式、FVT测试模式、工厂测试模式、参数设定模式等,每个模式下均有复杂的逻辑功能。因此从模块化、结构化的软件设计角度出发,需要从功能划分上定义出各主程序运行模块,然后在模块内部再根据具体需求完成软件逻辑实现。
3.1MCU资源分配及中断使用
由于需要检测控制的信号量较多,需要合理地使用MCU资源,软件中共使用了以下几个中断源:
①PORTA_EXTI:外部中断,用于过零信号检测。
②PORTD_EXTI:外部中断,用于霍尔传感器信号检测。
③PORTE_EXTI:外部中断,用于流量信号检测。
④TIMER2_CMP:定时器中断,用于可控硅导通角控制。
⑤UART1_RX/TX:UART1通讯中断,用于FVT TEST UART通讯。
⑥UART3_RX/TX:UART3通讯中断,用于BLAC电机UART通讯。
⑦TIM4_UPD:定时器中断,用于时基2 ms定时产生。
各中断均处理实时性高的任务或信号检测,时基中断部分进行了显示扫描、计时器累加等基础任务,信号量的进一步处理则在主程序中由相应的程序进行处理。
3.2软件框架
软件主程序整体框架采用了状态机+时间调度的模式,每个主要模块均按状态机的机制进行状态细分,在每个工作状态下再按时间间隔分配任务,规定每个任务的执行间隔时间。
主程序在开始时先进行硬件系统的初始化,对MCU资源进行配置;然后读取EEPROM数据,包括机型设置参数以及程序运行参数;再对程序的运行数据进行初始化,根据需要恢复断电前的系统运行状态;或者进行程序运行状态的选择,进入各种参数设定模式或测试模式。主程序流程图如图4所示。
关于时间调度模式,主要是根据任务运行的频度及信号处理的及时性需求对任务进行划分。以NORMAL_MODE运行状态为例,该模块处理了洗碗机正常洗涤控制程序的全部任务,包括显示扫描、按键处理、输入信号的检测、负载控制信号的输出、故障检测、电机通讯控制、洗涤程序等。根据任务类型,将时间调度分为每2 ms、每10 ms、每100 ms执行一次的三种调度节点类型,其中2 ms时间调度中处理了各输入信号的检测以及电机通讯等任务;10 ms时间调度处理了用户界面的输入输出程序及故障检测程序等;100 ms时间调度则处理了主洗涤流程控制程序。NORMAL_MODE模块流程图如图5所示。
3.3主洗涤流程控制程序
本洗碗机提供了10种洗涤程序,包括普通、快速、强力、夜间、精细、自保养等,每种洗涤程序对应一个具体程序流程,程序流程一般包括预洗、主洗、冷冲、热冲、烘干这些阶段。每个阶段再根据程序的需求选择相应的进水量、洗涤时间、加热温度、洗洁剂添加、冲洗次数、光亮剂添加、烘干等。软件中将所有的洗涤程序均细分为80个步骤,需要执行的步骤根据结束条件进行退出判断,不需要执行的步骤则直接跳过。因此在软件处理上仍然采用状态机的形式对步骤进行管理,执行至每一个步骤时,相应对该步骤进行显示处理、中断处理、步骤结束检测以及故障检测处理等,满足步骤结束条件时进入下一步骤,直到完成所有步骤。主洗涤流程控制程序如图6所示。
4结语
该洗碗机控制器设计方案可靠、性能稳定、功能齐全,具有良好的扩展兼容性。软件采用模块化设计理念、结构清晰、健壮性高、易于维护修改。该控制器已实现产品批量生产,其方案可广泛应用于家用洗碗机的控制系统。
参考文献:
[1] 胡汉才.单片机原理及系统设计[M].北京:清华大学出版社,2002.
[2] 周其节.自动控制原理[M].广州:华南理工大学出版社,1989.
[3] 京讯.全自动家用洗碗机[J].家用电器,1999,(2).
endprint
摘要:文章简要介绍了全自动洗碗机的工作原理及主要功能,分析了洗碗机的几个主要检测对象及控制对象的具体控制需求。给出了一款以STM8S系列单片机为控制核心的洗碗机控制器的具体设计方案,介绍了系统各主要功能模块的原理图设计、软件总体框架结构以及部分软件模块的设计思路等。该方案同时考虑了兼容性设计的问题,可兼容两种显示方案,三种类型的洗涤电机以及多种运行参数选择。
关键词:STM8S;单片机;兼容性设计;洗碗机控制器;软件结构
中图分类号:TP368 文献标识码:A文章编号:1006-8937(2014)20-0023-03
洗碗机在欧美已广泛应用于普通家庭的厨房中,有数据统计,在欧美主要国家,洗碗机的普及率已达到70%以上,几乎是家家户户必备的厨房生活电器。而在中国,由于生活习惯的影响,洗碗机一直无法得到普及,但随着现代都市生活品质的不断提高,人们越来越关注生活中能带来更多便利的电器,洗碗机也在吸引着更多中国消费者的眼球,它的便利性正逐步得到人们的认可。目前市场上Electrolux、SIEMENS、Whirlpool、SANYO、Hair、Midea等国内外著名品牌均推出其洗碗机产品,洗碗机产品具有很广阔的市场前景。
1工作原理及主要功能
洗碗机是用于洗碗的机器,它可用于自动清洗碗、盘、碟、勺子、筷子等餐具。根据洗碗机的用途、洗涤方式、安装方式、控制方式、开门方式等,可将它分为多种种类及型号。本文主要讨论的是家用喷淋式全自动洗碗机的设计方案及实现方式,该产品也是目前家用洗碗机中最主要的产品形式。
此类型洗碗机的主要工作原理就是用水泵将加热后的水抽送到旋转喷臂,在水压的作用下喷臂会旋转,水通过旋转喷臂上的小孔向上下左右强力喷淋,辅助以清洁剂等物品,将碗碟上的油污等冲洗干净,从而达到清洗碗碟的目的。喷淋式洗碗机工作原理如图1所示。
洗碗机的主要功能包括洗涤、消毒、烘干、预约、水质软化、掉电自动记忆、学习功能等,系统提供多种洗涤程序供用户选择,用户可根据需要选择普通、快速、强力、夜间、精细、自保养等洗涤模式。
2系统硬件方案
洗碗机控制器的系统主要组成部分如图2所示,由于洗碗机的系统功能比较复杂,需要检测及控制的信号量比较多,主要负载包括洗涤泵、进水阀、排水阀、加热器、洗涤剂阀等,其中加热器采用继电器控制,其余负载均采用可控硅控制。在洗涤泵的控制电路设计上考虑了兼容性,可兼容三种类型的电机:无转速反馈的交流电机、带转速反馈的交流电机以及BLAC调速电机。主要的信号输入量包括:水温、门开关、水位开关、溢流、过零信号、加热器反馈信号、电机转速、缺盐信号等。用户操作界面包括6个按键、10个LED、2位数码管、蜂鸣器等。下面分别介绍部分主要电路的设计方案。
2.1主控芯片选择
考虑到洗碗机控制器系统软硬件复杂程度高,系统整体需求较高,结合芯片性能、价格等因素,选用了意法半导体公司的STM8S系列8位单片机STM8S207R8,该芯片是ST推出的高性能8位单片机,在价格方面具有很强的竞争力。该芯片为64 PIN LQFP封装,具有52个I/O,64 K FLASH,6 K RAM,1.5 K EEPROM,16通道10位ADC,9通道CAPCOM Timer,具有多组SPI、IIC、UART等外围接口,内核运行频率24 MHz,整体功能十分强大,可满足本系统的功能需求。
2.2电源电路设计
根据洗碗机控制器产品特点及成本要求,控制器电源电路采用了非隔离型的开关电源方案。由于控制器总体功率不高,主要负载为1路继电器、2路显示、5路可控硅,因此采用了PI的LNK306开关电源控制芯片,总功率输出约4 W,提供-5 V和+7 V两路输出用于MCU及继电器等负载供电。该方案具有性能可靠、抗干扰能力强等优点。电源电路图如图3所示。
2.3过零信号电路设计
由于过零信号被用于控制可控硅的导通角,从而控制电机的转速,因此过零信号的准确性会影响电机的调速控制。由于采用非隔离型开关电源,因此过零电路的设计直接采用L线经电阻降压后驱动三极管的方案,该方案原理简单、成本低、可靠性好,主要需考虑的是分压电阻的取值,以提高电路的精度。由于门开关、水位开关、加热器反馈信号在系统电气线路中也是同样的接法,因此采用同样的设计方案。
2.4电机驱动电路设计
根据能耗要求及产品功能需求的不同,匹配的电机也有所不同。本产品在设计时充分考虑了电机驱动的兼容性,最简单的无反馈定速电机直接采用可控硅全导通进行控制;带霍尔传感器的交流电机采用了可控硅导通角闭环控制方式进行调速;BLAC调速电机则通过UART串口通讯,传输控制命令至BLAC电机内部的驱动板进行控制。因此在方案上可控硅控制部分的电路是一致的,针对两款反馈电机分别再增加了TACHO反馈电路以及UART通讯电路。通过软件EEPROM中的参数设定,可直接匹配所选的电机类型。
2.5用户操作界面设计
用户界面包括6个按键、10个LED或2路数码管、1个蜂鸣器,设计上采用矩阵扫描的方式,其中10个LED和2路数码管是兼容设计方案,也就是2选1的方式,可通过EEPROM中的参数设定自动匹配。显示部分设计为3X8扫描方式、按键部分为3X2扫描方式,总体为3X10的矩阵扫描。
3系统软件方案
软件是整个控制系统的核心,程序的框架会直接影响软件功能实现的优劣,由于系统功能复杂,包括正常模式、FVT测试模式、工厂测试模式、参数设定模式等,每个模式下均有复杂的逻辑功能。因此从模块化、结构化的软件设计角度出发,需要从功能划分上定义出各主程序运行模块,然后在模块内部再根据具体需求完成软件逻辑实现。
3.1MCU资源分配及中断使用
由于需要检测控制的信号量较多,需要合理地使用MCU资源,软件中共使用了以下几个中断源:
①PORTA_EXTI:外部中断,用于过零信号检测。
②PORTD_EXTI:外部中断,用于霍尔传感器信号检测。
③PORTE_EXTI:外部中断,用于流量信号检测。
④TIMER2_CMP:定时器中断,用于可控硅导通角控制。
⑤UART1_RX/TX:UART1通讯中断,用于FVT TEST UART通讯。
⑥UART3_RX/TX:UART3通讯中断,用于BLAC电机UART通讯。
⑦TIM4_UPD:定时器中断,用于时基2 ms定时产生。
各中断均处理实时性高的任务或信号检测,时基中断部分进行了显示扫描、计时器累加等基础任务,信号量的进一步处理则在主程序中由相应的程序进行处理。
3.2软件框架
软件主程序整体框架采用了状态机+时间调度的模式,每个主要模块均按状态机的机制进行状态细分,在每个工作状态下再按时间间隔分配任务,规定每个任务的执行间隔时间。
主程序在开始时先进行硬件系统的初始化,对MCU资源进行配置;然后读取EEPROM数据,包括机型设置参数以及程序运行参数;再对程序的运行数据进行初始化,根据需要恢复断电前的系统运行状态;或者进行程序运行状态的选择,进入各种参数设定模式或测试模式。主程序流程图如图4所示。
关于时间调度模式,主要是根据任务运行的频度及信号处理的及时性需求对任务进行划分。以NORMAL_MODE运行状态为例,该模块处理了洗碗机正常洗涤控制程序的全部任务,包括显示扫描、按键处理、输入信号的检测、负载控制信号的输出、故障检测、电机通讯控制、洗涤程序等。根据任务类型,将时间调度分为每2 ms、每10 ms、每100 ms执行一次的三种调度节点类型,其中2 ms时间调度中处理了各输入信号的检测以及电机通讯等任务;10 ms时间调度处理了用户界面的输入输出程序及故障检测程序等;100 ms时间调度则处理了主洗涤流程控制程序。NORMAL_MODE模块流程图如图5所示。
3.3主洗涤流程控制程序
本洗碗机提供了10种洗涤程序,包括普通、快速、强力、夜间、精细、自保养等,每种洗涤程序对应一个具体程序流程,程序流程一般包括预洗、主洗、冷冲、热冲、烘干这些阶段。每个阶段再根据程序的需求选择相应的进水量、洗涤时间、加热温度、洗洁剂添加、冲洗次数、光亮剂添加、烘干等。软件中将所有的洗涤程序均细分为80个步骤,需要执行的步骤根据结束条件进行退出判断,不需要执行的步骤则直接跳过。因此在软件处理上仍然采用状态机的形式对步骤进行管理,执行至每一个步骤时,相应对该步骤进行显示处理、中断处理、步骤结束检测以及故障检测处理等,满足步骤结束条件时进入下一步骤,直到完成所有步骤。主洗涤流程控制程序如图6所示。
4结语
该洗碗机控制器设计方案可靠、性能稳定、功能齐全,具有良好的扩展兼容性。软件采用模块化设计理念、结构清晰、健壮性高、易于维护修改。该控制器已实现产品批量生产,其方案可广泛应用于家用洗碗机的控制系统。
参考文献:
[1] 胡汉才.单片机原理及系统设计[M].北京:清华大学出版社,2002.
[2] 周其节.自动控制原理[M].广州:华南理工大学出版社,1989.
[3] 京讯.全自动家用洗碗机[J].家用电器,1999,(2).
endprint
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!