当前位置: > 财经>正文

MSP432电机驱动设计 保险 外汇管制原因有哪些方面的问题呢怎么写

2023-08-21 14:14:31 互联网 未知 财经

MSP432电机驱动设计

开发板型号为MSP432P401r                        

今日得以继续我的MSP432电赛速通之路,本篇使用MSP432编程学习霍尔编码器M/T公式法测速概念,最终实现用外部中断方式测得小车行走路程,文章学习讲解原理、附上实例实践、附上关键代码、附上整体测试工程供下载测试使用。

这是一个装有13线霍尔编码器的电机,今日我们将学会如何使用它来进行测距离与测速概念:

学习之前需要确保自己 已经掌握以下有关MSP432的知识:

TB6612驱动电机、串口通信、定时器捕获、定时器配置PWM输出等

如果有关TB6612驱动电机怎么写还是不熟练,可以看我这篇文章:

【MSP432电机驱动学习—上篇】TB6612带稳压电机驱动模块、MG310电机、霍尔编码器_NULL指向我的博客-CSDN博客

如果串口通信不熟悉,可以看这篇:

MSP432学习笔记10:串口接收字符串命令并执行任务_NULL指向我的博客-CSDN博客

MSP432学习笔记3:串口通信初步配置收发_NULL指向我的博客-CSDN博客 

 如果定时器捕获的基础又忘了,可以看这篇:

MSP432学习笔记9:定时器A-----捕获_NULL指向我的博客-CSDN博客

 如果都学习过了,比较熟悉了,我们就接着往下进行学习:

编码器及原理简介:测速测正反转原理简介:

编码器是一种用来测量机器旋转或位移的传感器,能够测量机械部件在旋转或直线运动时的位移信息或速度等信息。

电机旋转时,编码器的码盘与电机同轴旋转

霍尔编码器圆盘上分布有磁极,当圆盘随电机主轴转动时,会输出两路相位差90°的方波,用这两路方波可测出电机的转速和转向。

霍尔编码器一般是13线的,就是转一圈每项会输出13个脉冲,这个精度基本能够满足大部分使用场景的要求,其次要结合电机减速比来计算,进行相应的乘计算得出车轮子转一圈,编码器会输出多少脉冲,比如13线霍尔编码器装载于减速比为20的电机上,那车轮转一圈,霍尔编码器的脉冲数就是13*20=260个。

从该图中我们发现,这个连接了编码器的电机,共有六条接线,有俩条是电机的正负接线,有俩条是编码器的地线,另外俩条线称为:编码器B相与编码器A相的线便是我们需要深入学习的编码器信号输出脚,我们暂且从下文开始分别称他们为E1B与E1A :

E1A和E1B是13线霍尔编码器的两个输出信号,用于输出轴旋转方向和位置信息。

E1A是正交方波信号,当轴逆时针旋转时,E1A会先于E1B产生信号变化,用于判断旋转方向。

E1B是正交方波信号,当轴顺时针旋转时,E1B会先于E1A产生信号变化,用于判断旋转方向。

两个信号数量相同,相位差90度,可以通过对信号的计数和相位差计算来确定轴的位置。

编码器相关参数了解:霍尔编码器分辨率(PPR):

霍尔编码器的分辨率是指它所能检测到的旋转或线性位移量的最小变化量。

分辨率通常取决于以下几个因素:

1. 传感器本身的特性:

霍尔编码器使用霍尔效应传感器或磁电阻传感器来测量磁场变化,这些传感器的特性会直接影响分辨率。不同类型的传感器具有不同的灵敏度和噪声水平,因此会对分辨率产生影响。

2. 磁场的强度和分布:

霍尔编码器的分辨率还受到磁场的强度和分布的影响。较强的磁场可以提高编码器的灵敏度,从而提高分辨率。同时,磁场的均匀性和稳定性也对分辨率产生影响。

3. 编码器的工作频率和采样率:

编码器的工作频率和采样率决定了对旋转或位移变化的采样频率。较高的工作频率和采样率可以提高分辨率,但也会增加系统的复杂性和成本。

4. 信号处理和解码算法:

最后,编码器所采用的信号处理和解码算法也会影响分辨率。一些高级的算法可以有效地提高分辨率,并处理传感器噪声和非线性等问题。

5.其他因素:

机械传动装置的精度、机械松动等。

霍尔编码器精度:

霍尔编码器的精度通常是以位/转或弧度/转来衡量的。具体的精度取决于编码器的设计和制造质量。通常情况下,高精度的霍尔编码器的精度会比较高,误差较小。

