基于Proteus和AVR单片机的无刷直流电机控制系统仿真
Proteus的无刷直流电机模型自带3个霍尔传感器,霍尔传感器在空间上呈120°分布,用于确定电机转子位置,而且3个霍尔传感器在电机运行时其中两相输出信号相差120°,转子每转过360°电角度时,3个霍尔传感器的输出信号组合在一起对应换相的6种编码状态。每当电机转子转过了60°角,3个霍尔传感器的输出状态就会相应变化一次。于是,电机的转速就可以通过计算单位时间T内捕获的霍尔传感器输出变化的次数n换算出来,转速换算公式为V=60 n/T。由此,要测量到电机的转速,就通过主控芯片的输入捕获功能获取到3个霍尔传感器中的一路输出信号的周期,然后由转速换算公式计算出电机转速即可。
3 软件设计
系统采用开环控制和转速电流双闭环PID控制,进行对比仿真实验。开环控制无论硬件电路还是控制程序都较闭环PID控制简单且易实现,一般在恒定负载应用中采用。在变化负载应用中,当电机转速在一定范围内时,负载会发生变化。需要转速控制精度和良好的动态响应,因而使用高级控制算法,但也增加了控制器的复杂性。闭环控制采用转速电流双闭环增量式PID控制策略,两种控制方式的程序框图如图5所示,其中(a)为开环控制程序框图,(b)为闭环控制程序。
4 Proteus仿真结果及分析
在AVR Studio开发环境下,用C语言进行程序设计。然后在Proteus仿真环境下,向ATmega128单片机导入编译生成的hex文件,运行仿真即可直观地观察无刷直流电机的运行情况。
Proteus中的无刷直流电机模型可以直接显示转速,设定期望转速为200 r/min,并先后导入开环控制程序和闭环控制程序,进行对比观察,无刷直流电机的运行情况见图6。图6中(a)为开环控制的仿真结果,开环控制不能得到稳定的转速,这里只是截取了过程中的一个状态;图6中(b)为闭环控制仿真结果,通过以上的对比,闭环控制中因有PID(比例和积分)控制直流无刷电机的速度能稳定在期望转速值。显然闭环PID控制在电机运行转速上具有更好的控制效果。但软件的实时性在仿真环境下有所降低,出现了一定程度的延时,在仿真实验中电机的转速与设定的转速仍然有少量偏差。
5 结束语
文中在Proteus仿真软件中设计了无刷直流电机仿真控制系统,完成了包含主控制器电路、功率驱动电路、功率逆变电路、电流检测电路等硬件电路的设计,使用C语言编程并导入单片机,在Proteus仿真环境下进行了仿真实验。通过实验的直接观察,实现了电机转速的稳定控制,并且通过两种控制策略的对比,表明闭环控制在电机转速控制方面更加稳定。该系统能够满足无刷直流电机转速控制的设计要求,达到了预期的控制效果,对实际硬件电路的设计和软件控制策略的选择都具有一定的参考价值和辅助作用。
Proteus AVR单片机 无刷直流电机 控制系统 相关文章:
- Proteus仿真软件介绍与使用说明(06-26)
- Proteus的汉字点阵显示电路程序设计及仿真(10-16)
- 基于AVR单片机的多功能电源设计(10-29)
- 用于Quad-rotor飞行器的无刷直流电机驱动系统设计(06-09)
- 基于STM8的48V空调压缩机控制器设计(06-19)
- 一种无刷直流电机电流采样及保护电路的设计(10-16)