当前位置: 首页 > news >正文

基于单片机的饲料搅拌机控制系统设计

摘要 文章主要从软件和硬件两个部分对基于单片机的饲料搅拌机控制系统进行研究设计 硬件部分主要由传感器模块 信号采集模块、 键盘接入模块 LED 显示模块 继电器模块以及看门狗模块组成 软件部分在 KeilC51 软件基础上重点对控制系统主程序 中断程序以及程序编程扫描进行研究。 通过软硬件结合设计的饲料搅拌机控制系统能够实现对两条生产线的输送 排料 满料 空料等参数值的检测及显示,并实现自动加料搅拌的控制功能。
关键词 单片机;饲料搅拌机;控制系统

0 引言

饲料搅拌机是农业生产生活中应用十分广泛的设备,随着科技的不断发展,各类生产生活对信息的需求量也越来越大,对信息掌握的及时性以及精确性更成为衡量各生产厂家信息化水平的标准。 而在农业生产中效率以及精度都成为广大生产商所追求的目标。 高效率的饲料搅拌机在市场中所占的比例自然也是大得多,也更容易赢得人们的青睐。 饲料搅拌机的使用大大的提高了生产线的生产效
率,同时也大大的减轻了人力的使用,可以说从某种程度上进一步解放了人们的双手,是又一次科技的飞跃。

1 系统总体设计

饲料搅拌机控制系统的设计以单片机为核心,整个控制系统分为六大模块:拉压力传感器模块,信号采集模块,键盘接入模块,LED 显示模块,继电器模块,看门狗模块 。控制系统结构图如图 1 所示

2 系统硬件设计

2.1 单片机 AT89C51

单片机是一种集成电路芯片,本设计采用 AT89C51型单片机即可。 其内部自带 4K 字节的 FLASH 存储器,同时附带 2K 字节闪存可编程可擦除只读存储器,其擦除次数可达到 1000 余次 AT89C51 引脚图如图 2 所示

2.2 传感器

传感器是一种应用十分广泛的元器件,几乎所有的生产设备都会用到它,当然本设计也不例外。 本设计为饲料搅拌机控制系统设计,依照实际生产中出现的情况,需要对搅拌机的进料、 出料 何时满料以及何时空料进行及时检测,以免延误工期,出现意外,而传感器便可轻松的实现该功能。 在本次设计中我们会将实际搅拌过程中出现的各种问题进行模拟并解决,比如:在搅拌过程中,饲料和水的混合比例是否正常,如果加的水过量,那就会出现过搅的情况,即饲料的纯度不够,同理如果水量不足,则会出现搅拌困难,影响搅拌速率,也会浪费大量饲料等等。 这些情况,都需要通过传感器进行检测,并及时反馈信息,及时做出调整。 鉴于本设计的实际工作环境,我们采用应变式压力传感器来检测料位和界位等参数值。

2.3 LED 显示电路

饲料搅拌机在运行时需要显示满料 进料以及出料时间,采用 LED 显示器即可满足要求 其中驱动器选择74LS377 型号,译码器选择 MC14511B 型号 74LS377 是一种八 D 触发器,它的输出有两种状态即 0 1 ,其输入端受低电平有效以及 CP 上升沿控制,可以实现数据保持及寄存功能。 MC14511B 作为七段驱动译码器,在实际生产中经常会用到,比如仪器显示或者用它来驱动程序等等。 显示电路如图 3 所示

2.4 键盘接入电路

本控制系统通过按键来执行不同的功能操作,而键盘接入芯片采用性能优良且接口灵活的 8255A 型号,其接口的可编程性使其可以直接与单片机相连接,也因此而 广泛应用,深受电子设计行业的喜爱 。就本设计而言,需用到 8255A 3 I/O 端口,同时其内部的字寄存器也是本次设计离不开的,通过地址总线对 4 个端口进行寻址操作,并将 4 个端口组合便可实现相应的功能 此外单片机还需要另外一个外部扩展输入口,而 74LS373 锁存器便可实现该功能,具体过程如下:当电路搭建好之后,输出信号会首先及时的发送到锁存器一端,并通过锁存器对识别的内容进行保存,然后会将信号传送到单片机,这时单片机的中断请求端会接收到是否中断的请求,选择中断则单片机完成中断操作。 键盘接入电路如图 4 所示

2.5 继电器电路

本设计采用 12V 直流控制 24V 的交流继电器 其中,无源驱动器选择 MC1413 型号,继电器的续流二极管选择IN4007 型号,反相器选择 74LS04 型号 继电器工作电路如图 5 所示

2.6 看门狗电路

看门狗电路的设计采用 MAX813L 芯片,它可以实现以 下 功 能 : ① 上 电 掉电状态下的复位功能; ②WATCHDOG 输出功能; 掉电报警警门限检测器; 手动复位输入。 看门狗电路如图 6 所示

3 软件设计

软件设计是实现整个控制系统功能不可或缺的一部分,而根据软件所能实现的不同功能,又可以将其分为主程序以及子程序,其中,主程序是整个控制过程的核心,其 功能就像人类的大脑一样,属于高级控制区,通过主程序完成系统各模块间的关联通讯,起到整体控制的效果;而子程序则就就像人体器官一样,用来执行实际操作,完成任务要求。 本控制系统程序主要包括主程序 中断程序以及程序编程扫描。 主程序流程图如图 7 所示

本设计饲料搅拌机控制系统中需要两个定时器来执行中断操作,具体过程如下:程序开始运行之后,0号定时器会以 1.2s 的间隔时间控制 P1.7 端口输出脉冲信号,同时 1 号定时器开始定时,时间为 1s ,用来控制数码管显示。 中断程序流程图如图 8 所示

本设计的程序编程扫描部分主要完成以下工作:即当 程序开始运行并到达一定时间之后, PC 指针会进行跳转,返回初始起动位置,而 RAM 存储区数据初始化以及8255A 芯片的初始化是在主程序中同时完成的,此外还需要依照实际操作中的输入信号完成相应程序的跳转执行。程序编程扫描流程图如图 9 所示

4 结论

本设计是基于单片机的饲料搅拌机控制系统,整个控制系统以单片机 AT89C51 为核心,由软件和硬件两部分组成。 饲料搅拌机控制系统的设计实现了对两条生产线的输送、 排料 满料 空料等参数值的显示,并且随着程序不断推进,各参数值的实时显示也会发生变化,同时还可以实现自动加料搅拌控制功能。 此外,本设计操作界面简单,操作易学易用,具有良好的抗干扰性能,能够适应不同的生产环境从而完成相应的生产任务,整套控制系统性价比高,在市场推广中备受青睐。

相关文章:

基于单片机的饲料搅拌机控制系统设计

摘要 : 文章主要从软件和硬件两个部分对基于单片机的饲料搅拌机控制系统进行研究设计 。 硬件部分主要由传感器模块 、 信号采集模块、 键盘接入模块 、 LED 显示模块 、 继电器模块以及看门狗模块组成 。 软件部分在 KeilC51 软件基础上重点对控制系统主程序 、…...

Mysql笔记-v2

零、 help、\h、? 调出帮助 mysql> \hFor information about MySQL products and services, visit:http://www.mysql.com/ For developer information, including the MySQL Reference Manual, visit:http://dev.mysql.com/ To buy MySQL Enterprise support, training, …...

Java SpringBoot MongoPlus 使用MyBatisPlus的方式,优雅的操作MongoDB

Java SpringBoot MongoPlus 使用MyBatisPlus的方式,优雅的操作MongoDB 介绍特性安装新建SpringBoot工程引入依赖配置文件 使用新建实体类创建Service测试类进行测试新增方法查询方法 官方网站获取本项目案例代码 介绍 Mongo-Plus(简称 MP)是一…...

【易捷海购-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...

antd+vue——实现table组件跨页多选,已选择数据禁止第二次重复选择

需求场景:点击【新增】按钮可以在分页弹窗中跨页多选选择数据后添加到页面中,再次点击【新增】,已经选择过的数据则置灰不让重复选择。 选择后,置灰 点击【确定】数据添加到页面中,可再次点击【新增】进行添加数据 …...

Python采集京东标题,店铺,销量,价格,SKU,评论,图片

京东的许多数据是通过 JavaScript 动态加载的,包括销量、价格、评论和评论时间等信息。我们无法仅通过传统的静态网页爬取方法获取到这些数据。需要使用到如 Selenium 或 Pyppeteer 等能够模拟浏览器行为的工具。 另外,京东的评论系统是独立的一个系统&a…...

数据中台指标管理系统

您所描述的是一个数据中台指标管理系统,它基于Spring Cloud技术栈构建。数据中台是企业数据管理和应用的中心平台,它整合了企业内外部的数据资源,提供数据服务和数据管理能力。以下是您提到的各个模块的简要概述: 1. **首页**&am…...

什么是ThreadLocal以及内存泄漏问题、hash冲突问题

ThreadLocal是什么 ThreadLocal类用来提供线程内部的局部变量 它主要有三大特性: 线程安全: 在多线程并发的场景下保证线程安全传递数据:通过ThreadLocal在同一线程传递公共变量线程隔离:每个线程的变量都是独立的,不会互相影响…...

从零开始做题:My_lllp

题目 给出一张png图片 解题 ┌──(holyeyes㉿kali2023)-[~/Misc/题目/zulu/My_lllp] └─$ python2 lsb.py extract my_lllp.png out.txt my_lllp [] Image size: 1080x1079 pixels. [] Written extracted data to out.txt. ┌──(holyeyes㉿kali2023)-[~/Misc/题目/zul…...

如何编译ffmpeg支持h265(hevc)?

推荐使用这里的文件:https://github.com/runner365/ffmpeg_rtmp_h265 根据你ffmpeg的源码 版本,切换到不同分支即可。 国内cdn方式: 新增codecid hevc/vp8/vp9/opus在rtmp中的codecid没有官方协议定义,由国内众多知名cdn共同制定。 FLV_COD…...

UNIAPP_顶部导航栏右侧添加uni-icons图标,并绑定点击事件,自定义导航栏右侧图标

效果 1、导入插件 uni-icons插件:https://ext.dcloud.net.cn/plugin?nameuni-icons 复制 uniicons.ttf 文件到 static/fonts/ 下 仅需要那个uniicons.ttf文件,不引入插件、单独把那个文件下载到本地也是可以的 2、配置页面 "app-plus":…...

Redis原理-数据结构

Redis原理篇 1、原理篇-Redis数据结构 1.1 Redis数据结构-动态字符串 我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。 不过Redis没有直接使用C语言中的字符串,因为C语言字符串存…...

计算机网络 - 万字长文

计算机网络 二、计算机网络2.1 七层模型表格2.2 通俗讲解七层模型2.3 TCP与UDP对比2.4 TCP 三次握手过程==为什么握手是三次,而不是两次或者四次?====三次握手可以携带数据吗?====TCP三次握手失败,服务端会如何处理?====什么是半连接队列?全连接====ISN(Initial Sequence…...

基于java+springboot+vue实现的仓库管理系统(文末源码+lw+ppt)23-499

第1章 绪论 伴随着信息社会的飞速发展,仓库管理所面临的问题也一个接一个的出现,所以现在最该解决的问题就是信息的实时查询和访问需求的问题,以及如何利用快捷便利的方式让访问者在广大信息系统中进行查询、分享、储存和管理。这对我们的现…...

网络安全概述

这里写目录标题 信息安全现状及挑战概念常见的网络安全术语恶意程序的特点 信息安全的脆弱性网络环境的开放性协议栈道的脆弱性(缺乏认证和加密 完整性) 常见安全攻击传输层 ---TCP SYN Flood攻击分布式拒绝服务攻击(DDOS)社会工程学攻击钓鱼攻击水坑攻击…...

Java传引用问题

本文将介绍 Java 中的引用传递,包括其定义、实现方式、通过引用修改原来指向的内容和通过引用修改当前引用的指向的区别 目录 1、引用传递的概念 2、引用传递的实现方式 3、传引用会发生的两种情况: 通过引用修改当前引用的指向 通过引用修改原来指…...

P8086 『JROI-5』Music

题目背景 请注意到并不正常的时间限制。 本题读入量较大,建议使用较快的读入方式。 小 C 每年都要给丁总氪钱。 题目描述 小 C 喜欢在网易云听歌,她希望你能帮助她计算一下她的网易云的听歌时间。 小 C 有 n 条听歌记录,每条形如 x t&a…...

【Java]认识泛型

包装类 在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。 除了 Integer 和 Character, 其余基本类型的包装类都是首字母大写。 泛型 泛型是在JDK1.5引入的…...

git要忽略对文件的本地修改

要忽略对文件的本地修改(即,使Git忽略对该文件的任何未提交更改),可以使用以下命令将该文件标记为假设未更改(assume-unchanged): sh git update-index --assume-unchanged runtime/x64/skin/s…...

Linux学习笔记(三)文件权限

一、权限的分类 Linux权限分为r(读取)、w(写入)、x(执行)。我们在终端执行ls -l命令查看文件详细信息显示如下: [root@srv sun]# ls -l 总用量 0 drwxr-xr-x. 2 sun root 6 7月 5 14:05 公共 drwxr-xr-x. 2 sun root 6 7月 5 14:05 模板 drwxr-xr-x. 2 sun root…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

🔥 推荐一个高质量的Java LSM Tree开源项目! https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree,专为高并发写入场景设计。 核心亮点: ⚡ 极致性能:写入速度超…...

生信服务器 | 做生信为什么推荐使用Linux服务器?

原文链接&#xff1a;生信服务器 | 做生信为什么推荐使用Linux服务器&#xff1f; 一、 做生信为什么推荐使用服务器&#xff1f; 大家好&#xff0c;我是小杜。在做生信分析的同学&#xff0c;或是将接触学习生信分析的同学&#xff0c;<font style"color:rgb(53, 1…...

MeanFlow:何凯明新作,单步去噪图像生成新SOTA

1.简介 这篇文章介绍了一种名为MeanFlow的新型生成模型框架&#xff0c;旨在通过单步生成过程高效地将先验分布转换为数据分布。文章的核心创新在于引入了平均速度的概念&#xff0c;这一概念的引入使得模型能够通过单次函数评估完成从先验分布到数据分布的转换&#xff0c;显…...