锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

基于stm32F4的项目总结:控制层设计(四)直流有刷电机驱动原理及驱动器选型

时间:2023-09-24 07:37:02 g628电机电容器绝对值多圈角度传感器

a 控制原理及选型

直流刷电机的关键指标

1.电机尺寸:

2.重量:

3.空载电流:电机在正常工作电压下无任何负载,电机越好,空载时值越小;

4.负载电流:负载电流是指电机拖动负载时实际检测到的定子电流值;

5.堵塞电流:当电机反向外力停止转动时,电流非常大,长期使用可能会烧毁电机,应尽量避免实际使用;

6.额定电压:

7.空载转速:电机在正常工作电压下无负载转速( rpm)。由于空载转速没有反向扭矩,输出功率不同于堵塞。该参数仅为电机在规定电压下的最大转速提供参考;

8.负载转速:电机在正常工作电压下带负载的转速;

9.负载力矩:电机在正常工作电压下带负载的力矩(N· m);

10.减速比:指无减速齿轮时转速与有减速齿轮时转速之比;

11.功率:额定电压下长期正常运行的最大功率,也是指电机在制造商规定的额定条件下运行时, 输出端的机械功率;

12.编码器线数(ppr):连接编码器的电机轴旋转一圈,编码器产生的脉冲数。

以下是一些待选的直流刷电机(依次为ASLONG直流刷电机,N20精密减速电机)
在这里插入图片描述

直流有刷电机参数表

参数 ASLONG刷电机12直流v-1000rpm N20精密直流刷减速电机
尺寸/mm 19 10×12×15
重量/g 199 10
额定电压/V 12 2-4
空载转速/rpm 1000 145
空载电流/mA 120 58
负载扭矩/g*cm 380 200
减速比 10 97
机械噪音/DB 未知 75
编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码/编码器/编码器/编码/编码器/编码/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码器/编码/编码器/编码/编码器/编码/编码/编码器/编码/编码器/编码/编码器/编码/编码器/编码器/编码器/编码器/编码/编码器/编码/编码/编码器/编码器/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码器/编码/编码器/编码/编码/编码器/编码器/编码/编码/编码/编码器/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码器/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编码/编/编/编/编/编/编/编码/编码/编/编码/编码/编码/编码/编/编/编/编/编/编/编/编码/编码/编码/编码/编ppr 7
  • 直流刷电机的选择过程

1、首先明确所需的最大扭矩,通过驱动物体的旋转惯性和所需的加速(或制动)性能计算最大扭矩;克服摩擦需要多少扭矩。
2.工作速度是多少?
3.额定电压和电流的可用电源。
4.计算工作时扭矩的平方根平均值,即maximum continuous torque,最大连续转矩。
5.通过最大扭矩和最大转速计算电机的最大输出功率。
选择减速齿轮箱的减速比,然后计算电机减速前的最大扭矩和最大连续扭矩。
7.通过功率、扭矩和指标,开始选择电机系列。

8.开始选择绕组。

9、找出average speed-torque gradient是多少。
10.根据最大转速和最大扭矩计算无负载转速no-load speed。
11、计算minimum target speed constant速度常数是多少?
12.通过速度常数选择绕组,留出一定的余量,确定电机的具体型号。
计算最大电流,看是否超过额定电流值。


b 驱动器选型

通常在驱动电机时,我们会选择集成 H 桥的 IC,因为 H 桥使用分立元件搭建比较麻烦,增加了硬件设计难度,当然如果集成 IC 当我们不能满足功率要求时,我们仍然需要自己使用它 MOS构建管道、三极管等元件 H 桥梁电路由这样的分立元件构建 H 桥梁的一般驱动能力比集成驱动能力更强 IC 要高。当我们选择集成时 IC 我们需要考虑集成 IC 能否满足电机的驱动电压要求,能否承受电机工作时的电流。

以下仅用于驱动产品,不涉及驱动设计知识。大功率工业电机集成IC驱动功率往往不能满足要求,需要自己使用MOSH桥管道搭建。

直流刷电机驱动器连接直流刷电机控制器和电机本体,根据控制器接收控制信号PWM当方向电平反转时,大小调节驱动电压供电到电机。如下图所示,输入量为频率固定(驱动器有最大频率限制,通常在最大范围内选择特定值),空间比可调(后续闭环控制要求最小空间比为0.1%可调可精确调至小数点后一位)PWM波用于控制电机转速和方向电平;输出为相应的变化电压。

直流有刷电机驱动器的基本功能图

直流刷电机驱动器内部结构简图如下,板载保护电路, 减少异常工作条件下驱动器损坏的可能性, 保护状态由指示灯实时输出。 全电气隔离输入增强主控 MCU 电路安全可以显著提高系统的电磁兼容性 。

驱动内部结构简图

下面列出了一些直流刷驱动器/芯片(依次为WSDC2412D双通道驱动,双通道驱动L298N驱动模块、 L293D驱动模块、MOS管)

部分直流有刷电机驱动器选型

驱动器参数 WSDC2412D双通道驱动器 1拖2 双L298N驱动模块 1拖4 L293D驱动模块 1拖2
驱动电流/A 12 2 1
驱动电压/V 7-24 5-24 7-12
逻辑电压/V 5 5 5
最大驱动功率 290W 4
PWM最小脉宽/us 2
PWM 输入频率/kHZ 18 5
工作温度/℃ 85 -40~150
尺寸/mm 50×50×12.5 60×60 42×45

c 编码器的使用
  • 编码器介绍

​ 编码器是一种用来测量机械旋转或位移的传感器。这种传感器能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。编码器可以根据不同的方式分出很多种类型。例如根据检测原理,可分为光学式、磁式、感应式和电容式。根据内部机械结构的运动方式,可分为线性编码器和旋转编码器。根据其刻度实现方法及信号输出形式,又可分为增量式、绝对式以及混合式三种。

  1. 增量式旋转编码器是将设备运动时的位移信息变成连续的脉冲信号,脉冲个数表示位移量的大小。只有当设备运动的时候增量式编码器才会输出信号。编码器一般会把这些信号分为通道 A和通道 B 两组输出,并且这两组信号间有 90° 的相位差。同时采集这两组信号就可以知道设备的运动和方向。除了通道 A、通道 B 以外,很多增量式编码器还会设置一个额外的通道 Z 输出信号,用来表示编码器特定的参考位置,传感器转一圈 Z 轴信号才会输出一个脉冲。增量式编码器只输出设备的位置变化和运动方向,不会输出设备的绝对位置。其旋转方向的判别和脉冲数量的增减,需借助后部的判向电路和计数器来实现。其计数起点可任意设定,并可实现多圈的无限累加和测量。还可以把每转发出一个脉冲的Z信号,作为参考机械零位。当脉冲已固定,而需要提高分辨率时,可利用带90度相位差A,B的两路信号,对原脉冲数进行倍频。
  2. 绝对式旋转编码器是将设备运动时的位移信息通过二进制编码的方式变成数字量直接输出。这种编码器与增量式编码器的区别主要在内部的码盘。绝对式编码器的码盘利用若干透光和不透光的线槽组成一套二进制编码,这些二进制码与编码器转轴的每一个不同角度是唯一对应的,读取这些二进制码就能知道设备的绝对位置,所以叫它绝对式编码器。绝对式编码器一般常用自然二进制、格雷码或者 BCD 码等编码方式。从代码大小的变更即可判别正反方向和位移所处的位置,而无需判向电路。它有一个绝对零位代码,当停电或关机后再开机重新测量时,仍可准确地读出停电或关机位置地代码,并准确地找到零位代码。一般情况下绝对值编码器的测量范围为0~360度,但特殊型号也可实现多圈测量。
  3. 混合式绝对式编码器,它输出两组信息:一组信息用于检测磁极位置,带有绝对信息功能;另一组则和增量式编码器的输出信息完全相同。

旋转编码器:集光机电技术于一体的速度位移传感器。当旋转编码器轴带动光栅盘旋转时,经发光元件发出的光被光栅盘狭缝切割成断续光线,并被接收元件接收产生初始信号。该信号经后继电路处理后,输出脉冲或代码信号。它的特点是体积小,功能全,频响高,分辨能力高,重量轻,品种多,力矩小,耗能低,性能稳定,可靠使用寿命长等。旋转编码器属于编码器中较为特殊的一种,是一种实现快速调速的装置。它通过光电转换,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出,用来测量转速并配合PWM技术可以实现快速调速,是工业中常用的电机定位设备,可以精确的测试电机的角位移和旋转位置。旋转编码器是用于监测传动系统中的旋转或转动部件,也是一种传感器。


