摘要: 文章设计一款流电机控制系统,以 STC89C51 作为直流电机控制系统的主控制器,采用 LM293 做为驱动器实现 对直流电机的驱动,采用霍尔实现对直流电机速度的检测;本文对直流电机控制系统功能分析,选择确定直流控制系 统各个模块的参数和型号;然后对该直流电机的硬件电路和软件算法进行设计,最后对该直流电机控制系统的实物制 作和测试,对测试结果显示,在 5 个按键输入控制的作用下,直流电机能够实现加速、减速、正反转以及暂停功能,实现 功能。
关键词: 流电机;速度检测与控制;单片机;霍尔传感器
在国民生活、生产的每一个领域中,都渗进了直流电机的 控制与应用。因而有关的研究多多。直流电机用定角转动控 制,其以突出的优点被广泛应用,如开环控制较易实现,不会 产生积累误差等。因此,被应用在家居行业中的指针式电子 钟表、电动窗帘等,工业中的包装机械的计量系统、光盘选取 机、数控切割机等,建筑业中的喷泉喷头角度控制系统等。随 着现代控制技术的智能化和网络化,也将单片机引入到直流 电机控制系统中,从上述状况看来,对基于单片机的直流电机 控制系统,有必要性进行进一步的研究与改进。
1 系统方案设计
本直流电机控制系统实现的功能主要是,实现对直流电 机的速度检测、控制以及显示,通过按键实现直流电机的正反 转,加速以及暂停控制,所以设计的框图如图 1 所示。
主要包括 6 个部分实现直流电机的驱动功能,按键实 现正反转、加减速以及暂停的功能;单片机扫描到按键后对 驱动模块进行驱动,实时显示直流电机速度和占空比等信 息。
电机速度在硬件电路上对电机的速度调节是通过对加在 直流电机上的电压进行调整的,因为直流电机的速度与加在 直流电机上的电压为一个正比例关系,二PWM 技术对于线下 调节电路非常实用,所以采用 PWM 技术。简单的介绍 PWM 技术,PWM 技术实际就是使得单片机的引脚输出波形,引脚 输出高时直流电机转动并且是最高转速,输出低时直流电机 不动最低转速,所以在一定周期下,改变两者的时间,实现对 加在直流电机上的电压进行调节。
设计的硬件电路如图 2 所示,主要包括单片机控制电路, 显示电路,按键调节电路以及直流电机驱动电路。
2 系统硬件电路设计
2.1 单片机最小系统电路设计
单片机其中一个复位电路,属于手动执行;同时采用电压 不能实现突变特性采用电容 C1 和限流作用的 R7 电阻,实现 另外一种复位,保证不论在何时上电,单片机的程序都是从最 开始执行的,这一复位原理是基于电容上所加电压不能突变 的原理,在上电瞬间保持加在电容上 5V 和 RESET 引脚上的 高电平电压时间大于单片机所需复位两个周期的典型时间而 实现复位。
通过晶振与单片机的 XTAL11 和 XTAL22 连接构成的晶 振电路,作为单片机工作的基准,电容的取值范围大多数在 15 到 33pF 之间,主要就是辅助晶振实现快速起动振荡的作用, 晶振就是单片机工作时基的基准,晶振值大小与工作时基的 基准成反比例关系,越大工作时基频率越快。为了提高晶振 实现快速起动30pf电容,晶振选择 12M 对应工作时间为( 1/12 ) us;
2.2 速度检测电路设计
速度作为系统检测的基础,霍尔实现对速度的检测。霍 尔检测电路输出的输出信号与单片机的 P33 外部中断引脚连 接,因为输出的 PWM 信号,采用其外部中断对里程和速度进 行换算实现速度检测。
2.3 速度显示电路设计
需要在该系统中液晶用来显示时间倒计时和界面信息, 使用液晶字符式来显示倒计时,在控制方面可以用软件来实 现精准的控制,并且可以显示不同形式的字符内容,缺点就是 价格昂贵。显示电路主要由单片机的 P0 口对液晶的 8 个数 据口控制,进行数据读写操作,相关的读写指令则由单片机的 P1.0、 P1.1 控制实现。
2.4 电机驱动电路设计
系统的电机驱动电路设计所示采用 H 桥实现对直流电机 的速度和方向控制,单片机的 P34 和 P37 分别对一个桥臂进 行控制,H 桥由四个 NPN 三极管构成,单片机 P34 引脚输出 高电平 P37 输出低电平时, Q3 和 Q4 导通, Q5 和 Q6 断开,在 电机的左端为高电平,右端接电源地,电机正转,反之电机反 转,实现对电机方向的控制,通过 PWM 原理实现对电机的速 度进行控制。
2.5 按键电路设计
五个按键电路功能分别对应的是电机的启停控制、转速 方向控制以及速度加减控制。K1 按键实现的功能是控制电机 的正转控制,由单片机的 P1.0 控制; K2 按键实现的电机反旋 转方向的控制,由单片机的 P1.1 控制; K3 按键实现的是电机 速度加控制,由单片机的 P1.2 控制; K4 按键实现的是电机的 速度减控制,由单片机的 P1.3 控制; K5 按键实现的是电机的 停止控制,由单片机的 P1.4 控制,按键按下引脚被接地,单片 机读取引脚状态即可实现功能。
3 软件设计
主程序流程图如图 3 所示,读取扫描按键值,实现对电机 不同状态的控制,加速、减速以及启停控制,根据检测到的值 对 LCD 进行控制,实现直流电机显示、控制系统。
4 系统仿真分析
在 Proteus 上联合 keil 软件对硬件和软件算法进行仿真, 得到仿真电路如图 4 所示。
接下来,就对直流电机的主要功能进行验证和调试,通过 四个按键来实现启停控制,同时还对显示功能进行验证。通 过上述实验,本文对基于单片机的直流电机控制系统的相关 功能进行验证,实现了对直流电机的速度控制以及精确显示, 完成了预期的设计功能。
5 结语
虽然本文完成了对直流电机控制系统,但是还有很多需 要改进的地方,比如可以对软件部分进行优化,通过更先进的 控制算法实现直流电机控制精度的提高,还可采取触摸屏实 现对直流电机控制系统的触摸操作等 本文基于单片机设计了一款直流电机控制系统,实现 了对直流电机的精确控制,满足了对直流电机的加速、减 速、正反转及暂停等控制操作。整个系统包括单片机核心 控制电路、按键功能电路、直流电机驱动电路以及指示灯电 路,在硬件电路以及软件代码的设计基础上,本文通过 protues 以及 keil 对系统进行了联合仿真,验证了硬件以及软 件设计。