新闻中心

EEPW首页>嵌入式系统>设计应用> 基于dsPIC30F3010的无刷直流电动机控制系统设计

基于dsPIC30F3010的无刷直流电动机控制系统设计

作者: 时间:2012-02-23 来源:网络 收藏

e.jpg


三相反电动势检测电路图如图5所示。图中画出了3个检测通道,分别是U、V、W三相反电动势的检测,其电路原理其实是简单的电阻分压网络,主要是为了将较高的信号电压降低,满足单片机AD转换输入要求。3相电压经过22 kΩ与2.4 Ω电阻的分压后,再经过300 Ω电阻进入AN3,AN4,AN5这3个AD管脚,用AN3、AN4、AN5实现电机端电压检测,得到反电动势过零点。在PWM开通期间,检测处于不通电相绕组的端电压,其值等于电源电压的一半时为反电动势过零点信号。
1.5 电流采样与过流保护电路
电流采样与过流保护电路如图6所示。为了获得电机的电流反馈信息,在DC母线负电压与地之间连接了一个低阻值的电流检测电阻(25 mΩ)。由此电阻产生的电压被一个外部运放(MCP6002)放大并反馈到ADC输入(RB1)。

f.jpg


dsPIC30/33的电机控制系列MCU,都有一个FLTA脚,当得到低电平输出时,可以关断PWM的有效输出,使之成为无效。这是一个硬件处理的机制,因此可以快速处理故障事件,以实现安全操作。通过与电流反馈电路相连接的比较器电路(U6)可以获得故障输入信号,且比较器门限值可通过电位器POT2进行调节。

2 系统软件
软件包括DSC事件管理器初始化程序、电机起动程序、换相子程序、中断服务程序、速度环和电流环的控制程序等。主要实现了电机的开环启动、过零检测、换相、以及转速和电流闭环控制等。软件是在Microchip公司的集成开发环境MPLAB IDE中完成的,控制程序用C30语言编写。
主程序是一个死循环结构,用来完成初始化、看门狗程序和中速事件处理程序。软件结构是以主程序为主,通过函数调用和全局变量与子程序进行参数传递。中速事件处理程序每10 ms循环一次,包括电机启动、速度控制、电流A/D转换及循环调用中断服务子程序等,是整个系统最重要的程序。主程序流程,中速事件处理程序流程分别如图7、8所示。

g.jpg


软件设计需注意以下4个问题:1)使用电机控制PWM模块的特殊事件触发器来启动A/D信号转换,可以使A/D转换与PWM时基同步。2)应舍弃换相后的最初几个反电势采样点,这样很容易避开相绕组的去磁问题,因为换相后绕组电流不会立即为零,要经过一个续流过程下降为零。3)不对端电压波形用硬件进行明显滤波,而是由软件根据PWM波形仔细地选取信号采样点,可排除互耦PWM于关噪声和不连续电流问题。4)使用QEI计数器记录连续监测到两个端电压过零点的时间,除以2即为30°电角度的时间,把此时间装载到定时器2中,定时器2经过30°电角度时间触发中断,调用换相子程序进行电子换相。



评论


相关推荐

技术专区

关闭