​ 旋转编码器工作原理图

​ 旋转编码器内部大都由码盘、光电检测装置和信号处理电路等部分构成。码盘上刻了若干圈线槽,线槽等距并且可透光,当码盘旋转时就会周期性的透过和遮挡来自光电检测装置的光线,这样检测装置就会周期性的生成若干电信号。但是这些电信号通常比较微弱,需要加入一套处理电路对信号进行放大和整形,最后把信号整形为脉冲信号并向外输出。

​ 总的来说编码器需要5V供电,与电机轴固连在一起,输出脉冲脉冲数反映转角(具体一圈多少脉冲,取决于编码器线数ppr)脉冲频率反应转速,所以测电机位置速度信息的关键就在于精确测量脉冲并转换成位置速度信息。

​ 增量式编码器示意图

​ 下面列出一些编码器型号(依次为空心编码器、实心轴编码器、直流减速电机上的光电编码器)

  • 编码器的使用(仅以方波信号为例说明)
  1. 倍频技术

    ​ 方波信号A 和 B相 各自的上升沿和下降沿都能计数,至少在 1/2 个原始方波周期内就可以计数一次,最多 1/4 个原始方波周期。这样计数频率就是原始方波信号的 2 倍或 4 倍,换句话说就是,将编码器的分辨率提高了 2 到 4倍,具体如下图所示。

