[发明专利]一种自适应的编码器测速装置和方法无效
申请号: | 201310430890.5 | 申请日: | 2013-09-18 |
公开(公告)号: | CN103516288A | 公开(公告)日: | 2014-01-15 |
发明(设计)人: | 何好山;刘振军;梁剑 | 申请(专利权)人: | 东莞博用电子科技有限公司 |
主分类号: | H02P23/14 | 分类号: | H02P23/14;H02P21/14 |
代理公司: | 北京信慧永光知识产权代理有限责任公司 11290 | 代理人: | 田利琼 |
地址: | 523808 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自适应 编码器 测速 装置 方法 | ||
技术领域
本发明涉及一种自适应的编码器测速装置和方法,属于电学领域,更具体而言,具体涉及一种QEP模块只是一个独立外设,而不是一个独立的处理器的基于硬件的编码器测速装置和方法。
背景技术
现有方案采用的是软硬件结合的方法来测量和计算电机的转速,通常解码有硬件完成,计算有软件完成,而乘法在嵌入式软件中运算比较复杂,运算周期长,这样会使软件的处理流程变长,负担加大,在实时的应用控制系统中,可能没有足够的时间来处理更重要的事情。软件具有延时性,对电机转速的计算和控制的实时性较差。
现有电机编码器解码中,电机高速与低速运行时,分别使用两套不同的解码方式,且切换点由软件定义。这样会使软件负担加重,如果软件正在处理重要进程或中断没有及时处理电机解码程序,那么会使电机得不到有效控制,使电机转速不平稳而产生波动,严重还会损坏应用系统。同时在切换点处不能精确采集到电机的转速,导致软件解码精度有一定的影响。
其次,软件本身进行数据的数学运算的时候,耗时比较长,这样很容易导致软件解码后获得的电机转速不准确,致使对电机的速度的控制效果不理想。
发明内容
本发明针对上述问题,提供一种自适应的编码器测速装置和方法,包括一个QEP模块,将将电机解码和速度计算算法(QEP)硬件化为微控制器的一个独立外设,配合专门的调试工具,开发人员只需配置切换点速度之类的参数,无需很复杂的操作即可实现电机速度计算与控制的功能。硬件化后可以减轻软件的负担,使软件可以由更充足的时间去处理其他的进程,还可以减轻软件的维护成本,缩短软件的开发与调试周期。
本发明解决上述问题所采用的技术方案是:
一种自适应的编码器测速装置和方法,包括一个QEP模块,所述QEP模块只是将电机解码和速度计算算法硬件化为微控制器的一个独立外设,而不是一个独立的处理器,它的控制参数向CPU完全开放,不需要额外的编译工具和目标代码链接工具,只需要通过CPU就可以对其进行操作。
进一步地,所述QEP模块包括:
QDU单元,用于根据寄存器的配置,将输入的编码器脉冲正确的采到有效边沿和,并判断电机的转动方向,同时生成Timer、计数器的复位和锁存信号;
Capture单元,用于对特定的编码盘生成的编码脉冲进行捕获,并计算脉冲有效边沿的时间;
Wdt单元,用于做模块内部的看门狗单元,可以检测长时间没有编码脉冲的有效沿到来。在规定的Wdt计时范围内若无编码脉冲的有效边沿,则给出中断。用来防止编码盘的异常工作;
Timer单元,用于做模块内部的计时器单元,计时范围可以通过软件配置。计时时间到后会产生中断;
PCCU单元,用于做计数器计数单元,根据QDU单元生成的编码脉冲有效沿和正反转标记,来进行正向或反向计数,并通过QDU产生的复位和锁存信号来进行对计数器的复位和锁存;
SCU单元,用于做速度计算单元,该单元主要进行速度的计算,通过软件配置的狭缝数量和当前时钟频率来计算当前一段时间的速度值,并可以通过寄存器传递给CPU;
MSU单元,用于做模式切换单元,该单元通过SCU单元输出的当前速度,并且参照当前的测速模式,根据软件配置的临界速度寄存器值,来进行判断何时切换测速模式和切换到何种测速模式。
更进一步地,所述QDU单元输入端A、B、Z、mode_switch连接所述QEP单元外部,输出端qa_cap、qb_cap、qc_cap连接Capture单元,输出端q_clk、q_dir、RST连接PCCU单元,输出端clk同时连接Wdt单元,双向总线中的timer_intr、timer_rst连接Timer单元;
所述Capture单元输出数据到寄存器CAPStatus、CAPCntLatch,通过总线从寄存器QEPCAPEn、CAPConfig、RsetCap中读取数据,输出端capcnt连接SCU单元,输入端mode_switch连接MSU单元;
所述Wdt单元通过总线从寄存器WDTEn、WDTvalue中读取数据;
所述Timer单元通过输入端mode_switch连接MSU单元,输出端timer_latch连接SCU单元,通过总线从寄存器TimerEn、TimerValue中读取数据;
所述PCCU单元通过输出端qepcnt连接SCU单元,通过总线输出数据到寄存器QEPPosCnt、QEPPosNum,通过总线从寄存器QEPCAPEn、QEPConfig、QEPPosCntMax中读取数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东莞博用电子科技有限公司,未经东莞博用电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310430890.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:除尘柜
- 下一篇:一种提高全株玉米籽粒破碎率的方法