(3)突降负载时,电动机电枢电流波形和转速波形。 注:电动机电枢电流波形的观察可通过ACR的第“1”端 转速波形的观察可通过ASR的第“1”端
七. 实验报告
1.根据实验数据,画出闭环控制特性曲线。
2.根据实验数据,画出闭环机械特性,并计算静差率。
3.根据实验数据,画出系统开环机械特性,计算静差率,并与闭环机械特性进行比较。 4.分析由数字示波器记录下来的动态波形。
综合设计1 单片机PWM直流电机开环调速系统
班级 学号 姓名 得分
1 目的和要求
请采用单片机为一个12V直流电动机设计一个开环PWM调速器,要求输入12V 直流电压,用“加”“减”按键调节电机的速度。 2 电路设计
以微处理器为核心的数字控制系统(简称微机数字控制系统)硬件电路的标准化程度高,制作成本低,且不受器件温度漂移的影响;其控制软件能够进行逻辑判断和复杂运算,可以实现不同于一般线性调节的最优化、自适应、非线性、智能化等控制规律,而且更改起来灵活方便。
如下图所示, 单片机PWM开环调速系统包括PWM控制和PWM变换器两个组成部分。 单片机系统在程序的控制下输出幅度为5v的矩形波,按键可调节PWM的占空比。考虑到单片机输出的PWM信号电压低功率小,用一个PWM变换器将PWM的工作电压提升到12V,由于采用了大功率三极管,功率也显著提升。
图1 PWM调速器的方框图
2.1PWM变换器设计
如图2所示的PWM变换器由1个三极管、一个限流电阻和1个三极管构成。
其中三极管在电路中起开关的作用,因此叫开关管,开关管的集电极与电动机串联接入12V直流电源,三极管的基极串联一个限流电阻,然后接PWM控制器。当控制器输出低电平时,三极管截止,当控制器输出高电平时,三极管正向导通。
电机两端并联一个二极管用作续流,因此又叫续流二极管。当三极管导通时,电机通电运转,
17
当三极管突然断开的一瞬间,因电机的线圈能产生感应电动势,该电动势通过二极管形成短暂的电流。三极管在PWM信号的控制下会周期性地导通和截止,在截止期就可以靠二极管形成续流。
当然这个续流时间非常短暂,如果三极管截止时间比较大,就难以为继了。
图2用三极管设计的PWM变换器
2.2 PWM控制器设计
用一个单片机、一个晶振和两个辅助电容可以构成一个单片机最小系统,一般来说,单片机的任何一个IO端口都可以输出PWM信号。如果用单片机内部的PWM信号发生器,就需要特定的引脚。在任意端口接上几个按键,就可以通过按键调节PWM信号的占空比。
图3 单片机最小系统构成的PWM控制器
2.3 总电路
将两个电路组合成一个完整的电路如下:
图4 单片机PWM控制器总电路
18
3 硬件电路的安装调试
3.1 单片机最小系统的安装和调试
步骤1:安装单片机。注意使用单片机插座,缺口向上, 小心不要搞断引脚。
步骤2:焊接时钟振荡电路。在单片机的18和19脚之间焊接一个晶振,在晶振的两端焊接两个33pF的辅助电容。
步骤3:焊接下载线。根据上正下负的基本原,Vcc在上,GND在下,中间为RXD和TXD。 步骤4:下载测试。用STCISP 程序下载一个测试程序,如果能正常下载,说明最小系统可以正常工作。如果不能下载,请检查是否有虚焊,用二极管档测量以下几个关键点是否导通:
(1) 测量下载线的Vcc和单片机的40脚,看是否导通; (2) 测量下载线的Gnd和单片机的20脚,看是否导通; (3) 测量下载线的第2脚,是否与RXD导通; (4) 测量下载先的第3脚,是否与TXD导通;
(5) 测量晶振与18脚和19脚是否能通电,是否存在短路。 3.2 按键电路的安装和调试 步骤1:安装按键。
步骤2:测量按键是否起作用。
测量每个按键对地是否导通:用万用表的二极管档位测量按键连接的单片机IO口与GND的电阻,按下按键应能听到响声,释放按键无声。 3.3 电源电路的安装和调试
安装7805,接入12V电压,测量输入电压应为12V,测量单片机的工作电压应为5V 3.5 PWM转换电路安装和调试
步骤1:安装2.2K的限流电阻、开关三极管、限流二极管。注意三极管的三个引脚不能接错,二极管的正负极不能接反。
步骤2:在限流电阻输入端用飞线给一个高电平(5V电压),电机应该能转动。 步骤3:在限流电阻输入端用飞线给一个低电平(接GND),电机应该能停止转动。 4程序设计
4.1 程序模块分析
根据项目要求,需要用按键控制单片机产生一个1KHz占空比可调的PWM信号,如果单片机内部没有专用的PWM发生器,可以用定时器来设计,程序主要模块如下:
(1)定时器初始化程序
在定时器初始化程序中设定定时器的中断时间为 PWM周期除以分辨率。1KHz的周期为1mS,如果分辨占空比的为100,则需要将1mS分为100份,最小时间单位为10uS,也就是定时器必须10us中断一次。
(2) PWM输出程序
定时器每10us中断一次,在定时中断程序中需要判断定时的次数,如果定时次数小于占空比就输出高电平,否则输出低电平。如果定时器次数为100次,一个PWM周期结束。重新开始下一个PWM周期。
(3)键盘程序 共由四个按键,都是用来调节占空比的大小的。按键1用于占空比加1,按键2用于占空比减1,按键3用于快加(+10),按键4用于快减(-10)。
(4)拆字显示程序
如果采用数码管显示,就只能显示占空比;如果电路板用LCD1602液晶显示,就可以调用LCD1602液晶显示占空比的大小,还可以显示更多的内容。 4.2 绘制程序流程图
根据上述分析,定时器初始化程序只在通电的时候执行一次,应该放在while(1)之前;拆字、显示和键盘程序可以重复执行,应该放在无穷循环的while(1)内部,PWM输出程序需要精确的时间控制,应该放在定时中断程序中。
综上所述,绘制PWM程序流程图如下:
19
图5 PWM开环调速系统程序流程图
4.3 编写程序框架代码
根据上述程序流程图,编写程序的框架代码如下: # include
Void Chaizi ( ) { }
Void Display( ) { }
Void Keyboard( ) { }
Void main( ) // 任何单片机程序必须有且只有一个main函数 {
Timer_init( ) ; //定时器初始化程序
While(1) //无条件循环程序,又叫无穷循环 { //开始无穷循环
Chaizi ( ); Display(); Keyboard ();
} //循环体结束 }
Void PWM_Out ( ) interrupt 1 //定时中断程序 { }
上述程序代码只是一个空壳,准确地表达了程序流程,但是却没有任何具体的程序。编译正确后才可以继续编写子程序代码。 4.4 定时器初始化程序设计
考虑到定时器时间比较短,可以设置定时器T0工作在方式2(自动重装的8位定时器),可以设置TMOD= 0x02 ;
8位定时的最大长度为256uS,为了使得定时器计时10uS,可以设置初始值为246;因为定时器可以自动重装,需要对定时器的高8位和低8位同时赋初值,代码如下:
TH0=TL0=246;
此外还需要允许总中断和定时中断,最后要启动定时器,代码如下: EA=1; ET0=1; TR0=1;
综上所述,定时器初始化的程序设计如下:
Void timer_init() {
TMOD= 0x02 ;
20
相关推荐: