电机(一):直流有刷电机和舵机

声明:以下图片来自于正点原子,仅做学习笔记使用

电机专题:

直流电机:直流有刷BDC(内含电刷),直流无刷BLDC(大疆的M3508和M2006),无刷电机有以下三种形式:(第三种叫做永磁同步电机,换相方式为正弦波,前两种为方波)

步进电机:电脉冲信号驱动角位移或相位移

伺服电机:绝对服从驱动信号的控制,价格昂贵,如下图所示:

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

直流有刷BDC:

仅需调整电压即可调整转速,内部结构包括:定子(产生磁场),转子,换向器(改变绕组电流流向)和电刷,加上减速齿轮便可以获得较大的扭矩,直流电机关键参数:

加装霍尔传感器进行计数:

H桥驱动:

IR2104STRPBF:半桥式驱动器,输出电压:10V to 20V,输出电流:130 mA

要么Motor+输出为正,要么Motor-输出为正(光耦隔离输入输出反相)R22电压为0,此时MOS关断;R20电压为1,此时MOS打开接入GND,Motor+输出为负。这样传导的过程会有时间延迟,成为死区时间。

电机的启动停止通过控制SD_IN的高低电平即可实现,PWM需要使用互补PWM,例如TIM_CH1和TIM_CH1N,PWM的比较值决定了电机的速度

互补输出是指两个输出信号,它们是互补的,即当一个输出为高电平时,另一个输出必定为低电平,反之亦然。这种输出配置在数字电路中非常常见,用于控制逻辑门的状态,从而实现对外部设备的控制。

编码器:

通过在固定时间内测量编码器的脉冲数,可以计算出旋转角度或速度,进而推算出电机转速。

STM32的定时器编码器接口原理主要是利用编码器输出的正交信号(通常是A相和B相)来计算速度和方向。首先,编码器输出的A相和B相信号通过STM32的定时器输入捕获引脚接入到单片机中。这两个信号是相位差90度的正交信号,通常由光电编码器产生。

然后,STM32的定时器模块通过输入捕获功能对这两个信号进行采样。当A相和B相的信号发生变化时,定时器会捕获到这个变化并记录下当前的时间戳。

接下来,通过计算两个时间戳之间的差值,可以得到编码器的旋转速度。具体来说,如果A相和B相的信号变化越快,说明编码器的转速越快。

另外,通过比较A相和B相信号的先后顺序,可以判断编码器的旋转方向。例如,如果A相信号先于B相信号变化,说明编码器正转;反之,如果B相信号先于A相信号变化,说明编码器反转。

注意:定时器的通道1和2支持编码器功能,通道3和4不支持编码器功能

编码器的关键参数:

分辨率PPR:编码器可以测量的最小距离

精度:实际输出与测量值之间的误差

最大响应频率PPS:编码器每秒输出的最大脉冲数目

最大转速:编码器机械系统能承受的最大转速

函数:

冒泡排序在电机速度采样滤波中的作用原理主要表现在以下几个方面:

数据排序:冒泡排序可以对采集到的电机速度数据进行排序,将原始数据按照从小到大的顺序排列。这种排序操作可以使得速度数据从低到高逐渐增加,便于后续的处理和比较。

数据比较:冒泡排序算法的核心思想是比较相邻元素的大小,并进行交换位置。在电机速度采样滤波中,通过冒泡排序算法的比较过程,可以发现相邻数据之间的差异,从而检测到异常的突变数据。这些突变数据可能由于电机负载突变、干扰信号等原因产生,通过比较相邻数据可以有效地排除这些异常值。

数据去噪:通过冒泡排序的比较过程,可以识别出异常的突变数据,并将它们排除在最终的速度数据之外。这种去噪处理可以有效减少噪声干扰对电机速度测量的影响,提高测量结果的准确性和稳定性。

数据平滑:在经过冒泡排序的数据处理后,可以进一步对这些数据进行平滑处理,如滑动平均滤波等。平滑处理可以有效去除随机波动和偶然误差,使得最终的速度数据更加平滑和稳定。

