MALT 入门

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

定位马尔特

马尔特前部 (环境面) 马尔特背面 (面向屏幕)
MAL Front 马尔特回来

设置硬件

马尔特的硬件设置图片

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

  2. 使用彩虹丝带电缆将马尔特控制器板连接到 Arduino Mega 的后引脚。

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

    注意

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

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

    重置按钮。

获取必要的文件

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

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

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

更新 MALT 固件

MALT 由 Arduino 运行,它要求固件设置和与马尔特板上的传感器交互。

  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
    

    预期输出如下:

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

校准MALTE颜色传感器

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

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

  2. 打开 SensorExplorer 并导航到左侧的“马尔特”选项卡(#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. 原始或未自变量值是在应用任何数学或校准之前,当前未自变量的MALTE颜色传感器中得出的值。 通过将 MALT 指向从中收集已知值的相同显示颜色来收集这些值来收集这些值。 此步骤非常重要,使公式可靠。 确定是校准面向屏幕的传感器还是环境面传感器。 此决定将确定收集数据时要按下的 UI 按钮。

    将所需传感器指向下面的颜色块,并为要校准的传感器确定的每个颜色选择“读取屏幕”或读取环境”。

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

    这将填充原始未自变量值 3x3 矩阵,应如下图所示。

    原始值矩阵的屏幕截图。

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

    校准值矩阵的屏幕截图。

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

测试 MALT 校准

正确校准屏幕颜色传感器和环境颜色传感器后,通过选择 窗口顶部的“开始 ”,返回到“马尔特”部分的主选项卡。

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

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

故障排除

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

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

    • 接下来,检查所使用的电缆是否可以支持通过以太网(POE)。 所有 CAT5 或更高版本的电缆都支持此功能。

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

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

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

    • 确保在按 红色时将 MALT 传感器按住红色,按绿色时按 绿色,然后按 BLUE 时为 蓝色

    • 如果原始值仍然不同,请检查上面的 #1。

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

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

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

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