1. 引言
现今人们的生活水平不断提高,对一些产品的需求也不断提高,这就需要我们提高生产的速度与精度,手段很多,其中直流电机调速就可以满足生产需求,直流电机具有功率密度高、速度调节范围宽、电机工作效率高、动态响应快、扭矩波动小等特点 [1] ,本文将对此进行研究说明。直流电机最主要的优点是它能够用自己最可靠的能量转化装置在较大的速度范围内产生恒定不变的扭矩,且具有灵活的伏安特性,所以直流电机是很通用的并且易于使用的电机之一 [2] 。电机调速系统的设计一直是工程领域的重要研究方向之一,随着技术的发展和应用需求的变化,这一领域的研究一直在取得新的进展。诸如以下几个方面:1) 高性能控制算法,开发更加高效和精确的控制算法,以实现直流电机调速系统的稳定性和动态响应的提升,例如模型预测控制(MPC)、模糊逻辑控制(FLC)、自适应控制等算法;2) 传感器技术的应用,新型传感器技术的应用给直流电机调速系统的设计带来了极大的作用,利用光电编码器、霍尔传感器等高精度、高可靠性的传感器可以实现对电机运行状态的精确监测和控制;3) 嵌入式系统,随着嵌入式系统技术的发展,通过将智能控制算法与嵌入式系统相结合,从而大大提高了系统的准确性与稳定性。
本文旨在设计出一款响应快,稳定性好,抗干扰能力强的直流电机调速系统。本系统采用的是PWM (全称:Pulse Width Modulation)调速方式,就是脉冲宽度调制技术的意思,这种调速方式有着高速、精确的优点。
2. 系统的硬件设计
2.1. 微控制器的选择和配置
综合考虑,本课题采用AT89C51,利用AT89C51芯片进行直流电机调速系统的设计,有着低成本,系统结构简单、系统性能更强、并且可以实现多种场合的使用需求等优点。此调速系统的功能有对直流电机的正反转、加减速以及停止与启动控制等。
AT89C51系列单片机还拥有两种不同的节电工作方式可供选择,这种模式非常适于低功耗场合 [3] 。AT89C51与Intel 8051系列单片机兼容,这使得它可以广泛应用于现有的8051生态系统中,方便开发者迁移和重用代码。总之,AT89C51是一款功能丰富的8位单片机,具有可编程闪存存储器、外设接口、中断处理能力和低功耗特性等。它广泛应用于多种嵌入式系统和控制应用中,包括家电、汽车电子、工业自动化和消费电子等领域。
2.2. 电机驱动电路设计
本系统采用H桥驱动芯片L298N芯片,它能够控制电机的转向和速度,并提供与微控制器或PWM信号源的接口。L298N芯片是把H桥集成到芯片内部的,并且可以驱动两台电机 [4] 。准备所需的材料和组件,包括电源、L298N芯片、直流电机等。然后将电机连接到L298N芯片的输出端口(OUT1、OUT2),确保连接正确,以便控制电机的转向。再将电源连接到L298N芯片的VCC和GND引脚,确保电压和电流与电机的需求相匹配。再连接控制信号,使用微控制器(AT89C51)的数字引脚(P3.0、P3.1)来控制电机的转向和速度。将控制信号连接到L298N芯片的IN1、IN2引脚。并且需要使能功能,故连接L298N芯片的ENA引脚到微控制器的数字引脚(P1.0),以控制电机的开启和关闭,此过程通过使用相应的编程语言(Keil)编写程序来控制L298N芯片,实现电机的转向和速度控制,达到利用PWM控制以调整电机的速度。
2.3. PWM控制电路设计
本设计使用AT89C51单片机的方式进行PWM信号的产生。通过改变定时器的初始值,使得AT89C51的信号输出口(P3口)输出的脉冲波形的占空比是不同的,从而达到控制电机速度的目的 [5] 。通过AT89C51单片机来体现信号的变化,并将信号放大从而驱动电机,继而与直流电机控制模块的测速装置连接起来,通过对电机转速的记录,再经过滤波器的解压后得到信号,从而反馈给电机这个信号,最后通过A/D芯片的转换传送到单片机上去,在内部程序的运算下实现一个循环,如此这般,也就可实现对于直流电机的调速控制 [6] 。
2.4. 按键模块设计
此按键模块包括五个独立的按键,它们有着不同的功能:控制直流电机速度的加速、减速,以及控制直流电机转动方向的正转、反转,最后一个是停止按钮。电机状态的设定要点是按键的去抖动处理。按键去抖动处理的方法有硬件消抖和软件消抖两种。本设计用到的是软件消抖中的定时器中断法,将按键IO口初始化为中断方式,按键按下后进入中断处理函数,延时消抖后再调用按键处理函数。
2.5. 速度显示模块设计
此部分速度显示模块采用的是数码管来显示电机转动的实际速度与设置速度,而数码管有共阴和公阳,不同的数码管对于单片机的驱动方式以及程序的编译有所不同,本项目采用共阴极的7SEG-MPX4-CC,它是一个四位一体数码管,之所以选择7SEG-MPX4-CC,是因为四位一体数码管7SEG-MPX4-CC具有体积小、成本低、便于控制、显示清晰、可靠性高等优点,它广泛适用于多种需要同时显示多个数字的情况。
整个系统的硬件设计部分如上所述,这部分有着较强的适用性,体现在很多方面,下面我将简单列举几个方面,首先微控制器选择的是AT89C51单片机,它有着成本低,结构简单等优点,并且功耗很低,可以适应需要长时间运行或使用电池供电的场景,它还适用于一些嵌入式系统,例如测量设备、数据采集系统等;其次电机驱动芯片选择的是L298N,这款芯片功能强大,使用方便,除此之外在智能家居设备中,L298N也发挥着不可或缺的作用,例如智能窗帘、智能门锁等。还有就是用到的调速方式是PWM调速方式,PWM直流调速具备高效、精确的特点,而且提供了可调的PWM频率,以适应不同电机驱动器的需求。由于PWM技术的灵活性和适应性,它在各种领域都得到了广泛的应用,如在LED照明系统中,PWM被用于调整灯光的亮度。通过调整PWM信号的占空比,可以实现灯光的调光效果;在飞行器和卫星中,PWM被用于控制各种执行器,例如舵机、马达等。
3. 系统的软件设计
本系统以AT89C51为微控制器核心芯片,由PWM信号产生程序来产生PWM控制信号传递到驱动芯片L298N上,通过电机驱动电路来控制电机的运动状态与转动速度 [7] ,这一功能是由按键控制模块来改变PWM信号波的占空比来实现的,此信号还由单片机通过数码管驱动电路传递到数码管上显示出电机的转速。
主程序主要负责进行参数的初始定义、中断的初始化、PWM程序的初始化、子程序的初始化及调用和数据处理等任务。在系统中,偏差值经过算法处理后,得到控制量,然后将控制量输入PWM模块,控制PWM模块输出相应占空比的PWM波形。此波形可以给到单片机从而控制电机改变速度,进而在数码管上刷新速度值。下图1为直流电机调速系统的主程序流程图。其中PWM信号产生程序为主要步骤,PWM信号的产生过程中用到的是单片机的中断功能,定时器起作用后开启中断,随后即可在单片机的相应引脚(P1.0)上产生PWM信号,继而将标志位清零,定时器初始化,通过定频调宽法来调节PWM的占空比从而改变电机两端电压。主程序中的数据处理部分包括电机的运行状态与运行速度等,具体可见中断子程序,即图2。
软件设计中使用的控制算法和PWM产生可以适用于其他嵌入式系统,例如STMicroelectronics的STM8、STM32系列,以及一些基于FPGA(Field-Programmable Gate Array)的系统;还可以作为一个原型设计,用于测试和验证电机控制的基本功能。在一些小型自动化和机器人项目中,需要直流电机的调速功能时,这个软件设计可以提供一个起点,用于构建更复杂的系统。
4. 系统仿真与分析
经过前面的硬件设计和软件程序的编写,现在利用Proteus仿真软件对系统电路进行仿真调试。详细过程如下:找到所需要的全部元器件后进行布局连线,检查没问题后再联合Keil软件进行仿真调试,找到前面利用Keil软件生成的.hex文件导入AT89C51单片机即可进行联合仿真。
仿真结果见图3~5,图3为按照程序中所设置的转速(300 RPM)时按下正转按钮后的执行效果图,由图中数码管显示可见实际转速与设置转速相同,均为300 RPM,图4为通过加速按钮使得设置转速增加到400 RPM,经过短暂时间后,实际转速也达到并稳定在400 RPM,可见此系统能够实现对电机转速的精准控制。在设置不同转速的情况下都能很快地达到设定值并保持稳定,此系统具有很强的抗干扰能力。图5为按下停止按钮后电机停止转动的执行效果图。单片机在按下停止按钮后经过PWM输出控制程序进行的脉冲宽度调制迅速作出反应,将信号传送到电机控制模块之后,L298N则控制电机停止转动。
通过对下图3~5仿真结果的分析可知,设置不同转速后,电机都会迅速响应并达到设置转速后稳定,而且改变转速设定值后电机也会迅速作出反应调整到新的设定值;另外电机的启动与停止都可以平滑的进行,不会出现异常震荡等现象;并且系统采用闭环反馈控制,从而提高了系统的抗干扰性;除此之外,还通过选择合适的控制算法:比例积分微分(PID)控制算法,来平衡系统的稳定性和动态性。
通过仿真分析可以发现系统的不足,可以优化系统,从而提高性能和稳定性。具体措施如下:系统的响应时间过长时,可以考虑优化控制算法,调节pid参数,减小积分和微分时间,或者选择更快的控制策略,从而提高系统的性能。
Figure 3. Simulation results (300 RPM)
图3. 仿真结果图(转速为300 RPM)
Figure 4. Simulation results (400 RPM)
图4. 仿真结果图(加速到400 RPM)
Figure 5. Simulation results (when rotation)
图5. 仿真结果图(停止转动时)
5. 总结与展望
在本文中,我们设计并实现了一种基于AT89C51单片机的直流电机PWM调速系统。该系统通过调节单片机产生的PWM输出信号的占空比,从而实现对直流电机转动速度的精准控制。在硬件设计方面,微控制器使用的是AT89C51单片机,并配置了时钟、IO端口、中断等参数,电机控制电路用到的是L298N芯片,它的功能十分强大,而且使用也很简便。在软件设计方面,我们完成了参数的定义、子程序初始化、控制算法处理等功能。通过给定信号(设置转速)和反馈信号(实际转速)的比较,计算出二者的差值,即偏差值,再由设定的pid控制算法进行运算后得到控制量,继而利用PWM信号产生电路输出与之相对应占空比的PWM波。实验结果表明,该系统能够实现对电机转速的精确控制,具有精度高、响应快、稳定性好等优点。
NOTES
*通讯作者。