基于PLC的全自动洗衣机控制系统课设

news2024/11/14 16:58:09

在这里插入图片描述


一、设计题目

1.1课题内容
根据设计参数和控制要求,设计一全自动洗衣机,画出其运行框图及梯形图控制程序的编制,并画出硬件接线图。

1.2设计参数
在这里插入图片描述

1.3控制要求
(1)按下启动按扭及水位选择开关,开始进水直到高(中、 低)水位,关水;
(2)2秒后开始洗涤;
(3)洗涤时,正转29秒,停2秒,然后反转29秒,停2秒;
(4)如此循环5次,总共250秒后开始排水,排空后脱水30秒;
(5)开始清洗,重复(1)~(4),清洗两遍;
(6)清洗完成,报警3秒并自动停机;
(7)若按下停车按扭,可手动排水(不脱水)和手动脱水(不计数);
(8)若重量超重,报警;循环时间超过,报警。

二、设计分析

2.1全自动洗衣机控制系统的控制要求

2.1.1 全自动洗衣机的工作原理

普通洗衣机的工作流程示意图如图2.1所示。洗衣机的工作流程由进水、洗衣、排水、脱水4个过程组成。在半自动洗衣机中,这4个过程分别用相应的按钮开关来控制。全自动洗衣机中,这4个过程可做到全自动依次运行,直至洗衣结束。

全自洗衣机的洗衣桶(外桶)和脱水桶(内桶)是以同一心安放的,内桶可以旋转,作为脱水用。内桶的周围有许多小孔,使内桶和外桶的水流相通,洗衣机的进水和排水分别由进水电磁阀和排水电磁阀来执行。进水时通过控制系统将进水电磁阀打开,经进水管将水注入到外桶。排水时,通过控制系统将排水电磁阀打开,将水由外桶排到机外。洗涤正转、反转由洗涤电动机驱动波盘的正、反转来实现,此时脱水桶并不旋转。脱水时,控制系统将离合器合上,由洗涤电动机带动内桶正转进行甩干。高、中、低水位控制开关分别用来检测高、中、低水位。启动按钮用来启动洗衣机工作,停止按钮用来实现手动停止进水、排水、脱水及报警。排水按钮用来实现手动排水。

在这里插入图片描述
2.1.2控制设备要求

全自动洗衣机控制系统的要求是能实现“正常运行”和“强制运行”两种控制方式。

1.正常运行
“正常运行”方式具体控制要求如下:
(1)将水位通过水位选择开关设在合适的位置(高、中、低),按下“启动”按钮,开始进水,达到设定的水位(高、中、低)后,停止进水。
(2)进水停止2s后开始洗衣。
(3)洗衣时,正转29s,停2s,然后反转29s,停2s。
(4)如此循环共5次,总共250s后开始排水,排空后脱水30s。
(5)然后再进水,重复(1)(4)步,如此循环共2次。
(6)洗衣过程完成,报警3s并自动停机。

2.强制停止
“强制停止”方式具体控制要求如下:
(1)若按下“停止”按钮,洗衣过程停止,即洗涤电机和脱水桶停止转动、进水电磁阀和排水电磁阀全部闭合。
(2)可用手动排水开关和手动脱水开关进行手动排水和脱水。
【注】“正常运行”和“强制停止”两种模式的运行是一样的。

2.2全自动洗衣机控制系统的PLC选型和资源配置

2.2.1控制系统构成图

1.控制系统图
控制系统图如图2.2所示

在这里插入图片描述
2.PLC的选型
全自动洗衣机控制采用三菱公司的FX2N系列整体式PLC。根据设计要求,全自动洗衣机共有12个输入点,6个输出点,故选择PLC的型号为FX2N-32MR001,如下图2.3所示。

在这里插入图片描述
3.I/O模块的选择和I/O地址分配
开关量输入模块是用来接收现场输入设备的开关信号,将信号转换为PLC内部接受的低电压信号,并实现PLC内、外信号的电气隔离。选择时主要应考虑以下几个方面:
1)输入信号的类型及电压等级
2)输入接线方式
3)注意同时接通的输入点数量
4)输入门槛电平

