Main Content

Hall Validity

计算转子旋转方向和霍尔传感器序列有效性

自 R2020a 起

库:
Motor Control Blockset / Sensor Decoders

描述

Hall Validity 模块会检查并验证霍尔传感器输出序列的每个状态。该模块能识别一个或多个霍尔传感器处于无效状态时的情况。

当霍尔传感器输出状态(或霍尔状态)发生变化时,该模块便会执行。

端口

输入

全部展开

当前时间的霍尔状态。以下是可能的输入值(三位数,其中 MSB 表示连接的第一个霍尔的输出):

  • 5 - (101)

  • 4 - (100)

  • 6 - (110)

  • 2 - (010)

  • 3 - (011)

  • 1 - (001)

注意

输出端口 Invalid 指示霍尔传感器的状态有问题。

数据类型: uint8 | uint16 | uint32

当前状态之前的霍尔状态。

数据类型: uint8 | uint16 | uint32

外部计数器值,模块使用该值来确定霍尔状态变化和模块执行之间所经历的时间。

注意

当霍尔状态发生变化时,计数器必须重置。

数据类型: uint8 | uint16 | uint32

在之前的霍尔状态期间,转子旋转的方向(+1 或 -1,分别表示正或负旋转方向)。

数据类型: uint8 | uint16 | uint32

输出

全部展开

当前或之前霍尔状态期间霍尔传感器有效性的指示符。该模块通过将 HallValPrevHallVal 输入端口的值与 Expected hall sequence in positive direction 参数的值进行比较来检查传感器的有效性。端口可以输出下列值:

  • 1 - (001) 表示一个(或多个)传感器损坏。

  • 0 - (000) 表示所有传感器都状态良好。

数据类型: single | double | fixed point

霍尔状态更改时 Cnt 输入端口的值。

注意

当霍尔状态发生变化时,计数器必须重置。因此,此端口指示前一霍尔状态期间的计数次数。

数据类型: single | double | fixed point

在当前霍尔状态期间,转子旋转的方向(+1 或 - 1 分别表示正向或负向旋转)。该模块通过将 HallValPrevHallVal 输入端口的值与 Expected hall sequence in positive direction 参数的值进行比较来计算方向。

数据类型: single | double | fixed point

当以下任一情形或两种情形同时发生时,端口输出为零:

  • 模块检测到霍尔传感器状态有问题(输入端口值为 HallValPrevHallVal)。

  • 模块检测到转子旋转方向发生了变化。

零值表示您无法计算当前霍尔状态的有效转速,因为 SpdCnt 的当前值无效。端口输出值 1,表示可以进行有效的转速计算。

数据类型: single | double | fixed point

在霍尔状态更改并且模块已完成执行后,端口输出值 1(并将霍尔状态更改标志设置为 1)。

数据类型: single | double | fixed point

参数

全部展开

表示转子旋转正方向的霍尔传感器序列。

您可以输入的自定义序列,用于表示转子正向旋转。

依存关系

要启用此参数,请将 Expected hall sequence in positive direction 设置为 Custom sequence

外部计数器的寄存器大小。最大计数器值为 2n-1,其中 n = 计数器大小。

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2020a 中推出