【转】伺服电机三环控制的原理(位置环,运动环,电流环)

2024-02-17 03:08

本文主要是介绍【转】伺服电机三环控制的原理(位置环,运动环,电流环),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


运动伺服一般都是三环控制系统,从内到外依次是电流环速度环位置环。

1、首先电流环:电流环的输入是速度环PID调节后的那个输出,我们称为“电流环给定”吧,然后呢就是电流环的这个给定和“电流环的反馈”值进行比较后的差值在电流环内做PID调节输出给电机,“电流环的输出”就是电机的每相的相电流,“电流环的反馈”不是编码器的反馈而是在驱动器内部安装在每相的霍尔元件(磁场感应变为电流电压信号)反馈给电流环的。

  2、速度环:速度环的输入就是位置环PID调节后的输出以及位置设定的前馈值,我们称为“速度设定”,这个“速度设定”和“速度环反馈”值进行比较后的差值在速度环做PID调节(主要是比例增益和积分处理)后输出就是上面讲到的“电流环的给定”。速度环的反馈来自于编码器的反馈后的值经过“速度运算器”得到的。

  3、位置环:位置环的输入就是外部的脉冲(通常情况下,直接写数据到驱动器地址的伺服例外),外部的脉冲经过平滑滤波处理和电子齿轮计算后作为“位置环的设定”,设定和来自编码器反馈的脉冲信号经过偏差计数器的计算后的数值在经过位置环的PID调节(比例增益调节,无积分微分环节)后输出和位置给定的前馈信号的合值就构成了上面讲的速度环的给定。位置环的反馈也来自于编码器。

  编码器安装于伺服电机尾部,它和电流环没有任何联系,他采样来自于电机的转动而不是电机电流,和电流环的输入、输出、反馈没有任何联系。而电流环是在驱动器内部形成的,即使没有电机,只要在每相上安装模拟负载(例如电灯泡)电流环就能形成反馈工作。

    谈谈PID各自对差值调节对系统的影响:

  1、单独的P(比例)就是将差值进行成比例的运算,它的显著特点就是有差调节,有差的意义就是调节过程结束后,被调量不可能与设定值准确相等,它们之间一定有残差,残差具体值您可以通过比例关系计算出。增加比例将会有效减小残差并增加系统响应,但容易导致系统激烈震荡甚至不稳定。

  2、单独的I(积分)就是使调节器的输出信号的变化速度与差值信号成正比,大家不难理解,如果差值大,则积分环节的变化速度大,这个环节的正比常数的比例倒数我们在伺服系统里通常叫它为积分时间常数,积分时间常数越小意味着系统的变化速度越快,所以同样如果增大积分速度(也就是减小积分时间常数)将会降低控制系统的稳定程度,直到最后出现发散的震荡过程。这个环节最大的好处就是被调量最后是没有残差的。

  3、PI(比例积分)就是综合P和I的优点,利用P调节快速抵消干扰的影响,同时利用I调节消除残差。

  4、单独的D(微分)就是根据差值的方向和大小进行调节的,调节器的输出与差值对于时间的导数成正比,微分环节只能起到辅助的调节作用,它可以与其他调节结合成PD和PID调节。它的好处是可以根据被调节量(差值)的变化速度来进行调节,而不要等到出现了很大的偏差后才开始动作,其实就是赋予了调节器以某种程度上的预见性,可以增加系统对微小变化的响应特性。

5、PID综合作用可以使系统更加准确稳定的达到控制的期望。

伺服的电流环的PID常数一般都是在驱动器内部设定好的,操作使用者不需要更改。

  速度环主要进行PI(比例和积分),比例就是增益,所以我们要对速度增益和速度积分时间常数进行合适的调节才能达到理想效果。

  位置环主要进行P(比例)调节。对此我们只要设定位置环的比例增益就好了。

  位置环、速度环的参数调节没有什么固定的数值,要根据外部负载的机械传动连接方式、负载的运动方式、负载惯量、对速度、加速度要求以及电机本身的转子惯量和输出惯量等等很多条件来决定,调节的简单方法是在根据外部负载的情况进行大体经验的范围内将增益参数从小往大调,积分时间常数从大往小调,以不出现震动超调的稳态值为最佳值进行设定。

  当进行位置模式需要调节位置环时,最好先调节速度环(此时位置环的比例增益设定在经验值的最小值),调节速度环稳定后,在调节位置环增益,适量逐步增加,位置环的响应最好比速度环慢一点,不然也容易出现速度震荡。

这篇关于【转】伺服电机三环控制的原理(位置环,运动环,电流环)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716497

相关文章

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.