开关量输出模块是将PLC内部低电压信号转换成驱动外部输出设备的开关信号,并实现PLC内外信号的电气隔离。选择时主要应考虑以下几个方面:
1)输出方式
2)输出接线方式
3)驱动能力
4)注意同时接通的输出点数量
5)输出的最大电流与负载类型、环境温度等因素有关

由于CPU模块有16点数字量输入,有16点数字量的输出,所以不再需要输入、输出模块。采用I/O分配采用自动分配方式,模块上的输入端子对应的输入地址是X000X017,输出端子对应的输出地址是Y000Y017。

2.2.2模块功能概述
FX2N系列PLC硬件组成与其他类型PLC基本相同,主体由三部分组成,主要包括中央处理器CPU、存储系统和输入、输出接口。PLC的基本结构如图1-1所示。系统电源有些在CPU模块内,也有单独作为一个单元的,编程器一般看作PLC的外设。PLC内部采用总线结构,进行数据和指令的传输。
外部的开关信号、模拟信号以及各种传感器检测信号作为PLC的输入变量,它们经PLC的输入端子进入PLC的输入存储器,收集和暂存被控对象实际运行的状态信息和数据;经PLC内部运算与处理后,按被控对象实际动作要求产生输出结果;输出结果送到输出端子作为输出变量,驱动执行机构。PLC的各部分协调一致地实现对现场设备的控制。

(1)中央处理器CPU
CPU的主要作用是解释并执行用户及系统程序,通过运行用户及系统程序完成所有控制、处理、通信以及所赋予的其它功能,控制整个系统协调一致地工作。常用的CPU主要有通用微处理器、单片机和双极型位片机。

(2)存储器模块
随机存取存储器RAM用于存储PLC内部的输入、输出信息,并存储内部继电器(软继电器)、移位寄存器、数据寄存器、定时器/计数器以及累加器等的工作状态,还可存储用户正在调试和修改的程序以及各种暂存的数据、中间变量等。
只读存储器ROM用于存储系统程序。可擦除可编程序的只读存储器EPROM主要用来存放PLC的操作系统和监控程序,如果用户程序已完全调试好,也可将程序固化在EPROM中。

(3)输入输出模块
可编程序控制器是一种工业控制计算机系统,它的控制对象是工业生产过程,与DCS相似,它与工业生产过程的联系也是通过输入输出接口模块(I/O)实现的。I/O模块是可编程序控制器与生产过程相联系的桥梁。
PLC连接的过程变量按信号类型划分可分为开关量(即数字量)、模拟量和脉冲量等,相应输入输出模块可分为开关量输入模块、开关量输出模块、模拟量输入模块、模拟量输出模块和脉冲量输入模块等。

(4)编程器
编程器是PLC必不可少的重要外部设备。编程器将用户所希望的功能通过编程语言送到PLC的用户程序存储器中。编程器不仅能对程序进行写入、读出、修改,还能对PLC的工作状态进行监控,同时也是用户与PLC之间进行人机对话的界面。随着PLC的功能不断增强,编程语言多样化,编程已经可以在计算机上完成。
CPU模块采用三菱的FX2N32MR001(AC/DC/继电器)模块,它控制着整个系统按照控制要求有条不紊地进行。同时由于该模块采用交流220V供电,并且自带16个数字量输入点和16个数字量输出点,完全能满足全自动洗衣机控制系统的要求,所以不再需要另外的电源模块、数字量输入和输出模块。

2.3全自动洗衣机控制系统的电气控制
全自动洗衣机在工作过程中,需要靠电动机完成洗衣、清洗、脱水,在此过程中,还需要实现正反转,电气部分要在PLC程序控制下自动完成。电气控制部分主要由电动机驱动波盘来实现正反转,电动机在快速转换过程中,电势能能够快速转换,但是电机内部磁场和电势不是同步转换的,因此再设计过程中需要考虑电机有一个暂停的过程,以便电机可靠地转换电势方向下,否则直接影响洗衣机的洗涤和脱水程序。电机在正反转自动切换时要能保证高效、安全。

