当前位置: 首页 > 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…...

自定义类TMyLabel继承自QLabel ,实现mouseDoubleClickEvent

自定义类TMyLabel ,继承自QLabel TMyLabel 中重新实现了 event 方法,重写了mouseDoubleClickEvent 发射信号 在主窗体中放入TMyLabel组件,将TMyLabel mouseDoubleClickEvent 信号, 绑定到实现方法do_doubleClick()槽函数 TMy…...

逻辑回归模型(非回归问题,而是分类问题)

目录: 一、Sigmoid函数:二、逻辑回归介绍:三、决策边界四、逻辑回归模型训练过程:1.训练目标:2.梯度下降调整参数: 一、Sigmoid函数: Sigmoid函数是构建逻辑回归模型的重要函数,如下…...

qt hasPendingDatagrams() 函数

hasPendingDatagrams 是 Qt 框架中 QUdpSocket 类的一个方法,用于检查是否有待处理的数据报到达。在 UDP 通信中,数据以数据报的形式发送,而 QUdpSocket 类提供了用于接收和处理这些数据报的功能。 功能描述 hasPendingDatagrams() 方法用于…...

数据结构第08小节:双端队列

双端队列(deque,double-ended queue)是一种具有队列和栈特性的数据结构,允许在其两端进行插入和删除操作。在Java中,java.util.Deque接口就是双端队列的实现,而ArrayDeque和LinkedList是其中的具体实现类。…...

Python骨架肌体运动学数学模型

🎯要点 🎯运动学矢量计算 | 🎯跳远的运动学计算 | 🎯关节肢体运动最小加加速度模型 | 🎯膝关节和踝关节角度二维运动学计算 | 🎯上下肢体关节连接运动链数学模型 | 🎯刚体连接点速度加速度计算…...

二叉树的序列化和反序列化(Java)

概述 关于面试中常见的其他二叉树算法题,参考面试算法之二叉树(Java)。二叉树的定义(注意到有使用lombok提供的两个注解): lombok.Data lombok.AllArgsConstructor private static class TreeNode {private TreeNode left;priva…...

Java中的泛型类

Java中的泛类 Java 的泛型(Generics)是一种语言特性,允许你定义类、接口和方法时使用类型参数。这使得代码更具可读性和安全性,因为编译器能够在编译时检查类型,而不是在运行时。 泛型类 定义泛型类时,可…...

57、Flink 的项目配置概述

1)概览 1.开始 要开始使用 Flink 应用程序,请使用以下命令、脚本和模板来创建 Flink 项目。 可以使用如下的 Maven 命令或快速启动脚本,基于原型创建一个项目。 a)Maven 命令 mvn archetype:generate \-Darch…...

零基础自学爬虫技术该从哪里入手?

零基础学习Python并不一定是困难的,这主要取决于个人的学习方法、投入的时间以及学习目标的设定。Python是一门相对容易入门的编程语言,它有着简洁的语法、丰富的库和广泛的应用领域(如数据分析、Web开发、人工智能等)&#xff0c…...

Vue.js 基础入门指南

前言 在前端开发的广阔领域中,Vue.js 无疑是一颗璀璨的明星,以其渐进式框架的特性吸引了无数开发者的目光。Vue.js 旨在通过简洁的 API 实现响应式的数据绑定和组合的视图组件,使得构建用户界面变得既快速又简单。本文将带你走进 Vue.js 的世…...