【2023研电赛】华东赛区一等奖:基于EtherCAT通信有限时间位置收敛伺服系统

2023-09-22 10:40:28

本文为2023年第十八届中国研究生电子设计竞赛作品分享,参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!

基于EtherCAT通信有限时间位置收敛伺服系统

参赛单位:浙江工业大学
指导老师:陈强 吴春
参赛队员:沙为民 吴辰浩 申屠方婷

作品简介

针对高动态性能、高稳态精度的伺服系统,设计了有限时间位置控制器,实现了系统在变化的位置指令下,柔顺地从当前位置运动至目标位置。针对伺服驱动器电流传感器故障,设计了基于镜像电流方法的相电流传感器容错控制策略,提高了伺服驱动器的可靠性。最后,基于STM32微控制器,构建EtherCAT通讯主、从站,相比于传统通信方式,EtherCAT通信具有数据传输速率快、传输距离远等优势,可实现多伺服系统的集中控制。项目组已与相关企业建立合作关系,目前所研制伺服系统产品正处于生产测试阶段。
在这里插入图片描述

作品全貌

在这里插入图片描述

硬件设计

AltiumDesigner16工程文件:

链接:https://pan.baidu.com/s/1h\\\\_XcD3mWV6ojSA6npx0fTQ
提取码:ggby

该控制电路主要功能是伺服电机运动控制,以及RS485;ETHERCAT通讯控制,按键板等。

在这里插入图片描述

其中主控使用的是STM32F407ZET6,电机采用永磁同步电机,驱动器采用的是IR2106S,编码器采样芯片AM26LS32C四路差分驱动芯片,数码管显示功能电路采用74HC595和TPIC6B595移位寄存器,RS485通信接口芯片MAX485ECSA+T与RS-485总线连接,以太网芯片采用LAN8720A。

在这里插入图片描述

软件设计

本项目采用最为常用的基于控制的永磁同步电机伺服系统控制方法,该方法因没有直轴电流,电机没有直轴电枢反应,不会使永磁体退磁,电机所有电流均用来产生电磁转矩,电流控制效率高。本项目要求伺服电机的过载能力强、动态响应快、转矩线性度高、控制方法简单可靠,因此选用表贴式永磁同步电机。

为了保证伺服道闸系统的精确控制,本实验通过位置、速度、电流三环控制,伺服电机能够实现快速的动态响应、较高的转矩线性度、可靠的控制以及较强的带载能力。然而,PI调节始终无法在不同负载、不同转速要求、不同位置给定下实现快速性与零超调量并存。

本项目使用的一种加速度连续的实时位置规划控制方法,具有计算简便和实时性强的优点,只需要根据目标位置和当前状态进行判断和简单的运动过程计算处理,避免了复杂运算,简化了计算过程。同时,在每一控制周期内,在加速度连续的前提下,根据最新的目标位置,进行状态判断和位置规划,能够实时跟随快速变化的位置指令,适用于高动态性能的伺服系统。

在这里插入图片描述

系统测试

  1. 位置环S曲线测试

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.有限时间收敛测试

在这里插入图片描述

  1. 以太网通信测试
    在这里插入图片描述

视频演示

链接:https://pan.baidu.com/s/1WZ9u7BneO\\_qE8wvwJ5BPUA
提取码:hhdd

总结

本文以道闸项目为研究背景,设计一款基于EtherCAT通信有限时间位置收敛的伺服系统。针对高速度、高控制精度、高效率的要求,对伺服驱动器的方案论证、硬件设计和软件设计等方面进行了分析研究。概括起来,本文主要完成了以下工作:

(1)运用加速度连续的实时位置规划控制方法,既解决了基于连续加速度的S型位置规划曲线算法在位置伺服系统运动规划控制出现的运算复杂问题,又解决了不能适应位置指令快速变化等问题,保证道闸系统运行的稳定性。

(2)运用了有限时间收敛算法,系统在有限时间内就能够达到相应的稳定状态,提高了系统响应速度,保证道闸系统运行的快速性。

(3)运用EtherCAT通信技术,提高控制器和驱动器之间的数据传输速度及可靠性,更好满足伺服系统对实时性和同步性的要求,实现伺服驱动系统网络化控制。

(4)本项目设计的伺服驱动器具有电流传感器的容错能力,可以保证系统在出现断线故障时仍能正常工作,增加了伺服驱动器的使用寿命。

(5)本项目设计的伺服系统的PCB板,合理设置布局布线和散热布局,最大程度的节省了成本,提高了伺服驱动器的集成度和功率密度。

参赛感悟

