Link

编写代码

当你将所有硬件连接好之后:

  • 微控制器
  • 无刷直流电机
  • 位置传感器
  • 电源

我们就可以开始最令人兴奋的部分——编码了!

SimpleFOCMini完全受Arduino SimpleFOC支持,因此请确保你安装了最新版本的SimpleFOC。如果你还没有获取该库的版本,请按照安装说明进行操作。

开始为Arduino SimpleFOCMini编码时,建议的步骤是:

你也可以参考我们的入门指南

步骤1. 测试传感器

首先要确保你的传感器能正常工作。运行库中针对你的传感器的示例之一。你可以在以下路径找到库示例:

utils >
    sensor_test >
            encoder >
             - encoder_example
             - encoder_software_interrupts_example
            magnetic_sensors >
             - magnetic_sensor_i2c_example
             - magnetic_sensor_spi_example
             - magnetic_sensor_analog_example
            hall_sensors >
             - hall_sensor_example
             - hall_sensor_software_interrupts_example

当你的传感器能读取到正确的值后,就可以继续测试电机和传感器的组合了。

更新示例引脚分配

测试传感器时,确保更新引脚分配。

步骤 2. 测试电机

在运行 FOC 算法之前测试无刷直流电机,我们建议运行开环示例!

motion_control >
    open_loop_motor_control >
             - open_loop_position_example
             - open_loop_velocity_example

更新示例引脚分配

测试电机时,确保更新你在硬件配置中选择的引脚分配。

如果你不确定你的电机有多少极对数,请查看示例代码:

utils >
    find_pole_pair_number >
             - encoder
             - magnetic_sensor

这段代码会估算你的电机的极对数。请多次运行这段代码以获得准确的估算结果。通常情况下,10 次中有 7 次能得到较好的读数。

步骤 3. 电压运动控制

当你的传感器正常工作,并且你知道了电机正确的极对数后,就可以开始使用 FOC 算法了。最佳做法是从电压控制的示例开始:

motion_control > 
        torque_voltage_control > 
                       - encoder
                       - magnetic_sensor
                       - hall_sensors

步骤 4. 更复杂的控制策略

当你准备好使用电压进行转矩控制后,就可以继续学习位置和速度控制算法了。这些算法需要多花一点时间进行调优,但能让你获得很好的结果。你可以通过以下路径找到运动控制环路的库示例:

motion_control > 
        position_motion_control > 
                       - encoder
                       - magnetic_sensor
                       - hall_sensors
        torque_voltage_control > 
                       - encoder
                       - magnetic_sensor
                       - hall_sensors
        velocity_motion_control > 
                       - encoder
                       - magnetic_sensor
                       - hall_sensors

要了解更多关于SimpleFOCMini的可能项目,请访问 示例项目