全自动洗衣机通过排空检测开关(SQ1)、高水位检测开关(SQ2)、中水位检测开关(SQ3)、低水位检测开关(SQ4)来检测水位高度的位置(检测开关遇水就通:ON,离水就断:OFF)。水位选择有一个选择按钮来完成,水位浮球开关用来采样水位信息,由于水位浮球开关是机械式的,通过通断信号输入PLC,由PLC 来控制进水阀和排水阀动作。

三、电气设计

如下图3.1为全自动洗衣机的PLC控制系统电路图。通过PLC来实现电动机的正反转,并且实现洗衣机按预先设置的程序自动执行,完成洗衣。当需要手动排水与脱水时,可强制止自动程序的运行,跳出自动切换到手动操作。

为防止全自动洗衣机在工作过程中,电路发生短路,损坏电动机和电路中的各种电气设备,因此在主电路中安装了熔断器,当电路出现短路故障时,能迅速、可靠的断开电源。全自动洗衣的电机容量较小,主电路中的熔断器可同时作为控制电路的短路保护,所以在主电路中使用熔断器就足够了。PLC部分和开关电源那的熔断器也是为了防止电路过电流,保护电路和电路中的电器元件。

全自动洗衣机在无人问津的情况下可能长时间运行,为防止电机绕组的温升超过额定值而损坏,采用热继电器作为保护元件,与熔断器搭配使用,可靠地保护电动机。

人机接口部分的按钮等都选择低压电器元件,保护操作者的安全。

在这里插入图片描述
3.1电器元件的选择(详见完整)

四、全自动洗衣机控制系统PLC程序设计

4.1 全自动洗衣机控制系统程序设计调试

4.1.1编程软件
编程软件采用三菱公司为其生产的PLC而设计的编程软件GX Developer。

4.1.2程序的流程图、构成和相关设置
1.流程图
(1)正常运行流程图
正常运行流程图如图4.1所示。

在这里插入图片描述
(2)强制运行流程图
强制运行流程图如图4.2所示。

在这里插入图片描述
2.程序的构成
这个程序有自动方式和手动方式两种。在自动方式下,PLC将运行已经设置好的程序和参数(适用于机械一切都正常工作的情况下)。在手动方式下是在紧急停止情况下,可以手动排水和脱水。

3.程序的下载、安装和调试
将各个输入输出端子和实际控制系统中的按钮。所需控制设备正确连接,完成硬件的安装。全自动洗衣机程序是由GX Developer软件的指令完成,正常工作是程序存放在存储卡中,若要修改程序,先将PLC设定在STOP状态下,运行GX Developer编程软件,打开全自动洗衣机程序,即可在线调试,也可用编程器进行调试。

4.2全自动洗衣机控制系统PLC程序(详见完整)

4.3源程序
1.辅助继电器
在本程序中,M0是按下启动按钮的辅助继电器;M1是判断洗衣机水位是否和设定水位不一致的辅助继电器;M2是判断洗衣机是否和设定水位一致的辅助继电器;M3是停止自动洗衣机的辅助继电器,它的助记符如下。

//
//按下启动按钮,开始洗衣
//
LD     X001
OR     M0
ANI    X002
OUT    M0
//
//洗衣机水位与设定水位不一致辅助继电器
//
LD     X003
ANI    X007
LD     X004
ANI    X010
ORB
LD     X005
ANI    X011
ORB
OUT    M1
//
//洗衣机水位与设定水位相一致辅助继电器
//
LD     X003
AND    X007
LD     X004
AND    X010
ORB
LD     X005
AND    X011
ORB
OUT    M2
//
//停止自动洗衣辅助继电器
//

LD     X002
OR     M3
ANI    X001
OUT    M3

对应的梯形图如图4.4所示。

在这里插入图片描述
2.进水
在正常情况下,按下启动按钮或者脱水完毕,而且洗衣大循环未到三次时,开始进水,当水位达到设定水位后停止进水,等待2s后进入洗衣程序。在强制停止情况下,当停止按钮按下时立即停止进水。它的助记符程序为:

