基于单片机的自动豆浆机控制系统

基于单片机的自动豆浆机控制系统
基于单片机的自动豆浆机控制系统

基于单片机的自动豆浆机控制系统在日常生活中,早餐是我们必不可少的能量来源,豆浆是中国人民喜爱的一种饮品,

又是一种老少皆宜的营养食品,在欧美享有“植物奶”的美誉。豆浆含有丰富的植物蛋白和磷脂,还含有维生素B1.B2和烟酸。此外,豆浆还含有铁、钙等矿物质,尤其是其所含的钙,非常适合于各种人群,包括老人、成年人、青少年、儿童等等。豆浆机是快速制作豆浆的机器,

本文介绍了一种基于单片机的豆浆机控制器的设计,豆浆机的控制系统是基于STC89C52单片机来实现的,其主功能有可以手动和自动对各种谷物和豆类进行加热和粉碎,工作模式分手动粉碎,手动加热和自动三种。在豆浆机工作的过程中,液晶1602能给予温度和工作模式的显示。在豆浆机工作过程中能对液位溢出和豆浆机干烧进行检查,发现后能蜂鸣报警并停止相关工作。豆浆机工作完成时,能蜂鸣报警,提醒用户。

自动豆浆机控制系统根据单片机原理,将其运用于豆浆机中来控制电路系统;以实现上述豆浆机工作流程的自动化,并运用汇编语言进行的编程。

绪论

由于当今社会生活节奏快,有许多人没有时间吃早点,而早点对于人的健康是非常重要的。中国的传统食物豆浆是一种老少皆宜的营养食品。现磨豆浆有很神奇的滋补身体的作用:《延年秘录》中认为“长肌肤,益颜色,填骨髓,加气力,补虚能食”。如今豆浆传至国外,其营养价值也是在世界范围被认可,深受欢饮:在国外豆浆被称作是“植物奶”,豆浆含有丰富的植物蛋白和磷脂,还含有维生素B1、B2和烟酸。

论文研究主要内容

本设计是以AT89C52单片机为控制核心的智能照明装置,通过使用温度传感器、LED显示屏、继电器、直流电机、蜂鸣器,其特点是能用单片机控制电机进行打浆,并且具有手动加热、手动控制和自动控制的功能。全自动豆浆机是一种集结构简单、性能稳定、使用方便、价格低廉、智能化等优点为一体的设计产品,具有一定的实用价值。

论文研究意义及技术要求

本文所设计的豆浆机控制系统从功能角度出发,在温度传感器的基础上加上水位的控制进行组合,制造一个既安全又适用的豆浆机控制器。本设计要求十分重视单片机原理、自动控制原理、C语言等课程,尤其是关于C语言的相关知识,它对于本设计意义

重大,本设计需要使用C语言进行系统软件程序的编写,因此难度也就比较大,需要将专业所学好吸收。

国内外现状

在国内近几年,豆浆机市场由于增长乏力,使得行业老大九阳开始拓宽多样化产品领域及深化产品,除了畅销的植物牛奶系列、营养王系列、无网星系列等豆浆机外,还最新推出了One Cup随饮机、“小米浆”豆浆机等产品,并借势互联网营销,使得其销量在整体市场中处于持续增长态势。因此,对于豆浆机的研究还有待进一一步加深,豆浆机技术的革新将越来越受到相关人士的关注。

在国外,家电行业年度盛会的中国家电博览会期间,在谈到九阳今后的发展战略时,九阳副总裁韩润告诉记者,目前在中国台湾市场,参与竞争的豆浆机品牌超过20多个,但九阳的市场份额超过85%,处于绝对领先的地位,但鉴于豆浆的营养价值及其传统特色风味,以扩大人们对于健康饮品的选择范围。如何进-一步提高豆浆机的综合性能,提高其性价比,以满足不同人群对于豆浆,豆浆机需求的不断发展。

系统总体方案设计

设计内容与设计要求

使用单片机、温度传感器、LED显示屏、继电器、直流电机、蜂鸣器,其特点是能用单片机控制电机进行打浆,并且具有手动加热、手动控制和自动控制的功能。全自动豆浆机是一种集结构简单、性能稳定、使用方便、价格低廉、智能化等优点为一体的设计产品,具有一定的实用价值,完成以下要求:

