基于单片机自动饮料混合机控制系统设计

**单片机设计介绍,基于单片机自动饮料混合机控制系统设计

文章目录

  • 一 概要
  • 二、功能设计
    • 设计思路
  • 三、 软件设计
    • 原理图
  • 五、 程序
  • 六、 文章目录

一 概要

  基于单片机自动饮料混合机控制系统设计是一个涉及多个领域的复杂项目,包括单片机技术、传感器技术、控制理论、人机交互等。以下是对该系统的介绍:

  1. 系统概述:
    基于单片机自动饮料混合机控制系统是一种基于单片机的自动化设备,用于控制饮料混合机的运行,实现自动混合饮料的功能。该系统可以自动检测饮料的种类和数量,并根据预设的混合比例和控制算法,自动完成饮料的混合和输出。

  2. 系统组成:
    该系统主要包括单片机、传感器、执行器和控制算法等部分。单片机是系统的核心,负责接收传感器信号、控制执行器,并实现控制算法。传感器用于检测饮料的种类和数量,并将信号传送给单片机。执行器用于执行单片机的控制指令,实现饮料的混合和输出。控制算法用于根据预设的混合比例和控制要求,对传感器信号进行处理,并控制执行器的动作。

  3. 硬件设计:
    硬件部分包括单片机、传感器、执行器和电源等部分。单片机可以选择常用的51系列单片机,如AT89C51、PIC16F87A等。传感器可以选择液¥¥传感器、液位计等,用于检测饮料的种类和数量。执行器可以选择电磁阀、电机等,用于实现饮料的混合和输出。电源需要提供足够的电压和电流,以保证整个系统的正常运行。

  4. 软件设计:
    软件部分包括主程序、传感器处理程序、控制算法程序和人机交互程序等。主程序负责整个系统的运行和管理,包括传感器信号的采集和处理、控制算法的实现、执行器的控制等。传感器处理程序负责接收传感器信号,并进行数据处理和判断。控制算法程序根据预设的混合比例和控制要求,对传感器信号进行处理,并输出控制指令。人机交互程序用于实现用户与系统的交互,包括饮料种类的选择、混合比例的设定、系统状态的显示等。

  5. 优点和缺点:
    基于单片机自动饮料混合机控制系统的优点包括自动化程度高、操作简单、效率高、可靠性好等。它可以实现自动混合饮料的功能,节省人力物力,提高生产效率。然而,该系统的缺点是成本较高,对于小型或个人使用可能不适用。

  6. 应用场景:
    该系统可以应用于各种饮料生产场合,如饮料厂、酒吧、咖啡厅等。它可以实现自动混合各种饮料的功能,满足不同客户的需求。

总之,基于单片机自动饮料混合机控制系统是一个复杂的自动化系统,需要综合考虑硬件和软件的设计和实现。它具有自动化程度高、操作简单、效率高、可靠性好等优点,可以广泛应用于各种饮料生产场合。

二、功能设计

系统工作描述:
1.整个系统由一个12V的电源供电(无需设计电源,只是提醒您Vcc是12V),(因为蠕动泵-直流电机的额定电压是12V),需要一个“调压模块”将12V转换成5V为额定电压是5V的电子元件供电。 2.需要有一个“开机按键”,可以是2脚/4脚的轻触按键,或者摆臂开关等。
3.按下“开机按键”后,液晶显示屏(LCD)显示语句“Good day, please press any key to start”。

4.按下薄膜键盘上的任意一个按键后,液晶显示屏(LCD)显示语句“A. Menu B.DIY”。以下是可能发生的2种情况:

若此时按下薄膜键盘上的“A”按键,液晶显示屏(LCD)显示语句“A.Apple Soda B.Lemon Soda”。

若此时按下薄膜键盘上的“B”按键,液晶显示屏(LCD)显示语句“Please type the ratio (in order of apple juice: lemon juice: soda)”。

5.(接事件4.中“按下薄膜键盘的A按键”)以下是可能发生的2种情况:

若此时按下薄膜键盘上的“A”按键,液晶显示屏(LCD)显示语句“Your apple soda is coming soon…”; 1号泵以额定电压12V工作13秒,3号泵以额定电压12V工作13秒。(两个泵最好能同时开始工作)