一阶低通滤波在电机速度采样滤波中的作用原理主要是通过一阶线性系统对输入信号进行滤波处理,以抑制高频噪声并平滑输出信号。一阶低通滤波器通常由一个电阻和一个电容组成,形成一个RC电路。当输入信号加在一阶低通滤波器的输入端时,信号中的高频成分将被电容阻隔,而低频成分将通过电阻传递到输出端。因此,一阶低通滤波器能够有效地抑制高频噪声,保留低频信号。在电机速度采样滤波中,一阶低通滤波器的作用是将采集到的速度信号中的高频噪声成分滤除,保留低频变化成分。这种滤波处理能够减小电机速度测量中的随机噪声和突变干扰,提高测量结果的稳定性和准确性。

一阶低通滤波器的传递函数具有形式为(H(s) = \frac{1}{RCs + 1})的极点和零点。随着频率的增加,传递函数的幅度逐渐减小,并在截止频率处为0。因此,一阶低通滤波器在高频段具有衰减特性,能够有效地抑制噪声干扰。在实际应用中,需要根据具体需求选择合适的一阶低通滤波器参数,如电阻和电容值。此外,为了更好地适应不同场景下的速度采样滤波需求,还可以采用可调整参数的一阶低通滤波器设计,根据实际情况进行动态调整。

PID中:I越大消除静态误差的时间越短使尽快达到预期效果,但是过大导致超调或振荡(尤其针对惯性较大的系统),微分D过大会引入高频噪声,微分系数对系统的影响较小,一般调节重点在PI两个参数。

位置式PID和增量式PID是两种不同的PID控制算法,它们之间的主要区别在于对过去误差的累计和当前误差的计算方式。

位置式PID:位置式PID控制算法是一种非递推式算法,它根据整个过去的状态来计算控制输出。这意味着它会将误差的累加值用于控制输出,这使得位置式PID具有较大的累积误差。此外,每次输出都与过去的所有状态有关,导致计算量大,这可能会对执行机构产生较大的影响。位置式PID存在积分饱和问题:如果长时间无法达到目标,此时累积误差会变得很大导致系统响应很慢

增量式PID:增量式PID控制算法是一种递推算法,它只与当前拍和前两拍的误差有关。因此,增量式PID的输出只与最近的误差变化有关,这使得其具有较小的累积误差。此外,增量式PID输出的是控制量的增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等。

PID的三环控制:速度环,位置环,电流环

位置环:通过编码器当前的计数值反应电机的位置,表现出来的现象是电机转几周仍然会回到指定的位置。

双环控制中外环控制是最重要的考虑对象,内环控制用于对控制进行优化。

双环控制有效避免了对一个参数调整时另外一个参数的变化对系统的影响,表现为超调现象。

位置外环+速度内环能够很好的解决只有位置环时候的超调现象。在双环控制参数调节过程中一定注意外环PID的系数不要调节过大,尽量去调节内环。

在PID三环控制中,电流环控制对直流有刷电机具有以下意义:

提高控制精度:电流环作为最内环,能够快速响应电机的电流变化,减小电机电流的波动,从而提高控制精度。改善动态性能:通过电流环控制,可以快速地调节电机的输入电流,使其快速跟踪设定值,从而改善动态性能。增强稳定性:通过电流环控制,可以减小电机电流的波动,提高系统的稳定性。保护电机和控制系统:电流环控制可以限制电机的输入电流,防止过电流导致电机和控制系统损坏。

在PID三环控制中,位置环控制对直流有刷电机的意义主要在于实现精准的位置控制。

通过位置环控制,可以精确地控制电机的位置,使其达到设定的目标位置。位置环控制能够快速响应电机的位置变化,减小位置误差,提高控制精度和系统的稳定性。同时,位置环控制还可以通过调节电机的输入电压或电流,控制电机的速度和加速度,实现更加平滑和精确的运动控制。

