当前位置: 首页 > news >正文

SimpleFoc以及SVPWM学习补充记录

SimpleFoc

SimpleFOC移植STM32(一)—— 简介

在这里插入图片描述
FOC控制的过程是这样的:

  1. 对电机三相电流进行采样得到 Ia,Ib,Ic。
  2. 将 Ia,Ib,Ic 经过Clark变换得到 I_alpha I_beta。
  3. 将 I_alpha I_beta 经过Park变换得到 Id,Iq。
  4. 计算 Id,Iq 和其设定值 Id_ref 和Iq_ref 的误差
  5. 将上述误差输入两个PID(只用到PI)控制器,得到输出的控制电压Ud、Uq。
  6. 将 Ud、Uq 进行反Park变换得到 U_alpha U_beta。
  7. 用 U_alpha U_beta 合成电压空间矢量,输入SVPWM模块进行调制,输出该时刻三个半桥的状态编码值(前文有提到)
  8. 按照前面输出的编码值控制三相逆变器的MOS管开关,驱动电机
  9. 循环上述步骤

无刷电机

  1. 磁铁同极相斥、异极相吸
  2. 通电螺线圈能够产生磁场

在这里插入图片描述
以A(U)为例,分析无刷电机驱动电路
在这里插入图片描述
分析A(U),B(V),C(W)得到8种状态
在这里插入图片描述

建立坐标系

建立ABC自然坐标系
在这里插入图片描述
经过矢量合成,得到合成后的电流和电压矢量,得到六个电压矢量U_dc,两个电压矢量0;通过调整六个电压矢量,来得到中间任意角度的电压矢量。
在这里插入图片描述
建立dq旋转坐标系,为了找到与内转子垂直方向的力,这时效率最高。
合成q轴电压矢量,通过调整不通过方向的电压矢量,比如U_4 U_6 以及U_0和U_7的频率占比来调整合成电压矢量的方向。

生成PWM

在这里插入图片描述

SVPWM

SVPWM能够解决“利用8个电压空间矢量来产生圆形旋转磁场的问题”
由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使电机电流波形尽可能接近于理想的正弦波形。
在这里插入图片描述
大部分文章的SVPWM的算法结果都是这样。这个结果主要是针对无感FOC的算法,无感FOC需要根据Vα和Vβ来确定扇区和角度,但是对于有位置传感器,特别是有编码器的电机来说可以直接获取角度,上面的推导计算过头了。

相关文章:

SimpleFoc以及SVPWM学习补充记录

SimpleFoc SimpleFOC移植STM32(一)—— 简介 FOC控制的过程是这样的: 对电机三相电流进行采样得到 Ia,Ib,Ic。将 Ia,Ib,Ic 经过Clark变换得到 I_alpha I_beta。将 I_alpha I_beta 经过Park变换得到 Id,Iq。计算 Id,Iq 和其设定值 Id_ref 和…...

免费 Oracle 各版本 离线帮助使用和介绍