(1)本设计以单片机为控制核心,用来模拟豆浆机的控制工作过程,采用多种工作模式,工作模式分为手动粉碎、手动加热和自动控制三种;

(2)用LED液晶显示实时显示豆浆机的工作模式、工作时间、工作温度以及故障状态下的故障类型;

(3)系统设计多个按键,通过按键可以选择系统化的工作模式,可以进行手动粉碎,手动加热和紧急停止等功能;

(4)按键模拟溢出和干烧紧急情况,一旦出现紧急情况,系统可以蜂鸣器和LED声光报警并停止豆浆机工作。

方案选择和论证

本设计是基于单片机的,通过单片机实现控制系统智能控制的自动感应装置。用声光控制开关代替一般的开关,只有在天黑以后,并且有声音时才能使继电器导通,使得电路导通,否则延迟一段时间继电器就会自动断开,而白天开关总是断开的;用普通干电池作为电源,LED灯替代普通灯具,因此节电效率很高,达到80%,且全自动智能控制。下面是具体方案:

方案一:这个方案是以单片机为核心,由温度传感器、加热电路、打浆电路、报警电路组成。方案一.工作原理为,首先装填好水和黄豆,然后开始加热,加热到80°C (由温度传感器检测),打浆电路开始运行,打浆--定时间后,打浆完成,然后又开始加热至沸腾,报警提示豆浆制作完毕。

方案二:这个方案是以单片机为核心,由温度传感器、加热电路、打浆电路、防干烧电路、防溢电路、报警电路、时钟电路、电源电路组成。方案二工作原理为,首先装填好一定量的黄豆和水,按下豆浆机的自动启动键,开始预热至80°C;然后豆浆机自动开始打浆,打浆电机采用间歇性方式进行打浆,粉碎黄豆,磨浆完成后开始对豆浆进行加热,加热至沸腾;豆浆机自动进入防溢延煮程序,最后报警提示豆浆已经做好。

本文设计的智能豆浆机整个制作过程全自动化,高效省时,安全快捷,以使制作出来的豆浆健康美味。其中电机负责搅拌打浆,加热电路负责预热和煮浆,防溢电路负责煮浆时豆浆的溢出,报警电路则是煮浆完成后提醒大家豆浆制作完毕。根据以上目的,我们选择方案二为本文的设计方案,具体原因有如下几点:

(1)加热。方案二的加热主要包括了打浆前的预加热和打浆期间的间歇性加热,打浆前的预加热是在装填好黄豆和水以后,开启预加热模式,加热至80°C,这样可以缩短打浆后煮浆至沸腾的时间,防止由于煮浆时间过长而引起的糊锅现象,而且大大的提高了整个豆浆制作的工作效率。

(2)打浆。方案二在打浆时采用的是间歇性打浆方式,由于电机不能长期一直运转,所以我们采用这种方式,每次搅拌不超过15 分钟,在间歇性打浆期间,我们同时也对豆浆进行加热,这样也能起到提高工作效率的作用。

(3)方案二由于加入了防干烧、防溢出电路,可以保证整个制作过程严防无水干烧,以及煮浆过程的溢出问题。配以豆浆机的报警电路可以提高豆浆机系统的安全性能。系统设计的原理框图及解析

控制系统首先通过电源电路对系统供电,其中温度传感器、防溢电路、放干烧电路、时钟电路、复位电路、按键、均是输入部分,声光报警、电机、加热电路均是输出部分。通电后,单片机启动加热器加热,加热到80°C时停止加热,然后启动电机,电机通过旋转打豆,打豆完成之后,又通过加热器加热。其中复位电路是复位系统的,按键为工作功能选择键。具体的系统原理框图如图2.1所示。

图2.1 系统原理框图

系统硬件的电路设计

单片机最小系统

AT89C52的最小系统包含三个组成部分,其一为时钟电路,即晶振电路;其二为复位电路;其三为电源电路。

