单电阻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引入样式 操作方法 将默认样式表文件导入到项目。样式文件已经放到资源里请自行下载(...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