//
//进水到设定的水位,超重后报警,进水阀关闭,自动洗衣终止
//
LD     M0
LD     T5
ANI    C1
ORB
OR     Y002
AND    M1
ANI    X002
ANI    X014
OUT    Y002
LD     X014
OUT    Y006
LD     Y006
RST    M0
//
//进水到设定的水位后等待2s
//
LD     M2
ANI    Y005
ANI    Y001
ANI    Y004
OUT    T0      K20

所对应的梯形图如图4.5所示

在这里插入图片描述

3.洗衣
进水到设定水位2s后,开始洗衣,先正转29s,停止2s然后再反转29s,停止2s这样循环5次后进入排水过程。

//
//洗涤电动机正转29s
//
LD     T0
LDI    C0
AND    T4
ORB
OR     Y001
ANI    T1
OUT    Y001
OUT    T1     K290
//
//洗涤电动机停2s
//
LD     T1
OUT    T2     K20
//
//洗涤电动机反转29s
//
LD     T2
OR     Y004
ANI    T2
OUT    Y004
OUT    T3     K290
//
//洗涤电动机停2s
//
LD     T3
OUT    T4     K20

所对应的梯形图如图4.6所示

在这里插入图片描述

其余详见完整

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PHP转Go系列 | 变量常量的使用姿势

大家好&#xff0c;我是码农先森。 变量 在 PHP 语言中&#xff0c;初始化变量虽然只有一行&#xff0c;其实包含了两步&#xff0c;一是声明变量&#xff0c;二是赋值给变量&#xff0c;同一个变量可以任意再赋值任何类型的数据。 <?php// 初始化变量 $name "man…

[linux] 系统的基本使用

用户系统&#xff1a; 之前提到&#xff0c;linux是个多用户系统&#xff0c;所以要使用linux&#xff0c;首先你得是个用户 用户&#xff1a;普通用户管理员 每一个用户有自己的用户名密码&#xff0c; 会话(session):一个终端使用服务器的全过程 从你用户登录&#xff0c;到你…

Java 读取Excel导入数据库,形成树状结构

最近开发过程中遇到一个Excel的导入的功能,因为导入的数据结构具有层次结构,经过一番研究,最终得以实现,所有写下该文章,记录过程,供以后参考。 下图是导入Excel的数据结构: 使用POI解析Excel,数据封装然后进行入库。下面是核心代码。 @Overridepublic KnowledgeBase…

Linux内核开发-编译内核源码

前言 大部分公司的所谓的Linux内核工程师主要工作是基于社区开源内核进行定制化修改&#xff0c;基本不会有机会向上游提供patch&#xff0c;仅限于公司内部业务的修修补补。 作为内核开发工程师两年多&#xff0c;精力一直被公司业务消耗&#xff0c;所有的内核知识都来自于…

微信小程序-上拉加载和下拉刷新

一.上拉加载 微信小程序的上拉加载使用onReachBottom()&#xff0c;写在.js文件里面的Page方法里面。 onReachBottom(){//上拉自动更新到4&#xff0c;5&#xff0c;6wx.showLoading({title: 数据加载中...,})setTimeout(()>{const lastNumthis.data.numList[this.data.nu…

nodejs——ejs模版遇到原型链污染产生rce

[GYCTF2020]Ez_Express 打开是一个登陆框 在源代码中找到 在代码里找到敏感关键字 找到merge 想到原型链污染 这里登陆只能用ADMIN才能登陆成功 但是这里index.php又设置了一个waf ban了admin的大小写 这里需要绕过这个waf 看注册这段代码 用的是这个toUpperCase()函数 之前…

Ubuntu安装Vins-Fusion(1) —— Ubuntu18.04安装vins

目录 前言 1、准备1.1 安装ROS1.2 安装 Ceres Solver 2、安装 VINS-Fusion3、测试&#xff08;EuRoC MAV 数据集&#xff09;3.1、下载数据集3.2 Monocualr camera IMU3.3 Stereo cameras IMU3.4 Stereo cameras 参考 前言 VINS-Fusion 是一种基于优化的多传感器状态估计器&…

Java集合框架源码分析:LinkedList

文章目录 一、LinkedList特性二、LinkedList底层数据结构三、LinkedList继承关系参考&#xff1a; 一、LinkedList特性 特性描述是否允许为空允许是否允许重复数据允许是否有序有序是否线程安全非线程安全 二、LinkedList底层数据结构 LinkedList同时实现了List接口和Deque接…

