您好:我在使用关于LM629M-8控制器控制直流电机旋转的时候会出现丢转的情况,望高手帮忙解答:
初始化:8位模式;速度模式;定义当前位置为原点
我的实验过程如下:1)初始化LM629 – 写入PID参数 – 写入加速度 ,速度,电机正转转动,很稳;
运动过程中更改电机速度,在某一些转速的时候,出现丢转,比如设置电机转速33.33转/s, 电机稳,
设置电机转速50转/s ,电机实际49转/s;
2)初始化LM629 – 写入PID参数 – 写入加速度 ,速度,电机正转转动,很稳;
停止电机-写入速度,设置电机转速33.33转/s, 电机稳,
设置电机转速50转/s ,电机实际49转/s;
3)初始化LM629 – 写入PID参数 – 写入加速度 ,速度,电机正转转动,很稳;
停止电机-初始化LM629 – 写入PID参数 – 写入加速度 ,设置电机转速50转/s ,电机实际50转/s;
4)初始化LM629 – 写入PID参数 – 写入加速度 ,速度,电机正转转动,很稳;
停止电机 – 定义当前位置为原点 – 写入速度 ,设置电机转速50转/s ,电机实际49转/s;
5)初始化LM629 – 写入PID参数 – 写入加速度 ,速度,电机正转转动,很稳;
停止电机 – 定义当前位置为原点 – 写入PID参数 – 写入速度 ,设置电机转速50转/s ,电机实际49转/s;
6)初始化LM629 – 写入PID参数 – 写入加速度 ,速度,电机正转转动,很稳;
写LTRJ – 写0100指令 停止电机 – 写入速度 ,设置电机转速50转/s ,电机实际50转/s
且只有写0100有用,其他两种停止方式都不行。
而且若是出现丢转肯定是丢1转/s;
难道是每次更改速度参数之前都必须要停止电机,这样岂不是实现不了运动过程中的电机控制?
user151383853:
你的猜测没有道理, 当然怎么设置有点关系, 但是不会为特定的转速出现误差. 不过这个问题跟 PID 的参数有比较大的关系
xiaoyu Li:
回复 user151383853:
如果是pid参数的问题,你觉得是 积分环节 控制稳态误差控制的不好么?那为什么每次给LTRJ 写motor off 0x0100 再加载速度电机在50r/s的时候就能稳,而给LTRJ写0x0200 最大阻尼停止电机 和0x0400 按照加速度减速停止电机的指令停止电机后,重新加载速度也会出现49r/s的情况呢。查看lm629的应用手册里面有写,当给LTRJ 写 0100让电机停止的时候,lm629的port 输出状态和其他两种方式是不一样的,和写速度参数0x00000000 也是用“类似”来描述的。在实验1的加载方式下,先是加载33.33r/s电机是稳的,更新速度到50r/s 速度是49r/s,继续更新速度到100/s 速度也是稳的,我也觉得可能是我自己可能哪里设置有问题,但是我实在是想不出来哪里的问题。