一·方案概述
现代人生活节奏快,厨房的智能化可以大大方便现代人的生活。本方案是智能微波炉设计方案,可以根据食物的状态给予烹饪建议,让不精通厨房用具的用户也能轻松使用。
二·功能定义及性能指标
通过终端设置烹饪时间
根据食物状态,建议加热时间
远程在线诊断微波炉
微波炉烹饪完成、清洗提醒
微波炉使用提醒,防止安全事故
对不同菜肴烹饪提供烹饪设置与建议
三·微波炉的原理
微波炉的磁控管将电能转化为微波能,当磁控管以 2450MHZ 的频率发射出微波能时, 置于微波炉炉腔内的水分子以每秒钟 24.5 亿千次的变化频率进行振荡运行,产生高频电磁场的核心元件是 磁控管。食物分子在高频磁场中发生震动, 分子间相互碰撞、 摩擦而产生热能,结果导致食物被加热。这就是微波炉原理。
四·硬件设计
系统框图
本部分主要介绍与MCU相关的电路,电路主要分为按键模块,LCD驱动编码开关读取, 温度检测,蜂鸣器驱动和过零检测。
1.1按键模块
1.1-1功能描述
系统采用三乘三的按键矩阵,使用普通I/O端口来实现按键的功能使用内部的上拉电阻来代替系统外部上拉电阻,由于系统需要响应组合按键,所以在每一个行输出口上都串了一个二极管保护端口,用于防止行输出短路损伤端口。
1.2LCD驱动
1.2-1功能描述
芯片内部集成了LCD驱动器,LCD参考电压可以选择内部和外部分压电阻,驱动器能够自动读取显示缓冲区数据,并驱动SEG和COM,它有6种不同的显示模式:静态
1/2占空比(1/2偏压)
1/3占空比(1/2偏压)
1/3占空比(1/3偏压)
1/4占空比(1/3偏压)
1/8占空比(1/4偏压)
每种显示有6种显示频率
它最大24 SEG和 8 COM。
在本方案中我们使用的是内部分压电阻,1/4占空比1/3偏压的驱动模式。
1.3编码开关读取
1.3-1 功能描述
在本方案中可以通过旋转编码开关来调整和设置时间、重量和模式等参数,使参数设置更加方便。下图是一个编码开关的工作状态图。
如图所示:当开关正转时switch1的波形超前于switch2的波形,当开关反转时,switch1的波形滞后于switch2的波形。所以我们只要判断出相位的关系就可以等到开关的运行状态,在具体的实现过程中可以用边沿中断硬件来读取编码开关,也可以用定时器来定时读取端口来获取编码开关状态,78K0系列MCU内部集成有边沿中断硬件和定时器,但是在本方案中使用定时器来读取编码开关。
2.1 温度检测
2.1-1 功能描述
在烹调过程中需要通过温度来控制烹调流程,所以温度检测必不可少,为了增加温度的测量范围需要有一个端口来控制和温度传感器连接的电阻的大小。当温度传感器的电阻较小时AD_IO端口输出低,这时候和温度传感器连接的电阻约为4.5K左右,这时测量小电阻时可以比较精确,当温度传感器的阻值较大时AD_IO端口输出高,此时和温度传感器连接的电阻为100K,这是测量大电阻比较精确。78K0系列MCU内部集成8位或者10位A/D,本方案用它来检测温度。
2.2 蜂鸣器驱动
2.2-1 功能描述
系统为了指示工作状态需要使用蜂鸣器,蜂鸣器一般可分为两种,一种是直接直流驱动的蜂鸣器,一种是使用方波驱动的蜂鸣器。蜂鸣器需要较大的驱动电流,所以系统中使用了达林顿驱动芯片XBLW ULN2003。78K0系列MCU内部集成的定时器具有方波输出功能,在本方案中使用了TOH0的方波输出功能。
3.1 供电电路
3.1-1 功能描述
电路利用XBLW LM358进行输出电压反馈, 将XBLW LM2596-5.0改造成输出可以调整的稳压电压。给单片机控制提供稳定电源。设定电压由单片机的 DA 输出, 或者将 PWM 进行滤波形成设定电压。这种电路适合大功率可调电压的场合。
3.2 过零检测
3.2-1 功能描述
由于被控制大功率设备在电压高时切断或者开启会带来干扰,所以在方案中添加了过零检测电路用来保证,被控制的大功率设备能够在市电过零点附近切断或者开启,减少干扰。78K0系列MCU内部集成有边沿中断硬件,它可以检测上升沿中断或者下降沿中断,或者双沿中断,本方案中使用双沿中断来检测过零信号。
五·软件配置
在这个系统中,有六个任务,它们分别是:主任务,时钟处理任务,按键处理任务,门处理任务,设置状态任务和运行状态任务。它们之间的关系如下图:
5.1 主任务 主任务实现系统的主流程,它调用各个模块来实现相关的工作
5.2 时钟处理任务 计算系统的时钟。
5.3 按键处理任务 判断系统是否有按键按下。
5.4 门处理任务 判断门的状态。
5.5 设置状态任务 进行烹调模式的设置。
5.6 运行状态任务 进行烹调的控制
六·源代码
七·本方案重要器件推荐