MALT 入门

本主题定义如何将固件上传到 MALT,以及如何使用 SensorExplorer 校准传感器。 建议控制微控制器的电脑也是受测系统或设备, (SUT/DUT) 。

定位 MALT

MALT 正面 (面向环境) 面向) 的 MALT (屏幕的背面
MALT Front MALT Back

设置硬件

MALT 的硬件设置图片

  1. 使用 USB 2.0 电缆类型 A/BArduino Mega 连接到设备。

  2. 使用彩虹带状电缆将 MALT 控制器板连接到 Arduino Mega 的后插针。

  3. 使用 CAT5 (x) 或 CAT6 (x) 电缆将 MALT 控制器板连接到 MALT 传感器板。 (Ex. CAT5、CAT5e、CAT6 等 )

    注意

    用于连接 MALT 控制器板和 MALT 传感器板的以太网电缆必须具有所有 8 根电线,并且这些电线不得交叉。

  4. 按 Arduino Mega 上的重置按钮。

    “重置”按钮。

获取必要的文件

  1. 在计算机的 C 驱动器上创建名为 MALT 的文件夹。 文件路径应为 C:\MALT。 我们将在此处放置所有必要的文件和克隆的存储库。

  2. busiotools 存储库 克隆到 MALT 文件夹。 文件路径应为 C:\MALT\busiotools

  3. SerialCommandSoftI2CMaster 存储库克隆到 MALT 文件夹。 文件路径应分别为 C:\MALT\Arduino-SerialCommandC:\MALT\SoftI2CMaster

更新 MALT 固件

MALT 由 Arduino 运行,它要求固件在 MALT 板上设置传感器并与之交互。

  1. 获取并设置 Arduino 命令行接口。

    1. 下载最新版本的 arduino-cli 并将其保存到计算机。

    2. 将 arduino-cli 添加到 PATH 变量(如果尚未添加)。

      注意

      请确保在将 arduino-cli 添加到 PATH 变量后关闭命令提示符并打开新的命令提示符!

    3. 从提升的命令提示符运行以下命令:

      arduino-cli config init
      arduino-cli core update-index
      arduino-cli core install arduino:avr
      
  2. 通过从提升的命令提示符运行以下命令,从 Arduino 库管理器添加必要的库:

    arduino-cli lib install MatrixMath
    arduino-cli lib install AsyncDelay
    
  3. 通过从提升的命令提示符运行以下命令来标识分配给 Arduino 的 COM 端口:

    arduino-cli board list
    
  4. 通过从提升的命令提示符运行以下命令,并将 COMX 中的 X 替换为上一步中标识的 COM 端口号,将固件上传到 Arduino:

    arduino-cli compile --fqbn arduino:avr:mega --port COMX --upload --library C:\MALT\Arduino-SerialCommand --library C:\MALT\SoftI2CMaster C:\MALT\busiotools\sensors\tools\MALT\Code\malt
    

    预期的输出如下所示:

    编译和上传过程的预期输出的屏幕截图。

校准 MALT 颜色传感器

MALT 的颜色传感器出厂时未针对真实世界颜色进行校准。 下面是校准过程,以确保获得准确的读数。 必须为环境颜色传感器和屏幕颜色传感器执行 MALT 校准。 此过程只需为每个传感器板完成一次,并且印刷电路板上的内存芯片将保存设置。 若要刷新设置,请按 arduino 上的重置按钮。

  1. 将 MALT 插入 SUT 上的 USB 端口。

  2. 打开 SensorExplorer 并导航到左侧的“MALT”选项卡 (#3) 。 在“ 设备选择 ”窗格中选择正确的 Vid/Pid“,然后选择” 连接到设备”。

    SensorExplorer 的屏幕截图,其中显示了如何连接串行设备。

  3. 选择窗口顶部的“ 校准 ”选项卡。

    SensorExplorer 的屏幕截图,其中显示了如何导航到“校准”选项卡。

  4. 已知颜色值是任何校准过程的关键,来自已校准且具有正确值的传感器。 使用手持外部校准设备(如 i1Display Pro)收集这些值,以捕获 XYZ 值和三个表示红色、绿色和蓝色的彩色光源。 可以使用下面的彩色框来校准手持设备。 任何具有可验证正确值的设备(如现有校准的电脑)都可用于查找这些数字。 这些 XYZ 值应大约在 0-100 范围内,才能最有效。 对红色显示器、蓝色显示器和绿色显示器执行此操作。

    红色块的图像绿色块的图像 蓝色块的图像

    使用以下模式将观察到的值放入 已知值 3x3 矩阵中:

    ┌                                                            ┐
    │Known RED X value | Known BLUE X value | Known GREEN X value│
    │Known RED Y value | Known BLUE Y value | Known GREEN Y value│
    |Known RED Z value | Known BLUE Z value | Known GREEN Z value│
    └                                                            ┘
    

    已知值 3x3 矩阵的屏幕截图。

  5. 原始值或未校准的值是在应用任何数学或校准之前从当前未校准的 MALT 颜色传感器中得出的值。 通过将 MALT 指向从中收集已知值的相同显示颜色来收集这些值。 此步骤非常重要,使公式可靠。 确定是校准面向屏幕的传感器还是面向环境传感器。 此决定将确定收集数据时要按下的 UI 按钮。

    按顺序将所需传感器指向以下颜色块,然后根据要校准的传感器确定的每个颜色选择“读取屏幕”读取环境”。

    红色块的图像绿色块的图像 蓝色块的图像

    这将填充原始未校准值 3x3 矩阵,应类似于下图。

    原始值矩阵的屏幕截图。

  6. 填充“已知值”和“原始未校准值”后,选择屏幕底部的“ 计算 ”按钮。 应填充“校准值 3x3”矩阵,类似于以下屏幕截图。

    校准值矩阵的屏幕截图。

    生成这些数字后,选择“校准顶部”校准底部”,由要校准的传感器确定。

测试 MALT 校准

正确校准屏幕颜色传感器和环境颜色传感器后,选择窗口顶部的“主页”,返回到 MALT 部分的“ 主页 ”选项卡。

SensorExplorer 的屏幕截图,显示如何导航到“主页”选项卡。

在“开始”选项卡上,应能够选择 “传感器数据” 标题下的任意按钮,并获取非负数。

疑难解答

  1. 校准时,无论按“读取屏幕红色”、“读取屏幕绿色”还是“读取屏幕蓝”,原始值都相同, (与“读取环境) 类似。

    • 确保 MALT 传感器板通过以太网电缆连接。

    • 接下来,检查正在使用的电缆可以支持以太网供电 (POE) 。 所有 CAT5 或更好的电缆都支持此功能。

    • 最后,如果确定电缆支持 POE,请尝试按 Arduino Mega 上的重置按钮。

  2. 校准时,按“ 计算 ”按钮后,校准矩阵在一个正方形中包含“NaN”。

    • 确保原始值为 RED、GREEN 和 BLUE 提供不同的数字。

    • 确保 按 RED 时将 MALT 传感器保留为红色,按绿色时为绿色,按 BLUE 时为 蓝色

    • 如果原始值仍然没有差异,检查上面的 #1。

  3. 完成校准后, (即选择校准顶部或校准底部) 传感器在主屏幕上读取不合理的值。

    • 确保确实选择了“ 校准顶部” 或“ 校准底部 ”按钮。

    • 如果确定在上述说明下正确校准了顶部和底部传感器,请发送电子邮件 sensortools@microsoft.com

如果此故障排除部分无法解决你的问题,请发送电子邮件至 sensortools@microsoft.com