一种CPU单独控制电机PWM输出的方法与流程

文档序号:11958804阅读:1923来源:国知局
一种CPU单独控制电机PWM输出的方法与流程

本发明属于电机控制技术,具体涉及一种CPU单独控制电机PWM输出的方法。



背景技术:

电机的控制一直以来都是控制工程中经典的工程应用,目前的电机控制在节省成本的前提下,都是使用单CPU直接控制,没有FPGA、AD等硬件模块的支撑,因此控制过程中更加依赖于CPU。而CPU工作过程中,电机的控制是通过PWM输出完成的,单CPU的工作模式,只能采用中断的模式去输出PWM。目前的单CPU往往不止控制一个电机,带来的问题就是在电机的控制过程中,CPU有太多的中断需要去响应,从而降低CPU的工作效率,而且CPU的安全性大大降低,很容易出现死机和程序跑飞的情况。

通常的情况下,单CPU控制电机往往采用一个高频的载波进行PWM的输出,确保在电机HALL的变化前提下,每一次的变化都有PWM输出的响应。在电机停止的情况下,即HALL状态不再更新的情况下,也会有一个高频PWM一直输出,CPU一直都在响应一个高频的中断,如此频繁的中断,必然会导致CPU的负荷过高,从而影响CPU工作性能和可靠性。如何能解决上述的问题,就成了电机控制亟待解决的问题。

图1所示是CPU控制电机的普通模式,一直用高频的PWM作为输出,从而软件频繁的产生中断,降低CPU利用率。对于CPU而言,如果大部分的时间都用来响应中断,那么在整个控制过程中,中断的响应时间占据了绝大部分,而其它模块的计算则相对安全性就会受到影响。例如通常情况下,高频的中断周期为10KHZ,长时间的高频中断也会增加CPU的功耗,从而导致发热发烫,进而出现程序跑飞、软件运行异常的等不可预估的错误,降低产品的安全性。

在软件的控制过程中,PWM波输出控制作为软件和电机交互的桥梁,如何在保证控制精度的前提下,减少PWM输出的中断,就成为解决上述问题的关键。经过分析得知,电机的运动实质是在电机不同的HALL状态下,有对应的PWM输出,那么可以直接采用HALL变化中断的模式来进行电机的控制,即电机当前的HALL状态发生了变化,触发中断进行PWM的输出。但是也会带来一个问题,HALL变化的中断响应,是在HALL状态发生变化的时候才有,那么在电机停止HALL状态不变的情况下,如果没有HALL状态的变化,那么永远都不会响应中断,从而电机无法转动。

在此条件下,需要提出一种方法,能够使用HALL中断的控制方法,但是又能解决电机停止HALL状态无变化无法触发中断的问题。



技术实现要素:

本发明的目的是:提供一种采用CPU单独HALL中断控制的PWM低频输出的方法。

本发明的技术方案是:一种CPU单独控制电机PWM输出的方法,电机的运动是根据安装在电机的霍尔传感器相应HALL状态(霍尔状态)的变化来判定,HALL状态的变更,将触发HALL中断,CPU输出相应的PWM,如果当前HALL状态未变更,但是此时PWM值不为零,由CPU给电机一个低频PWM输出,让电机完成HALL中断的变更,触发HALL中断。

所述的CPU单独控制电机PWM输出的方法,其具体过程如下:

步骤1):判断电机当前的HALL状态,如果当前的HALL状态有变化,则转入步骤2),否则转入步骤4);

步骤2):在HALL中断的模式下,由CPU进行PWM的输出,转入步骤3);

步骤3):在HALL中断模式下,由CPU判断当前是否有低频的中断产生,如果有低频的中断产生,则转入步骤4),否则转入步骤5);

步骤4):根据低频的中断模式,由CPU向电机输出低频PWM,转入步骤5);

步骤5):输出PWM到电机,让电机完成HALL中断的变更,触发HALL中断,完成整个电机控制过程。

本发明的技术效果是:本发明采用HALL中断的触发模式,可以控制电机的运动,使用低频PWM输出的方法,可以解决电机无法触发HALL中断的问题,两者的结合可以完成电机高精度的控制,同时大大减少中断的个数,降低CPU的功耗和提高CPU的可靠性和安全性。

附图说明

图1是传统的控制电机PWM输出时机流程示意图;

图2是本发明处理后的控制电机PWM输出时机的处理流程示意图。

具体实施方式

下面结合附图和实施例对本发明做进一步说明:

请参阅图2,本发明CPU单独控制电机PWM输出的方法采用中断+低频的方式输出PWM,在控制的时候,首先需要判断当前电机的HALL状态,如果电机的HALL状态有变化,则说明电机当前在转动。HALL状态的变化引起中断的产生,在中断中输出PWM波。而当PWM为0的时候,HALL状态不再发生改变,从而不再响应HALL中断输出的PWM。

举例对过程进行完整描述。当前有飞思卡尔控制芯片MPC5644A,设定CPU工作频率为120MHz,电机为功率10W的直流无刷电机,2对极,搭配HALL传感器,电机的正常HALL状态为0x1~0x6,0x0和0x7为非法状态,CPU通过输出PWM控制电机的运动,搭配一个500Hz的低频PWM输出。使用本发明控制电机PWM输出的步骤用例如下:

1)电机当前静止,判断电机当前的HALL状态,当前的电机HALL状态为0x5,上一拍的HALL状态也为0x5,当前的控制电机PWM为40%的占空比。

2)当前的HALL状态没有变化,那么在HALL状态0x5的状态下,通过低频直接输出PWM,电机开始运动。

3)当前的电机HALL状态为0x1,上一拍的电机HALL状态为0x3,则进入HALL中断,对40%占空比的PWM进行输出。

4)在输出过程中,PWM输出低频输出中断到来,在当前HALL状态为0x1的状态下继续输出40%占空比。

5)PWM占空比突变为0,当前的HALL状态为0x4,那么在当前HALL状态下输出PWM为0,电机停止运动。

6)此时低频PWM输出中断来临,输出PWM为0,电机处于静止状态。

7)PWM占空比突变为100%,重复1)~6)的过程。

采用HALL中断+低频的模式,进一步减少了中断的个数,降低了CPU的功耗,而且提高了程序的可靠性,可以避免因为中断频繁导致程序跑飞、CPU过热过烫的问题,有效的提高了产品的安全性。

另外,低频的PWM输出可以参照经验值进行设定,该低频的PWM的主要作用就是解决HALL状态没有变化的问题,因此在不影响控制精度和响应实际的前提下,低频的PWM可以适当的设置的更低,进一步减小中断的频率和数量,更大程度的保证CPU的工作效率。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1