单电阻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引入样式 操作方法 将默认样式表文件导入到项目。样式文件已经放到资源里请自行下载(...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...