编写代码
- 单片机
- 无刷直流电机
- 位置传感器
- 电源
我们就可以开始最激动人心的部分,写代码!
Arduino SimpleFOCShield 完全支持 Arduino SimpleFOClibrary ,因此请务必安装最新版本的 SimpleFOClibrary 。如果您仍然没有自己的库,请按照 安装说明 操作。
当开始为 Arduino SimpleFOCShield 编写代码时,建议的步骤是:
第 1 步. 测试传感器
首先确保你的传感器能正常工作,可以运行适用于你的传感器的实例。下面为SimpleFOCLibrary所支持的传感器的测试实例:
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
这个代码将计算你的电机的极对数。请多次运行此代码以获得更准确的计算。代码运行 7/10 次的结果比较准确(运行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
有关 SimpleFOCShield 项目的更多信息,请访问 项目实例 。