基于单片机自动饮料混合机控制系统设计
**单片机设计介绍,基于单片机自动饮料混合机控制系统设计
文章目录
- 一 概要
- 二、功能设计
- 设计思路
- 三、 软件设计
- 原理图
- 五、 程序
- 六、 文章目录
一 概要
基于单片机自动饮料混合机控制系统设计是一个涉及多个领域的复杂项目,包括单片机技术、传感器技术、控制理论、人机交互等。以下是对该系统的介绍:
-
系统概述:
基于单片机自动饮料混合机控制系统是一种基于单片机的自动化设备,用于控制饮料混合机的运行,实现自动混合饮料的功能。该系统可以自动检测饮料的种类和数量,并根据预设的混合比例和控制算法,自动完成饮料的混合和输出。 -
系统组成:
该系统主要包括单片机、传感器、执行器和控制算法等部分。单片机是系统的核心,负责接收传感器信号、控制执行器,并实现控制算法。传感器用于检测饮料的种类和数量,并将信号传送给单片机。执行器用于执行单片机的控制指令,实现饮料的混合和输出。控制算法用于根据预设的混合比例和控制要求,对传感器信号进行处理,并控制执行器的动作。 -
硬件设计:
硬件部分包括单片机、传感器、执行器和电源等部分。单片机可以选择常用的51系列单片机,如AT89C51、PIC16F87A等。传感器可以选择液¥¥传感器、液位计等,用于检测饮料的种类和数量。执行器可以选择电磁阀、电机等,用于实现饮料的混合和输出。电源需要提供足够的电压和电流,以保证整个系统的正常运行。 -
软件设计:
软件部分包括主程序、传感器处理程序、控制算法程序和人机交互程序等。主程序负责整个系统的运行和管理,包括传感器信号的采集和处理、控制算法的实现、执行器的控制等。传感器处理程序负责接收传感器信号,并进行数据处理和判断。控制算法程序根据预设的混合比例和控制要求,对传感器信号进行处理,并输出控制指令。人机交互程序用于实现用户与系统的交互,包括饮料种类的选择、混合比例的设定、系统状态的显示等。 -
优点和缺点:
基于单片机自动饮料混合机控制系统的优点包括自动化程度高、操作简单、效率高、可靠性好等。它可以实现自动混合饮料的功能,节省人力物力,提高生产效率。然而,该系统的缺点是成本较高,对于小型或个人使用可能不适用。 -
应用场景:
该系统可以应用于各种饮料生产场合,如饮料厂、酒吧、咖啡厅等。它可以实现自动混合各种饮料的功能,满足不同客户的需求。
总之,基于单片机自动饮料混合机控制系统是一个复杂的自动化系统,需要综合考虑硬件和软件的设计和实现。它具有自动化程度高、操作简单、效率高、可靠性好等优点,可以广泛应用于各种饮料生产场合。
二、功能设计
系统工作描述:
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
相关文章:

基于单片机自动饮料混合机控制系统设计
**单片机设计介绍,基于单片机自动饮料混合机控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机自动饮料混合机控制系统设计是一个涉及多个领域的复杂项目,包括单片机技术、传感器技术…...