闭环死区:即使PID控制器试图精确控制电机的速度,电机的实际旋转速度可能也不会精确地等于PID控制器期望的旋转速度。这可能会导致系统在目标位置附近来回振荡,或者根本就无法达到目标位置。

PID调试过程中的积分饱和问题是指,当系统存在一个方向的偏差时,PID控制器的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限位置。如果控制器输出继续增大,执行器开度无法再增大,此时计算机输出控制量超出了正常运行范围而进入饱和区。一旦系统出现反向偏差,输出逐渐从饱和区退出。进入饱和区越深则退出饱和区时间越长。在此段时间里,执行机构 仍然停留在极限位置而不随偏差反向而立即做出相应的改变,这时系统就像失控一样,造成控制性能恶化。这种现象称为积分饱和现象或积分失控现象。

所需的硬件资源:

3)定时器1、3、6

TIM1正常输出通道 PA8

TIM1互补输出通道 PB13

TIM3 编码器A相输入通道 PC6

TIM3 编码器B相输入通道 PC7

4)ADC

ADC1通道8 PB0(电流)

5)SD(刹车)信号输出 PF10

6)串口1

USART1_TX PB6(发送)

USART1_RX PB7(接收)

舵机:

舵机的5V供电与其他模块的隔开,舵机容易烧板子。下图为舵机信号线的改装形式(可以支持较大功率的舵机):SERVO2=1的时候三极管导通此时舵机信号线为GND状态;SERVO2=0的时候三极管截止此时舵机信号线为SRV+状态。

PWM的两个模式:(舵机采用PWM2,高电平有效,向上计数)

如果舵机没反应,用示波器查看脉冲周期是否为20ms,且高电平时间在0.5到25ms之间变化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/283880.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

超市订单管理系统

比较简单的超市订单管理系统

十大排序的个人总结之——选择排序

一、选择排序: 选择排序是所以用到它的时候,数据规模越小越好。 时间复杂度:无最好最坏,永远都是O(n) 不占用额外空间(唯一好处) 还不稳定(几乎已经被淘汰了的排序算法) 1. 算法…

基于Springboot实现天天生鲜销售电商平台

SSM毕设分享 基于Springboot实现天天生鲜销售电商平台 1 项目简介 Hi,各位同学好,这里是郑师兄! 今天向大家分享一个毕业设计项目作品【】 师兄根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 …

MySQL基础笔记(1)基础理论

一.基本概念 DB:数据库,存储数据的仓库,数据是有组织地进行存储DBMS:操纵和管理数据库的大型软件 SQL:结构化查询语言,操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准 &…

uniapp:实现手机端APP登录强制更新,从本地服务器下载新的apk更新,并使用WebSocket,实时强制在线用户更新

实现登录即更新,或实时监听更新 本文介绍的是在App打开启动的时候调用更新,点击下方链接,查看使用WebSocket实现实时通知在线用户更新。 uniapp:全局消息是推送,实现app在线更新,WebSocket,ap…

ECharts与Excel的火花

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、ECharts:现代数据可视化的利器 二、Excel:经典的数据处理与分析工具 三、ECharts与Excel的结合&#…

Linux软件包管理器——yum命令

如何使用yum 一、快速认识yum(简单介绍)二、快速使用yum2.1 rzsz2.2 linux命令行小游戏和彩蛋 三、yum的整个生态问题 一、快速认识yum(简单介绍) Linux中我们也要进行工具/指令/程序,安装,检查卸载等,需要yum的软件 安装软件的方式&#xf…

视频合并软件,重塑你的创意世界

在数字化的世界里,视频已经成为了我们表达自我、传递信息的重要方式。而合并视频,更是将这种表达推向了一个新的高度。通过简单的操作,我们不仅能够将不同的视频完美地融合在一起,更能赋予它们全新的含义。 所需工具:…

HarmonyOS4.0系统性深入开发11通过message事件刷新卡片内容

通过message事件刷新卡片内容 在卡片页面中可以通过postCardAction接口触发message事件拉起FormExtensionAbility,然后由FormExtensionAbility刷新卡片内容,下面是这种刷新方式的简单示例。 在卡片页面通过注册Button的onClick点击事件回调,…

ShuffleNet V2:高效CNN架构设计实用指南

摘要 目前,神经网络架构设计主要以计算复杂度的间接指标(即 FLOPs)为指导。然而,直接指标(如速度)还取决于其他因素,如内存访问成本和平台特性。因此,这项工作建议在目标平台上评估…

C语言之sizeof详解,5点透析,帮你真正了解它

今天也要继续坚持 前言 今天复习C语言了解到不少和她有关的知识,才知道之前对他了解甚少,于是写下博客及时记录自己的所得,与大家分享一下 第一点:sizeof不是函数 sizeof是一个关键字而不是函数!是的,他…

一起学量化之KDJ指标

KDJ指标,也称为随机指数,是一个常用的技术分析工具。它由三条线组成:K线、D线和J线,分别代表不同的市场动态。KDJ指标通过分析最高价、最低价和收盘价计算得出。 1. KDJ指标理解 J线是移动速度最快的线,可以提供更加敏锐的市场信号。K线是指标的核心,显示市场的即时动态。…

ubuntu22.04安装anacoda遇到的坑

这几天把用了3年的windows10换成了ubuntu22.04 各种环境都得配置,本文记录下遇到的坑。 1、anacoda在ubuntu上也可以用官方也提供了安装包,但是没有图形界面,需要以命令行的方式安装和运行配置 1.1 安装:官网下载后,…

C++ 递归函数 详细解析——C++日常学习随笔

1. 递归函数 1.1 递归函数的定义 递归函数:即在函数体中出现调用自身的函数,即函数Func(Type a,……)直接或间接调用函数本身; 递归函数:在数学上,关于递归函数的定义如下:对于某一函数f(x),其…

探秘HyperLogLog:Redis中的基数统计黑科技

欢迎来到我的博客,代码的世界里,每一行都是一个故事 探秘HyperLogLog:Redis中的基数统计黑科技 前言HyperLogLog简介基数和基数统计的重要性HyperLogLog的历史和革命性 HyperLogLog的工作原理哈希函数线性计数与对数计数HyperLogLog的核心算法…

[情商-2]:理解情商最关注的要素 - 情绪,情绪,情绪,不是事情本身,不是逻辑推理,不是讲道理

前言: 情商最关注的要素是情绪,他人的情形,自己的情绪,情绪是一个完全不同于技术人员经常关注的逻辑推理、问题解决。对于技术人员而言,它是一个完全不同的领域,有着不同的行为模式。 因此,在…

Android端SpyNote恶意软件技术层面深度剖析

内容概述: 当前的Android生态环境中充斥着各种类型的恶意软件,每一款恶意软件都有其自己独特的一面。在大多数情况下,它们的目标都是窃取用户数据,然后将其出售以换取金钱。但某些恶意软件则可以被归类为间谍软件,因为…

【操作系统】 文件管理

文件管理概述 文件管理的对象:计算机中的程序和数据。 文件管理的主要任务:利用文件系统把所管理的程序和数据组织成一系列文件,并把文件的存取、共享和保护手段提供给用户。 文件管理的主要功能包括:外存的分配 目录管理 存储…

论文阅读——SG-Former

SG-Former: Self-guided Transformer with Evolving Token Reallocation 1. Introduction 方法的核心是利用显著性图,根据每个区域的显著性重新分配tokens。显著性图是通过混合规模的自我关注来估计的,并在训练过程中自我进化。直观地说,我们…

【已解决】若依系统前端打包后,部署在nginx上,点击菜单错误:@/views/system/role/index

​ 上面错误,是因为/views/system/role/index动态路由按需加载时候,错误导致。 解决办法: 如果您的前端项目访问时候,需要带有项目名称的话,参考凯哥上一篇文章:【已解决】若依前后端分离版本&#xff0…