1、2011 年 全 国 大 学 生 电 子 设 计 竞 赛PWM 控制直流电机转速(A 题)【高职组】2011 年 9 月 6 日- 1 -摘 要 本设计主要要实现的功能是,通过直流电机 PWM 控制系统,实现对直流电机的加速、减速以及电机的正转、反转和急停,并且可以调整电机的转速,能够很方便的实现电机的智能控制。主要采用直流电机 PWM 调速系统以AT89S52 单片机为控制核心,由命令输入模块、LCD 显示模块及电机驱动模块组成。使用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给 L298 直流电机驱动芯片发送 PWM 波形 H 型驱动电路完成电机正、反转和急停控制,同时单
2、片机不停的将 PWM 脉宽调制占空比送到 LCD1602 液晶来完成实时显示。 关键词:直流电机;PWM;控制。- 2 -abstractThis design mainly in order to realize the function is, through the dc motor PWM control system, the implementation of the dc motor speed, motor and reducer, move forward, reverse and stop, and can adjust the speed of the motor, ca
3、n easily realize the intelligent control of the machine. Mainly adopts dc motor PWM speed regulation system AT89S52 single chip microcomputer as control core, by the command input module, LCD display module and motor drive module. Using independent type keyboard with interruption as command input, s
4、ingle chip microcomputer under program control, timing, constantly send dc motor driver chip L298 PWM waveform H drive circuit to complete the motor positive and reverse and stop control, meanwhile microcontroller of the PWM pulse width modulation duty cycle to the LCD1602 LCD to complete real-time
5、display. Keywords: dc motor; PWM. Control. - 3 -目 录一 系统方案设计与分析 41 系统总体框图 42 方案论证与选择 42.1 控制模块的论证与选择42.2 输入模块的论证与选择42.3 显示模块的论证与选择 52.4 传感器的论证与选择 53 理论分析与计算 53.1 PWM 调速原理 53.2 PWM 调速方法6二 硬件电路设计 61 控制系统 62 驱动模块 73 显示模块 8三 软件设计 91 程序流程图四 调试结果与分析10五 元器件清单 12六 参考文献 12七 总结 12附录一:原理图 13附录二:源程序 14- 4 -一 系统方
6、案设计与分析1 系统总体框图本系统主要由控制模块、显示模块、电机驱动模块、传感器模块、电源模块等组成,系统总体框图如图 1 所示。图 1 系统总体框图2 方案论证与选择2.1 控制模块的论证与选择方案一:采用嵌入式系统。特点是硬件结构相对于 AT80C51 复杂,编程容易。价格低廉、 采用 CMOS 技术和 RISC 架构,低功耗(A)、具有 SLEEP(休眠)功能。AVR 的一条指令执行速度可达 50ns (20MHz),而耗电则在 1A2.5mA 间。高度保密。方案二:采用 AT80C51 系统。特点是具有 8K 字节的 ROM,32 个可编程IO 口,3 个 16 位定时/计数计,8 个
7、中断源,1 个全双工 UART 串行通信口,编程容易,是应用广泛的一种单片机。方案三:采用 MSP430。此系列单片机是一个 16 位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。 综合以上三种方案,本设计选择方案二。2.2 输入模块的论证与选择方案一:采用独立键盘来控制输入。特点是硬件结构简单,编程容易,按键较多时需要较多的 IO 口。方案二:采用矩阵键盘来控制输入。特点是硬件结
8、构复杂,编程复杂,对于按键较多时,可节约 IO 口。方案三:采用拨码开关。拨码开关(也叫 DIP 开关,拨动开关,超频开关,地址开关,拨拉开关,数码开关,指拨开关)是一款用来操作控制的地址开关,- 5 -采用的是 0/1 的二进制编码原理。通俗的说也就是一款能用手拨动的微型的开关,所以也通常叫指拨开关的也很多。广泛使用于数据处理、通信、遥控和防盗自动警铃系统、风淋室等需要手动程式编制的产品上。综合以上三种方案,本设计选择方案一。2.3 显示模块的论证与选择方案一:采用数码管显示。特点是耗电少、寿命长、成本低、故障少、可视距离远,但其只能显示数字,字母。方案二:采用 LCD1602 显示。特点是
9、体积小,功耗低,显示内容丰富,是单片机应用设计中最常用的信息显示模块。方案三:采用 LCD12864 显示。特点是该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616 点阵的汉字. 也可完成图形显示.低电压低功耗。不论硬件电路结构或显示程序都要简洁得多,价格也较低廉。综合以上三种方案,本设计选择方案二。 、2.4 传感器的论证与选择方案一:采用红外对管测速。特点是能够快速反应电机轴上码盘的黑白线,输出方波,并用数码管显示。可以满足一般小电机的测速,适合于玩具车的,循迹小车的测速,但在大型电机上还有很大要改进的地方方案二:采用编码测速。特点是功耗
10、小,性能稳定,分辨力高,广泛应用于机电测速的各个方面。方案三:采用光电对管测速。采用集成电路技术和 SMT 表面安装工艺而制造的新一代光电开关器件,具有延时、展宽、外同步、抗相互干扰、可靠性高、工作区域稳定和自诊断等智能化功能。这种新颖的光电开关是一种采用脉冲调制的主动式光电探测系统型电子开关,它所使用的冷光源有红外光、红色光、绿色光和蓝色光等,可非接触,无损伤地迅速和控制各种固体、液体、透明体、黑体、柔软体和烟雾等物质的状态和动作。体积小、功能多、寿命长、精度高、响应速度快、检测距离远以及抗光、电、磁干扰能力强。综合以上三种方案,本设计选择方案二。3 理论分析与计算3.1 PWM 调速原理P
11、WM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率 改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM 可以应用在许多方面。比如电机调速、温度控制、压力控制等等。在 PWM 驱动控制的调整系统中按一个固定的频率来接通和断开电源并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速,也正因为如此 PWM 又被称为“开关驱动装置 ”。设电机始终接通电源时,电机转速最大为 Vmax,设占空比为 D= t1 / ,则电机的平均速度为 Va = Vmax * D,其中 Va 指的是电机的平均速度
12、,Vmax 指电机在全通电时的最大速度,D = t1 / T 是指占空比。 由上面的公式可见,当我们改变占空比 D=t1/T 时,就可以得到不同的电机平均速度 Vd,从而达到调速的目的。严格来说,平均速度 Vd 与占空比 D 并非严- 6 -格的线性关系,但是在一般的应用中,我们可以将其近似的看成是线性关系。3.2 PWM 调速方法 基于单片机类由软件来实现 PWM:在 PWM 调速系统中占空比 D 是一重要参数在电源电压 dU 不变的情况下,电枢端电压的平均值取决于占空比 D 大小,改变 D 的值可以改变电枢端电压的平均值从而达到调速的目的。改变占空比D 的值有三种方法: A、定宽调频法:保
13、持 1t 不变,只改变 t,这样使周期(或频率)也随之改变。 B、调宽调频法:保持 t 不变,只改变 1t,这样使周期(或频率)也随之改变。C、定频调宽法:保持周期 T(或频率)不变,同时改变 1t 和 t。 前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起振荡,因此常采用定频调宽法来改变占空比从而改变直流电动机电枢两端电压。利用单片机的定时计数器外加软件延时等方式来实现脉宽的自由调整。此种方式可简化硬件电路、操作性强等优点。二 硬件电路设计1 控制系统单片机 80C51 如图 2 所示。- 7 -图 2 80C51单片机 AT80C51 是一
14、个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes SP 的可反复擦写的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MC-51 指令系统及 89C51 引脚结构,芯片内集成了通用 8 位中央 处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT80C51 可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT80C51 具有如下特点:40 个引脚, 4k Bytes Flash 片内程序存储器,128 bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入 /输出(I/O)口,5 个中 断优先级
15、 2 层中断嵌套中断, 个 16 位可 2 编程定时计数器,2 个 全双工串行通信 口,看门狗(WDT)电路,片内时钟振荡器。2 驱动模块电机驱动芯片 L298N 如图 3 所示。图 3 L298NL298N 是 ST 公司生产的一种高电压、大电流电机驱动芯片。该芯片采用 15脚封装。主要特点是:工作电压高,最高工作电压可达 46V;输出电流大,瞬间峰值电流可达 3A,持续工作电流为 2A;额定功率 25W。内含两个 H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件
16、工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N 芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台电动机。使用直流/步进两用驱动器可以驱动两台直流电机。分别为 M1 和 M2。引脚- 8 -A,B 可用于输入 PWM 脉宽调制信号对电机进行调速控制。 (如果无须调速可将两引脚接 5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端 IN1 接高电平输入端 IN2 接低电平,电机 M1 正转。 (如果信号端 IN1 接低电平, IN2 接高电平,电机 M1 反转。 )控制另
17、一台电机是同样的方式,输入信号端 IN3 接高电平,输入端 IN4 接低电平,电机 M2 正转。(反之则反转) ,PWM 信号端 A 控制 M1 调速,PWM 信号端 B 控制 M2 调速。可参考下图表:输入 PWM 信号改 变脉宽可调速电机旋转方 式控制端IN1控制端IN2控制端IN3控制端IN4 调速端A调速端B正转 高 低 / / 高 /反转 低 高 / / 高 /M1停止 低 低 / / 高 /正转 / / 高 低 / 高反转 / / 低 高 / 高M2停止 低 低 / / / 高3 显示模块LCD1602 显示模块如图 4 所示。LCD1602 的主要功能是(1)40 通道点阵 LC
18、D 驱动; (2)可选择当作行驱动或列驱动; (3)输入/输出信号:输出,能产生 202 个 LCD 驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1V6); (4)通过单片机控制将所测的频率信号读数显示出来。 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。- 9 -LCD602 共 16 个管脚,但是编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W(读写选择端),E(使能信号);以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。以下具体阐述这三个管脚:RS 为寄存器选择,高电平选择数据寄存器,
19、低电平选择指令寄存器。R/W 为读写选择,高电平进行读操作,低电平进行写操作。E 端为使能端,后面和时序联系在一起。除此外,D0D7 分别为 8 位双向数据线。各管脚功能介绍如下表所示。引脚号引脚名 电平 输入/输出 作用1 VSS 电源地2 VCC 电源( +5V)3 VEE 对比调整电压4 RS 0/1 输入 0=输入指令1=输入数据5 RW 0/1 输入 0=向 LCD 写入指令或数据1=从 LCD 读取信息6 E 1,1_0 输入 使能信号 1 时读取信号10(下降沿)执行指令7 D0 0/1 输入/输出 总线 Line0(最低位)8 D1 0/1 输入/输出 总线 Line19 D2
20、 0/1 输入/输出 总线 Line210 D3 0/1 输入/输出 总线 Line311 D4 0/1 输入/输出 总线 Line412 D5 0/10/1 输入/输出 总线 Line513 D6 0/1 输入/输出 总线 Line614 D7 0/1 输入/输出 总线 Line7(最高位)15 A +VCC LCD 背光电源正极16 K 接地 LCD 背光电源负极三 软件设计1 程序流程图本系统直接应用于 AT80C51 的软件方法实现 PWM 信号的输出,这比硬件实现 PWM 成本低,限制少,实现便捷。此处利用定时计数器让单片机 P1 口的 P1.3、P1.3、P1.3 控制 L298 的IN1、IN2、ENA 管脚,输出占空比不同的方波,然后经驱动芯片 L298 放大后控制直流电动机。在调速时,IN1 与 IN2 引脚一个为低电平,一个为高电平,通过 P1.3 控制 L298 的 ENA,产生驱动电机的 PWM 信号。当需要改变电机转动方向时,两个引脚的 输出方向相反。PWM 脉冲信号是单片机采用延时程序产生的方波信号。PWM 脉宽控制是把每一脉冲的宽度均相等的脉冲列作为 PWM 波,改变脉冲的宽度或占空比来实现可