图11 显示子函数流程图
3.4 电机控制子函数
电机控制子函数流程图如图12所示。实现对电机的控制需要软件的支持。经过延时程序。键盘扫描,当按键第四个功能键按下,电机减速。其他四个功能键分别对应着电机的启动、转向、加速,关闭等功能。当“EA=0”时 ,键盘重新扫描。
图12 电机控制子函数程序流程图
4. 系统仿真图
电机的实时速度在液晶显示器上得到清晰显示。前面我们成功完成了硬件电路的设计,并为实现相关的功能设计了程序且调试成功。在KEIL编译环境下生成的HEX文件成功导入到AT89S52单片机中,经过仿真实现了预定的基本功能。如图13所示。电机顺时针转动,每按一次加速键速度增加,如图14所示。
图13 系统仿真图(顺时针)
图14 系统仿真图(顺时针加速后)
当电机顺时针转动时,我们按下第二个功能键。电机停止转动。当电机再次开始转动,按下第三个功能键电机就会逆时针转动,如图15所示。电机的转动情况在液晶显示器上同样得到清楚的显示。按下第四个功能键电机减速。如图16所示。
图15 系统仿真图(逆时针)
图16 系统仿真图(逆时针减速后)
5. 测试结果与分析
经过调试,系统工作正常。电机能够实现顺时针和逆时针转动的随意切换。单片机通过按键产生的信号能顺利的送给驱动芯片L298n,使其能够控制电机的转动方向及速度的大小。霍尔传感器能够准确迅速的将检测到的电机速度信号输送给单片机进行处理。经处理过后的电机速度信号,在液晶LCD1602液晶显示屏幕上清晰地显示出来。检测结果验证了设计方案。
6. 结束语
利用AT89S52单片机产生控制信号实现对电机速度的控制,保证了电机的稳定转动。电机的转动方向、启动、停止和速度都有软件部分程序的设计实现。无需改变硬件电路,只需要通过按键改变AT89S52的端口的输出电平,就可以实现对电机的多种控制 。加入数字PID算法对电机速度的控制,提高了系统的控制精度,保证了电机转速的稳定性;电机的启动、停止、转动方向和速度都由程序定义,调试时只需修改PWM信号占空比即可实现速度控制,改变输出口电平即可实现电机正反转,即可实现各种控制,能有效缩短开发周期,提高效率;加上了受限倍频单极性可逆PWM电机驱动电路,使系统的驱动能力得到增强,提高了系统的可靠性和性价比。电路设计简单,电机控制方便,有利于广泛推广。采用L298n作为该系统的驱动芯片,配合相应的程序设计,很好的体现了它控制精度高、稳定性好、响应速度快等优点,提高系统的可靠性,抗干扰能力得到加强。在这次设计中我也发现了自己的不足。最初对系统没有一个完整的概貌,考虑不是很全面。所以系统扩充时碰到不少困难。本次设计中没能够实现对电机设定速度使它以某个固定的转速做恒速运动。电机的转速和电机自身温度的相互影响没做研究,这是我以后努力的方向。 AT89S52单片机直流电机控制系统设计+仿真图(5):http://www.751com.cn/zidonghua/lunwen_501.html