资讯详情

资讯详情

【电机控制】OdriveFOC-无刷电机控制(指令篇——配置0.5.6版本!)

OdriveFOC-无刷电机控制指令篇文章目录前言一、打开Odrivetool1.Odrivetool二、配置1.报错处理2.设置编码器、电机参数3.校准编码器、电机参数三、闭环模式1.进入闭环模式2.位置环3.速度环四、json配置用现有例程直接用1.准备json文件2.加载json文件3.配置电机参数4.控制指令五、备用指令六、参考总结前言现在硬件平台已搭建软件已安装接下来就是关键的给控制器下发指令按照预想控制电机。没有搭建好的同学可看前文【电机控制】OdriveFOC-无刷电机控制硬件篇【电机控制】OdriveFOC-无刷电机控制指令篇【电机控制】OdriveFOC-无刷电机控制软件篇【电机控制】OdriveFOC无刷电机速度环位置环提示以下是本篇文章正文内容下面案例可供参考一、打开Odrivetool1.Odrivetool在开始菜单下点击键盘上的windows键输入cmd后Enter在连接好Odrive的情况下输入如下代码打开odrivetoolodrivetool有蓝色字样表示成功连接二、配置1.报错处理将配置重置为出厂默认值。odrv0.erase_configuration()#取消超速报错odrv0.axis1.controller.config.enable_overspeed_errorFalse#电源吸收电流的能力 单位(A)odrv0.config.dc_max_negative_current-32.设置编码器、电机参数电机极对数每个电机不一样问店家参数odrv0.axis0.motor.config.pole_pairs7设置编码器模式我的是AS5047P,ABZodrv0.axis0.encoder.config.modeENCODER_MODE_INCREMENTAL脉冲数为4000odrv0.axis0.encoder.config.cpr4000保存设置下次重启不用重新设置odrv0.save_configuration()3.校准编码器、电机参数校准电机参数会出现滴的一声然后电流滋滋声odrv0.axis0.requested_stateAXIS_STATE_MOTOR_CALIBRATION保存电机参数odrv0.axis0.motor.config.pre_calibratedTrue校准编码器会正转一圈反转一圈odrv0.axis0.requested_stateAXIS_STATE_ENCODER_OFFSET_CALIBRATION查看是否报错每一步都可以查看dump_errors(odrv0)Odrive校准电机编码器三、闭环模式1.进入闭环模式输入指令进入闭环速度环、位置环、电流环都需要这一步odrv0.axis0.requested_stateAXIS_STATE_CLOSED_LOOP_CONTROL2.位置环位置环设置odrv0.axis0.controller.config.control_modeCONTROL_MODE_POSITION_CONTROL设置转到第1圈的位置odrv0.axis0.controller.input_pos13.速度环速度环设置odrv0.axis0.controller.config.control_modeCONTROL_MODE_VELOCITY_CONTROL速度环增益设置odrv0.axis0.controller.config.vel_gain0.03设置以速度为5运转odrv0.axis0.controller.input_vel5四、json配置用现有例程直接用1.准备json文件首先你需要准备好配置文件这个文件的参数相当于例程直接准备好的配置文件下载链接2.加载json文件启动odrivetoolodrivetool擦除配置odrv0.erase_configuration()退出quit加载下载好的json文件注意你自己的路径这是我的路径每个人不一样odrivetool restore-config C:\Users\17802\Desktop\config.json再启动odrivetoolodrivetool3.配置电机参数电机极对数每个电机不一样问店家参数odrv0.axis0.motor.config.pole_pairs7设置编码器模式我的是AS5047P,ABZodrv0.axis0.encoder.config.modeENCODER_MODE_INCREMENTAL脉冲数为4000odrv0.axis0.encoder.config.cpr4000速度环增益设置如果抖动就调小我的一开始是0.5非常抖调到0.03平稳odrv0.axis0.controller.config.vel_gain0.03电流限幅看电机支持多少A我的是10A限幅如果是10A非常烫因此设置5Aodrv0.axis0.motor.config.current_lim5保存设置设置完毕后必须保存odrv0.save_configuration()4.控制指令以速度5位置10转动odrv0.axis0.controller.config.vel_limit5;odrv0.axis0.controller.input_pos10;五、备用指令将配置重置为出厂默认值。odrv0.erase_configuration()重启odrv0.reboot()保存设置设置完毕后必须保存odrv0.save_configuration()查看报错dump_errors(odrv0)清除报错dump_errors(odrv0,True)六、参考ODrive的操作演示——控制AS5047P、霍尔电机和轮毂电机总结本文仅仅简单介绍了OdriveFOC-无刷电机控制指令篇评论区欢迎讨论。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →