三菱PLC控制步进电机,然后用编码器反馈这怎么做啊?

三菱PLC控制步进电机,然后用编码器反馈这怎么做啊?,第1张

发送脉冲数时把脉冲量设置为0,就是无限发送脉冲,然后在中断程序里读取编码器脉冲数与你要发送的脉冲数进行比较,在快要达到你设定的脉冲数时把频率降低,然后在达到设定的脉冲数时停止脉冲发送指令。

应当用变频器的模拟输出功能,例如艾默生变频的AO功能,,或者端子输出功能,例如富士的FMA监视功能,选择输出电流选项,不知道你用的是什么品牌的变频,一般的变频器都有类似的功能,如所选的变频输出类型与DCS的信号类型有所差别,还可以再加一级信号处理,转换成所需的类型,这类信号转换的硬件市面上容易买得到

据我所知最常见的应该是光栅测位置。德国、日本、美国的伺服电机都安装了这种装置。你可以查看BEI公司的encoder。原理是里面有发光二极管和检测二极管,光栅连接在转子上,随着转动,光栅规则的遮挡、不遮挡二极管信号。所以检测二极管上面的读数就是一个方波(其实实际是正弦波,不过这个细节不太重要)。

一个encoder里面总共有2组二极管,产生相位差90度的方波。

例如,一个光栅有1000条线,那么转子每转一周,会遮挡二极管1000次,产生1000个方波信号。每个信号对应的转子角度变化就是360°/1000。

一共2组二极管,对应状态++,+-,--,-+,每个状态占90°的相位,所以最终分辨率再除以4.即360/4000

组1:+ + - - + + - - + + - -

组2:+ - - ++ - - ++ - - +

这个组1的信号叫做A信号,

组2的信号叫做B信号。

通过这两个信号可以判断转子转过的角度。这两个信号的任何一个变化的时候,转子转过360/4000度。 转动方向通过信号的变化规则来判断。

除了A信号和B信号以外,还有一个叫做Z信号。Z信号是转子每转360给出一个信号,用来确定转子的绝对位置。

ABZ信号构成了光栅计的信号输出。这3个信号又称为“quadractic encoder interface”, 在TI,microchip等单片机中有对应的信号读取端口,你可以参见TI芯片的QEI模块。

回到你的问题,伺服电机如何测速。毕竟光栅只能测位置。

最简单的方法是两个采样点之间角度差除以采样间隔时间,这样推算出速度。说白了就是离散方式求微分。不过这个方法得到的速度会有比较大的杂散信号。

为了减小杂散信号,可以用一个低通滤波,这样比较简单的过滤noise。不过滤波的缺点就是有相角位移,导致信号有延时。在非常高精度快速的控制里不好用。

更高级的可以用一个控制系统里面的可观观测器(observer),这样输出的速度准确且noise小,不过这个用的人不多,所以他们控制的精度都不咋地。

当然,伺服电机的控制基础还是dq变换,所以比起控制速度,光栅计的到的位置信号更加重要,特别重要,最重要。有了位置信号,就可以控制转矩。有了转矩,才能控制速度。有了速度,才能控制位置。。

总之,实际的电机速度就是通过电机转矩内环来控制的。电机转矩内环通过电机电流内内环来控制。这就是电机双环控制,简化的结果叫做PID。不过PID的参数太难调,99%的人都是瞎扯淡,没有理论依据。最标准的做法是不简化双环控制,调2个PI环。

都是手打的哈。本人绝不复制粘贴


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11998390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存