文章目录 Oracle 各版本 离线帮助使用和介绍概要在线帮助下载离线文档包:解压离线文档:访问离线文档:导航使用:目录介绍Install and Upgrade(安装和升级):Administration(管理&#…...

刷题 二叉树

二叉树的核心思想 - 递归 - 将问题分解为子问题 题型 递归遍历迭代遍历层序遍历 bfs:队列各种递归题目:将问题分解为子问题二叉搜索树 - 中序遍历是递增序列 TreeNode* &prev 指针树形dp 面试经典 150 题 - 二叉树 104. 二叉树的最大深度 广度优…...

操作系统 | 学习笔记 | 王道 | 4.1 文件系统基础

4.文件管理 4.1 文件系统基础 4.1.1 文件的基本概念 定义 文件是以计算机硬盘为载体的存储在计算机上的信息集合,在用户进行的输入、输出中,以文件位基本单位。 文件管理系统是实现的文件的访问、修改和保存,对文件维护管理的系统。 文件的…...

var let const 之间的区别

在JavaScript中,var、let 和 const 是用于声明变量的三种关键字。它们之间有几个重要的区别: 1. 作用域 var: 声明的变量具有函数作用域,即在整个函数内都可以访问。如果在代码块内(如if或for)使用var,该…...

【springboot】简易模块化开发项目整合Swagger2

接上一项目【springboot】简易模块化开发项目整合MyBatis-plus,进行拓展项目 1.新建模块 右键项目→New→Module,新建一个模块 父项目选择fast-demo,命名为fast-demo-config,用于存放所有配置项 添加后,项目结构如图…...

【Linux第五课-进程概念下】环境变量、程序地址空间

目录 环境变量main参数 --- 命令行参数环境变量环境变量特性 --- 命令行操作main函数的参数获取环境变量environ获取环境变量getenv()获取环境变量unset移除本地变量或环境变量set显示本地变量 代码获取和设置环境变量 本地变量 程序地址空间什么是进程地址空间为什么有地址空间…...

mysql学习教程,从入门到精通,SQL 临时表(37)

1、SQL 临时表 在SQL中,临时表(Temporary Table)是一种在会话或连接期间临时存储数据的表。它们对于存储中间结果、简化复杂查询以及提高性能非常有用。以下是一个创建和使用临时表的示例。 假设我们有一个名为 employees 的表,…...

算法闭关修炼百题计划(四)

仅供个人复习 1.两数相加2.寻找峰值6.岛屿的最大面积3.最大数4.会议室5.最长连续序列6.寻找两个正序数组的中位数 1.两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请…...

头歌实践教学平台 大数据编程 实训答案(二)

第三阶段 Spark算子综合案例 Spark算子综合案例 - JAVA篇 第1关:WordCount - 词频统计 任务描述 本关任务:使用 Spark Core 知识编写一个词频统计程序。 相关知识 略 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下: …...

路由交换实验指南

案例 01:部署使用 eNSP 平台实验需求: 安装华为 eNSP 网络模拟平台打开 eNSP 平台,新建拓扑并绘制网络能够成功启动交换机、计算机设备 实验步骤: 安装华为 eNSP 网络模拟平台启动安装程序 配置安装内容 防护墙允许 eNSP 程序的…...

了解网页 blob 链接

blob 链接 自从 HTML5 提供了 video 标签,在网页中播放视频变得非常简单,只要在代码中插入一个 video 标签,再将 video 标签的 src 属性设置为视频的链接就可以了。由于 src 指向的是视频文件真实的地址,所以当我们通过浏览器的调…...

OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离

OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离 —— 2024-10-02 下午 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离1.代码图片2.分析3.UML4.代码 1.代码图片 运行 Mouse button 1 pressed at (1…...

低代码时代的企业信息化:规范与标准化的重要性

在当今数字化转型的浪潮中,企业的信息化建设正逐步向低代码平台倾斜。低代码不仅仅是简化开发过程,更是对企业内部流程、规范和标准化的深刻理解与应用。本文将探讨低代码在企业信息化中的重要性,特别是在运维和开发流程中的标准化&#xff0…...

理解无监督学习、无监督图像分割

系列文章目录 文章目录 系列文章目录一、无监督学习如何学习 能不能举一个非常具体的例子,带着运算过程的例子总结 二、在图像分割中呢,具体怎样实现无监督示例:使用自编码器和k-means进行无监督图像分割1. **数据准备**2. **构建自编码器**3…...

C语言— exec系列函数

exec系列函数 在C语言编程中,exec 系列函数用于在当前进程中执行一个新程序,从而替换当前进程的映像。这些函数不会返回,除非发生错误。exec 系列函数有多个变体,其中最常用的包括 execl, execle, execlp, execv, execve, execvp…...

命名管道Linux

管道是 毫不相关的进程进程间通信::命名管道 管道 首先自己要用用户层缓冲区,还得把用户层缓冲区拷贝到管道里,(从键盘里输入数据到用户层缓冲区里面),然后用户层缓冲区通过系统调用(write)写…...

【ios】---swift开发从入门到放弃

swift开发从入门到放弃 环境swift入门变量与常量类型安全和类型推断print函数字符串整数双精度布尔运算符数组集合set字典区间元祖可选类型循环语句条件语句switch语句函数枚举类型闭包数组方法结构体 环境 1.在App Store下载Xcode 2.新建项目(可以先使用这个&…...

【AUTOSAR 基础软件】PduR模块详解(通信路由)

文章包含了AUTOSAR基础软件(BSW)中PduR模块相关的内容详解。本文从AUTOSAR规范解析,ISOLAR-AB配置以及模块相关代码分析三个维度来帮读者清晰的认识和了解PduR这一基础软件模块。文中涉及的ISOLAR-AB配置以及模块相关代码都是依托于ETAS提供的…...

[控制理论]—差分变换法与双线性变换法的基本原理和代码实现

差分变换法与双线性变换法的基本原理和代码实现 1.差分变换法 差分变换法就是把微分方程中的导数用有限差分来近似等效,得到一个与原微分方程逼近的差分方程。 差分变换法包括后向差分与前向差分。 1.1 后向差分法 差分变换如下: d e ( t ) d t e…...

DistroAV(原OBS-NDI)完整使用指南:NDI技术在OBS中的高效应用

DistroAV(原OBS-NDI)完整使用指南:NDI技术在OBS中的高效应用 【免费下载链接】obs-ndi DistroAV (formerly OBS-NDI): NDI integration for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-ndi DistroAV(原名…...

从欧氏距离到余弦相似度:5种距离度量如何影响你的KNN模型?用Scikit-learn实战对比

从欧氏距离到余弦相似度:5种距离度量如何影响你的KNN模型?用Scikit-learn实战对比 在机器学习的世界里,K近邻算法(KNN)因其简单直观而广受欢迎。但很多实践者往往只关注k值的选择,却忽略了另一个同等重要的超参数——距离度量。就…...

如何优化NovelReader性能:10个技巧降低内存使用率

如何优化NovelReader性能:10个技巧降低内存使用率 【免费下载链接】NovelReader 仿照"任阅"的追书、看书的小说阅读器。重写"任阅"的代码,优化代码逻辑和代码结构,降低内存使用率。重写小说阅读器,支持网络阅…...

kagent架构深度解析:4大核心组件如何协同构建云原生AI智能体平台

kagent架构深度解析:4大核心组件如何协同构建云原生AI智能体平台 【免费下载链接】kagent Cloud Native Agentic AI | Discord: https://bit.ly/kagentdiscord 项目地址: https://gitcode.com/gh_mirrors/ka/kagent kagent是一个专为Kubernetes设计的云原生A…...

终极指南:如何快速免费实现全网页截图完整捕获

终极指南:如何快速免费实现全网页截图完整捕获 【免费下载链接】full-page-screen-capture-chrome-extension One-click full page screen captures in Google Chrome 项目地址: https://gitcode.com/gh_mirrors/fu/full-page-screen-capture-chrome-extension …...

深度工程判断力 × Claude Code:老法师怎么用全链路 AI 原生开发把 5 人 2 个月的交付,1 个人 30 天做完

去年,如果一家公司说:“我们 80% 的代码是 AI 写的。” 你大概会点点头,心里想:行,PPT 先收一下,投资人已经在路上了。 但今天再听到这句话,反应变了:才 80%?为什么还有 …...

别再硬套RBAC了!用Filebrowser的‘文件夹规则’搞定多级文件权限(附实战配置)

别再硬套RBAC了!用Filebrowser的‘文件夹规则’搞定多级文件权限(附实战配置) 在权限管理的世界里,RBAC(基于角色的访问控制)早已成为行业标准,但你是否遇到过这样的场景:一个只有三…...

HCK代码实现原理:揭秘AI辅助学术分析的核心算法

HCK代码实现原理:揭秘AI辅助学术分析的核心算法 【免费下载链接】sala-do-futuro-script O HCK um script de anlise acadmica assistida por IA, projetado para auxiliar estudantes na resoluo de questes de tarefas e provas da plataforma sala do futuro. …...

2026年238个好发CCF-A的强化学习idea全面汇总!

最近强化学习领域迎来重磅进展!强化学习之父R.S.Sutton 提出了一种全新的范式:Intentional Updates机制!其不再盲目预设步长,而是先设定一个预期的输出改变目标,实现了内存消耗降低10-100倍的同时,性能依然…...

Tunasync镜像同步工具:清华大学TUNA团队的高效解决方案

Tunasync镜像同步工具:清华大学TUNA团队的高效解决方案 【免费下载链接】tunasync Mirror job management tool. 项目地址: https://gitcode.com/gh_mirrors/tu/tunasync Tunasync是清华大学TUNA团队开发的一款专业镜像同步管理工具,为开源社区提…...