AT89C52中集成有反向放大器,可以依靠本身功能产生震荡,振荡频率最高可以达到24MHz,相对而言其增益属性较高。单片机具有高增益属性,单片机的XTAL1、XTAL2引脚主要实现信号的放大输入和输出,该引脚作用于外部时钟时需要完成对引脚的接线处理,将外部震荡信号接至XTAL1端,XTAL2端不作为接入方式,该方式可实现单片机之间的同步。从下图信息可知,晶振电路中包含有外接晶体,此外还有两个主要的外接电容C1、C2,具有多种形式,二者相互组合构成并联震荡电路,该电路在放大器反馈电路之中。C1、C2电容范围为30PF-40PF,也可根据类型的不同取为其他值,其大小也十分重要,由于会涉及温度稳定性以及振荡器工作的稳定性,通常要选择30pF 的陶瓷电容即可满足要求。最小系统图如下图。

图3.1 AT89C52单片机最小系统电路

时钟电路

时钟振荡电路的正弦波组成很简单,2个30pf的石英陶瓷片振荡电容还有1个12mhz 的晶振便同样能组成一个简单的时钟振荡电路,然后我们可以使它分别接入磁池并放到了单片机的内部xtal1和单片机的xtal2两个引脚的连接处,这样便可以有效地使得单

片机在内部时钟振荡模式下正常地工作。此振荡电路在单片机加电后通过一个延迟(10ms左右)的振荡器进行起振,此时我们就会使单片机有一个幅度大约在3v左右信号在xtal2引脚处的振荡产生,主要由正弦波石英晶振的频率变化来直接决定其时钟振荡的频率。电路中两个时钟振荡电容器的c1、c2的主要作用是使时钟振荡电路快速地起振提升电路的响应效率。

复位电路介绍

几乎全部电器设备均设置复位电路,所谓复位就是将产品调整到出厂设置,从而结束一次运算或者消除一次故障信号,重置分为:开机时自动重置和重置开关。基于实际需求,复位操作有两种不同的形式,第一种上电复位形式,另一种则是开关复位。前者在有电源供电的情况下能够自动复位,此时RESET端和电容器负极相连,;后者要求在出现死机现象时通过按钮开关完成复位操作。

将电压加到RESET输入电阻,使芯片发生重置,当电容充满电时电阻两端的电压将降低,最终降低至0,芯片将照常工作。对于单片机而言,当其RESET引脚位于5mv 或者大于此数值的高电平时,执行初始化操作。如果RESET始终维持在高电平,那么单片机则会进行循环复位,从而导致无法执行既定程序。基于此单片机在完成复位之后可脱离该操作。

电源电路

在本次设计中,用了一个 3.5mm的电源座和一个按键开关构成电源电路,电源变压器电路如下图所示,,但由于家用豆浆机需要220V电压所以我配备了变压器如下图3.1.3所示

图3.1.3 电源变压器电路

加热电路的设计

加热电路的作用是通过加热管把磨成粉末的黄豆煮熟,本设计使用的加热器的功率为1000W,单片机输出电流经三极管放大,来驱动继电器闭合,使加热管发热把豆浆煮

熟,当单片机工作时,赋给P3.0一个高电平,使三极管Q2饱和导通,电流流过继电器D1,使触点闭合,于是加热管通电开始对水加热,当温度达到80度时,温度传感器将温度信号传给单片机,单片机检测到这个信号后,使P3.0脚变为低电平,三极管Q2截止,继电器触点断开,电阻停止加热。电路图设计如图

图3.2加热电路

液晶1602显示电路设计

LCD1602是当前常用的工业显示屏,具有良好的显示功能,在各行业领域之中应用广泛,该显示装置可显示两行,每行16个字符,很多相关产品都是由该模块连接其它电子元器件所构成的。通过显示模块可实现操作者和单片机设备的人际交流,同时也可了解当前系统所处的工作状态。在显示模块硬件和软件优发光二极管等构成,具有良好的易用性和可靠性。单片机输出设备则包含显示模块和单片机连接电路等,而且它有接收信号中点保存且不会改变其量度和颜色,因此具有较高的显示质量且不会出现乱码。本设计选用LCD1602液晶显示模块共有16各引脚,第一第二引脚的主要作用是为显示模块供电。而显示器正负端分别与单片机的第十五引脚和第十六引脚相连,完成字符显示量度调节的为第三引脚。单片机的3、4、5引脚分别为显示模块的命令输入、输出输入以及使能端,这三个引脚与单片机的P1.0、P1.1、P1.2相连。电路设计图如图3.5

3.3 液晶1602显示电路图

防干烧及防溢出电路的设计

水位检测及沸腾溢出电路的作用是以传感器作为信息采集系统的前端单元来控制家用豆浆机缺水时干烧及沸腾溢出等问题。这里采用探针作为传感器来检测水位及沸腾溢出,然后通过比较器输出高低电平,这样就可以通过单片机检测比较器输出电平的高低来检测水位及沸腾时的溢出状态。E1,E2分别是水位检测传感器和沸腾溢出传感器,为了减少成本,这里采用探针来代替这两个传感器,使用中将装植物的金属杯接控制电路的公共点“地”,探针分别通过传输线与单片机的P1.1,P1.0端连接。用同样的方法检测豆浆是否沸腾溢出。电路图设计如下图

图3.4 防干烧及防溢出电路

报警电路的设计

蜂鸣器是一种一体化的电子设备,蜂鸣器的主要作用是用于设备中发出提示音,由此来提醒用户当前设备处于何种工作状态。当前市场中常见的蜂鸣器有两种不同类型,第一种是压电式的,第二种是电磁式的。其中前者主要由于蜂鸣片等部件组成。后者主要由线圈、磁铁等部分组成。蜂鸣器在导通之后将周期性的振动发声。在本文中所所使用的是后者。当豆浆机干烧和豆浆制作完成两种情况的蜂鸣报警,单片机P3.2脚输出高电平,此时蜂鸣器电路导通,蜂鸣器发出声音,提醒用户注意当前豆浆机的工作状态。

图3.5 报警电路

电机驱动电路设计

步进电机的主要功能是将单片机传输的脉冲信号转变为可控制电机转动的角位移或线位移信号,是本文所设计的输液控制系统中的重要执行部件之一,应用十分广泛,电机的转速以及启停与脉冲频率和脉冲数有关,不受负载影响。当电机模块接收到脉冲信号之后会转动一个固定角度,该固定角度称之为步距角,即电机的转动时通过步距角不断积累叠加的。通过控制脉冲个数可完成步进电机角位移量的控制,进而达到精确控制执行元件运动距离的目的。本文中步进电机的主要作用是完成磨浆。电机驱动电路图如图3.6所示

图3.6 电机驱动电路

温度检测电路设计

豆浆机正常工作时候需首先将其中添加的水加热到80℃左右的温度,随后停止加热,由温度传感器来对水文进行测量。本文中采用DS-18B20数字温度传感器来模拟。DS18B20数字温度传感器采用单总线技术和集成芯片,提高了温度检测的准确性。同时,DS18B20数字温度传感器可以直接对温度信号进行变换。以便于单片机直接处理串行的数字信号。其具有接口相对简单,数据处理效率较高的特点。DS18B20 数字式温度传感器还具有集成程度很高的模块电路,利于整理硬件装置的简化。DS-18B20的电路图如图3.7所示。

图3.7 温度检测电路

按照通讯协议,需要完成对该传感器的温度转换需要通过下述三个步骤实现,首先对系统进行上电,随后在读写完成之后即要进行复位操作。第二步就是发送一个ROM指令,这里指令的作用是识别设备,单片机的一个IO上可以挂载一个或多个DS18B20。最后发送RAM指令,由此使温度传感器实现预期操作。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容对照,若T>TH或T

志位,同时对主机发出报警命令予以响应。由此可通过温度传感器同时检测温度并完成报警搜索。

系统软件设计

程序语言与开发环境

KeilUvision4C52与传统的装配相比,c语言在其功能、结构、易读性、维护等各个方面都具有明显的特点和优势,易于更好地学习和适合实际使用。在使用其他汇编语言时可以在使用c进行软件开发之后,进行更深层次的用户体验。KeilUvision4C52软件提供了丰富的数据库功能和强大的集成软件开发和支持软件调试的工具,所有这些都实际上是基于windows的接口。另一个重要的一点好处就是,如果您需要查看已经进行编译的对象汇编代码,您的用户就可以清楚地看到那些使用KeilUvision4C52生成的对象汇编代码非常有效,除此之外多数指令代码较为紧凑且易于使用,在进行大型软件开发和设计时,可以充分反映高级汇编语言的特点和优势。

主程序流程图

图4.2主程序框图