​ 图中的方波信号如果只看其中一个通道的上升沿,那计数频率就等于这个通道信号的频率。如果在通道 A 的上升沿和下降沿都进行计数,计数频率就是通道 A 的两倍,即 2 倍频。如果同时对两个通道的上升沿和下降沿都计数,那计数频率就变成了原始信号的 4 倍,即 4 倍频。例如,一个线数为100ppr的编码器在倍频之前是一圈100个脉冲,四倍频后分辨率提升到了100*4=400ppr。

  1. 测速方法

    常用的编码器测速方法一般有三种: 定时测角法(M法)、 定角测时法(T法)和定时测角/定角测时法(M/T法)。

    定时测角法:用于转速较高的场合
    KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ & V(\text{k}…
    提供准确的时间间隔,再测量每个时间间隔中经过的位置

    定角测时法:用于转速较低的场合
    KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ & V(\text{k}…
    提供准确的位置变化量,再测量产生这些变化量所消耗的时间

  • 单片机常用的测量脉冲的几种方法:

以下为引用的相关博客:

【教程】使用STM32测量频率和占空比的几种方法详细代码见原文,引自:https://blog.csdn.net/yyx112358/article/details/78414594
由于我们当时的题目除了测量频率之外,更麻烦的是测量占空比。而这两个的测量方法联系比较紧密,所以也一并把测量占空比的方法写出来。
使用平台:官方 STM32F429DISCOVERY 开发板, 180MHz 的主频,定时器频率 90MHz 。
相关题目:
( 1 )测量脉冲信号频率 f_O ,频率范围为 10Hz ~ 2MHz ,测量误差的绝对值不大于 0.1% 。( 15 分)
( 2 )测量脉冲信号占空比 D ,测量范围为 10 %~ 90 %,测量误差的绝对值不大于 2% 。( 15 分)

思路一:外部中断
思路:这种方法是很容易想到的,而且对几乎所有 MCU 都适用(连 51 都可以)。方法也很简单,声明一个计数变量 TIM_cnt ,每次一个上升沿 / 下降沿就进入一次中断,对 TIM_cnt++ ,然后定时统计即可。如果需要占空比,那么就另外用一个定时器统计上升沿、下降沿之间的时间即可。
缺点:缺陷显而易见,当频率提高,将会频繁进入中断,占用大量时间。而当频率超过 100kHz 时,中断程序时间甚至将超过脉冲周期,产生巨大误差。同时更重要的是,想要测量的占空比由于受到中断程序影响,误差将越来越大。
总结 : 我们当时第一时间就把这个方案 PASS 了,没有相关代码(这个代码也很简单)。不过,该方法在频率较低( 10K 以下)时,可以拿来测量频率。在频率更低的情况下,可以拿来测占空比。

思路二: PWM 输入模式
思路:翻遍 ST 的参考手册,在定时器当中有这样一种模式:
总结 : 我们当时第一时间就把这个方案 PASS 了,没有相关代码(这个代码也很简单)。不过,该方法在频率较低( 10K 以下)时,可以拿来测量频率。在频率更低的情况下,可以拿来测占空比。

思路三:输入捕获
思路:一般来说,对STM32有一定了解的坛友们在测量频率的问题上往往都会想到利用输入捕获。首先设定为上升沿触发,当进入中断之后(rising)记录与上次中断(rising_last)之间的间隔(周期,其倒数就是频率)。再设定为下降沿,进入中断之后与上升沿时刻之差即为高电平时间(falling-rising_last),高电平时间除周期即为占空比

思路四:使用外部时钟计数器
这种方法是我这几天回答问题时推荐的方法。思路是配置两个定时器,定时器a设置为外部时钟计数器模式,定时器b设置为定时器(比如50ms溢出一次,也可以用软件定时器),然后定时器b中断函数中统计定时器a在这段时间内的增量,简单计算即可。

思路五: ADC 采样测量(概率测量法)
一般的高端示波器,测量频率即是这种方法。简而言之,高速采样一系列数据,然后通过频谱分析(例如快速傅里叶变换 FFT ),获得频率。 F4 有着 FPU 和 DSP 指令,计算速度上可以接受。但是 ADC 的采样频率远远达不到。官方手册上声明,在三通道交替采样 +DMA 之下,最高可以达到 8.4M 的采样率。然而,根据香农采样定理,采样频率至少要达到信号的 2 倍。 2M 信号和 8.4M 的采样率,即使能够计算,误差也无法接受。所以, ADC 采样是无法测量频率特别是高频频率的。但是,无法测量频率,却可以测量占空比,乃至超调量和上升时间(信号从 10% 幅值上升到 90% 的时间)!原理也很简单,大学概率课上都说过这个概率基本原理:当采样数n趋于无穷时,事件A的概率即趋近于统计的频率。所以,当采样数越大,则采样到的高电平占样本总数的频率即趋近于概率——占空比!因此,基本思路即是等间隔(速度无所谓,但必须是保证等概率采样)采样,并将这些数据存入一个数组,反复刷新。这样,可以在任意时间对数组中数据进行统计,获得占空比数据。

总结:

外部中断:编写容易,通用性强。缺点是中断进入频繁,误差大。

PWM 输入:全硬件完成, CPU 负载小,编写容易。缺点是不稳定,误差大。

输入捕获:可达到约 400kHz 。低频精度高, 10Hz 可达到 0.01% 以下, 400kHz 也有 3% 。缺点是中断频繁,无法测量高频,幅值必须在 3.3~5V 之间。

外部时钟计数器(首选):可达到非常高的频率(理论上应当是 90MHz )和非常低的误差( 2MHz 下为 0.0015% 且可线性补偿)。缺点是低频精度较低,同样幅值必须在 3.3~5V 之间。

ADC 采样频率测量法:难以测量频率,高频下对占空比、上升时间有可以接受的测量精度( 2MHz 下约 1.3% ),低频下无法测量。幅值 0.3~3.3V ,加入前置放大则幅值随意。

ADC 采样频谱分析:高端示波器专用, STM32 弃疗。

我采用的方法是:首先 ADC 测量幅值并据此改变前置放大器放大倍数,调整幅值为 3.3V ,同时测量得到参考占空比。而后使用外部时钟计数器测量得到频率,如果较高( >10000 )则确认为频率数据,同时 ADC 测量占空比确认为占空比数据。否则再使用输入捕获方法测量得到频率、占空比数据。

对于各个方法存在的线性误差,使用了线性补偿来提高精度。一般情况下,使用存储在 ROM 中的数据作为参数,当需要校正时,采用如下校正思路:

波形发生器生成一些预设参数波形(例如 10Hz , 10% ; 100K , 50% ; 2M , 90% ……),在不同区间内多次测量得到数据,随后以原始数据为 x ,真实数据为 y ,去除异常数据之后,做 y=f(x) 的线性回归,并取相关系数最高的作为新的参数,同时存储在 ROM 当中。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章