对于位/转的精度,计算公式为:

精度 = (编码器所能输出的位数) / (电机输出轴每转的脉冲数)

编码器倍频:

某编码器有N个筛格线,理论上电机带动转一圈,只能输出N个信号,倍频可以使这个信号变为原来的n倍。

这个倍频不是体现在硬件电路上的,而是体现在编程捕获信号处理上的:

编码器输出的脉冲一般占空比都是50%的矩形方波,A相通道与B相通道的相位差为90°

只用通道A,且只捕获上升沿,即为1倍频:

只用通道A,且捕获上升沿与下降沿,即为2倍频:

即用通道A又用通道B,且都是上升下降沿捕获,就是4倍频:

编码器相关数学计算:

首先看 购买的电机与编码器的电气参数:

 

 由图可知,我购买的是260线霍尔编码器,车轮转动一圈会输出260个脉冲,4倍频后就是1040

最终推荐使用公式三M/T综合法,前俩种用来递进式理解公式三的M/T综合法原理:

M法测速计算公式1——高速:

这是建立在电机运转高速,脉冲频率相当高的情况下使用,此时脉冲的俩个上升沿之间间隔时间极其短,不方便测量了拿出来作数学运算,会有较大误差。

因此采用在采样时间内计数上升沿个数,然后作计算的方式

假设:

1.编码器单圈总脉冲数为C

2.统计时间为T,(一般为1S)

3.T时间内计数捕获的脉冲数位M0

4.需要求得的转速为n(圈/秒)

这个公式在电机高速运转下,T时间内捕获的脉冲数M0足够大时,计算相对简便精确,

但在低速状态下误差十分大,因为M0基数小,是个位数级别的了,少一个脉冲计数,计算结果就会有很大误差,下图举例为:

上升沿捕获,刚好最大误差少记数一个脉冲的情况:

 如果是上升沿与下降沿捕获计数(2倍频),那最大误差就可能少记数达到2个脉冲了

 双通道4倍频捕获计数,可以让脉冲数乘4倍捕获,也许可以提高公式1在低速下的准确性,但也不是根本上解决问题的办法

T法测速计算公式2.1——低速:

此公式适用于电机运转低速,脉冲频率低的时候使用,此时脉冲的俩个上升沿之间时间间隔比较长,可以拿来作数学计算,算出脉冲的频率了:

假设1:

1.编码器单圈总脉冲数为C

2.捕获的俩个脉冲间隔时间为TE

 下图公式表示求出1S内有多少个编码器周期,就表示捕获计数到了多少次上升沿,借此计算转速

T法测速计算公式2.2——低速:  

 此公式也是用来计算电机低速时的转速的,其实这个公式最终化简后与2.1是一样的,只不过是同一个公式,俩种理解罢了。

 这里的理解是,假定一个固定频率为F0的高速脉冲,测量编码器周期内高速脉冲上升沿个数,以求得转速。

MT 综合测速公式3——兼顾:

这种方法综合了M 法和T 法各自的优势,既测量编码器脉冲数又测量一定时间内的高频脉冲数。

在一个相对固定的采样时间内,假设:

1.编码器单圈总脉冲数C(常数)

2.编码器脉冲数产生 M0个 (测量值)

3.固定频率为F0的高频脉冲(常数)

4.采样时间内高频脉冲计数值为M1

由于M/T 法公式中的 F0和C 是常数,所以转速n 就只受 M0和 M1的影响。

1、高速时, M0增大, M1减小,相当于M 法

2、低速时, M1增大, M0减小,相当于T 法。

使用示波器观察编码器的输出波形:编程说明:

首先我们编写函数让TB6612能够驱动起来,包含分派引脚,组织接线,初始化引脚,初始化定时器,编写加减速、正反转函数等,这些在上篇都已经讲过了,此处不多加赘述,我直接贴代码透露引脚分配与函数组成,此处就只贴出TB6612.h文件中内容了,其余代码会在后续完整贴出,这里不影响理解就行:

 介绍代码实现功能:

以下为上位机的有效命令,通过串口A0发送给MSP432,MSP432接收后会做相应控制:

要使电机加速:上位机发送ADD                         要使电机减速:上位机发送REDUCE 要使电机正转:上位机发送COROTATION 要使电机反转:上位机发送REVERSE 要使电机停转:上位机发送STOP

以下为上位机发送其余错误指令后MSP432的回应: ERROR!

首先写好宏定义,引脚位带操作,

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。