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

【嵌入式电机控制#31】FOC:霍尔安装误差的补偿

一、相关参数

        1. 01Hz:用来表示转速,在速度模式和用户界面层使用,单位dHz,0.1Hz = 0.1 RPS

                        则有   1 [dHz] = 0.1 [Hz] = 0.1 [rps]

        (直接记住dhz就是0.1每秒弧度就OK)

        2. dpp:表示每个FOC周期内转子角度变化量(s16degree)角度值做积分即是转子电角度

        跟高中数学一样,当时是把360度化成2pi*系数,现在dpp是把360度化成 系数/65535*2pi

        用来表示一个FOC执行周期(中断间隔)变化了多少个s16(65535max)系数。

        其实很简单吧

        

               由于(1)RPS和01Hz存在以下关系

                

             可以推导出dpp和01Hz的关系

        

        (3)霍尔测速方法回顾

        

                我们利用的是输入捕获中断取计数值的方法来进行平均值估计,

                首先,我们需要设定一个定时器计数频率作为计数值累加的基础

                其次,我们利用输入捕获中断在每次霍尔出现边沿时,取得本次计数值并清零。

                这样,我们就可以通过多次采样求出霍尔频率在时间域的加权平均值

                在进行控制时,我们常直接用霍尔频率为计算量

二、补偿法解决安装误差                

        在六步方波控制中,我们使用的是离散换相逻辑,换相直接与霍尔信号绑定,所以不需要考虑中断周期的延迟问题。        

        在FOC中,SDK库不仅需要把霍尔频率算出来,还需要让它与FOC控制周期(中断周期)相关联

        计算公式如下:

        

        换算为dpp格式为

        

       因为FOC频率比霍尔信号要高很多(通常设定为PWM周期),所以实际应用中sensorspeed无法被准确测出来。

        所以我们常采用补偿法进行霍尔频率估计

        我们从时序上分析,如果FOC频率过高,偏差时如何产生的 

            

        比如上图这种情况,第一次虚线霍尔信号为60度,到第二次虚线时,其实电角度已经是120了 ,但是我们并没有采样出霍尔信号的变化

        对于这种问题的补偿法,给出以下公式:

        补偿霍尔频率 = FOC测出电角度 - 采样测出电角度 / (FOC频率/速度采样频率)

        反馈霍尔频率 = 定时器捕获出的霍尔频率 + 补偿频率

        推导过程过于复杂且与工程实践没有密切联系,大家只需要记得在FOC时进行霍尔安装误差校准即可

http://www.dtcms.com/a/328849.html

相关文章:

  • Unity:GUI笔记(二)——工具栏和选择网格、滚动列表和分组、窗口、自定义皮肤样式、自动布局
  • Linux系统有何特点?linux系统组成如何?
  • NTUSER.DAT是什么文件
  • 华为云之Redis部署及基础语法
  • 遨游通讯推出两款三防平板,满足“危急特”场景定制化需求
  • 《AVL树的原理与C++实现:详解平衡二叉搜索树的高效构建与操作》
  • ACL 可以限制哪些流量?入方向和出方向怎么判断?
  • 高级IO(五种IO模型介绍)
  • wordpress不同页面调用不同keywords和description
  • STM32CubeMX + HAL 库:用FSMC接口与IS62WV51216芯片实现stm32外部SRAM扩展
  • csp知识基础——贪心算法
  • Java协程深度教程:从概念到Spring Boot实战
  • XCZU6CG-2FFVC900I Xilinx FPGA AMD ZynqUltraScale+ MPSoC
  • 【计算机网络】王道考研笔记整理(4)网络层
  • 【C++】哈希的应用:位图和布隆过滤器
  • VMD+皮尔逊+降噪+重构(送报告+PPT)Matlab程序
  • Java Record 类 — 简化不可变对象的写法
  • MATLAB 绘图速查笔记
  • 模式设计:策略模式及其应用场景
  • Vue3 中 <script setup> 场景下,需要手动导入和不需要手动导入的内容整理
  • HarmonyOS Navigation路由跳转的完整示例
  • 【Qt开发】常用控件(三) -> geometry
  • 重生之我在公司写前端 | “博灵语音通知终端” | 登录页面
  • Swift 实战:从数据流到不重叠区间的高效转换
  • 《书写范式》——代码如诗,诗娟代码(Python)(附精巧“九九表”生成代码)
  • 《Linux基础知识-2》
  • 【2025】Datawhale AI夏令营-多模态RAG-Task3笔记-解决方案进阶
  • HGDB的分区表实现SQL Server的分区视图
  • 邀您参与 “直通乌镇” Spring AI Alibaba 开源竞技挑战赛!
  • 2025 最应避免的摄影陷阱以及解决方案