Hall Speed and Position
库:
Motor Control Blockset /
Sensor Decoders
描述
Hall Speed and Position 模块通过跟踪霍尔状态的变化来计算转子的机械转速。该模块还通过使用方向、霍尔状态和外部计数器值输入来估计转子的电气位置。
该模块在控制器算法定义的固定时间间隔后周期性地执行。
示例
PMSM 的霍尔偏移量校准
此示例计算转子直轴(d
轴)和霍尔传感器检测到的位置之间的偏移量。磁场定向控制 (FOC) 算法需要此位置偏移量来正确运行永磁同步电机 (PMSM)。为了计算偏移量,目标模型在开环条件下运行电机。该模型使用常量 (沿定子 d
轴的电压)和零值 (沿定子 q
轴的电压),通过使用位置或斜坡发生器来运行电机(以低恒定转速)。当位置或斜坡值达到零时,对应的转子位置就是霍尔传感器的偏移值。
使用霍尔传感器的 PMSM 的磁场定向控制
此示例采用磁场定向控制 (FOC) 方法来控制三相永磁同步电机 (PMSM) 的转速。FOC 算法需要转子位置反馈,通过使用霍尔传感器获得该反馈。有关 FOC 的详细信息,请参阅磁场定向控制 (FOC)。
端口
输入
HallVal — 当前霍尔传感器输出状态
标量
当前时间的霍尔状态。例如,以下是可能的有效霍尔状态(其中 MSB 表示连接的第一个霍尔传感器的输出):
5 - (101)
4 - (100)
6 - (110)
2 - (010)
3 - (011)
1 - (001)
数据类型: uint8
| uint16
| uint32
Cnt — 外部计数器值
标量
外部计数器值,模块使用该值来确定霍尔状态变化和模块执行之间所经历的时间。
数据类型: uint8
| uint16
| uint32
SpdCnt — 霍尔状态更改时的计数
标量
此值表示霍尔状态两次连续变化之间经过的时钟周期(时间)。
数据类型: uint8
| uint16
| uint32
Dir — 当前霍尔状态下的转子旋转方向
标量
在当前霍尔状态期间,转子旋转的方向(+1 或 - 1 分别表示正向或负向旋转)。
数据类型: int8
| int16
| int32
SpdVal — 当前和先前霍尔状态与转速计算的有效性
标量
端口值指示霍尔状态有效性。零值表示当前或先前的霍尔状态无效,并且该模块无法计算转速和位置。
值 1 表示当前和先前的霍尔状态都有效,并且该模块可以计算转速和位置。
数据类型: uint8
| uint16
| uint32
HallChng — 霍尔状态更改标志的值
标量
端口值指示霍尔状态更改和模块执行状态。值 1 表示霍尔状态更改,但模块执行处于挂起状态。值零表示该模块已完成最后一次霍尔状态更改的执行。
数据类型: uint8
| uint16
| uint32
输出
θe — 转子的电气位置
标量
基于预期正向霍尔序列参数以及 Direction
、HallVal
和 CounterValue
输入的估计的转子电气位置。
依存关系
要启用此端口,请将模块输出设置为位置或转速和位置。
数据类型: single
| double
| fixed point
⍵m — 转子的机械转速
标量
转子的机械转速,单位为每分钟转数。模块通过跟踪霍尔状态变化来计算此值。
如果 SpdVal
输入为零,则端口返回零。
依存关系
要启用此端口,请将模块输出设置为转速或转速和位置。
数据类型: single
| double
| fixed point
HallChngRst — 将霍尔状态更改标志重置为零
标量
端口输出零值(将霍尔状态更改标志设置为零),表示该模块已成功执行最后一次霍尔状态更改的转速和位置计算。
数据类型: single
| double
| fixed point
参数
常规
模块输出 — 选择输出端口
转速和位置 (默认) | 转速 | 位置
选择可用的模块输出端口作为以下值之一:
转速和位置
转速
位置
计数器大小 — 外部计数器寄存器的大小
32 位 (默认) | 8 位 | 16 位
外部计数器的寄存器大小。最大计数器值为 ,其中 = 计数器大小。
计数器时钟频率(Hz) — 外部计数器的时钟频率
90e6
(默认) | 标量
外部计数器的时钟频率。
离散步长(秒) — 采样时间,在此采样时间过后模块将再次执行
50e-6
(默认) | 标量
两次连续的模块执行之间的时间。
极对数 — 电机中可用的极对数
8
(默认) | 标量
电机中可用的极对数。
最小可探测转速(RPM) — 模块可以检测到的最小转速
20
(默认) | 标量
转速低于此值时,模块不会计算位置。
转速测量间隔 — 模块测量转速的时间间隔
每 180 度 (默认) | 每 60 度
转子角位移,表示计算 SpdCnt
端口值的间隔。
转速单位 — 转子角速度输出的单位
弧度/秒 (默认) | 度/秒 | RPM | 标幺
角速度或机械转速 (⍵m
) 输出的单位。
依存关系
要启用此参数,请将模块输出设置为转速或转速和位置。
转速数据类型 — 转子角速度输出的数据类型
单精度 (默认) | 双精度 | 定点
转子角速度输出的数据类型。
依存关系
要启用此参数,请将模块输出设置为转速或转速和位置。
位置
预期正向霍尔序列 — 指示正方向的序列
ABC (默认) | CBA | 自定义序列
表示转子旋转正方向的霍尔传感器序列。
依存关系
要启用此参数,请将模块输出设置为位置或转速和位置。
序列 — 指示正方向的自定义序列
[5,4,6,2,3,1]
(默认) | 标量
您可以输入的自定义序列,用于表示转子正向旋转。
依存关系
要启用此参数,请进行如下设置:
将模块输出设置为位置或转速和位置。
将预期正向霍尔序列设置为自定义序列。
位置外插阶数 — 表示位置计算的精度
一阶 (默认) | 二阶
一阶 选项在计算位置时不太精确,但速度很快。二阶 选项更精确,但需要更多计算时间。以下方程描述选项:
其中:
= 使用一阶外插方法计算的位置。
= 使用二阶外插方法计算的位置。
= 由霍尔传感器输出定义的扇形角。
= 转子的角速度。
= 转子的角加速度。
= 在一个扇区中花费的时间。
依存关系
要启用此参数,请将模块输出设置为位置或转速和位置。
位置单位 — 角位置输出的单位
弧度 (默认) | 度 | 标幺
角位置输出的单位。
依存关系
要启用此参数,请将模块输出设置为位置或转速和位置。
位置数据类型 — 角位置输出的数据类型
单精度 (默认) | 双精度 | 定点
角位置输出的数据类型。
依存关系
要启用此参数,请将模块输出设置为位置或转速和位置。
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2020a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)