一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

微控制单元、电机转速测量方法及系统、存储介质与流程

2022-05-21 08:17:04 来源:中国专利 TAG:


1.本技术涉及控制技术领域,尤其涉及一种微控制单元、电机转速测量方法及系统、存储介质。


背景技术:

2.电机转速控制系统中,转速的测量对于转速反馈控制是至关重要的。为了寻求测量精度与系统成本之间的平衡,增量式编码器被广泛采用。在使用增量式编码器作为传感器的转速测量方法中,常用的有频率法、周期法和频率周期法。频率法通过计取固定测量周期内增量式编码器的输出脉冲来测量转速,它的特点是高速时测量精度较高,低速时测量精度随转速的降低迅速下降;周期法通过测量增量式编码器相邻输出脉冲的时间间隔来测量转速,它的特点是低速时测量精度较高,高速时测量精度随转速的上升迅速下降。频率周期法结合了频率法和周期法的优点,同时使用增量式编码器输出脉冲和计时脉冲进行测速,能够在较宽的转速范围内提供精度很高的转速值,是现在被广泛采用的转速测量方法。
3.公开(公告)号为cn102200541a的专利文献公开了一种对电机转速进行测量的方法及装置,所述测量装置由增量式光电码盘、可编程逻辑控制器、数字信号处理器和数据地址总线组成,利用数字信号处理器实现命令发送、状态查询、数据读取、速度计算等功能;可编程逻辑控制器与数字信号处理器之间通过数据地址总线连接。该装置存在的问题是,由于可编程逻辑器件和数字信号处理芯片的存在,导致系统复杂,成本较高。


技术实现要素:

