温度控制直流电机转速 设计报告
院 系:物电学院 专 业:电子信息工程 学 号:201000920146 姓 名:赵婧
I
摘要
本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。本课程设计主要是实现PWM调速器的正转、反转、加速、减速、停止等操作。并实现电路的仿真。为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示。单片机在程序控制下,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。
关键词:AT89C51单片机;PWM调速;正反转控制;仿真。
II
The Design of Direct Current Motor speed Regulation System Based
on SCM
Chenli
School of Information and Engineering
Abstract
This article mainly introduces the method to generate the PWM signal by using MCS-51 single-chip computer to control the speed of a D.C. motor. It also clarifies the principles of PWM and the way to adjust the duty cycle of PWM signal. In addition, IR2110 has been used as an actuating device of the power amplifier circuit which controls the speed of rotation of D.C. motor. What’s more, tachogenerator is used in this system to measure the speed of D.C. motor. The result of the measurement is sent to A/D converter after passing the filtering circuit, and finally the feedback single is stored in the single-chip computer and participates in a PI calculation. As for the software, this article introduces in detail the idea of the programming and how to make it.
Key words: PWM signal,tachogenerator,PI calculation
III
1系统论述
1.1 设计思路
直流电机PWM控制系统的主要功能包括:直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。该直流电机系统由以下电路模块组成:振荡器和时钟电路:这部分电路主要由80C51单片机和一些电容、晶振组成。设计控制部分:主要由80C51单片机的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显示部分。液晶显示部分由1602LCD液晶显示模块组成。直流电机PWM控制实现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。
1.2 基本原理
主体电路:即直流电机PWM控制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小和了解电机的转向,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。其间是通过80C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。该直流电机
PWM控制系统由以下电路模块组成:设计输入部分:这一模块主要是利用带中
断的独立式键盘来实现。设计控制部分:主要由80C51单片机的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显示部分。液晶显示部分由1602LCD液晶显示模块组成。直流电机PWM控制实现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。
2直流电机单元电路设计与分析 2.1 51单片机
STC89C52RC单片机介绍
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单
4
片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意
选择,指令代码完全兼容传统8051.
2. 工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机) 3. 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作
频率可达48MHz
4. 用户应用程序空间为8K字节 5. 片上集成512字节RAM
6. 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,
P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无
需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片 8. 具有EEPROM功能 9. 具有看门狗功能
10. 共3个16位定时器/计数器。即定时器T0、T1、T2
11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可
由外部中断低电平触发中断方式唤醒
12. 通用异步串行口(UART),还可用定时器软件实现多个UART 13. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 14. PDIP封装
STC89C52RC单片机的工作模式
掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原
程序
空闲模式:典型功耗2mA
正常工作模式:典型功耗4Ma~7mA
5
掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备
STC89C52RC引脚图
STC89C52RC引脚功能说明
VCC(40引脚):电源电压 VSS(20引脚):接地
P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向
6
I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(错误!未找到引用源。)。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:
在对Flash ROM编程和程序校验时,P1接收低8位地址。 表XX P1.0和P1.1引脚复用功能
引脚号 P1.0 P1.1 功能特性 T2(定时器/计数器2外部计数输入),时钟输出 T2EX(定时器/计数器2捕获/重装触发和方向控制) P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(错误!未找到引用源。)。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX @DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX @R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。 P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流(错误!未找到引用源。)。
在对Flash ROM编程或程序校验时,P3还接收一些控制信号。 P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示: 表XX P3口引脚复用功能
7
引脚号 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 复用功能 RXD(串行输入口) TXD(串行输出口) 错误!未找到引用源。(外部中断0) 错误!未找到引用源。(外部中断1) T0(定时器0的外部输入) T1(定时器1的外部输入) 错误!未找到引用源。(外部数据存储器写选通) P3.7 错误!未找到引用源。(外部数据存储器读选通) RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。
ALE/错误!未找到引用源。(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚(错误!未找到引用源。)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
错误!未找到引用源。(29引脚):外部程序存储器选通信号(错误!未找到引用源。)是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,错误!未找到引用源。在每个机器周期被激活两次,而访问外部
8
数据存储器时,错误!未找到引用源。将不被激活。
错误!未找到引用源。/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,错误!未找到引用源。必须接GND。注意加密方式1时,错误!未找到引用源。将内部锁定位RESET。为了执行内部程序指令,错误!未找到引用源。应该接VCC。在Flash编程期间,错误!未找到引用源。也接收12伏VPP电压。
XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2(18引脚):振荡器反相放大器的输入端。 特殊功能寄存器
在STC89C52RC片内存储器中,80H~FFH共128个单元位特殊功能寄存器(SFR),SFR的地址空间如下表1所示。
并非所有的地址都被定义,从80H~FFH共128个字节只有一部分被定义。还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。
不应将“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
STC89C52RC除了有定时器/计数器0和定时器/计数器1之外,还增加了一个一个定时器/计数器2.定时器/计数器2的控制和状态位位于T2CON(见表2)和T2MOD(见表4)。
定时器2是一个16位定时/计数器。通过设置特殊功能寄存器T2CON中的C/T2位,可将其作为定时器或计数器(特殊功能寄存器T2CON的描述如表2所列)。定时器2有3种操作模式:捕获、自动重新装载(递增或递减计数)和波特率发生器,这3种模式由T2CON中的位进行选择(如表2所列)
2.1 电机驱动模块
主要由一些二极管、电机和L298直流电机驱动模块(内含CMOSS管、三太门等)组成。现在介绍下直流电机的运行原理 2.1.1 直流电机类型
9
直流电机可按其结构、工作原理和用途等进行分类,其中根据直流电机的用途可分为以下几种:直流发电机(将机械能转化为直流电能)、直流电动机(将直流电能转化为机械能)、直流测速发电机(将机械信号转换为电信号)、直流伺服电动机(将控制信号转换为机械信号)。下面以直流电动机作为研究对象。 2.1.2 直流电机结构
直流电机由定子和转子两部分组成。在定子上装有磁极(电磁式直流电机磁极由绕在定子上的磁绕提供),其转子由硅钢片叠压而成,转子外圆有槽,槽内嵌有电枢绕组,绕组通过换向器和电刷引出,直流电机结构如图2.1所示。
图2.1 直流电动机结构
2.1.3 直流电机工作原理
直流电机电路模型如图2.2所示,磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。当线圈中流过电流时,线圈受到电磁力作用,从而产生旋转。根据左手定则可知,当流过线圈中电流改变方向时,线圈的受方向也将改变,因此通过改变线圈电路的方向实现改变电机的方向。
N+-AabcBdS图2.2 直流电动机电路模型
图1.1 直流电机工作10
2.1.4 直流电机PWM调速原理
(1)直流电机转速
直流电机的数学模型可用图2.3表示,由图可见电机的电枢电动势Ea的正方向与电枢电流I的方向相反,Ea为反电动势;电磁转矩T的正方向与转速n的方向相同,是拖动转矩;轴上的机械负载转矩T2及空载转矩T0均与n相反,是制动转矩。
I T1 U T2 T0 Ea ra Φ Rc
n 说明: U ………………> 电压 Ea ……… >电枢电动势 n …………………>转速 I………………>电枢电流 ra ……… >电枢回路电阻 Rc……… >外在电枢电阻 T1,T2………>负载转矩 T0………… > 空载转矩 Φ………………> 磁通量 图2.3 直流电机的数学模型
根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式1.1:
U=Ea-I(Ra+Rc)……………………………………………式1.1
式1.1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷接触电阻的总和;
Rc是外接在电枢回路中的调节电阻。
由此可得到直流电机的转速公式为:
n =Ua-IR/CeΦ ……………………………………………式1.2
式1.2中,Ce为电动势常数,Φ是磁通量。 由1.1式和1.2式得
n =Ea/CeΦ ………………………………………………式1.3
由式1.3中可以看出,对于一个已经制造好的电机,当励磁电压和负载转矩恒定时,它的转速由回在电枢两端的电压Ea决定,电枢电压越高,电机转速就越快,电枢电压降低到0V时,电机就停止转动;改变电枢电压的极性,电机就反转。
(2)PWM电机调速原理
对于直流电机来说,如果加在电枢两端的电压为2.3所示的脉动电流压(要求脉动电压的周期远小于电机的惯性常数),可以看出,在T不变的情况下,
11
改变T1和T2宽度,得到的电压将发生变化,下面对这一变化进一步推导。
电枢两端的脉动电压
t1Tt2图2.3 施加在
最大值Vmax平均值Vd设电机接全电压U时,其转速最大为Vmax。若施加到电枢两端的脉动电
压占空比为D=t1/T,则电枢的平均电压为:
图1.3 PWM调速原理图最小值Vmin U平=U·D ……………………………………………式1.4 由式1.3得到:
n =Ea/CeΦ≈U·D/ CeΦ=KD ;
在假设电枢内阻转小的情况下式中K= U/ CeΦ,是常数。
图2.4为施加不同占空比时实测的数据绘制所得占空比与转速的关系图。
图2.4 占空比与电机转速的关系
由图看出转速与占空比D并不是完全速的线性关系(图中实线),原因是电枢本身有电阻,不过一般直流电机的内阻较小,可以近视为线性关系。
由此可见,改变施加在电枢两端电压就能改变电机的转速成,这就是直流电机PWM调速原理。
2.1.6 电机驱动模块的电路设计
根据直流电机的工作原理,从PROTEUS选取元器件如下,放置元器件、放置电源和地]连线,我们参此设计的直流电机驱动模块电路如图2.5所示
● 1N4006 : 二极管 ● VSCOURCE : 电源
● MOTOR-ENCODER : 直流电机 ● RES : 电阻
● AT89C51 : 单片机 (在此并未显示)
12
输入PWM信号改旋转方电机 式 IN1 IN2 IN3 IN4 调速端A 正转 M1 反转 停止 高 低 低 低 高 低 / / / / / / 高 高 高 调速端B / / / 控制端控制端控制端控制端变脉宽可调速
图2.5 直流电机驱动电路
2.2 温度采集模块
2.2.1 温度传感器
13
2.2.2 ADC0832 ADC0832具有以下特点: · 8位分辨率; · 双通道A/D转换;
· 输入输出电平与TTL/CMOS相兼容; · 5V电源供电时输入电压在0~5V之间; · 工作频率为250KHZ,转换时间为32μS; · 一般功耗仅为15mW; · 8P、14P—DIP(双列直插)、PICC多种封装;
· 商用级芯片温宽为0°C to +70°C,工业级芯片温宽为−40°C to +85°C; 芯片接口说明:
· CS_ 片选使能,低电平芯片使能。
· CH0 模拟输入通道0,或作为IN+/-使用。 · CH1 模拟输入通道1,或作为IN+/-使用。 · GND 芯片参考0电位(地)。
· DI 数据信号输入,选择通道控制。 · DO 数据信号输出,转换数据输出。 · CLK 芯片时钟输入。
· Vcc/REF 电源输入及参考电压输入(复用)。
14
ADC0832与单片机的接口电路:
ADC0832时序图:
15
2.3 1602LCD液晶显示模块
2.3.1 引脚分布和接口信号说明
(1)引脚分布
1602液晶显示共有16个引脚,其引脚分布如图2.5所示。
图2.10 1602液晶显示模块引脚分布
(2)引脚功能
1602引脚功能如表2.1所示
表2.1 1602引脚功能
16
LCD1LM016LLCD显示电路引脚说明 VSS为地电源 VDD接5V正电源 E6RW5RS4VEEVDDVSSERWRS321编号 符号 U119编号XTAL1 符号 D2 D3 D4 D5 D6 1 2 3 4 5 VSS VDD VEE RS R/W 189 XTAL210 RST14131211109879P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD739引脚说明 38373635343332Data I/O Data I/O 21Data I/O P2.0/A82224Data I/O 2523D7D6D5D4D3D2D1D0液晶显示偏压信号 75%11 RV12930310输入指令,1输入数据1k 12 PSENALEEA0写入指令或数据,1读信13 息 12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15Data I/O 1011121314151617RSRW2627286 7 8 E D0 D1 1读取信息,1→0执行指令 14 Data I/O Data I/O 15 AT89C51D7 BLA BLK P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDData I/O E背光源正极 背光源负极 16 2.3.2 LCD液晶电路
图2.11 1602液晶显示模块组成
2.3.3 显示程序流程图如3.12所示
17
主程序开始对LCD进行一些初始化操作将已知要提示的内容送入LCD中并使其显示在第一行判断设置电机的速度是否为0,若是,一直等待将从键盘读取的速度和转向送入LCD中并使其在第二行显示判断是否有命令输入,若没,一直等待LJMP 图2.12 3直流电机PWM控制系统的实现
3.1 总电路图
18
图3.1 直流电机
3.2 总电路功能介绍
直流电机PWM调制控制系统具有加速、减速、正转、反转、停止控制功能。操作开关通过中断控制直流电机的加速、减速、正转、反转、停止控制功能,并通过LCD液晶显示。振荡、时钟电路和复位电路由80C51单片机内部给出。直流电机转动速度由LCD液晶显示。操作开关状态由液晶显示器显示。
4系统仿真
LCD液晶显示电路的系统仿真与调试:在PROTEUS运行环境中首先检
验LCD显示电路,添加程序,运行LCD液晶显示电路能,系统若运行成功将 得到如图4.1。
5结束语
这次课程设计是一次非常好的锻炼机会,历时二个星期左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的不怎么牢固,看到了自己的实践经验更是比较缺乏,理论联系实际的能力还急需提高。
19
部分源程序
Void main () { }
Void timer0 () interrupt 1 {
TH0=65536-1000/256; TL0=65536-1000%256; temp=redact();
//读取温度
LCD_init (); TMOD=0x01;
TH0=65536-1000/256; TL0=65536-1000%256; EA=1; ET0=1; TR0=1; While (1);
Current= (char) (temp+0.5); Display temperature ();
if(temp>=75) //温度大于等于75时设为75
Temp=75;
//温度小于等于0时设为0
if(temp<=0)
Temp=0;
If (temp>=45) {
MA=1; MB=0;
if(current==45) //等于45时停止转动,占空比0 {
20
}
PWM=0; Delay (30); Return;
If (temps==75) { }
Time=240*((temp-45)/30);
PWM=1; //占空比0%~100% Delay (time);
PWM=1; Delay (30); Return;
PWM=0; } Else {
If (temp<=10) {
MA=0; MB=1;
If (current==10) { }
If (temps==0) {
PWM=1; PWM=0; Delay (30); Return;
Delay (240-time);
21
}
Delay (30); Return;
PWM=1; //占空比0%~100%
Delay (24*(10-temp));
PWM=0; Delay (3*temp);
} Else { MA=0; MB=0;
}
}
}
22
因篇幅问题不能全部显示,请点此查看更多更全内容