若此时按下薄膜键盘上的“B”按键,液晶显示屏(LCD)显示语句“Your lemon soda is coming soon…”; 2号泵以额定电压12V工作6.5秒,3号泵以额定电压12V工作19.5秒。(两个泵最好能同时开始工作)

6.(接事件4.中“按下薄膜键盘的B按键”)

此时若按下薄膜键盘上“0”-“9”中任意一个数字,液晶显示屏(LCD)显示语句“X:”,其中X是刚才按下的数字。

(接事件6.中按过一次键盘)此时若按下薄膜键盘上“0”-“9”中任意一个数字,液晶显示屏(LCD)显示语句“X:Y:”,其中X是第一次按下的数字,Y是刚才按下的数字。若刚刚按下的数字使得X+Y>10,则液晶显示屏(LCD)仍然显示语句“X:”。

(接事件6.中按过两次键盘)此时若按下薄膜键盘上“0”-“9”中任意一个数字,液晶显示屏(LCD)显示语句“X:Y:Z”,其中X是第一次按下的数字,Y是第二次按下的数字,Z是第三次按下的数字。若刚刚按下的数字使得X+Y+Z>10,则液晶显示屏(LCD)仍然显示语句“X:Y:”。

(接事件6.中按过三次键盘)此时若按下薄膜键盘上的“*“按键,做以下两件事情:第一,1号泵以额定电压12V工作秒,2号泵以额定电压12V工作秒,3号泵以额定电压12V工作秒(三个泵最好能同时开始工作)其中X是第一次按下的数字,Y是第二次按下的数字,Z是第三次按下的数字。第二,液晶显示屏(LCD)显示语句“Your drink is coming soon…”。

7.(接事件6中泵开始工作后)当三个泵都停止工作后,液晶显示屏(LCD)显示语句“Awesome! Your drink is ready!” ,该语句持续5秒后,液晶显示屏(LCD)显示语句“Thank you!”,该语句持续5秒后,该系统“重置”(回到刚开机的样子),即液晶显示屏(LCD)显示语句“Good day, please press any key to start.”,然后系统依照步骤4-7工作。

8.在开机状态下,若再次按下“开机按键”,该系统关闭/关机。

设计思路

设计思路
文献研究法:搜集整理相关单片机系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机系统的现状、存在问题和解决办法;

比较分析法:比较不同系统的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

三、 软件设计

本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。

————————————————

仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————

原理图

请添加图片描述
请添加图片描述

请添加图片描述

五、 程序

本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
在这里插入图片描述

————————————————

在这里插入图片描述

六、 文章目录

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/223534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言--每日练习题--Day38

第一题 1. 下列代码的运行结果() short i 65537; int j i 1; printf("i%d,j%d\n", i, j); A:i 65537,j 65538 B:i 1,j 2 C:i -1,j 0 D:i 1&#xff…

免费好用的5个AI写作工具,如何更好的使用AI写作工具

人工智能(AI)作为当今科技领域的热门话题,正在以惊人的速度改变我们生活的方方面面。从智能助手到自动驾驶汽车,AI的应用已经渗透到我们日常的方方面面。 1. 什么是AI人工智能? 什么是AI人工智能?简而言之…

【源码解析】聊聊阻塞队列之BlockingArrayQueue

阻塞队列 阻塞队列:顾名思义 首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下入所示。 当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。当阻塞队列时满的时,往队列里添加元素的操作将会被阻塞。 试图从空的…

湖南麒麟下默认使用串口输出系统日志

有时候为了调试方便,需要将系统日志通过CPU的串口进行输出,以下是针对至强E5V4处理器上安装湖南麒麟操作系统后将日志通过串口输出的配置。 首先在bios中打开串口重定向功能,这里的BIOS是AMI的BIOS 内部配置如下,波特率115200配置…