1、感谢组委会、各承办单位
2、南京理工的饭菜很不错。
3、志愿者们辛苦了
4、非常难忘的参赛经历

参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!
更多研电赛作品分享请关注IC技术竞赛作品分享

更多推荐

【FAQ】安防视频监控平台EasyNVR无法控制云台,该如何解决?

TSINGSEE青犀视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入,并能对接入的视频流进行处理与多端分发,包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。在智慧安防等视频监控场景中,EasyNVR可提供视频实时监控直播、云端录像、云存储、录像检索与回看、

vue3如何导入使用自定义yaml配置文件

要在Vue3中导入和使用自定义的YAML配置文件,你可以按照以下步骤进行操作:安装所需的依赖:首先,确保你的项目中已经安装了vue和vue-router。你还需要使用js-yaml库来解析YAML文件,可以使用以下命令进行安装:npminstalljs-yaml创建YAML文件:在你的项目中创建一个YAML文件,用于存

Linux 软件包管理器-yum使用

文章目录前言一、yum使用1、什么是软件包2、yum源3、yumlist指令4、yuminstall指令5、yumremove指令二、git的使用1、gitee中仓库的创建2、仓库的克隆3、提交代码到远程仓库4、提交时可能遇到的问题5、.gitignore文件6、删除文件前言一、yum使用1、什么是软件包在Linux下

SLAM从入门到精通(消息传递)

【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:feixiaoxing@163.com】前面我们只是编写了一个publisher节点,以及一个subscribe节点。有了这两个节点,它们之间就可以通信了。在实际生产中,我们除了简单的通信之外,要传递的数据可能还有很多。这个时候,我们就要构建一个消息体。这个消息体

C# 流Stream详解(3)——FileStream源码

【FileStream】构造函数如果创建一个FileStream,常见的参数例如路径Path、操作方式FileMode、权限FileAccess。这里说下FileShare和SafeFileHandle。我们知道在读取文件时,通常会有两个诉求:一是如何更快的读取文件内容;二是如何减少读取文件的消耗。常见的加快读取文件的

在ubuntu20.04中创建虚拟机:Oracle VirtualBox - 7中安装Windows-10(64bit)

问题描述之前一直在用ubuntu20.04,但是今天遇到一个需求:需要判定.exe文件是否可以正常运行,这样一来可能就需要一个虚拟机来佐助了,当然也搜了一些其他的处理办法,但是我大概看了一下,并不能满足我的需求。如果有需要请看:linux下如何完美运行exe文件?https://www.zhihu.com/questi

C#实现异步方式

在异步程序中,程序代码不需要严格按照编写时的顺序执行为了改善代码性能,有时候需要在一个新的线程中运行一部分代码有时候无需创建新的线程,但为了更好的利用单个线程的能力,需要改变代码的执行顺序也就是说:异步编程赋予代码非顺序执行的能力,让程序能够在部分耗时操作的同时,干其他的事情一、通过委托实现异步如果委托对象在调用列表中

【LeetCode-困难题】239. 滑动窗口最大值

文章目录题目方法一:单调双端队列题目方法一:单调双端队列if(deque.peekFirst()==nums[i-k])deque.removeFirst();这一步很关键,当队首元素(最大元素)是滑动窗口后要被抛弃的元素时,他就不能再是最大值了,就必须去掉,如果队首元素(最大元素)不是滑动窗口被抛弃的元素,则继续充当

linux部署页面内容

/bin:该目录包含了常用的二进制可执行文件,如ls、cp、mv、rm等等。/boot:该目录包含了启动Linux系统所需的文件,如内核文件和引导加载程序。/dev:该目录包含了所有设备文件,如硬盘、光驱、鼠标、键盘等等。/etc:该目录包含了系统的配置文件,如网络配置、用户账户、安全设置等等。/home:该目录是所有

PT@Bernoulli概型@古典概型之伯努利概型

文章目录abstract伯努利概型伯努利试验n重伯努利试验例样本空间样本空间的重要划分成功k次的n重Bernoulli试验例例例abstractBernoulli概型是结合独立事件和n重Bernoulli试验概念的古典概型伯努利概型Bernoulli概型是基于bernoulli试验的一类古典概型这类概型的等可能性体现在

定时任务框架-xxljob

1.定时任务spring传统的定时任务@Scheduled,但是这样存在这一些问题:做集群任务的重复执行问题cron表达式定义在代码之中,修改不方便定时任务失败了,无法重试也没有统计如果任务量过大,不能有效的分片执行解决这些问题的方案为:xxl-job分布式任务调度框架2.分布式任务调度2.1什么是分布式任务调度当前软

热文推荐