天下乌鸦一般黑 发表于 2020-7-10 20:38:46

最近在玩有感foc,电机在0速度时,有震动,求改进思路

背景:最近在玩有感foc,8极对数电机,编码器分辨率2048。
我遇到两个问题不知道该怎么办。
1:速度环,该怎么调呢。如何给定初始速度和目标速度呢?比如,是从0速,然后直接给期望速度到1000,还是期望速度到2000,或是其他的什么速度呢?再比如,是从1000速度,然后给期望速度2000,还是给3000呢,有点迷茫啊我。
2:还是速度环,在期望速度是0的时候,用手摸电机,有震动感,我玩过大疆的gm6020,它是不振的。但是我又不知道该怎么办。
有大神路过么,睡前无聊了来指点指点吧。。。

armok. 发表于 2020-7-12 02:41:54

打赏!

庆祝论坛“打赏”功能实施, 现在开始发技术主题,可以获得打赏
https://www.amobbs.com/thread-5735948-1-1.html

motor_control 发表于 2020-7-12 09:40:38

嗨!兄弟,是不是要做简易交流伺服啊?

你的问题应当先换个顺序,先2后1。
对于2,就是要获得平滑和延时小的速度信号,想通过简单的位置差分加滤波是很难获得所需的信号的,不然大家岂不都会做了?这不比无感方波控制,高中水平都可以搞搞。建议使用速度观测器,这是专业伺服使用的方法。另外,硬件也要仔细设计,不然电流环噪音也是影响很大的。
对于1,你搞个100毫秒周期的从零到300rpm的速度参考指令,只是参考,并不唯一哈。然后用jscope 观察速度响应,调节pid 系数就好了。

chenchaoting 发表于 2020-7-12 10:41:36

motor_control 发表于 2020-7-12 09:40
嗨!兄弟,是不是要做简易交流伺服啊?

你的问题应当先换个顺序,先2后1。


大佬,你啥时候再出套件

motor_control 发表于 2020-7-12 12:34:27

chenchaoting 发表于 2020-7-12 10:41
大佬,你啥时候再出套件

不用出套件,自己照我上次给的原理图画一个就可以了。现在打样很便宜,这样还简单些。

823032003 发表于 2020-7-12 13:25:54

零转速的时候,KpKi可以小点,对震动应该能改善

mtswz.213 发表于 2020-7-12 15:05:32

有没有死区补偿,有的话关掉,编码器测速用的什么方法,要适当加一些滤波

天下乌鸦一般黑 发表于 2020-7-12 19:14:12

motor_control 发表于 2020-7-12 09:40
嗨!兄弟,是不是要做简易交流伺服啊?

你的问题应当先换个顺序,先2后1。


对啊对啊~
我想用bldc电机做个满足我自己需求的伺服功能,调速,和定位。
大佬回复了,我就再顺便抛几个异常,最近深感转起来容易,转好了好难唉。好难。
1、大疆gm6020在纯电流环模式下,期望电流是0的时候,用手转动电机,能明显感觉到有电流反馈产生阻力,我的随便转,电机的电流环基本没反映都,我怀疑两种可能,当然,②的可能性最大。
    ①:大疆gm6020的额定转速不高,极对数应该挺大的,会不会极对数高的电机,更容易产生“电流环在期望电流为0的时候,用手拧电机,会感到反向阻力”现象呢。
    ②:电流环采样时间我是固定的,stm32的定时器溢出计数为4200,软件上svpwm的计数最大值为3800,电流采样触发时间设置在了4000,这个固定时间上,这种固定采样时间的设置方式我感觉有问题,正确的做法,是不是应该根据svpwm三相计数器的值中,最大的那个,在最大值的基础上加一个固定的延时量(也就是三个上桥臂关断之后,加
   个固定的延时),来采电流啊?
2、编码器测速相对于观测器测速,这么没有存在感么,观测器我还没学习,问下,用观测器,大概能做到最低多少转每分钟的转速呢,假如电机是8极对数。
3、关于滤波,我看松下a6伺服里有一堆低通滤波,我只会用Yout(n) = Yout(n-1) * K + Xin(n) * (1 - K)这种,该用哪种数字滤波器比较好呢,我看需要滤波的地方不少啊,速度指令输入可以滤波,编码器测速可以滤波,速度环pid输出到电流环的期望iq值也可以滤波,电流环采样的id和iq也可以滤波。。。

天下乌鸦一般黑 发表于 2020-7-12 19:15:32

823032003 发表于 2020-7-12 13:25
零转速的时候,KpKi可以小点,对震动应该能改善

是啊。增加死区,或者调整p和i,都可以改善。
但是我玩的大疆gm6020,一套固定的pid参数,在速度模式下,期望速度为0,既不震动,也有很大的力量对抗我用手去拧电机。

天下乌鸦一般黑 发表于 2020-7-12 19:16:12

mtswz.213 发表于 2020-7-12 15:05
有没有死区补偿,有的话关掉,编码器测速用的什么方法,要适当加一些滤波 ...

编码器测速是单位时间,数脉冲数。。。加了低通滤波,依然还是有这个震动。对了,编码器是磁编。

motor_control 发表于 2020-7-12 19:43:17

本帖最后由 motor_control 于 2020-7-12 19:51 编辑

低通滤波不是万能法宝,它会导致很大的延时!就容易振荡。做伺服还是需要一点数字滤波器的基础和控制理论的常识,我推荐你一本好书,先研读一下再去做就有方向了。国外写的《控制系统设计指南》,科尔摩根的专家写的。国内有一本交流伺服的书,黄色的,很多内容就是抄袭前面国外的,我上了当,你就不要买了。

国内的所有技术书藉之中,唯一值得购买和研读的就是王爽老师写的《汇编语言》,其他的汇编语言书籍基本就是狗屎。

你可以找一下深圳步科官网上的用户手册,有不少可资参考的东西。

霸气侧漏 发表于 2020-7-12 23:41:09

不错,搞伺服控制器了

天下乌鸦一般黑 发表于 2020-7-13 08:53:59

motor_control 发表于 2020-7-12 19:43
低通滤波不是万能法宝,它会导致很大的延时!就容易振荡。做伺服还是需要一点数字滤波器的基础和控制理论的 ...

记得在别的帖子里你推荐过,然后就买了。
基础差,里面大部分东西都没弄明白。
还在断断续续的学习。毕竟还有其他工作要做的。

天下乌鸦一般黑 发表于 2020-7-13 08:57:09

霸气侧漏 发表于 2020-7-12 23:41
不错,搞伺服控制器了

是啊,终究没逃过做驱动这件事,好在有效果。
无刷比有刷好用~
闭环比开环好用~
每处理好一个细节,就比上一个版本好用~
~~~我继续加油了。

jingzhongyue 发表于 2020-7-13 09:11:48

1、编码器的精度可以,速度环设定目标速度,调节实际速度跟随,期望速度根据加速度有一个加速过程
2、位置保持不动,可能存在电流保持
页: [1]
查看完整版本: 最近在玩有感foc,电机在0速度时,有震动,求改进思路