Dummy-Robot icon indicating copy to clipboard operation
Dummy-Robot copied to clipboard

电机按键功能问题

Open learner-f opened this issue 3 years ago • 9 comments

首先感谢稚晖君对先前问题的解答 在编译固件尺寸调整后,电机出现了这样的情况 电机首先可进行有明显阻力的转动,很快阻力就消失了,在短按key 1 后,电机轴完全锁死,应该就是使能闭环了,再次短按,轴可自由转动。 进行下一次短按后,再次进入闭环,但同时电机位置归零(如果顺时针10圈,归位就会逆时针10圈),随后key 1 的作用就是使电机在这两种情况切换。 此过程中长按key 1 效果同短按,并且key 2 没有起到作用 重新对电机上电后,电机作用失效了(按键没有起到作用,再次校准后也是),只有重新烧录后,才会出现上面的情况

learner-f avatar Feb 09 '22 02:02 learner-f

这个好像是一直在触发长按的功能,具体的按键功能我在README里面有写的:

同时按住两个按键上电,会自动进行编码器校准,如果首次校准失败可以通过这个方式重新校准 短按按键1在使能闭环/失能闭环间切换 长按按键1板子重启 短按按键2清除堵转保护 长按按键2将目标值归零(比如如果是在位置模式那位置会归零)

所以应该按键2才是你说的归零功能,我看看是不是代码版本有区别,晚点我同步一下

peng-zhihui avatar Feb 09 '22 03:02 peng-zhihui

你测试一下直接在Main函数里面的for循环添加以下代码测试一下:

if (motor.controller->modeRunning != Motor::MODE_COMMAND_VELOCITY)
            {
                motor.config.motionParams.ratedVelocity = boardConfig.velocityLimit;
                motor.controller->SetCtrlMode(Motor::MODE_COMMAND_VELOCITY);
            }
motor.controller->SetVelocitySetPoint(5*(float) motor.MOTOR_ONE_CIRCLE_SUBDIVIDE_STEPS));

然后按键1使能之后看看会不会转起来

peng-zhihui avatar Feb 09 '22 03:02 peng-zhihui

可以的,一直进行逆时针转动,断电后上电继续转动

learner-f avatar Feb 09 '22 03:02 learner-f

那就没问题了,这是正常的,代码也是最新的,你可以参考 interface_can.cpp 文件里的各个指令自己测试其他控制模式和参数设置

peng-zhihui avatar Feb 09 '22 03:02 peng-zhihui

参数都是浮点数,电流单位A,速度、位置单位是 n圈/s 和n圈

peng-zhihui avatar Feb 09 '22 03:02 peng-zhihui

那就没问题了,这是正常的,代码也是最新的,你可以参考 interface_can.cpp 文件里的各个指令自己测试其他控制模式和参数设置

我又写入其他电机测试,发现不需要按键,烧录后直接就转起来了,断电就停,上电就转

learner-f avatar Feb 09 '22 03:02 learner-f

Main文件里boardConfig里面有一个是enableMotorOnBoot,也就是上电自动使能,这个默认应该是false的,我估计是你之前Flash烧写没擦除,这部分数据不是默认的,建议用stlink utilities软件全片擦除一下重新烧写

peng-zhihui avatar Feb 09 '22 03:02 peng-zhihui

首先感谢稚晖君对先前问题的解答 在编译固件尺寸调整后,电机出现了这样的情况 电机首先可进行有明显阻力的转动,很快阻力就消失了,在短按key 1 后,电机轴完全锁死,应该就是使能闭环了,再次短按,轴可自由转动。 进行下一次短按后,再次进入闭环,但同时电机位置归零(如果顺时针10圈,归位就会逆时针10圈),随后key 1 的作用就是使电机在这两种情况切换。 此过程中长按key 1 效果同短按,并且key 2 没有起到作用 重新对电机上电后,电机作用失效了(按键没有起到作用,再次校准后也是),只有重新烧录后,才会出现上面的情况

请问一下,这个问题解决了吗?如果解决了,可以说一下方法吗?

StudenLin avatar Mar 06 '22 10:03 StudenLin

请问我的和楼主问题一样,只有在debug调试下按键1按一下取消闭环可以自由旋转,再按一下按键1使能闭环电机归为,断开调试后按键无反应,而且案件2始终未起作用

Adyzqaq avatar May 15 '23 09:05 Adyzqaq