先上电初始化,然后检测水位,如果水位过低则,由报警,声光报警电路发出声光提示主人。正常工作三种方式,第一种单独加热,第二种单独转动,第三种自动停启,通过按钮实现,分别对应p3.5,p3.6,p3.7口。若执行第一种方式,p3.0开启,开始加热,在加热时,实时监测水位是否干烧,若干烧则系统报警,需手动恢复水位重更新加热,加热5分钟后,加热结束。若执行第二种方式,启动电机,正反转动15s,大约正反个3圈,停止转动,在此过程中,实时监测水位是否干烧,若干烧则系统报警,需手动恢复水位重新打磨,知道打磨四次结束。若执行第三种方式,则开始对豆浆机的冷水进行加热,当加热到80℃以后,则停止加热,开始进行打浆程序,打15秒停15秒,按

这样的方式循环4次,检测水位,若干烧,则报警并停止程序可通过手动恢复水位重新开始,否则,继续程序,打浆程序结束后开始进行对面浆进行再加热,加热5分钟待溢出,溢出后自动进入防溢延煮程序,加热1分钟,停止1分钟,直到结束。豆浆加工完成后,单片机发出报警提醒主人豆浆煮好。

DS18B20温度流程图设计

程序中的最重要和最显著作用是温度读数实时,在读取和处理由DS18B20每秒执行测量的当前温度值。通过这种方式,可以在一秒内测量测量的温度,这保证了水温的实时监测。测量水的温度的实时显示,因为他能够读取和处理当前温度DS18B20的值是主程序的另一个主要功能,且相对于预先设定的温度范围内,而不停止。程序流程如图4.2所示。要调用子程序显示器上显示,就必须使用存储在内部存储的整数和小数部分保存的差异两个单位。

按键设置子程序设计

在本设计中,按键子程序的设计主要是对各个按键设置,包括自动控制,加热,打磨,停止,检测溢出和干烧。其按键设置的子程序流程图如下图4.4所示。

读温度子程序流程图

在温度暂存器里面把被转移过来的读温度子程序保存下来,在这之前把它从DS18B20中读出温度数据就是它比较主要的功能。其程序流程图如下:

显示系统程序设计

1602液晶显示模块作为慢显示部件,在指令履行前,首要的明确模块标志,在确定为低电平指令后,就可以正常操作,否则该指令就无法运行,要求先输入地址符号,才能进行字符显示,明确字符模块位置。

1602液晶显屏工作流程为:首先运行显示器的初始化操作,初始化之后执行延时程序,等待信号的采集,采集完成后先写入一些指令和显示字符的地址,再通过单片机系统向液晶显示器传输采集到的信息,信息传输结束后,液晶显示器读取写入的地址并显示出来,最后返回。

系统安装与调试

元器件的选择

此设计的元器件主要有:STC89C52单片机,液晶显示屏,电解电容,瓷片电容,

晶振,电阻,DS18B20温度计,发光二极管,蜂鸣器,继电器,独立按键,三极管等。这些元件大多数都是从网上购买的。学校有焊接的设备,焊接时熟悉单片机的个个引脚的功能,在焊接的时候,要一边检测一边焊接,检测是否短路,短路等,如果有错误及时改正,一定认真对待。

焊接与组装

通过原理图和电路图,我们进行简单的排版,然后进行安装与焊接,焊接过程一定要小心仔细,焊接过程中如果不小心将元器件损坏,作品将无法实现功能吗,甚至将单片机损毁,所以在焊接过程中要小心翼翼,不可急于求成。

硬件调试

硬件调试就是对焊接和安装的检查,检查是否焊接不良,电路是否短路,同时对整个实物进行检查,观察线路是否完整,线有没有没连上的情况对于硬件调试。再检查过程中出现了以下问题:

(1)显示屏没有反应

通电时,发现显示屏没有反应,经过万用表的检测,发现显示屏的焊接不牢固,通过再次焊接之后,显示屏正常显示,没有异常。

(2)二极管损坏

在通电时,电路没有反应,经过和电路图的对比发现二极管的正负极整反了,通过更换二极管后恢复正常。

软件调试

软件调试是整个系统的核心环节,如果软件程序中出错,那将会功亏一篑,只有准确无误,才能使整个系统更加的完善,使得所有功能得以实现。在本次设计中我总结了以下问题:

(1)正确使用编程软件

