基于单片机的电机无极调速控制设计
Design and Research of Speed Control System for DC Motor
摘要: 为了提升电机的调速控速能力,本文提出一种基于单片机的直流电机无极调速控制方案。以STC89C52单片机为核心,结合L298N、ADC0832、LCD1602、霍尔传感器等器件,实现电机PWM无级调速、正反转、启停、测速及速度显示功能。本次设计经过系统设计、硬件搭建、软件编程、仿真调试等过程,最终实现本次设计。此次设计的电机调速精度高,成本较低,控制灵活,可满足多种应用场景需求,为直流电机调速控制提供了高效方案。
Abstract: In order to enhance the speed regulation and control ability of the motor, this paper proposes a stepless speed regulation control scheme for DC motors based on a single-chip microcomputer. Taking the STC89C52 single-chip microcomputer as the core, and combining devices such as the L298N, ADC0832, LCD1602, and Hall sensors, it realizes functions such as PWM stepless speed regulation, forward and reverse rotation, start and stop, speed measurement, and speed display of the motor. This design goes through processes such as system design, hardware construction, software programming, and simulation debugging, and finally achieves the goal of this design. The motor in this design has high speed regulation accuracy, low cost, and flexible control, which can meet the requirements of various application scenarios and provides an efficient solution for the speed regulation control of DC motors.
文章引用:王靖宇, 刘政宇, 贺靖超, 冯嘉辉, 孙春喆, 高九州. 基于单片机的电机无极调速控制设计[J]. 智能电网, 2025, 15(3): 35-45. https://doi.org/10.12677/sg.2025.153004

1. 引言

早期直流电机调速技术逐渐被淘汰,随着计算机和微电子技术发展,变频调速、脉宽调制(PWM)调速等成为主流,直流电机在各个领域广泛应用。

在晶闸管出现后,直流电机驱动电路和调速系统快速发展。国外众多电气公司开发出数字式直流调速装置,如ABB、西门子等。同时,多种调速控制算法不断涌现并得到深入研究。

本文设计研究的直流电动机控制系统,通过独立按键控制单片机定时器开关,实现电机启停和转向;旋钮调整定时中断脉冲占空比,实现平滑调速;霍尔传感器与圆盘组成测速模块,测算转速并通过LCD1602显示。

2. 系统方案设计

2.1. 电机调速控制方案选择

在直流电机调速系统的设计中,调速控制方案的选择至关重要,它直接决定了系统的性能和应用范围。在调速控制过程中,STC单片机对一系列脉冲的宽度进行调制,提高STC单片机控制调速的灵活性,充分运用计算机逻辑功能,使用数字控制器,根据零散的采样数据偏差值计算控制量[1]。脉宽调制(PWM)调速法是本设计重点考虑的方案。PWM调速的原理基于冲量等效原则,通过改变电机两端脉冲信号的占空比,使得加在电机两端的平均电压发生改变,进而实现对电机转速的控制。根据电机转速与电压的关系,当平均电压改变时,电机的转速也会相应变化。

PWM调速法可以通过平滑调整占空比,实现电机的无级调速,能够满足各种对转速精度要求较高的应用场景。在运行过程中,具有较强的抗干扰能力,能够保证电机稳定运行。其响应速度快,能够快速响应外部控制信号的变化,实现电机转速的快速调整。能量损耗低,相比电阻调节调速法,大大提高了能源利用效率。

2.2. 各模块方案的选择

2.2.1. 电机驱动模块的选择

本次设计主要内容是控制直流电机转速和转向,因此在单片机和电机中间设计电机驱动模块。

L298N芯片内部是一个双“H”桥电路,而且有足够的电压驱动电机。应用L298N芯片时,只输入两个控制信号就能控制电机转速和转向。L298N芯片有电路设计简单、控制简单,抗干扰能力强等多个优点,所以是适合奔驰设计的最佳选择。

2.2.2. 单片机模块的选择

STC89C52单片机内部集成了AD转换模块,可用在软件Keil uVision上编程。STC89C52不仅开发较为简单,有成熟的开发环境和丰富的资料,易于学生上手,而且成本较低、引脚少,满足设计需求。

2.2.3. 速度采集模块的选择

当霍尔传感器与磁块到达一定距离,就会产生一个脉冲波。直流电机圆盘粘几个,每转一圈就产生几个脉冲波,这样,计算单位时间内产生脉冲的个数就能得到电机的转速。霍尔传感器的优势在于小体积且不增加负载,具有精度高、稳定性好、响应快等特点。

2.2.4. 显示模块的选择

由于LCD1602显示内容丰富,它是当前市面上的主流,LCD1602按照它自身的时序,内部控制电路可将写入随机存取存储器的ASCII码显示在液晶显示屏上。LCD1602可以显示字符,文字数字等。此外,LCD1602还有两个优势:一个是它自带字符库,无需在程序内添加段码表。另一个LCD1602引脚不多,可以节约I/O口。

3. 系统硬件设计

本设计是一个以单片机为控制中央的开环控制系统。为了能实现直流电机的无极调速和测速功能,本系统对三个模块进行电路设计,其中调速控制电路由三个独立按键、电位计和AD转换芯片共同组成,调速控制电路作为系统输入信号的来源,能够控制直流电机正反转、启停和调整占空比。为了使直流电机能被单片机驱动,所以在单片机与直流电机之间连入驱动芯片L298N,与晶体管共同组成了电机驱动电路。电机转速和转向是该模块的输出信号也是整个控制系统的输出信号。电机转速经过霍尔传感器检测装置返回单片机,故霍尔传感器和单片机外部中断引脚连接构成了系统的速度采集电路。

3.1. 单片机及其算法设计

STC89C52是STC公司生产的一种低功耗、高性能的8位单片机,使用高密度、非易失性存储器技术制造,其封装有40脚塑料双列直插式封装(PDIP)、44脚PLCC封装等。它不仅具有8K字节程序存储空间、512字节数据存储空间、内带4K字节EEPROM存储空间,而且还具有32位I/O口线,全双工串行口,可直接使用串口下载。以下是它的引脚图(图1)和各引脚功能说明表1

Figure 1. Pin diagram of STC89C52 microcontroller

1. STC89C52单片机引脚图

Table 1. STC89C52 Pin function table

1. STC89C52引脚功能表

引脚

功能

引脚

功能

P0

可以作为低8位地址/数据复用的双向

I/0口,作为通用I/O口使用需加上拉

电阻

P1

具有内部上拉电阻的8位双向I/0口

P2

具有内部上拉电阻的8位双向I/0口

P3

具有内部上拉电阻的8位双向I/0口

VCC

主电源引脚,接+5 V

GND

主电源引脚,接地

RST

复位输入

ALE

地址锁存器控制信号,锁存低8位地址

PSEN

外部程序存储器选通控制端

EA

外部程序存储器访问允许控制端

在自动控制领域,PID算法作为最经典的控制逻辑,能够让指令硬件依据误差计算出目标参数数值。

PID控制通常在硬件控制器单片机芯片中运行,借助软件代码实现逻辑计算,再通过硬件引脚输出控制信号(例如PWM信号)来驱动执行器。PID算法以线性系统理论为基石,依赖传递函数等精确数学模型,通过比例(P)、积分(I)、微分(D)三个环节的线性组合,实现对系统的动态调节。比例环节能快速响应系统误差,积分环节可消除稳态误差,微分环节则能预测误差变化趋势,提前进行调节。选择PID算法具有显著优势:其一,适用于模型明确的线性或近似线性系统,如电机调速场景;其二,在合适的参数调节下,控制精度较高;其三,调试成本相对较低,工程师可通过经验和试凑法调整比例、积分、微分参数,就能取得较好的控制效果。

3.2. 调速控制电路设计

3.2.1. 芯片ADC0832

ADC0832是半导体公司生产的8位分辨率、双通道A/D转换芯片,A/D转换就是将连续的模拟量按时间分割后的与标准数字量比较,输出离散数字量的过程。由于本设计只需要测量一个模拟量,所以选择只有两个输入通道的ADC0832即可,所以转换之后的数字量范围是0~255。ADC0832芯片接口说明如表2所示。

Table 2. ADC0832 chip interfaces and descriptions

2. ADC0832 芯片接口及说明

芯片接口

接口说明

芯片接口

接口说明

CS

低电平芯片使能

DI

数据信号输入

CHO

模拟输入通道0

DO

数据信号输出

CH1

模拟输入通道1

CLK

芯片时钟输入

GND

芯片参考0电位

Vcc/vref

电源/参考电压输入

3.2.2. 调速控制电路

调速控制电路由独立按键、电位计和ADC0832共同组成,其中设置三个独立按键分别控制直流电机的启停和正反转。为了实现直流电机的无级调速,该模块使用了芯片AD0832和电位计。完整的调速过程是:电位计通过改变电阻进而改变ADC0832的输入电压。ADC0832再将电压值这个模拟量转换为数字量输入到单片机中,从而产生能够平滑调节的占空比。

根据上述调速过程,设计了调速控制电路如图2所示。接线时有以下两点注意的,第一,由于与独立按键相连的不是P0口,所以无需再加上拉电阻。第二,为了节约I/O口,可以将DO和DI并联使用。

Figure 2. Speed control circuit

2. 调速控制电路

3.3. 电机驱动电路设计

3.3.1. 直流电机

直流电机作为系统的动力源,在整个调速控制系统中起着动力作用。通电导体在磁场中受到电磁力的作用而运动,当直流电源通过电刷和换向器向电枢绕组供电时,绕组中的电流在磁场中产生电磁转矩,使电枢旋转,从而将电能转化为机械能,为机械负载提供动力。直流电机的结构主要由一对固定不动的磁极和电枢绕组等部分组成。磁极用于产生所需的磁场,对于容量较大的电机,其磁场通常由直流励磁电流通过绕在磁极铁芯上的励磁绕组产生。电枢绕组则通过电刷接到直流电源上,当绕组的转轴与机械负载相连时,电流从电源正极流出,与磁场相互作用产生电磁力,载流的转子在电磁力的作用下开始旋转,从而拖动机器负载运转。在不同的生产场景中,对电动机的转速调节能力有着不同的要求,在本设计中,选择的直流电动机需要具备调节简单方便、价格适中且性价比高的特点。如图3,直流电动机的结构中有一对固定不动用以产生所需要的磁场。而容量大一些的电机的磁场是由直流励磁电流通过绕在磁极铁芯上的励磁绕组产生。直流电动机的工作原理如图4所示:电枢绕组通过电刷接到直流电源上,绕组的转轴与机械负载相连,这时便有电流从电源的正极流出与磁场相互作用产生电磁力,载流的转子受到电磁力的作用后开始旋转,以便拖动机器负载。脉冲宽度调制(Pulse Width Modulation, PWM)技术具有两个很重要的参数:频率和占空比[2]。频率,就是周期的倒数;占空比,就是高电平在一个周期内所占的比例[3]。我们常用的调速方法就是脉宽调制变换器PWM法,PWM调速法就是利用冲量等效原则,通过调节电动机占空比控制直流电机的转速。这种方法调速的精度比较高,而且动态响应快,稳定可靠,易于采用单片机控制。

Figure 3. Abstract model of a DC motor

3. 直流电机抽象模型

Figure 4. Working principle diagram of DC motor

4. 直流电机工作原理图

3.3.2. 芯片L298N

L298N是意法半导体公司生产的一款高性能双全桥驱动集成电路,L298N芯片的内部应用了两个H桥电路,通过控制H桥电路中MOS管的导通和截止,来控制电机的正反转和转速。要使电机运转,必须使对角线上的一对MOS管导通。通过改变输入信号的占空比,就可以调节电机的转速。芯片各引脚分布如图5所示,引脚功能如表3所示。

Figure 5. Pin diagram of the L298N

5. L298N引脚图

Table 3. L298N pin function table

3. L298N引脚功能表

引脚

功能

SENSING A

SENSING B

与地连接电流检测电阻,向驱动芯片反馈检测到的信号

OUT1

OUT2

第一个全桥式驱动器的输出端,与负载相连

Vs

电机驱动电源输入端

IN1

IN2

控制第一个全桥式驱动器开关的信号输入端

续表

ENABLE A

ENABLE B

使能控制端,分别控制两个驱动器的开关

GND

接地端

Vss

逻辑控制电路的电源输入端

IN3

IN4

控制第二个全桥式驱动器开关的信号输入端

OUT3

OUT4

第二个全桥式驱动器的输出端,与负载相连

L298N的输出引脚OUT1到OUT4共同控制两个直流电机。控制信号输入IN1到IN4后可以控制电机转向和启停,ENA,ENB脚是两个H桥电路的控制端,用于选通芯片内部电路,高电平有效。具体逻辑关系如表4所示。

Table 4. L298N motor control function chart

4. L298N电机控制功能表

输入引脚

功能

Ven = H

IN1/IN3 = H;IN2/IN4 = L

IN1/IN3 = L;IN2/IN4 = H

正转

反转

Ven = L

IN1 = IN2或IN3 = IN4

IN1/IN3 = L或H;IN2/IN4 = L或H

快速停止

停止

3.4. 速度采集电路设计

3.4.1. 霍尔传感器