4.本技术提供一种微控制单元、电机转速测量方法及系统、存储介质,以解决需要测量装置存在的系统复杂,成本较高的问题。
5.本技术一方面提供一种微控制单元,包括第一定时器、第二定时器以及检测模块;所述第一定时器包括第一计数器、第一捕获寄存器以及第二捕获寄存器;所述第二定时器包括第二计数器、第三捕获寄存器以及第四捕获寄存器;
6.所述第一计数器,用于对增量式编码器的a相信号或者b相信号进行计数,以得到对应的脉冲计数值;
7.所述第二计数器,用于对时钟脉冲信号进行计数,以得到所述时钟脉冲信号的时间计数值;
8.所述第一捕获寄存器,用于在所述a相信号发生边沿跳变时,捕获所述第一计数器得到的脉冲计数值;所述第三捕获寄存器,用于在所述a相信号发生边沿跳变时,捕获所述第二计数器得到的时间计数值;
9.所述第二捕获寄存器,用于在所述b相信号发生边沿跳变时,捕获所述第一计数器得到的脉冲计数值;所述第四捕获寄存器,用于在所述b相信号发生边沿跳变时,捕获所述第二计数器得到的时间计数值;
10.所述检测模块,用于获取脉冲计数值和时间计数值,以使用频率周期法计算电机
转速。
11.本技术另一方面提供一种电机转速测量系统,所述系统包括前述的微控制单元、增量式编码器以及电机。
12.本技术另一方面提供一种电机转速测量方法,该方法用于微控制单元;所述微控制单元包括第一定时器以及第二定时器;所述第一定时器包括第一计数器、第一捕获寄存器以及第二捕获寄存器;所述第二定时器包括第二计数器、第三捕获寄存器以及第四捕获寄存器;
13.所述第一计数器,用于对增量式编码器的a相信号或者b相信号进行计数,以得到对应的脉冲计数值;
14.所述第二计数器,用于对时钟脉冲信号进行计数,以得到所述时钟脉冲信号的时间计数值;
15.所述第一捕获寄存器,用于在所述a相信号发生边沿跳变时,捕获所述第一计数器得到的脉冲计数值;所述第三捕获寄存器,用于在所述a相信号发生边沿跳变时,捕获所述第二计数器得到的时间计数值;
16.所述第二捕获寄存器,用于在所述b相信号发生边沿跳变时,捕获所述第一计数器得到的脉冲计数值;所述第四捕获寄存器,用于在所述b相信号发生边沿跳变时,捕获所述第二计数器得到的时间计数值;
17.所述方法包括:
18.获取脉冲计数值和时间计数值,以使用频率周期法计算电机转速。
19.本技术另一方面提供一种存储介质,该存储介质上存储有电机转速测量程序,该电机转速测量程序被处理器运行时执行前述的电机转速测量方法。
20.本技术提供的微控制单元、电机转速测量方法及系统、存储介质,采用mcu来实现电机转速的测量,相较于现有检测装置具有系统简单、处理高效、安全可靠和性价比高的特点。
附图说明
21.图1为本技术实施例提供的电机转速测量系统示意图;
22.图2为本技术实施例提供的环形缓冲区示意图;
23.图3为本技术实施例提供的频率周期法计算原理示意图。
24.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
25.为了使本技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
26.在本技术的描述中,需要理解的是,术语中“中心”、“上”、“下”、“前”、“后”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,
而不能理解为指示或暗示相对重要性。
27.图1为本技术实施例提供的电机转速测量系统示意图。
28.如图1所示,电机转速测量系统包括依次连接的微控制单元(mcu,microcontroller unit)、增量式编码器以及电机。
29.所述增量式编码器的输出包括a相信号、b相信号和z相信号,其中,a相信号和b相信号是正交信号,增量式编码器每旋转一圈,a相信号和b相信号的上升沿个数与增量式编码器的线数相等,z相信号是增量式编码器每旋转一圈后输出的一个脉冲信号。
30.所述微控制单元包括第一定时器tim1和第二定时器tim2;所述第一定时器tim1包括第一计数器11、第一捕获寄存器12以及第二捕获寄存器13;所述第二定时器tim2包括第二计数器21、第三捕获寄存器22以及第四捕获寄存器23;
31.所述第一计数器11,用于对增量式编码器的a相信号或者b相信号进行计数,以得到对应的脉冲计数值;
32.所述第二计数器21,用于对时钟脉冲信号进行计数,以得到所述时钟脉冲信号的时间计数值;
33.所述第一捕获寄存器12,用于在所述a相信号发生边沿跳变时(上升沿或下降沿),捕获所述第一计数器11得到的脉冲计数值;所述第三捕获寄存器22,用于在所述a相信号发生边沿跳变时,捕获所述第二计数器21得到的时间计数值;
34.所述第二捕获寄存器13,用于在所述b相信号发生边沿跳变时,捕获所述第一计数器11得到的脉冲计数值;所述第四捕获寄存器23,用于在所述b相信号发生边沿跳变时,捕获所述第二计数器21得到的时间计数值。
35.进一步地,所述微控制单元还包括检测模块;
36.所述检测模块,用于获取脉冲计数值和时间计数值,以使用频率周期法计算电机转速。
37.在本示例中,所述检测模块每隔一定的时间运行一次,即周期性地获取脉冲计数值和时间计数值。其中,获取到的脉冲计数值和时间计数值包括a相信号发生边沿跳变时捕获到的脉冲计数值、b相信号发生边沿跳变时捕获到的脉冲计数值,a相信号发生边沿跳变时捕获到的时间计数值、b相信号发生边沿跳变时捕获到的时间计数值。
38.在本示例中,检测模块可随时通过查询的方式获取脉冲计数值和时间计数值。
39.具体地,检测模块读取捕获寄存器中的值,如果脉冲计数值和时间计数值较上一次读取时的值有变化时,认为发生了一次新的脉冲检测边沿,则将该值推送到内部ram的环形缓冲区buff[]中。环形缓冲区的基本单元是由m1(脉冲计数值)和m2(时间计数值)组成的结构体。如图2所示,环形缓冲区的首指针为front,尾指针为rear,每次向环形缓冲区新增数据后rear增1,首指针front和尾指针rear指向的区间就是预估采样区间te,当front与rear间的时间间隔大于预设采样窗口tg时,front向后滑动,直到te小于tg。然后将rear和front指向的数据代入频率周期法(m/t法)进行计算,算式如下:式中δm1表示首指针和尾指针间的脉冲计数值的差值,δm2表示首指针和尾指针间的时间计数值的差值,fc表示第二计数器21的频率,p表示增量式编码器(码盘)的线数。
[0040]
为了便于理解,以下结合图3对频率周期法进行说明:
[0041]
由码盘脉冲启动tg计时,tg表示预设的采样窗口时间,tg时间到了以后,用tg后的第一个码盘脉冲去终止时钟脉冲计数器,获得时钟脉冲计数器值m2,时钟频率为fc,则实际的采样窗口时间为:在时间t内,码盘脉冲的计数值为m1,则电机转速为由于t的计时是由码盘脉冲控制开始和停止的,因此m1无误差,由m2变化 /-1时,得测速分辨率为:
[0042][0043]
测量精度:在极端情况下,检测会产生 /-1个高频脉冲周期的误差,因此测量精度为误差只与m2有关,m2越大误差越小。
[0044]
在一示例中,所述检测模块还用于根据电机转速的大小,调整所述频率周期法中预设采样窗口的值。
[0045]
通过自适应的改变预设采样窗口tg的值,可以兼顾高速下的动态性能,低速下的高精度和高稳定性。
[0046]
在一示例中,所述第一定时器tim1还包括第五捕获寄存器14;
[0047]
所述第五捕获寄存器14,用于在增量式编码器的z相信号发生边沿跳变时,捕获所述第一计数器11得到的脉冲计数值。
[0048]
进一步地,所述检测模块还用于在使能所述z相信号时,根据相邻两次从所述第五捕获寄存器14读取到的脉冲计数值得到单圈位置值。
[0049]
具体地,使能z信号时,将捕获到的z信号所对应的当前脉冲计数值,减去上一次捕获到z信号时所对应的脉冲计数值,就得到单圈脉冲数。每次检测时,将当前捕获到的脉冲计数值与上一次捕获到的脉冲计数值进行比较,差值就是当前有符号的单圈位置值,进行无符号处理后,就可以得到无符号的单圈位置值。无需对单圈位置进行单独计数和清零处理,z信号无需产生额外的中断。
[0050]
进一步地,所述检测模块还用于在未使能所述z相信号时,根据相邻两次从所述第五捕获寄存器14读取到的脉冲计数值增量得到单圈位置值。
[0051]
具体地,相邻两次捕获到的脉冲计数值增量为
±
δn1,pos_n1=(pos_n
±
δn1)%p,其中pos_n1表示n1时刻的有符号单圈位置值,正转为正,反转为负,pos_n表示n时刻的有符号单圈位置值,p表示编码器转一圈的脉冲数(单圈脉冲数),对单圈脉冲数取余后,将pos_n1值进行无符号处理就可以得到无符号的单圈位置值。
[0052]
进一步地,所述检测模块还用于在使能所述z相信号时,根据相邻两次从所述第五捕获寄存器14读取到的脉冲计数值得到实际测量出的单圈脉冲数,将线数配置所计算出来的单圈脉冲数与实际测量出的单圈脉冲数进行比较,以确定线数配置是否正确。
[0053]
具体地,将z信号使能,然后连续多圈读取单圈内(两次z信号间)的脉冲数量,然后将配置的线数所计算出来的单圈脉冲数与实际测量出的单圈脉冲数比较,如果相同则线数
配置正确,反之线数配置错误。
[0054]
进一步地,所述检测模块还用于根据从所述第一捕获寄存器12、所述第二捕获寄存器13以及所述第五捕获寄存器14读取到的脉冲计数值,对所述z相信号进行断线检测。
[0055]
在一示例中,所述检测模块还用于根据从所述第一捕获寄存器12以及所述第二捕获寄存器13读取到的脉冲计数值,对所述a相信号或者所述b相信号进行断线检测。
[0056]
具体地,如果a相信号的脉冲正常计数,b相信号在预设的超时范围内无脉冲时,则认为b相信号断线;如果b相信号的脉冲正常计数,a相信号在预设的超时范围内无脉冲时,则认为a相信号断线;如果a相信号的脉冲和b相信号的脉冲均正常计数,z相信号在预设的超时范围内无信号脉冲时,则认为z相信号断线。
[0057]
在一示例中,所述第一定时器tim1还包括倍频器;
[0058]
所述倍频器,用于对增量式编码器的a相信号或者b相信号进行倍频,以使得所述第一计数器11对倍频后的a相信号或者b相信号进行计数。
[0059]
本技术另一实施例提供一种电机转速测量方法,该方法用于微控制单元;所述微控制单元可参考前述内容。所述方法包括:
[0060]
获取脉冲计数值和时间计数值,以使用频率周期法计算电机转速。
[0061]
在一示例中,所述方法还包括:
[0062]
读取脉冲计数值和时间计数值,将读取到的脉冲计数值和时间计数值保持至存储器中。
[0063]
在一示例中,所述方法还包括:
[0064]
查询所述存储器,以获取脉冲计数值和时间计数值。
[0065]
在一示例中,所述方法还包括:
[0066]
根据电机转速的大小,调整所述频率周期法中预设采样窗口的值。
[0067]
在一示例中,所述方法还包括:
[0068]
在使能所述z相信号时,根据相邻两次从所述第五捕获寄存器14读取到的脉冲计数值得到单圈位置值。
[0069]
在一示例中,所述方法还包括:
[0070]
在未使能所述z相信号时,根据相邻两次从所述第五捕获寄存器14读取到的脉冲计数值增量得到单圈位置值。
[0071]
在一示例中,所述方法还包括:
[0072]
在使能所述z相信号时,根据相邻两次从所述第五捕获寄存器14读取到的脉冲计数值得到实际测量出的单圈脉冲数,将线数配置所计算出来的单圈脉冲数与实际测量出的单圈脉冲数进行比较,以确定线数配置是否正确。
[0073]
在一示例中,所述方法还包括:
[0074]
根据从所述第一捕获寄存器12、所述第二捕获寄存器13以及所述第五捕获寄存器14读取到的脉冲计数值,对所述z相信号进行断线检测。
[0075]
在一示例中,所述方法还包括:
[0076]
根据从所述第一捕获寄存器12以及所述第二捕获寄存器13读取到的脉冲计数值,对所述a相信号或者所述b相信号进行断线检测。
[0077]
本技术另一实施例提供一种存储介质,该存储介质上存储有电机转速测量程序,
该电机转速测量程序被处理器运行时执行所述的电机转速测量方法。
[0078]
以上参照附图说明了本技术的优选实施例,并非因此局限本技术的权利范围。本领域技术人员不脱离本技术的范围和实质内所作的任何修改、等同替换和改进,均应在本技术的权利范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献