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

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

Map相关知识

数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...