本霍尔传感器模块使用的是A3144霍尔元件。A3144芯片是AMS公司推出的一款开关型霍尔传感器,其应用霍尔效应原理,其输入为磁感应强度,使用LM393宽电压比较器,通过对霍尔传感器传过来的值和电位器的分压值比较,输出数字电压信号,用它可以检测磁场及其变化。测速前,先安装霍尔传感器和磁钢,磁场由带磁材料提供。将带磁材料安装在直流电机圆盘边上,A3144芯片则安装在磁性材料附近。测速时,电机每转一圈,磁性材料就会接近传感器一次,根据霍尔效应,传感器内部产生的霍尔电压驱动触发电路后,就输出一个方脉冲。最终,记录的方脉冲个数即电机转动圈数,图6是霍尔传感器的引脚图,各引脚功能如表5所示。

Figure 6. Hall sensor pinout diagram

6. 霍尔传感器引脚图

Table 5. Hall sensor pin table

5. 霍尔传感器引脚表

引脚

功能

Vcc

接电源正极

GND

接地

DO

TTL数字量输出,磁场高于阈值时输出低电平

3.4.2. 速度采集电路

速度采集电路主要由霍尔传感器和三个磁材料的小圆片组成。电路设计没有将小圆片绘入,但是实际中小圆片粘在直流电机非磁材料的圆盘上与霍尔传感器配合使用。本设计选用的是开关型霍尔传感器,参考上节芯片的介绍可以知道,随着三个小圆片的位置变化,检测到磁场的变化并产生变化的方波电压,而产生的方波电压从DO引脚输出给单片机。

图7展示的只是霍尔传感器芯片的一个模型,在电路原理图上没有实质作用,其中引脚1、引脚2、引脚3分别对应霍尔传感器的VCC引脚、GND引脚和DO引脚,由于本设计只需要数字量输出,所以模拟量输出引脚AO可以省略不画。其中DO引脚与单片机P3.3引脚连接,实现反馈信号的输入,Vcc接地,GND接电源+5 v即可。

Figure 7. Velocity acquisition circuit

7. 速度采集电路

4. 系统仿真及调试

图9当按下正转按键之后,电机开始正转,液晶显示屏上显示初始的占空比和测算出的转速,同时显示“Z”表示电机开始正转。

这里使用的仿真电机元件是带有编码器的电机,适用于测量电机转速的情况。它一共有5根引脚,上下两根和供电电压连接,右边三根引脚是信号输出引脚。电机每转一圈,其中最上面和最下面的引脚输出脉冲数等于设定脉冲数,中间的引脚输出一个脉冲。由于无法将霍尔传感器测速仿真出来,这里将最上面的输出引脚与单片机INT1引脚相连,模拟电机测速模块。在进行测速之前,双击电机模型,如图8所示,首先在电机属性设置界面上设置电机属性,要设置每圈输出脉冲数,这里设置为每圈360个脉冲,驱动电压设置成12 V。

Figure 8. Motor attribute setting interface

8. 电机属性设置界面

Figure 9. The motor rotates forward

9. 电机正转

将电机停转之后,再按下电机反转按键,电机开始反转,液晶显示屏上显示的占空比、测算出的转速和显示“F”表示电机开始反转,具体可见图10

Figure 10. Motor reverse

10. 电机反转

5. 结论

本次设计主要内容是完成一个直流电机PWM调速系统的设计。围绕这些内容,本设计从稳定性高、低成本的角度出发,分析了三种成熟的电机调速控制原理之后选定了PWM调速,最终从五个部分完成了该系统的设计。本设计最终不仅能够在仿真上实现电机转向控制、无级调速、测速、速度显示,还用实物实现了以上功能。

致 谢

本次设计得以顺利完成,离不开多方支持。衷心感谢允许转载和引用资料的版权所有者以及分享研究思路的学界前辈,你们的成果让本次设计更加深入,同时感谢导师与同行的专业指导,让本次设计更加科学化。

基金项目

吉林建筑大学2024年大学生创新创业训练计划资助项目:基于单片机的直流电机无极调速控制系统设计S202410191085。

参考文献

[1] 周婷婷, 宁芳青, 董理想, 等. 直流调速系统调速优化[J]. 电子测试, 2018(21): 113-114.
[2] 肖振兴. 直流电机变速的PWM波的几种产生方法[J]. 现代信息科技, 2020, 4(11): 42-44.
[3] 高志伟. 基于单片机的直流电机PWM控制系统改进[J]. 现代信息科技, 2021, 5(1): 48-51.