Python实现FA萤火虫优化算法优化XGBoost分类模型(XGBClassifier算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法(Fire-fly algorithm,FA)由剑桥大学Yang于2009年提出 , …

校园教务管理系统

学年论文(课程设计) 题目: 信息管理系统 校园教务管理系统 摘要:数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心,随着计算机技术的发展,数据库技…

Android的前台服务

概述 前台服务是用户主动意识到的一种服务,因此在内存不足时,系统也不会考虑将其终止。前台服务必须为状态栏提供通知,将其放在运行中的标题下方。这意味着除非将服务停止或从前台移除,否则不能清除该通知。 在 Android 8.0&…

【使用高德开放平台API和js的Ajax代码实现定位并获得城市的天气情况】

使用高德开放平台API和js的Ajax代码实现定位并获得城市的天气情况 1、注册高德开放平台账号,免费获得Web服务API应用key 高德开放平台Web服务API 按照API点击申请KEY 登录后进入应用管理 新建应用(随意起名) 然后添加key提交即可 然后就可…

MySQL生僻字修改编码utf8mb4

1、查看你编码 SHOW VARIABLES WHERE Variable_name LIKE character_set_% OR Variable_name LIKE collation%;(如果不是下图则继续) 2、修改默认参数 /etc/my.cnf [mysqld] datadir/usr/local/mysql/data basedir/usr/local/mysql socket/usr/local/my…

zookeeper集群 +kafka集群

1.zookeeper kafka3.0之前依赖于zookeeper zookeeper是一个开源,分布式的架构,提供协调服务(Apache项目) 基于观察者模式涉及的分布式服务管理架构 存储和管理数据,分布式节点上的服务接受观察者的注册&#xff0c…

【Linux】冯诺依曼体系结构(硬件)、操作系统(软件)、系统调用和库函数 --- 概念篇

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和Linux还有算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 …

Vcenter 6.7 VCSA证书过期问题处理

1. 故障现象 2022年10月25日,登陆VC报错。 按照报错信息,结合官方文档,判断为STS证书过期导致。 vCenter Server Appliance (VCSA) 6.5.x, 6.7.x or vCenter Server 7.0.x 在/var/log/vmware/vpxd-svcs/vpxd-svcs.log看到类似报错: ERRO…

深度探索 Python Pyramid 框架

更多资料获取 📚 个人网站:ipengtao.com Pyramid是一个灵活且强大的Python web框架,广泛用于构建各种规模的Web应用程序。本文将深度探索Pyramid框架,介绍其核心概念、应用场景以及一些高级特性。 安装与基础用法 首先&#xf…

Python if else条件语句详解

if 分支使用布尔表达式或布尔值作为分支条件来进行分支控制。Python 的 if 分支既可作为语句使用,也可作为表达式使用。下面先介绍 if 分支作为语句使用的情形。 if 语句可使用任意表达式作为分支条件来进行分支控制。Python 的 if 语句有如下三种形式:…

通过仿真理解信道化接收机分析过程

概要 信道化从子信道带宽划分上可分为临界抽取和非临界抽取两种,从各子信道中心频率布局上可分为偶型排列和奇型排列,从处理流程上可分为信道化分析与信道化综合过程。本文主要通过仿真来理解偶型排列/临界抽取/信道化分析过程。 基本原理 常规的数字…

maven生命周期回顾

目录 文章目录 **目录**两种最常用打包方法:生命周期: 两种最常用打包方法: 1.先 clean,然后 package2.先 clean,然后install 生命周期: 根据maven生命周期,当你执行mvn install时&#xff0c…

Python中字符串拼接及其应用场景

更多资料获取 📚 个人网站:ipengtao.com 字符串拼接是Python中常见而重要的操作,它涉及到将多个字符串连接成一个字符串。本文将深入探讨Python中字符串拼接的不同方式、性能比较、以及在实际应用中的场景和最佳实践。 常见的字符串拼接方法…

【Pytorch使用自制数据集,Dataloader】

数据集结构 话不多说,直接上核心代码 myDataset.py from collections import Counter from torch.utils.data import Dataset import os from PIL import Imageclass MyDataset(Dataset):"""读取自制的数据集args:- image_dir: 图片的地址- labe…

腾讯云轻量应用服务器怎么安装BT宝塔面板?

腾讯云轻量应用服务器宝塔面板怎么用?轻量应用服务器如何安装宝塔面板?在镜像中选择宝塔Linux面板腾讯云专享版,在轻量服务器防火墙中开启8888端口号,然后远程连接到轻量服务器执行宝塔面板账号密码查询命令,最后登录和…

数据结构 | 查漏补缺之哈希表、最短路径、二叉树与森林的转换

哈希表是什么? 或者说 设图采用邻接表的存储结构,写对图的删除顶点和删除边的算法步骤 删除边 删除点 最短路径问题 判断一个有向图是否有环(回路)可以用下列哪些办法() 存在拓扑序列,就有回路…