protues仿真商用胶囊咖啡机控制系统的设计及实现(仿真电路图+源程序+演示视频+任务书+论文)
1.商用胶囊咖啡机控制系统主要具备的功能
(1)设计的商用胶囊咖啡机拥有两个相互独立的咖啡酿造系统,一个热水系统和一个旋转式蒸汽阀,顶板的后侧还有一个较大的温杯盘,能满足酿造咖啡的各种操作。
(2)该机器进入等待酿造咖啡状态后,只需一键操作就能酿造出咖啡,操作方便简洁,故适合于各种公共场所的使用。
(3)液晶显示屏可以获知机器的当前工作状态。如:等待酿造咖啡,打热水以及故障提示等。
(4)通过按键面板配合液晶显示屏输入密码进入不同等级限制的菜单中,可以对机器中的相关数据进行查询以及修改一些常规参数。如:酿造咖啡数、压力值设置、流量设置等。
(5)可通过远程GSM网络进行监控管理,了解机器的运行状态以及做咖啡数,也能及时的为客户提供咖啡胶囊。
(6)当锅炉温度过高,电机电流过载时,通过检测器件反馈的数据,系统会自动切断电路并显示故障类型,不仅保证了机器的使用安全,同时也方便了维修。
(7)可通过查看用户使用的咖啡胶囊数目,来决定机器在用户手上的使用时限。最高菜单可对机器进行清零操作,即系统清零回收。
完整版 电路图和程序代码 下载地址
https://pan.baidu.com/s/1y31pjJ7Dx38UpJLLedxcag?pwd=8888
部分代码展示
#include "lcd1602.h"
#include "DS18B20.h"
#include "timer.h"
#include "ADC0832.h"
#define Setting_of_Coffee 0
#define Setting_of_stress 1
#define Setting_of_Flow 2
sbit Coffee = P1^0;
sbit stress = P1^1;
sbit Flow = P1^2;
sbit add = P1^3;
sbit minus = P1^4;
sbit relay = P2^4;
u8 option=Setting_of_Coffee;
u8 Number_of_Coffee=1,Number_of_stress=1,Number_of_Flow=1;
u8 water,bag,voltage;
int temperature;
void main()
{
LCD1602_Init();
LCD1602_ShowString(0,0,"waiting...");
Delay2000ms();
relay = 0;
LCD1602_ShowString(0,0," ");
LCD1602_ShowString(0,0,"coffee:");LCD1602_ShowIntNum(7,0,Number_of_Coffee);
while(1)
{
if(Coffee == 0)
{
option=Setting_of_Coffee;
LCD1602_ShowString(0,0," ");
LCD1602_ShowString(0,0,"coffee:");
LCD1602_ShowIntNum(7,0,Number_of_Coffee);
while(Coffee == 0);
}
if(stress == 0)
{
option=Setting_of_stress;
LCD1602_ShowString(0,0," ");
LCD1602_ShowString(0,0,"stress:");
LCD1602_ShowIntNum(7,0,Number_of_stress);
while(stress == 0);
}
if(Flow == 0)
{
option=Setting_of_Flow;
LCD1602_ShowString(0,0," ");
LCD1602_ShowString(0,0,"flow:");
LCD1602_ShowIntNum(5,0,Number_of_Flow);
while(Flow == 0);
}
if(add == 0)
{
if(option == Setting_of_Coffee)
{
if(Number_of_Coffee < 5)
Number_of_Coffee++;
LCD1602_ShowIntNum(7,0,Number_of_Coffee);
}
if(option == Setting_of_stress)
{
if(Number_of_stress < 5)
Number_of_stress++;
LCD1602_ShowIntNum(7,0,Number_of_stress);
}
if(option == Setting_of_Flow)
{
if(Number_of_Flow < 5)
Number_of_Flow++;
LCD1602_ShowIntNum(5,0,Number_of_Flow);
}
while(add == 0);
}
if(minus == 0)
{
if(option == Setting_of_Coffee)
{
if(Number_of_Coffee > 1)
Number_of_Coffee--;
LCD1602_ShowIntNum(7,0,Number_of_Coffee);
}
if(option == Setting_of_stress)
{
if(Number_of_stress > 1)
Number_of_stress--;
LCD1602_ShowIntNum(7,0,Number_of_stress);
}
if(option == Setting_of_Flow)
{
if(Number_of_Flow > 1)
Number_of_Flow--;
LCD1602_ShowIntNum(5,0,Number_of_Flow);
}
while(minus == 0);
}
water=ADC0832_1(0);
if(water>128)
{
relay = 1;
LCD1602_ShowString(0,0," ");
LCD1602_ShowString(0,0,"water-carrying");
LCD1602_ShowString(0,1,"error");
while(1);
}
bag=ADC0832_1(1);
if(bag>128)