react-route-dom 实现简单的嵌套路由
最终效果 点击 to test1 点击to test2 > to test21 点击to test2 > to test22 代码如下 path: "page",element: <父组件 />,children: [{ path: "test1", element: <Test1 /> },{path: "test2",element: <Test2 />…...

万界星空科技灯具行业MES介绍
中国是LED照明产品最大的生产制造国,如今,我国初步形成了包括LED外延片的生产、LED芯片的制备、LED芯片的封装以及LED产品应用在内的较为完超为产业链,随着LED照明市场渗诱率的快速警升,LED下游应用市场将会越来越广阔。这也将推动…...
16进制字符串转字符串
一、浏览器上 function hexToUtf8(hexString) {const hexArray hexString.match(/.{1,2}/g) || [];const uint8Array new Uint8Array(hexArray.map(hex > parseInt(hex, 16)));const textDecoder new TextDecoder(GB2312); //可以切换字符编码return textDecoder.decode…...
pymysql.err.InternalError: (1054, “Unknown column ‘nan‘ in ‘field list‘“
记录在本地环境通过,然后在云环境,解决问题的过程; 最近两天遇到一个bug,具体就是在本地Pyhon环境运行成功,但是当放在云服务跑的时候,去屡屡报错,具体报错信息如下: pymysql.err.I…...
SQL 错误 [1476] [22012]: ORA-01476: 除数为 0
Oracle sql 语句 添加判断,如果分母为0,则查询结果为0,如果分母不为0,则返回查询结果 你可以使用条件表达式来实现这个要求。以下是一个示例的Oracle SQL查询语句,其中添加了判断条件来处理分母为0的情况:…...
go语言项目的目录结构
Golang 的项目目录结构并没有一个强制的标准,但社区中形成了一些共识和最佳实践,以便更好地组织和管理代码。以下是一个典型的 Golang 项目目录结构示例: /myproject ├── /cmd | ├── /app | | └── main.go | …...
Android : DataBinding 简化开发 简单应用
1.导包 ViewModel 用于观察数据 // 使用androidx版本库 ViewModelProviders implementation androidx.lifecycle:lifecycle-extensions:2.1.0-alpha032.在build.gradle 添加 在android 代码块中添加 复制后点更新(Sync Now) android{...// 步骤1.开启…...

计算机网络:应用层(下篇)
文章目录 前言一 、电子邮件(Email)1.邮件服务器2.SMTP[RFC 2821]3.邮件报文格式4.邮件访问协议 二、DNS(域名系统)1.DNS的历史2.DNS总体思路和目标(1)问题1:DNS名字空间(2ÿ…...

干货分享 | TSMaster小程序启动和停止的自动化控制流程
在实际应用场景中,用户常常需要按一定逻辑和时序来控制TSMaster内置功能模块的启动和停止,TSMaster软件内置有C/Python小程序和图形程序,开发者可以通过编程对这些模块的运行进行精确控制。本文将重点和大家分享一下如何通过C代码来控制TSMas…...

AI视频智能分析识别技术的发展与EasyCVR智慧安防视频监控方案
随着科技的不断进步,基于AI神经网络的视频智能分析技术已经成为了当今社会的一个重要组成部分。这项技术通过利用计算机视觉和深度学习等技术,实现对视频数据的智能分析和处理,从而为各个领域提供了广泛的应用。今天我们就来介绍下视频智能分…...

外包干了2个月,技术倒退2年。。。
先说一下自己的情况,本科生,20年通过校招进入深圳某软件公司,干了接近4年的功能测试,今年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...

书-用数组存储高于60低于70的人单独存起来
#include<stdio.h> # define N 10 //书-用数组存储高于60低于70的人单独存起来 int main(){float s[N]{68.2,62.3,63.4,34.5,45.6,56.7,67.8,78.9,89.0,100};int i;float diyu[100];int j0;for(i0;i<N;i){if(s[i]>60 && s[i]<70)diyu[j]s[i];//这里的范…...

三、DVP摄像头调试笔记(图片成像质量微调整,非ISP)
说明:当前调试仅仅用来测试和熟悉部分摄像头寄存器模式 一、图片成像方向控制,基本每个摄像头都会有上下左右翻转寄存器 正向图片 反向图片 二、设置成像数据成各种颜色,(黑白/原彩/黄色等等) 在寄存器书册描述中…...

Linux--程序地址空间
📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 [TOC](文章目录) 一、程序地址空间回顾 我们在讲C语言的时候,老师给大家画过这样的空间布局…...

【超全】React学习笔记 下:路由与Redux状态管理
React学习笔记 React系列笔记学习 上篇笔记地址:【超全】React学习笔记 上:基础使用与脚手架 中篇笔记地址:【超全】React学习笔记 中:进阶语法与原理机制 React路由概念与理解使用 1. 引入 React路由是构建单页面应用(SPA, Sin…...

matplotlib学习
显示两个figure 坐标上刻度修改 plt.xlim() 下标范围 plt.xticks() 替换新的下标 图例显示 散点图 subplot多合一显示...

【网络安全】-安全常见术语介绍
文章目录 介绍1. 防火墙(Firewall)定义通俗解释 2. 恶意软件(Malware)定义通俗解释 3. 加密(Encryption)定义通俗解释 4. 多因素认证(Multi-Factor Authentication,MFA)定…...

C语言给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)
这个题目要求的输出是一串数字!!! 不是下面:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非…...

vue+elementUI的tabs与table表格联动固定与滚动位置
有个变态的需求,要求tabs左侧固定,右侧是表格,点击左侧tab,右侧表格滚动到指定位置,同时,右侧滚动的时候,左侧tab高亮相应的item 上图 右侧的高度非常高,内容非常多 常规的瞄点不适…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...