【2023研电赛】兆易创新命题三等奖: 低成本单母线电流永磁同步无感驱动器
本文为2023年第十八届中国研究生电子设计竞赛兆易创新企业命题三等奖以及决赛最佳论文奖分享,参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!
低成本单母线电流永磁同步无感驱动器
参赛单位:浙江工业大学
队伍名称:上电就能转
参赛队员:郑露华 应王瑞 施淑娟
获得奖项:决赛一等奖 决赛最佳论文奖 兆易创新企业命题三等奖
作品简介
作品选用GD32F407VGT6单片机作为主控芯片,将永磁同步电机的无感控制技术与单电流传感器控制技术两个研究热点相结合,利用单母线电流传感器实现永磁同步电机全速范围无位置传感器控制,主要创新点有:
1)提出一种准边沿对齐脉宽调制技术和单母线电流分时采样误差补偿方法,提高了单母线电流传感器电流检测精度;
2)提出单母线电流采样下的基准边沿对齐脉宽调制技术的全速无位置传感器控制策略,零低速采用高频方波注入位置估计,并结合模型参考自适应观测器,实现了高动态性能、高稳态精度的全速范围无位置传感器控制;
3)提出一种单母线电流采样下的动态零矢量注入初始位置估计方法,可以实现表贴式/内嵌式两类永磁同步电机的初始位置和转速估计,在电机具有大初始速度情况下可以快速切入闭环运行(简称带速重投),为大惯量系统的安全可靠运行提供了保障。
作品以国产MCU为核心,配合成熟的硬件方案和完善的软件算法,解决了永磁同步电机在单母线电流传感器拓扑驱动下零低速和中高速范围内无位置传感器控制问题,实验效果优异,对于提高永磁同步电机在风机、水泵、电动工具等应用领域具有积极意义。
算法简介
准边沿对齐脉宽调制及单母线电流分时采样误差补偿
QEAPWM方法核心思想是将三相PWM导通时刻移到一个边沿,并重新分布零矢量。QEAPWM的有效矢量计算与分布,零矢量的插入,PWM边沿移相,分别如图1 (a)、(b)、©所示,将三相PWM波形移至PWM周期的左侧,生成QEAPWM。

在额定负载情况下测试,本作品使用的QEAPWM性能在各方面都非常接近基于SVPWM的常规方法。通过电机的电压方程与采样矢量dq轴电压方程**u**dq_s得到采样矢量作用时的_dq_轴电流增量进行反Park和反Clarke变换,即可得到ABC坐标系的电流增量,完成三相电流的补偿。


单母线电流采样下的基于QEAPWM的全速无位置传感器控制
提出一种方波高频注入+MRAS观测器相结合的永磁同步电机全速无位置传感器控制策略,其控制框图如图4所示。
当转速小于时,角度与转速信息均由高频注入法获得;当转速大于时,角度与转速信息均由观测器法获得;当转速处于过渡区间时,角度与转速信息采用如图5(b)所示的线性加权方式获得。


如图6所示对全速域无感进行测试,在空载情况下,实现高动态响应转速闭环控制。在带载情况下,驱动器的角度估计精度基本无变化。

单母线电流采样下的动态零矢量注入带速重投方法
AZVVI通过注入合成矢量等效为零矢量的六有效矢量,通过有效矢量激励下的电流纹波采样,实现转子初始位置和初始速度的估计与快速带速重投。图7所示为注入六个电压矢量。图8为PLL的框图。

图9展示是否采用带速重投策略投切的对比实验图,由于没有正确估计电机转子位置与转速,直接重投冲击电流较大,很有可能造成驱动器的损坏。使用AZVVI法后重新切入,驱动器顺利重投而无冲击电流。

作品总结
本作品设计了基于国产GD32F407VET6主控芯片的永磁同步电机控制器,并提出一系列创新的电机控制算法。在仅有单母线电流传感器的情况下,实现永磁同步电机的零低速高频方波注入、中高速模型参考自适应位置观测器、零低速与中高速之间的平滑切换、中高速下带速重投等功能,最终取得了全速范围高动态性能、高稳态精度无位置传感器控制,实验结果表明所提策略的有效性。所设计控制器性能优越、成本低、可靠性高,对提升永磁同步电机在工业驱动、航空航天、汽车电子、家用电器等领域的应用,具有重要的应用价值。
依托本套驱动器现有的研究成果,已发表《IEEE Transactions on Energy Conversion》论文1篇,《中国电机工程学报》(EI)论文1篇,在投IEEE期刊论文2篇,授权发明专利2项,公开发明专利2项。
演示视频

易拉宝分享

