RoboMaster

标题: 【求助帖】云台初始化问题 [打印本页]

作者: zhengzhenchao    时间: 2019-3-4 10:56
标题: 【求助帖】云台初始化问题
我的想法就是让云台yaw轴上电初始化后就保持在当前的位置并锁死云台,不受外力影响保持不动。目前只是调一个yaw轴

pid的目标值是上电时当前位置的编码器值(即转子机械角度值)乘以一个小于1的系数,
pid的实际值是电机编码器值(即转子机械角度值乘以一个小于1的系数


实验现象:
当我用外力用手去转动6020电机使其逆时针转时,电机能够顺时针回到上电时初始位置;
但是当我用外力用手去转动6020电机使其顺时针转时,6020电机反而不会立即逆时针转回原来的位置,它是继续顺时针转一圈才回到原来的位置。



还有一个问题就是,如果我pid的目标值单纯是上电时当前位置的编码器值(即转子机械角度值),
pid的实际值单纯是电机编码器值(即转子机械角度值);它们都不乘以一个系数的话,再次运行代码,
电机就会顺时针不停的转。
请问能哪位大佬解释一下这是为什么吗?


图片为代码部分,请大佬解答一下小弟的疑惑?


[attach]21939[/attach][attach]21940[/attach][attach]21943[/attach]






作者: 快拆小分队    时间: 2019-3-4 11:08
好久没看到这么详细的问题!
作者: whl970831    时间: 2019-3-4 11:31
帮顶一下
作者: 火星探索    时间: 2019-3-4 11:33
大概猜一下:1.编码器没有记录圈数,没有做过零点检测。
2.试试用陀螺仪做反馈
作者: zhengzhenchao    时间: 2019-3-4 11:38
火星探索 发表于 2019-3-4 11:33
大概猜一下:1.编码器没有记录圈数,没有做过零点检测。
2.试试用陀螺仪做反馈 ...

编码器有记录圈数。
大哥,你所说的过零点检测,是指检测编码器值是否从0重新开始,是吗?
陀螺仪现在还没有加

作者: 火星探索    时间: 2019-3-4 11:52
zhengzhenchao 发表于 2019-3-4 11:38
编码器有记录圈数。
大哥,你所说的过零点检测,是指检测编码器值是否从0重新开始,是吗?
陀螺仪现在还 ...

在刚上电的位置,在这个时候是不需要编码器记录圈数的。
作者: zhengzhenchao    时间: 2019-3-4 12:03
火星探索 发表于 2019-3-4 11:52
在刚上电的位置,在这个时候是不需要编码器记录圈数的。

我在初始化的时候,结构体的成员(包括圈数)都为0
在初始化的时候,记录的是当前上电时的位置的编码器值(即转子机械角度ecd【0-8191】)






作者: 黄瓜皇    时间: 2019-11-23 17:05
就是加一个过圈嘛
作者: 此名为Ta    时间: 2019-11-23 18:10
具体的代码要根据具体的结构分析来写,你可以咨询下你的学长们写程序的思路是什么,每个学校代码都不相同的j
作者: BPJ    时间: 2019-11-24 17:48
这样看也看不出什么,可以是代码的逻辑问题,或者是电机的机械角度没有做过零点处理





欢迎光临 RoboMaster (https://bbs.robomaster.com/) Powered by Discuz! X3.2