单电阻FOC算法实现永磁同步电机的调整步骤和设置
本文档介绍了使用 单电阻FOC 算法实现永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)调整所需的步骤和设置。由于不同电机存在参数差异,因此需针对不同的电机和负载对该算法进行调整。该电机库已经在在落地扇和空净等风机应用上测试验证。
低压12VDC,24VDC开发板
电动驱动开发板
调试方法及工具
调试工具
通用工具:电源(直流电源、交流隔离电源)。
测试工具:万用表、数字电桥、示波器、电流探头。
仿真工具:JLink PRO。
软件工具:J-Scope。
调试步骤
硬件测试
1). 母线电压测量
2). MCU供电电压测量
3). 驱动芯片供电电压12V测量
4). PWM例程输出测试PWM输出信号是否正常
5). 测试运放、ADC采样口电压是否正常
芯片电源电压
1). 芯片电电源电压:万用表测试电源5V对GND是否正常。
2). 并用示波器观测电源的纹波是否符合标准。
运放端电压
1). 万用表测试运放端电压是否为ADC参考电压的1/2;
2).观察程序电流基准部分的值是否为2048(MCU的AD为12位,满量程是4096,代表AD参考电压的电压值)附近。
UVW三相输出
1).为验证MCU输出和功率器件,需测试U、V、W三相输出是否正常。
2).不接电机,让程序输出固定占空比。
3).如若没有输出,可能原因:HVIC或MOS异常、芯片异常。
电压基准
FOC的SVPWM模块中需采集母线电压进行计算,在高低压应用中,因电源电压与MCU的ADC最大采样电压不等,需根据实际情况将母线电压用分压方式来处理。
电流基准
根据硬件板上的采样电阻Rsample,运放放大倍数Amp,MCU的ADC参考电压Vs,可计算电流基准、最大采样电流、最小采样电流。一般设计电机运行最大电流在1/2的最大采样电流左右。
在调节过程中,电机的电流不能超过最大采样电流,也不能小于最小采样电流。若出现超出情况,需根据实际情况重新配置采样电阻和运放放大倍数。
电机参数测量
电机极对数MT_Pole_Pairs
电机的极对数可从电机规范表中获取。也可通过以恒定的转速驱动电机(例如使用另一台电机拖动)并测量反电动势的频率获得,也可以通过快速的将转子转动一周,观察示波器上出现线电压峰值出现的次数即为电机的极数。使用测量得到的频率值,经过公式 1-1 的计算即可得出极对数。
相电阻和相电感
电机的相电阻和相电感的测量方法如下:
• 相电阻 —— 用万用表测量永磁同步电机两相绕组间的直流电阻值。将测得的电阻值代入下列公式:MT_Phase_R = 电阻测量值/2
• 相电感 —— 使用 LCR 表测量永磁同步电机 10 kHz 时两相绕组间的电感。将所测得的电感值代入下面的公式:MT_Phase_L = 电感测量值/2
配置电机硬件板参数
驱动板硬件配置在Related_Parameter_Config.h中。硬件设计时,我们建议参考我们的DEMO板或参考设计配置电机驱动使用的PWM、AD等资源。如设计时有所改动,需按以下指引重新配置。
1) PWM配置
MCU的各个引脚功能是复用的,需要进行配置才能进行使用。上图中就是对驱动电路中的三路PWM进行配置,需要按电路设计图一一对应,并按照MCU的软件库定义进行相应配置。
开或关闭芯片的内部运放,根据电路设计进行配置。
2) AD配置
电流采样参数
硬件参数:OPA_I_R1、 OPA_I_R2 以及 VDD 都位于 Related_Parameter_Config.h
文件中,其中OPA_I_RS表示电流检测电阻,VDD表示AD转换的参考电压。该文件中的参数根据硬件设计不同而有所变化。
运 算 放 大 器 用 来 放 大 电 流 检 测 信 号。用 户 应 根 据 硬 件 设 定 放 大 器 增 益 值,为Related_Parameter_Config.h文件中的OPA_Gain值,增益=内部运放选定增益10K/R22=10。
3) 母线电压分压参数
#define Divid_Resist_R1 10
#define Divid_Resist_R2 100
调速接口
PWM调速
电机性能参数配置
1) 开关频率配置
如下设定PWM频率为16KHZ,死区时间设定50个时钟周期,PWM
电机基本参数设置
电机参数:
MT_Phase_L
MT_Phase_RMT_Pole_Pairs
MT_Volt_Rated和MT_Power_Rated、
MT_Spd_Max
都位于Related_Parameter_Config.h文件中。
电机参数依赖于电机的规范,当测试不同的电机时,应当更新电机参数值。电机参数的设置如下所示。
启动参数设置
电机基本参数设置
最高转速Set_SpeedMax为规格要求达到的转速,实际设定的最高转速可以比要求高;
最低转速Set_SpeedMin:调速需要的最低转速,风扇的要求一般在100-200RPM之间。
1) 初始位置检测
预定位在Related_Parameter_Config.h文件:
驱动器性能参数配置调试
1) 位置环调试
2) 电流环调试
电流环PI参数调节
性能参数测试优化
申明
本文档中的信息仅是为了让系统和软件 实施者能够使用 SYNWIT 产品而提供。本文 档并未授予任何明示或默示的许可权以根据 本文档中的信息来设计或制造任何集成电路。SYNWIT 保留更改本文档所述任何产品 的权利,恕不另行通知。SYNWIT 不保证其产 品适合任何特定用途,不承担任何因为应用或 使用任何产品或电路而引起的责任,明确否认 任何及所有责任,包括但不限于附带或间接损 害赔偿。SYNWIT 数据手册和/或技术规格中 可能会提供“典型值”参数,这些参数因应用 而异,实际性能可能会随时间而改变。所有工 作参数,包括“典型值”,都必须由客户的技 术专家针对各种具体应用进行验证。
相关文章:
单电阻FOC算法实现永磁同步电机的调整步骤和设置
本文档介绍了使用 单电阻FOC 算法实现永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)调整所需的步骤和设置。由于不同电机存在参数差异,因此需针对不同的电机和负载对该算法进行调整。该电机库已经在在落地扇和空净等风机…...
化学DS-1040 Tosylate 抑制剂 1335138-89-0科研用途
化合物1219962-49-8是一种小分子化合物,分子式为C15H25N3O4,相对分子质量为305.37。该化合物为白色至灰白色粉末,不溶于水,易溶于有机溶剂,如甲醇、乙醇等。 AT791是一种与细胞周期调控相关的蛋白激酶,参与…...
PaddlePaddle初使用
模型导出与预测 # -c 后面设置训练算法的yml配置文件 # -o 配置可选参数 # Global.pretrained_model 参数设置待转换的训练模型地址,不用添加文件后缀 .pdmodel,.pdopt或.pdparams。 # Global.save_inference_dir参数设置转换的模型将保存的地址。pytho…...
【FPGA】分享一些FPGA数字信号处理相关的书籍
在做FPGA工程师的这些年,买过好多书,也看过好多书,分享一下。 后续会慢慢的补充书评。 【FPGA】分享一些FPGA入门学习的书籍【FPGA】分享一些FPGA协同MATLAB开发的书籍 【FPGA】分享一些FPGA视频图像处理相关的书籍 【FPGA】分享一些FPGA高速…...
深度解析JavaScript面试热点:事件循环、上下文、箭头函数、变量作用域与ES6模块
JavaScript面试中经常涉及到事件循环、上下文、箭头函数、变量作用域以及ES6模块等核心概念。通过清晰的代码示例,我们深入讨论这些主题,揭示其中的关键细节。 事件循环(Event Loop) JavaScript开发者每天都与事件循环打交道&am…...
Javaweb之Mybatis的动态SQL的详细解析
3. Mybatis动态SQL 3.1 什么是动态SQL 在页面原型中,列表上方的条件是动态的,是可以不传递的,也可以只传递其中的1个或者2个或者全部。 而在我们刚才编写的SQL语句中,我们会看到,我们将三个条件直接写死了。 如果页面…...
物联网与智能家居:跨境电商与未来生活的融合
物联网(Internet of Things,IoT)和智能家居技术正迅速崛起,成为跨境电商领域的创新引擎。这两者的巧妙结合不仅为消费者提供更智能、便捷的生活方式,同时也为电商平台和制造商带来了全新的商机。本文将深入探讨物联网与…...
Java内存模型(JMM)是基于多线程的吗
Java内存模型(JMM)是基于多线程的吗 这个问题按我的思路转换了下,其实就是在问:为什么需要Java内存模型 总结起来可以由几个角度来看待「可见性」、「有序性」和「原子性」 面试官:今天想跟你聊聊Java内存模型&#…...
Linux离线安装MySQL(rpm)
目录 下载安装包安装MySQL检测安装结果服务启停MySQL用户设置 下载安装包 下载地址:https://downloads.mysql.com/archives/community/ 下载全量包如:(mysql-8.1.0-1.el7.x86_64.rpm-bundle.tar) 解压:tar -xzvf mysql-8.1.0-1.el7.x86_64.…...
用 Socket.D 替代原生 WebSocket 做前端开发
socket.d.js 是基于 websocket 包装的 socket.d 协议的实现。就是用 ws 传输数据,但功能更强大。 功能原生 websocketsocket.d说明listen有有监听消息send有有发消息sendAndRequest无有发消息并接收一个响应(类似于 http)sendAndSubscribe无…...
Transformer架构和对照代码详解
1、英文架构图 下面图中展示了Transformer的英文架构,英文架构中的模块名称和具体代码一一对应,方便大家对照代码、理解和使用。 2、编码器 2.1 编码器介绍 从宏观⻆度来看,Transformer的编码器是由多个相同的层叠加⽽ 成的,每个…...
大数的乘法
题目描述 求两个不超过100位的非负整数的乘积。 输入 有两行,每行是一个不超过100位的非负整数,没有多余的前导0。 输出 一行,相乘后的结果。 样例输入 Copy 123456789 123456789样例输出 Copy 15241578750190521 代码实现࿱…...
年度征文 | 机器学习之心的2023
机器学习之心的2023 2023是极其复杂的一年。 生活上,养了很多宠物。 工作上,写了不少博客。 虽然遇见更多让人不开心的事情,但总体还是美好的。 愿大家新的一年健康平安,生活幸福! 机器学习是一项庞大的工程࿰…...
13.Kubernetes应用部署完整流程:从Dockerfile到Ingress发布完整流程
本文以一个简单的Go应用Demo来演示Kubernetes应用部署的完整流程 1、Dockerfile多阶段构建 Dockerfile多阶段构建 [root@docker github]# git clone https://gitee.com/yxydde/http-dump.git [root@docker github]# cd http-dump/ [root@docker http-dump]# cat Dockerfile …...
多年后再用TB,谈项目管理工具
背景 最近启动一个小项目,多年未曾使用项目管理工具,依稀记得使用过Basecamp,Tower,worktitle,teambition等等,当然还有mantis,vs project等等。于是随便翻阅找个用,不小心翻了TB的牌子,竟然已是阿里旗下的…...
Spark MLlib ----- ALS算法
补充 在谈ALS(Alternating Least Squares)之前首先来谈谈LS,即最小二乘法。LS算法是ALS的基础,是一种数优化技术,也是一种常用的机器学习算法,他通过最小化误差平方和寻找数据的最佳匹配,利用最小二乘法寻找最优的未知数据,保证求的数据与已知的数据误差最小。LS也被用…...
ubuntu桥接方式上网
vmvare:VMware Workstation 17 Pro ubuntu: Ubuntu 14.04.6 LTS window10 下面是我的电脑配置 下面是ubuntu虚拟机的配置 vi /etc/network/interfaces 下面的gateway就是window -ipconfig 截图里的默认网关 auto lo iface lo inet loopbackauto eth0 iface eth0 inet stat…...
收到的字符串写入xml并且将这个xml写入.zip文件中
文章目录 1、将数据写入xml文件WriteToXmlFile2、将xml文件写入zip压缩文件AddToZip3、组合起来4、使用到的头文件和动态库 1、将数据写入xml文件WriteToXmlFile void CSMSLoginDlg::WriteToXmlFile(const std::string& responseData, const std::string& xmlFileName…...
【读书笔记】《白帽子讲web安全》跨站脚本攻击
目录 前言: 第二篇 客户端脚本安全 第3章 跨站脚本攻击(XSS) 3.1XSS简介 3.2XSS攻击进阶 3.2.1初探XSS Payload 3.2.2强大的XSS Payload 3.2.2.1 构造GET与POST请求 3.2.2.2XSS钓鱼 3.2.2.3识别用户浏览器 3.2.2.4识别用户安装的软…...
第九节 初始化项目
系列文章目录 目录 系列文章目录 前言 操作方法 总结 前言 初始化项目,导入默认reset.scss 、variables.scss及mixins.scss等并修改main.js引入样式 操作方法 将默认样式表文件导入到项目。样式文件已经放到资源里请自行下载(...
【论文阅读】深度学习中的后门攻击综述
深度学习中的后门攻击综述 1.深度学习模型三种攻击范式1.1.对抗样本攻击1.2.数据投毒攻击1.3.后门攻击 2.后门攻击特点3.常用术语和标记4.常用评估指标5.攻击设置5.1.触发器5.1.1.触发器属性5.1.2.触发器类型5.1.3.攻击类型 5.2.目标类别5.3.训练方式 1.深度学习模型三种攻击范…...
Spring Boot中加@Async和不加@Async有什么区别?设置核心线程数、设置最大线程数、设置队列容量是什么意思?
在 Spring 中,Async 注解用于将方法标记为异步执行的方法。当使用 Async 注解时,该方法将在单独的线程中执行,而不会阻塞当前线程。这使得方法可以在后台执行,而不会影响主线程的执行。 在您提供的代码示例中,a1() 和…...
Vue_00001_CLI
初始化脚手架 初始化脚手架步骤: 第一步(仅第一次执行):全局安装vue/cli。 命令:npm install -g vue/cli 第二步:切换到要创建项目的目录,然后使用命令创建项目。 命令:vue creat…...
kubernetes ResourceQuotas Limits(资源配额)
开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 简介 当多个用户或团队共享具有固定节点数目的集群时,人们会…...
【ARMv8架构系统安装PySide2】
ARMv8架构系统安装PySide2 Step1. 下载Qt资源包Step2. 配置和安装Qt5Step3. 检查Qt-5.15.2安装情况Step4. 安装PySide2所需的依赖库Step5. 下载和配置PySide2Step6. 检验PySide2是否安装成功 Step1. 下载Qt资源包 if you need the whole Qt5 (~900MB): wget http://master.qt…...
ECMAScript6详解
ECMAScript 6,也被称为 ES6 或 ECMAScript 2015,是 JavaScript 编程语言标准的一个主要更新。它于 2015 年正式发布,并带来了许多新特性和改进,使得 JavaScript 开发更加现代化和高效。下面是 ES6 的一些关键特性的详解࿱…...
[C#]使用PaddleInference图片旋转四种角度检测
官方框架地址】 https://github.com/PaddlePaddle/PaddleDetection.git 【算法介绍】 PaddleDetection 是一个基于 PaddlePaddle(飞桨)深度学习框架的开源目标检测工具库。它提供了一系列先进的目标检测算法,包括但不限于 Faster R-CNN, Ma…...
stable diffusion 基础教程-提示词之光的用法
基图 prompt: masterpiece,best quality,1girl,solo,looking at viewer,brown hair,hair between eyes,bangs,very long hair,red eyes,blush,bare shoulders,(white sundress),full body,Negative prompt: EasyNegative,badhandv4,nsfw,lowres,bad anatomy,bad hands,text…...
第9课 回声抑制(AEC+AGC+ANS)的实现
在第8课中,我们将推流端与播放端合并实现了一对一音视频聊天功能,一切看起来还不错。但在实际使用时,会遇到一个烦心的问题:说话时会听到比较大的回声,影响正常使用。所以,这节课我们来重点解决这个问题。 …...
软件测试|Python中的变量与关键字详解
简介 在Python编程中,变量和关键字是非常重要的概念。它们是构建和控制程序的基本要素。本文将深入介绍Python中的变量和关键字,包括它们的定义、使用方法以及一些常见注意事项。 变量 变量的定义 变量是用于存储数据值的名称。在Python中࿰…...
青州市建设局网站/上海网站建设
原文http://realtcg.com/2018/03/17/react-source-code-analysis-2-initial-render/ 上一篇文章讲到了React 调用ReactDOM.render首次渲染组件的前几个过程的源码, 包括创建元素、根据元素实例化对应组件, 利用事务来进行批量更新. 我们还穿插介绍了React 事务的实现以及如何利…...
网站优化与seo的区别/百度引擎搜索入口
Client does not support authentication protocol requested by server;所有安装Mysql4.1以上版本的用户请看本条!!!!!!!!!Mysql 4.1及以上版本使用了新的密码算法,而PHP不支持新算法,因此在新增用户后,还需要用下面的方法解决PHP无法连接登录Mysql的问题: (其中some_user,so…...
java做网站教程/怎么做百度搜索排名
在ArcGIS中使用镶嵌数据集,你为它构建过“概视图”,也就是overview吗?你有过疑问,这个概视图和影像金字塔是什么关系?对于单景影像(栅格数据集),为了加快影像显示速度,我…...
2017还有人做网站吗/天津网站优化公司
IQKeyboardManager 使用SB,为解决防止NavigationBar向上移动,将Class由UIView换为UIScrollView,布局乱掉了...
wordpress 代码编写/网站权重查询工具
想要在mybatis 的collection关联查询中,添加一个常量:classifyId1作为参数,原先使用的添加方式为: <collection property"imageList" column"{aaaIdaaa_id,classifyId1}"javaType"ArrayList"se…...
电商分销主要做什么/seo入门培训学校
若传递参数为对象,需使用Post请求,不能使用GetMapping,否则会报405错误consumer的feignClient接口和provider接口参数加上RequestBody注解 ,否则会传参失败 //feignClient RequestMapping("/loginByUser" ) public boo…...