单片机功能豆浆机设计.docx
- 文档编号:29846470
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:50
- 大小:469.90KB
单片机功能豆浆机设计.docx
《单片机功能豆浆机设计.docx》由会员分享,可在线阅读,更多相关《单片机功能豆浆机设计.docx(50页珍藏版)》请在冰豆网上搜索。
单片机功能豆浆机设计
摘要
本设计从现代化计算机控制技术入手,利用单片机的强大智能功能,通过完整的软件与硬件的结合,模拟了一种先进的豆浆制作的自动控制系统。
根据豆浆机的工作要求与单片机功能的特点,本设计提出出一套适合实验室条件下的豆浆机控制模拟设备,主要通过单片机、温度传感器,驱动与检测电路组成。
本次设计选择的电器设备有AT89S51单片机、DS18B20温度传感器,ULN2003驱动器,继电器等。
设计硬件控制流程图、控制电路图,软件中的主程序流程图及完整的控制程序。
工作过程:
硬件电路主要以单片机为核心,根据检测电路(温度传感器及其他检查电路)送来的不同信号做出处理后,通过改变单片机输出端口的状态,控制驱动电路做出与之对应的工作;整个工作过程的控制思想有软件编程来实现,控制程序的编写是根据豆浆机在工作过程中可能遇到的情况,及对其处理的判断直到工作结束,程序执行完毕,从而完成对整个工作过程的控制。
通过系统模拟实验与下载调试表明:
该系统设计合理,自动化程度高,实验过程时间短,工作稳定可靠,基本满足了设计的相关要求。
关键词:
单片机;温度传感器;驱动芯片;按键控制;
Abstract
Thedesignofmoderncomputercontroltechnologyfromthestart,usingthepowerofintelligentfeaturesmicrocontroller,throughthecompletecombinationofsoftwareandhardwaretosimulateanadvancedautomaticcontrolsystemofmilkproduction.
Soymilk'sworkaccordingtorequirementsandfunctionalcharacteristicsofMCU,thedesignofasetofsuitablelaboratoryconditionsforSoymilkcontrolanalogdevices,primarilythroughthemicrocontroller,temperaturesensor,driveanddetectioncircuit.ThedesignchoicesofelectricalequipmentAT89S51microcontroller,DS18B20thetemperaturesensor,ULN2003drivers,relaysandsoon.Designhardwarecontrolflow,controlcircuit,thesoftwareinthemainprogramflowchartandcompletecontrolprocedures.Theworkprocess:
hardwarecircuitsmainlymicrocontrollerasthecore,Accordingtodetectioncircuit(temperaturesensorsandotherexaminationscircuit)sentadifferentsignaltomaketreatment,bychangingthestateofmicrocontrolleroutputportstocontrolthedrivecircuittomakecorrespondingefforts;theentireworkprocesscontrolideologysoftwareprogrammingtoimplementation,preparationofcontrolprogramisbasedonsoya-beanmilklikelytobeencounteredinthecourseoftheirworksituation,andforitshandlingofthejudgeuntiltheconclusionofthework,theprogramisfinished,thuscompletingtheentireworkprocesscontrol.Throughthesystemanddownloadthedebuggingsimulationexperimentsshowthat:
thesystemdesignisreasonable,highdegreeofautomation,theexperimenttimeisshort,workstableandreliableandcanbasicallymeettherelevantrequirementsofdesign.
Keywords:
microcontroller;temperaturesensor;driverchip;keystocontrol
1系统总体设计
1.1引言
随着人类的进步与社会的发展,电子产品也在飞速的发展。
在人类科学不断的进步中,我们的生活随之发生改变,全自动豆浆机也逐渐变为热销家用电器。
豆浆机之所以成为家喻户晓的家用电器,其中有很多原因推动着豆浆机的发展,人们生活节奏的加快,对时间观念的重视及奶粉、饮料事件的不断出现等,使的人们对豆浆机更加偏爱。
单片机作为整个控制系统的核心,其性能好坏对整个系统起着至关重要的作用。
早期的单片机8031,89c51等,大多采用紫外线擦除或需要专用的烧录器,在实验调试仿真时比较麻烦,且存储容量低,做大型的控制程序时,需要外接扩展存储器,造价和电路设计上都不划算,因此不宜使用。
当前比较先进的ARM嵌入式芯片,存储容量大,运算速度快,智能度强大,外围引脚丰富,稳定性高,是比较合适的选择[1]。
但由于其价格昂贵,使豆浆机的成本大大增加,不适合大众消费。
而当前应用比较广泛的AT89s51单片机及其同类单片机,有智能度高,外围电路成熟,成本低且存储容量可以满足要求,使用比较方便。
所以无论从价格,还是功能上考虑,都是比较合适的选择。
1.2豆浆机控制系统的总体介绍
本设计控制电路要求:
首先,具有检测豆浆机缸体内是否有水,水量是否过少,以防加热器干烧,遭到损坏,造成不必要的损失。
其次,根据人们的放料及主观意识选择打浆方式。
本系统共设置了三种工作方式:
五谷浆,全豆豆浆及果蔬浆。
在打浆工作中能根据温度传感器输出信号,能分别控制高温煮豆,启动打浆,文火熬浆,防溢出和工作完毕自动报警等功能。
最后是电路板的设计,选用双层布线方式,既节省材料,又提高了集成度。
设计产品制作过程:
根据前期设想对部分电路进行模拟调试通过后,画出原理图,制作印制电路板文件,印制电路板,焊接元器件,调试电路板排查故障,通过后根据豆浆机功能要求编写程序并调试及在电路板上模拟仿真。
1.3豆浆机功能的设计
一般豆浆机可分为:
纯豆豆浆机,五谷豆浆机,多功能豆浆机和冷热多功能豆浆机。
本设计为多功能豆浆机,其他豆浆机只是在此基础上加减部分元件及改变部分模块程序,这里就不再叙述。
多功能豆浆机可以制作纯豆豆浆,五谷浆和果蔬浆。
它们的制作是有人们根据原料的不同,选择对应的功能键,然后调用相应的其工作程序。
纯豆豆浆的制作,根据大豆的成分,经过8小时左右的清水浸泡,使其变得疏松,既有营养价值,又方便研磨。
在加热器加热到一定温度时,有温度传感器发出信号,启动打浆,此时分别做打浆煮沸工作。
经过三遍后,开始文火熬浆及研磨搅拌工作(两遍),直到熬浆结束,报警提示,本次打浆即为五遍打浆法。
五谷浆的制作,由于五谷原料杂乱,浸泡不方便,一般就直接打浆,考虑到原料的硬度不同,并使五谷充分混合,本次打浆采用六遍打浆法,其具体做法与上同。
果蔬浆的制作,一般果树比较软,并要考虑其新鲜口感,所以无须多遍研磨及搅拌,本次打浆采用四遍打浆法。
1.4豆浆机控制电路的硬件选择
在硬件选择上为了有利于购买和实验方便,根据当前市场上各种处理器的性价比,本设计选择AT89C51单片机,温度检测采用DS18B20温度传感器,对交流电机的控制采用5V5脚继电器,对加热器的控制采用两个5V8脚继电器,因为豆浆机的功能要求,加热器具有“高温煮沸,文火熬浆”,所以对其控制采用两路电源。
报警装置采用普通蜂鸣器。
对继电器,蜂鸣器的驱动采用ULN2003,它即可满足由单片机输出端口直接控制驱动,同时可兼做无水防干烧与防溢出用。
只是2003是高电平有效,这与单片机个管脚上电就输出高电平有点冲突,但考虑到其价格低廉,控制简单,在这里仍然用它,只需在其前段加一电平转换即可。
各器件的具体用法将在下文一一说明。
1.5豆浆机工作算法的构思
根据家用电器的特点:
控制电路简单,使用方便易学、易懂等。
编程思路如下图1—1。
图1-1豆浆机工作的算法
本设计从无水防干烧开始,缸体内水量达到,检测电路送出一个高电平,无水则报警。
编程容易实现,只是检测信号电路不好设计。
整个烧水煮豆过程是不确定的,当温度达到以后定时器开始计时,以后的工作有时间的限制。
对温度传感器的启用与控制需要严格的时间限制,这部分程序的编写是复杂而繁琐的。
在进行煮豆与打浆的切换,高温与文火的切换都有时间的控制,需要用到定时器中断中断;在煮豆防益,熬浆防益上不仅要用到外部中断,还要用到记时延时。
这些部分是一个连贯的过程,又有着不确定时间。
因此,实现起来不太容易,这正是整个程序核心。
整个程序调试过程中,这部分出现的问题最多。
对问题的排除是,整体改过后,在逐步调试,一点一点添加功能模块,最终得到实现。
软件编程语言采用C语言。
2硬件电路设计
2.1控制电路硬件简述
一个完整的控制系统,单纯依靠一块单片机是远远不够的。
它必须与外围电路元件相互搭配,共同完成任务[2]。
本设计用到的外围电路有:
温度检测电路,驱动电路,LED显示电路,按键接口电路等。
要是个部分电路能在一起稳定的工作,就要让他们衔接的很匹配,如各部分电路对电压、电流的要求等都要合理的设计。
下面是对各部分硬件电路的介绍。
如图2-1所示。
图2-1硬件流程图
2.2硬件电路设计
以下是对本设计中的电路设计部分、硬件选取及元器件的用法等的介绍。
2.2.1单片机的简介
单片微型计算机(SingleChipMicrocomputer)简称单片机,是指集成在一块芯片上的计算机,它具有结构简单、控制功能强、可靠性高、体积小、价格低、等优点。
单片机技术作为计算机技术的一个重要分支,广泛地应用于工业控制、智能化仪器仪表、家用电器、电子玩具等各领域。
尽管单片机种类很多,但无论是从世界范围还是从全国范围来看,使用最为广泛的应属MCS-51系列单片机。
其生产厂家有:
Intel公司、Atmel公司、Philips公司等。
本设计采用Atmel公司的AT89S51,其它厂家单片机这里不再多说,以下是对AT89S51的介绍。
2.2.2AT89S51单片机
Atmel公司生产的AT89S51单片机是一种低功耗/低电压、高性能的8位单片机,内部除CPU外,还包括128B的内部用户数据存储器RAM,4KB的内部用户程序存储器,4个8位并行可编程I/0口,2个16位计数/定时器,5个中断源,2个优先级别,1个可编程的串行通信口。
以下是对各部分的具体介绍:
内部介绍:
(1)中央处理器又称CPU,是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
(2)数据存储器又称RAM,S51(AT89S51)内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型数据。
并具有64KB外部数据存储器寻址空间。
(3)程序存储器又称ROM,S51共有4KB的掩膜ROM,用于存放用户程序,原始数据或表格。
并具有64KB外部程序存储器寻址空间。
(4)定时/计数器,S51有两个16位的可编程定时/计数器,称为定时器0(T0)和定时器1(T1)。
T0有专用寄存器TH0和TL0组成,T10有专用寄存器TH1和TL1组成。
并且可编程定时/计数器的工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定。
(5)中断系统,S51的中断功能较强,可满足控制应用的需要。
共有5个中断源,即两个外中断、两个定时/计数器中断和一个串行中断,并具有两个优先级别的选择。
(6)时钟电路,S51内部有时钟电路,但石英晶体和微调电容需外接。
用于产生整个单片机运行的脉冲时序,系统允许的晶振频率一般位6MHz和12MHz,在应用精度要求较高的场合一般选用11.0592MHz,可以使定时器/计数器更精确。
以上是从S51单片机的内部介绍,下面再从外部看其结构。
如图2-2所示。
图2-2S51的外部结构
外部介绍:
有外部结构图我们可以看到,S51单片机有40个管脚。
正电源和地线两根,外置石英振荡器的时钟线两根,一个复位端RESET,/EA,ALE,/PSEN三根线,P0-P3共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
(1)主电源引脚Vcc和Vss
Vcc(40脚):
主电源接+5V
Vss(20脚):
接地
(2)时钟电路引脚XTAL1和XTAL2:
接外部晶体振荡器的引线端。
当使用芯片内部时钟时,两引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
这两个引脚连接的电路成为时钟电路,用来产生单片机正常工作时所需要的时钟脉冲信号。
(3)控制信号RST/Vpd、ALE/(/PROG)、/PSEN和(/EA)/Vpp
RST/Vpd(9脚):
复位端。
高电平有效,保持在2个机器周期宽度以上,使单片机复位,用于完成单片机的复位初始化操作。
在进行单片机应用系统设计时,这个引脚一定要连接相应的电路,即复位电路。
该引脚有复用功能,Vpd为备用电源输入端,防止主电源掉电。
ALE/(/PROG)(30脚):
地址锁存信号端。
访问片外存贮器时,ALE作低八位地址的锁存控制信号。
平时不访问片外存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。
ALE端负载驱动能力为8个LSTTL门。
该引脚有复用功能,为片内程序存贮器编程(固化)的编程脉冲输入。
/PSEN(29脚):
片外程序存贮器读选通信号端。
负载能力为8LSTTL门。
(/EA)/Vpp(31脚):
/EA端接高电平时,CPU取指令从片内程序存贮器自动顺延至片外程序存贮器。
/EA端接低电平时,CPU仅从片外程序存贮器取指令。
该引脚有复用功能,Vpp为片内程序存贮器编程时的编程电压。
(4)输入/输出引脚P0、P1、P2和P3口
P0.0~P0.7(39~32脚):
访问片外存贮器时作为低八位地址线和八位数据线(复用)。
负载能力为8个LSTTL门。
P1.0~P1.7(1~8脚):
8位准双向I/O口。
负载能力为3个LSTTL门。
P2.0~P2.7(21~28脚):
访问片外存贮器时作为高八位地址线。
P3.0~P3.7(10~17脚):
8位准双向I/O口。
负载能力为3个LSTTL门。
另外还有专门的第二功能。
P3口的第二功能是
P3.0(10脚):
RXD(串行口输入端)
P3.1(11脚):
TXD(串行口输出端)
P3.2(12脚):
/INT0(外部中断0输入端)
P3.3(13脚):
/INT1(外部中断1输入端)
P3.4(14脚):
T0(定时器/计数器0外部输入端)
P3.5(15脚):
T1(定时器/计数器1外部输入端)
P3.6(16脚):
/WR(片外数据存贮器写选通信号输出端)
P3.7(17脚):
/RD(片外数据存贮器读选通信号输出端)[3]
下图是单片机工作的最小模块,如图2-3所示。
图2-3单片机最小工作模块
2.2.3驱动及检测电路
本设计选用的驱动芯片是ULN2003,它具有价格便宜、原理简单易使用、工作稳定性高,并且可兼做豆浆机的无水防干烧和防溢出检测器用。
以下将对其进行详细介绍。
ULN2003的外部结构如图2-4所示。
图2-4ULN2003的外部结构
从ULN2003外部结构图上,可以很轻松的看出各管脚的功能,这足以说明它的使用相当简单。
它有一个接电源引脚,一个接地引脚,六路输入对应着六路输出。
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
其特点是:
①ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
②ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。
③ULN2003采用DIP—16或SOP—16塑料封装。
由于其接口可以与多种元件直接连用,且封装常规已购买、驱动电流大使用方便等特点。
因此常被用在数字电路及大电流高电压的灯、继电器、打印机锤和其它类似负载电路的接口处。
也是本设计比较理想的驱动芯片。
图2-5内部构造图
图2-6工作原理图
由其内部构造图和原理图可知,该芯片是高电平有效、集电极输出的开关元件。
这里画出原理图供大家参考一下,其原理不再多说,只要懂得它的用法即可。
下图是ULN2003在电路中的用法,如图2-7所示。
图2-7驱动电路
电路图中的PA是豆浆机的两路检测电路:
无水防干烧与防溢出。
实现方法是:
利用水的导电特性,将5V电压放入缸体中及PA的1端放入缸体,再将PA的2端放入缸体,如果有水的话它们即通过水连接在一起,因为水的电阻在15K欧姆左右,不会引起电流过大,烧坏元器件。
因而可以利用检测ULN2003的2脚是否有高电平来判断缸体内是否有水。
其具体方法是:
将PA的2脚接在ULN2003的2脚,由于ULN2003的输入端是高电平有效,当某一输入端有效时,对应输出端变为接地,这样再将ULN2003输出端的2脚接在单片机的P27脚上,通过单片机检测其指定端口电平的高低,即可作出有水无水的判断。
同理,将PA的3脚放在接近缸口的地方,利用水的导电性与ULN2003的输出端,单片机即可检测有无溢出。
值得注意的是,豆浆机什么时候溢出,是一个不确定的因素。
根据单片机针对突发事件处理的功能,这里要接指定端口,即外部中断端口P32或P33。
因为单片机不能直接对交流电进行控制,但可以控制继电器的断开与闭合,从而实现对交流电的控制。
ULN2003的12脚、13脚,即输出端的4脚、5脚为加热器继电器,即8脚继电器的驱动控制端,因为豆浆机在工作的时候分为:
高温煮豆与文火熬浆,所以这里选用两个继电器来控制。
在高温煮豆时有继电器K2工作,为加热器接通220V电源。
在文火熬浆时让继电器K3工作,为加热器接通110V电源。
为了安全期间,以防驱动芯片损坏,造成220V与110V同时导通。
这里采用具有互锁功能的继电器,确保它们不会同时得电而损坏元器件的器件[4]。
接着是研磨、搅拌电机的继电器驱动控制端ULN2003的11脚,即输出端的6脚。
这里没有必要为豆浆机的电机采用调速控制,因为采用调速控制与不用调速控制,对豆浆的味道几乎都没有区别。
但采用调速控制虽然可以减少电能损耗,却要使豆浆机的成本增加。
以企业对现在市场上豆浆机的定位及大众对豆浆机的消费情况来看,不易采用调速控制。
在所有继电器下面都并联了一个续流二极管,用来对继电器断电后产生的电流进行处理。
最下面ULN2003的第10脚,即输出端的7脚,接的是蜂鸣器的驱动控制端,用于报警作用。
ULN2003的所有驱动控制端,全部接在单片机上,由单片机根据情况来做出具体控制。
对于ULN2003的部分输入端口,驱动电流要求交大一点,可以在其对应段加一上拉电阻皆即可。
由于单片机上电时瞬间各I/O管脚默认为高电平,而ULN2003的输入端是高电平有效,这样在上电的一瞬间将会造成加热器继电器、电机继电器误动作。
而加热器继电器电路才拥有互锁功能,上电瞬间系统不会有什么表现。
只需要在ULN2003驱动电机的控制端加一电平转换即可,电路原理如图2-8所示。
图2-8电平转换电路
电路原理是:
在ULN2003的电机控制端加一PNP三极管,使其工作在饱和与截止状态,因三极管是PNP型,在其控制端基极为低电平有效,这样就可以完成电平转换了。
2.2.4温度传感器的控制电路
温度传感器的选择
温度传感器有很多种,如热电偶温度传感器、铂电阻温度传感器、红外温度传感器、数字温度传感器等。
为了便于实验,并且自己有实物,本设计采用数字温度传感器DS18B20。
DS18B20的简介
DS18B20是美国DALLAS半导体器件公司推出的单总线数字化智能集成温度传感器。
单总线(1-Wire)是DALLAS公司的一项专有技术,它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。
[5]
DS18B20的特点及内部构造
特点如下:
①采用独特的单总线接口方式,即只有一根信号线与控制器相连,实现数据的双向通信,不需要外部元件;
②测量结果直接输出数字温度信号,以单总线串行传送给控制器,同时可传送CRC校验码,具有极强的抗干扰纠错能力;
③支持多点组网功能,多个DS18B20可以并联在唯一的三根线上,实现组网多点测量;
④适应电压范围宽3.0-5.5V,不需要备份电源、可用数据线供电,温度测量范围为-55℃~125℃,-10℃~85℃时测量精度为±0.5℃;
⑤通过编程可实现9~12位的数字值读数方式,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃,0.0625℃,实现高精度测温;
⑥负压特性。
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
封装图及内部构造,如下图所示。
图2-10DS18B20的封装
引脚功能如下:
NC:
空引脚,悬空不使用;
VDD:
可选电源脚,电源电压范围3~5.5V。
工作于寄生电源时,此引脚应接地;
I/O:
数据输入/输出脚,漏极开路,常态下高电平。
DS18B20采用3脚TO-92封装或8脚SOIC及CSP封装方式。
图2-8所示为DS18B20的内部结构框图,它主要包括寄生电源、温度传感器、64位光刻ROM及单总线接口、存放中间数据的高速暂存器(内含便笺式RAM)、存储与控制逻辑、用于存储用户设定的温度上下限值的TH和TL触发器、结构寄存器、8位循环冗余校验码(CRC)发生器等八部分。
64位ROM的结构如图2-11所示,开始8位是产品类型的编号;接着是每个器件唯一的序号,共48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可采用单线进行通信的原因。
非易失性温度报警触发器TH、TL,可以通过编程写入用户报警上下线数据。
图2-1164位ROM示意图
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM。
高速暂存RAM的结构位9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 功能 豆浆机 设计