参赛感悟
1、感谢兆易创新、组委会、各承办单位
2、东莞理工的饭菜很在线,阿姨打的实在太多了
3、志愿者们辛苦了
4、松山湖风景很好、欧洲小镇蛮好看的
5、非常难忘的参赛经历
邮箱📫
2112003028@zjut.edu.cn
欢迎交流
参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!
更多研电赛作品分享请关注IC技术竞赛作品分享。
相关文章:
【2023研电赛】兆易创新命题三等奖: 低成本单母线电流永磁同步无感驱动器
本文为2023年第十八届中国研究生电子设计竞赛兆易创新企业命题三等奖以及决赛最佳论文奖分享,参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有…...
原生Js 提取视频中的音频
Js提取视频中的音频 将视频中的音频轨道分离出来,生成 wav 文件播放或下载( Vue3 setup ) 代码实现 template <button><label for"file" id"filename">选择视频文件</label><input type"fi…...
设计模式-备忘录模式(Memento Pattern)
文章目录 前言一、备忘录模式的概念二、备忘录模式的实现三、备忘录优缺点优点:缺点:总结 前言 备忘录模式(Memento Pattern)是一种行为型设计模式,它用于捕获和存储对象的内部状态,以便在以后可以恢复到先…...
PHP对接阿里云虚拟号的实现(号码隐私保护)
fastadmin 封装框架 实现功能:AXN隐私号绑定、解绑; 场景:为店铺手机号开通虚拟号,用户联系店铺展示虚拟号码; 官方开放文档地址:https://help.aliyun.com/document_detail/59655.html?spma2c4g.111742…...
刷新单年发射纪录:SpaceX成功发射62次猎鹰9号火箭
SpaceX一直都致力于推进航天领域的发展。近日,该公司的猎鹰9号火箭再次刷新了单年发射纪录,目前已经成功发射了62次。除此之外,今年SpaceX还发射了一枚猎鹰火箭和一枚巨型火箭。马斯克表示,他的目标是实现每月10次猎鹰飞行&#x…...
项目打包docker镜像 | 上传nexus | jenkins一键构建
文章目录 前言准备实操1、打开docker的远程访问2、编写dockerfile文件3、指定nexus环境4、配置jenkins5、使用jenkins构建 总结 前言 Docker部署项目是指使用Docker容器化技术将应用程序及其依赖项打包成一个独立的、可移植的运行环境,并在各种操作系统和平台上进行…...
ios 运行ipa包 日志查看方式
方法一: 使用ideviceinstaller工具 # 安装ipa命令 brew install ideviceinstaller ideviceinstaller -i xxx.ipa# 查看运行日志 idevicesyslog# idevicesyslog 查找命令 idevicesyslog | grep test -A 3 -B 2 # 输出关键字所在行后3行,前2行) idevic…...
AUTOSARCAN-Tp协议
目录 一.单帧、首帧、连续帧、流控帧 单帧传输 SF单帧: 多帧传输 FF(首帧): CF(连续帧): FC(流控帧): 一.单帧、首帧、连续帧、流控帧 CAN诊断由发送端…...
【设计模式】组合模式实现部门树实践
1.前言 几乎在每一个系统的开发过程中,都会遇到一些树状结构的开发需求,例如:组织机构树,部门树,菜单树等。只要是需要开发这种树状结构的需求,我们都可以使用组合模式来完成。 本篇将结合组合模式与Mysq…...
恒林家居引入纷享销客CRM系统,领跑家居行业营销数字化进程
近日,恒林家居股份有限公司((股票代码:603661以下简称为“恒林家居”)携手纷享销客在湖州召开了CRM项目启动会。双方领导及核心项目人员齐聚一堂,展开了深度交流并达成了重要共识。 作为家居行业的领军企业…...
多线程-锁的种类
1 作用 Java中的锁主要用于保障多并发线程情况下数据的一致性。在多线程编程中为了保障数据的一致性,我们通常需要在使用对象或者方法之前加锁,这时如果有其他线程也需要使用该对象或者该方法,则首先要获得锁,如果某个线程发现锁正在被其他线程使用,就会…...
Hive 和 HDFS、MySQL 之间的关系
文章目录 HiveHDFSMySQL三者的关系 Hive、MySQL 和 HDFS 是三个不同的数据存储和处理系统,它们在大数据生态系统中扮演不同的角色,但可以协同工作以支持数据管理和分析任务。 Hive Hive 是一个基于 Hadoop 生态系统的数据仓库工具,用于管理和…...
【面试题】如何实现数组去重的?有几种方式?
前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 【国庆头像】- 国庆爱国 程序员头像!总有一款适合你! 1. 方法一:利用两层循环数组的splice方法 通过两层循环对数组…...
使用TCP方式拉取Canal数据
1 Canal对接Kafka联调 1.1 配置修改 canal.properties 修改 zk: canal.zkServers 10.51.50.219:2181instance.properties 开启配置项: canal.mq.dynamicTopic 是 Canal 的 MQ 动态 Topic 配置项: test_javaedge_01 是kafka 的 topicte…...
Docker安装mysql实战说明
安装前准备 在安装MySQL之前,你需要确保已经正确安装和配置了Docker,可以通过以下命令检查Docker是否已正确安装: docker --version如果Docker已经成功安装,你将看到Docker的版本信息。 下载mysql的镜像 Docker Hub是一个存储…...
前端DOM操作精解:基础概念、方法与最佳实践
引言 本文将深入探讨前端开发中的DOM操作,包括基础概念、常用方法和最佳实践。通过清晰易懂的解释和实际案例分析,我们将一起了解如何最有效地使用DOM操作来提升前端应用的用户体验。 一、DOM操作入门 在深入探讨DOM操作之前,我们先要理解…...
python sorted函数详解2023.9.11
sorted函数详解 1. 输入和输出2. key传入函数 1. 输入和输出 help(sorted) Help on built-in function sorted in module builtins: sorted(iterable, /, *, keyNone, reverseFalse)Return a new list containing all items from the iterable in ascending order.A custom k…...
Spring Reactive:响应式编程与WebFlux的深度探索
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
Qt应用开发(基础篇)——工具按钮类 QToolButton
一、前言 QToolButton类继承于QAbstractButton,该部件为命令或选项提供了一个快速访问按钮,通常用于QToolBar中。 按钮基类 QAbstractButton QToolButton是一个特殊的按钮,一般显示文本,只显示图标,结合toolBar使用。它…...
【数据结构面试题】栈与队列的相互实现
目录 1.队列实现栈 1.1创建栈 1.2判断是否为空 1.3入栈 1.4出栈 1.5获取栈顶元素 1.6完整代码 2. 用栈实现队列 2.1创建队列 2.2判断是否为空 2.3入队列 2.4出队列 2.5获取队头元素 2.6完整代码 1.队列实现栈 用队列实现栈https://leetcode.cn/problems/impleme…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