C语言由于其具有诸多优点儿被广泛用于软件开发领域,其属于计算机程序语言,集高级语言和汇编语言的优点于一身。自从C语言被推出之后,逐渐应用在多种类型的微型控制器中。随着性能的不断完善,其应用领域逐渐扩大,在数据处理方面体现出独特的优势,目前,其应用领域不再局限于软件开发,对于不同领域的科研人员而言,都能用到它,本设计用C语言进行编程。

(2)语法问题

在编写程序的过程中,有可能会因为马虎漏输或输错等情况,间接出现语法等错误,所以我们要认真仔细,及时纠正错误,来完成编写程序。

综合调试

在进行玩系统和软件调试后,我们要检查整个系统是否能够实现所有工能,是否能达到我们预期的效果。

通电后检查显示屏是否有读数,然后按下“AUTO”键,检测继电器是否工作,显示屏是否实时显示温度,指示灯是否亮起,AUTO模式下是否能够自主进行加热粉碎。

按下“HEAT”键系统处于手动模式,检查是否绿色LED指示灯亮,蓝色LED指示灯熄灭,液晶第一行是否显示“Manual Heat”模式,第二行是否显示加热时间及实时温度。

按下“CRUSH”键,此时处于手动粉碎模式,此时粉碎继电器工作,检查是否黄色LED指示灯亮,蓝色LED指示灯熄灭,液晶第一行是否显示“Manual CRUSH”模式,第二行是否显示粉碎时间及实时温度。

按下“CRY”键和“WATRT”键,这两个模式是检测系统干烧和溢出,依次按下按键检查报警灯是否亮起,蜂鸣器是否响起。显示屏是否显示“Dry Stop State”和“Overfall State”。

最后检查系统停机功能按下“STOP”键检查系统是否停止工作,显示屏是否显示“Emergency Stop”。

图5.5.6 STOP模式

在上述功能都实现后,再进行多次检查,以防出现问题,多次检查无误后,整个设计才算完整,达到预期目标。

结论

随着科技的不断进步,各个电器已经得到大力发展,豆浆机也具有越来越多的功能,豆浆的口感也随之提升,豆浆机越来越完美。在本次设计中,我希望能够将所学的知识最大化的应用到我们的生活中,所以我选择了“基于单片机的自动豆浆机控制器”这个题目。

这个题目是研究单片机对各个元器件的组合和控制,通过单片机的控制来实现豆浆机的主要功能通过查阅资料和参考各个大学的毕业设计,我发现有很多人做过这个题

目,通过参考和改进,让我的设计实现了以下功能:

(1)能够进行自动控制,再自动控制功能下,豆浆机能够进行自主加热和打磨,系统会实时显示出加热的温度。

(2)可以选择手动控制,这个功能需要自己按键选择是先加人还是先打磨,虽然是手动控制,但是只需要简单的两个按键就可以解决。

(3)设计为了安全考虑还设置了防干烧和防溢出模式,再这两个模式下,系统会在不安全的情况下进行报警,能够第一时间来保护我们的安全。

(4)为了智能考虑,我还添加了STOP键,防止我们在加热打磨中出现意外,可以用该功能第一时间停止工作。

这个设计实现了豆浆机的基础功能,安全也有所保障,也具有了现在人们需要的智能,该系统虽然完美的实现了这几个功能,但是该产品只能够进行简单的实验,并不能应用到我们的生活当中,因为他相比现在的豆浆机,没有完善的功能,对比现在的豆浆机如同班门弄斧。本系统不能保证豆浆的口感和营养,豆浆机最重要的就是他的口感和营养,这两点是他成为人们最喜爱的早餐特点,如果这个产品要进入我们的生活中,需要更加专业的技术来完善这个系统。这个系统离我们生活中的豆浆机还有很大的距离。如果以后有更充分的条件来完成这个设计,不仅要从单片机入手,还要考虑豆浆的特点,把豆浆需要的各个因素都考虑进去如:豆子的打磨时间、豆子打磨的大小、加热的时间等因素,使该系统更加的完善。除去口感问题还要再添加更多的工能,像现在的豆浆机不仅可以打磨豆浆还可以打磨咖啡和果汁,还有很多豆浆机具有自动清洗功能,能够为人们省去很多时间,还可以热烘除菌,让我们的生活更加优质。

相关主题
相关文档
最新文档