尚品汇项目2

p68 加入产品个数操作 p69 加入购物车

【YOLOv10:在简约中发现卓越,VanillaNet定义目标检测新标准】

本文改进:神经网络模型VanillaNet 1.YOLOv10介绍 论文:[https://arxiv.org/pdf/2405.14458] 代码: https://gitcode.com/THU-MIG/yolov10?utm_source=csdn_github_accelerator&isLogin=1 摘要:在过去的几年里,由于其在计算成本和检测性能之间的有效平衡,YOLOS已经成…

多模态大模型解读

目录 1. CLIP 2. ALBEF 3. BLIP 4. BLIP2 参考文献 &#xff08;2023年&#xff09;视觉语言的多模态大模型的目前主流方法是&#xff1a;借助预训练好的LLM和图像编码器&#xff0c;用一个图文特征对齐模块来连接&#xff0c;从而让语言模型理解图像特征并进行深层次的问…

AI绘画新境界:如何利用智能工具打造未来艺术

引言 AI技术的发展加速了我们的生活和工作方式&#xff0c;艺术领域也不例外。今天&#xff0c;AI已经超越了辅助工具的角色&#xff0c;开始成为艺术创造过程中的一个内在组成部分。本文将探讨如何利用AI智能工具在绘画艺术领域开辟新的境界&#xff0c;并结合互联网技术以及实…

淘宝评论数据接口,助力无忧购物

在数字化时代&#xff0c;消费者在网购时越来越重视其他用户的评价和意见。淘宝作为我国最大的电商平台之一&#xff0c;拥有海量的商品评论数据。如何有效利用这些数据&#xff0c;为消费者提供参考&#xff0c;同时保护他们的权益&#xff0c;是我们要探讨的问题。联讯数据将…

文件加密软件排行榜|常用三款文件加密软件推荐

Top 1: 安秉网盾文件加密软件 加密模式多样&#xff1a;采用多种加密模式&#xff0c;对企业重要的文档、图纸进行全方位360度保护。可根据企业不同工作场景设置不同的加密模式。 全透明加密&#xff1a;通过全透明加密模式&#xff0c;对企业重要的图纸文件类型进行全盘透明…

C++ 76 之 异常变量生命周期

#include <iostream> #include <string> using namespace std;class MyExpetion{ public:MyExpetion(){cout << "默认构造函数" << endl;}MyExpetion(const MyExpetion& e){cout << "复制构造函数"<< endl;}~MyEx…

【IPython的使用技巧】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

AMBA-CHI协议详解(四)

《AMBA 5 CHI Architecture Specification》 AMBA-CHI协议详解&#xff08;一&#xff09; AMBA-CHI协议详解&#xff08;二&#xff09; AMBA-CHI协议详解&#xff08;三&#xff09; AMBA-CHI协议详解&#xff08;四&#xff09; 文章目录 2.3.3 Atomic transactions2.3.4 S…

day14-226.翻转二叉树+101. 对称二叉树+104.二叉树的最大深度

一、226.翻转二叉树 题目链接&#xff1a;https://leetcode.cn/problems/invert-binary-tree/ 文章讲解&#xff1a;https://programmercarl.com/0226.%E7%BF%BB%E8%BD%AC%E4%BA%8C%E5%8F%89%E6%A0%91.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE 视频讲解&#xff1…

Vue CLI,Vue Router,Vuex

前言 Vue CLI、Vue Router 和 Vuex 都是 Vue.js 生态系统中的重要组成部分&#xff0c;它们在构建 Vue 应用程序时扮演着关键角色。 Vue CLI Vue CLI 介绍 Vue CLI 是 Vue.js 的官方命令行工具&#xff0c;用于快速搭建 Vue.js 项目。它提供了一个图形界面&#xff08;通过…

对身外之物,不必在意

不管对待自己还是他人&#xff0c;外在的条件不值得挂怀&#xff0c;人在不得已颠沛流离时期&#xff0c;吃不好、穿不好&#xff0c;都应该从容接受。