计算机控制课程设计 直流电机速度控制.pdf
-成绩课程设计报告课程设计报告题题目目直流电机速度控制课课 程程 名名 称称计算机控制系统设计院院 部部 名名 称称机电工程学院专专业业班班级级学学 生生 姓姓 名名学学号号课程设计地点课程设计地点课程设计学时课程设计学时指指 导导 教教 师师金陵科技学院教务处制目录摘 要.II1.绪 论.12.设计方案.22.1 直流电机调速原理.22.2 PWM 基本原理.32.3 设计思路.43.硬件电路的设计.53.1 AT89C51 模块.53.2 直流电机模块.73.3 显示设计模块.83.4 驱动模块 L298.93.5 按键模块.103.6 整体硬件电路图.104.系统软件的设计.114.1 系统流程图:.114.2 源代码:.115.结果测试.16结论.19参考文献.20附录一:.21I直流电机速度控制摘 要近年来,随着计算机技术、电力电子技术和控制技术的发展,交流调速系统发展快,在许多场合正逐渐取代直流调速系统。但是就目前来看,直流调速系统仍然是自动调速系统的主要形式。对直流电机的速度调节,我们可以采用多种办法,本文在给出直流电机调整和 PWM 实现方法的基础上,提供一种用单片机软件实现 PWM 调速的方法,脉宽调制控制方法在直流调速中获得了广泛的应用,对基于 51 系列单片机实现直流电机调速系统进行研究和设计,能够在不同的按钮作用下分别实现直流电机的停止、加速、减速、正转、反转控制;能够实现基于51 系列单片机的直流电机 PWM 的调速设计。关键词:电力电子技术、直流调速系统、直流电机、PWM 调速、51 单片机II1.绪 论随着社会的发展,各种智能化产品日益走入寻常百姓家。为了实现产品的便携性、低成品以及对电源的限制,小型直流电机应用相当广泛。由于直流电动机具有良好的运动性能和控制特性,尽管它不如交流电动机那样结构简单、价格便宜、制造方便、维护容易,但是长期以来,由于直流电机具有较大的起动转矩和良好的起、制动性能以及易于在宽范围内实现平滑调速,因此直流调速系统至今仍是自动调速系统的主要形式。在我国许多工业部门如轧钢、矿山采掘、海洋钻探、金属加工、纺织、造纸以及高层建筑等需要高性能可控电力拖动场合,仍然广泛采用直流调速系统。而且,直流调速系统在理论和实践上都比较成熟,从控制技术角度来看,它又是交流调速系统的基础。因此加强对直流调速系统的发展有于更进一步发展交流调速系统,促进调速系统的进一步完善。在现代工业中,电动机作为电能转换的传动装置被广泛应用于机械、冶金、石油化学、国防等工业部门中,随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现人工和自动调速。直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应用技术的最新发展成就。正是这些技术的进步使直流调速系统发生翻天覆地的变化。其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并正向全数字控制方向快速发展。由于单片机性能优越,具有较佳的性能价格比,所以单片机在工业过程及设备控制中得到日益广泛的应用。12.设计方案本设计主要介绍利用单片机对PWM信号的软件实现方法。MCS一51系列典型产品AT89C51具有两个定时器T0和T1。通过控制定时器初值T0和T1,从而可以实现从C51的任意输出口输出不同占空比的脉冲波形。由于PWM信号软件实现的核心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初值与定时时间的关系也不同。因此,首先必须明确定时器的定时初值与定时时间的关系。如果单片机的时钟频率为f,定时器计数器为N位,则定时器初值与定时时间的关系为:t1(2nT)式中,T 定时器定时初值;N 一个机器周期的时钟数。N随着机型的不同而不同。在应用中,Nf 106应根据具体的机型给出相应的值。这样,我们可以通过设定不同的定时初值,从而改变占空比D=t1/T,进而达到控制电机转速的目的。2.1 直流电机调速原理根据励磁方式不同,直流电机分为自励和他励两种类型。不同励磁方式的直流电机机械特性曲线有所不同。对于直流电机来说,人为机械特性方程式为:(2-1)式中UNN,额定电枢电压、额定磁通量;KeKt,与电机有关的常数;RadRa,电枢外加电阻、电枢内电阻;n0n,理想空载转速、转速降。UR分析(2-1)式可得当分别改变N、N和ad时,可以得到不同的转速n,I从而实现对速度的调节。由于=T,当改变励磁电流f时,可以改变磁通量的2大小,从而达到变磁通调速的目的。如图2.1所示,理想空载转速n随电枢电压升降而发生相应的升降变化。不同电枢电压的机械特性曲线相互平行,说明硬度不随电枢电压的变化而改变,电机带负载能力恒定。当我们平滑调节他励直流电机电枢两端电压时,可实现电机的无级调速。基于以上特性,改变电枢电压,实现对直流电机速度调节的方法被广泛采用。图2.1 直流电动机机械特性曲线图2.2电枢电压“占空比”与平均电压关系2.2 PWM 基本原理PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。如图3-2所示,在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为:(2-2)式中,Vd 电机的平均速度;Vmax电机全通电时的速度(最大);D=t1/T占空比。由公式(2-2)可见,当我们改变占空比时D=t1/T,就可以得到不同的电3机平均速度,从而达到调速的目的。严格地讲,平均速度Vd与占空比D=t1/T并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。2.3 设计思路键盘向单片机输入相应控制指令,由单片机相应端口输出与转速相应的 PWM脉冲,经过信号放大、驱动电动机控制电路,实现电动机转向与转速的控制,电动机正转,反转,加速,减速、急停。总体设计方案框图如图 2.3 所示:图2.3 系统框图43.硬件电路的设计 AT89C51单片机、直流电机、L298N、7SEG-MPX4-CA 四位共阳数码管、滤波电容、上拉电阻、弹跳开关等。3.1 AT89C51模块AT89C51是一种带4K 字节 FLASH 存储器的低电压、高性能 CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.1所示:图3.1 AT89C51模块AT89C51 提供以下标准功能:4k 字节 Flash 闪速存储器,128字节内部 RAM,32 个 I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.主要引脚及其作用:5 VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向 I/O 口,每脚可吸收8TTL 门电流。当 P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0输出原码,此时 P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向 I/O 口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向 I/O 口,P2口缓冲器可接收,输出4个 TTL 门电流,当 P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或 16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向 I/O 口,可接收输出4个 TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为 AT89C51的一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置0。此时,ALE只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。6/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA 将内部锁定为 RESET;当/EA端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加12V 编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。本模块在直流电机速度控制系统中起控制作用,其中 P0.0P0.7口控制数码管片选,P1.0P1.4分别连接按键正转、反转、停止、加速、减速,P2.0P2.3口控制数码管位选,P3.0P3.1口控制L298实现直流电机正反转,P3.7口控制L298使能端。3.2 直流电机模块以89C51单片机为核心的直流电机控制系统控制简图如图3.2所示。图3.2 直流电机模块本设计运用H桥驱动电路,有四个二极管和一个直流电机组成。要使电机运转,必须导通对角线上的一对二极管,根据不同二极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的运转方向。用单片机控制二极7管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,由软件转换成 PWM 信号,并由P3.0、P3.1输出,经驱动电路输出给电机,从而控制电机得电与失电。软件采用定时中断进行设计。单片机上电后,系统进入准备状态。当按动启动按钮后,根据P3.0为高电平实现电机正转,P3.1为高电平时实现电机反转。根据不同的加减速按钮,调整P3.0/P3.1输出高低电平时的预定值,从而可以控制P3.0/P3.1输出高低电平时的占空比,进而控制电压的大小。3.3 显示设计模块7段LED数码管是利用7个LED外加一个小数点的LED组合而成的显示设备,可以显示 09 等 10 个数字和小数点,使用非常广泛。本次课设使用的是四位共阳数码管如图 3.4 所示,内部的 4 个数码管共用a-dp 这 8 根数据线,为人们的使用提供了方便,因为里面有 4 个数码管,所以它有 4 个公共端,即片选信号线,共有 12 个引脚。具体原理图如图 3.3 所示:图 3.3四位数码管内部原理图图 3.4 7SEG-MPX4-CA 四位共阳数码管8本次设计显示模块采用的是 7SEG-MPX4-CA 四位共阳数码管显示,因为单片机的输出端口输出的电流小,点亮数码管的能力不大,所以需要采用上拉电阻输出电流,此次上拉电阻采用的是 RESPACK-8,RESPACK-8 是带公共端的 8 电阻排,它一般是接在 51 单片机的 P0 口,因为 P0 口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻如图 3.5 所示:图 3.5 上拉电阻 RESPACK-83.4 驱动模块 L298系统采用L298N芯片作为PWM 驱动直流电动机的供电主回路。L298 是双电源大电流功率集成电路如图 3.6 所示,直接采用 TTL 逻辑电平控制,可用来驱动继电器,线圈,直流电动机,步进电动机等电感性负载。其驱动电压可达 46V,直流电流总和可达 4A,其内部具有两个完全相同的功率放大回来。系统采用 L298N 芯片作为 PWM 驱动直流电动机的供电主回路。单片机通过软件处理输出 PWM 信号,实现了直流电动机的速度控制,在运行中获得了良好的动静态性能。由于系统性价比高,结构简单,具有实用价值和推广价值。图 3.6 直流电机驱动模块 L29893.5 按键模块按键部分如图 3.7 所示设定正,反转切换和启动、停止、加减速等功能操作。本系统在启动电机后步进电机匀速的运行。为了实现系统的启动、停止和正、反转,要设置相应的按钮和开关进行功能键处理。单片机的 P3.0、P3.1、P3.2、P3.3、P3.4 分别控制系统启动、停止、加速、减速、正、反转切换。由于按钮较少,所以采用独立键电路,这种按键电路的按键结构相对矩阵键盘电路更简单,更使人易懂。图 3.7 按键模块3.6 整体硬件电路图直流电机速度控制设计整体硬件电路图详见附录一。104.系统软件的设计4.1 系统流程图:开 始LED显 示 占 空 比扫 描 键 盘有 正 转 键 按 下?N Y有 反 转 键 按 下?N Y Y有 加 速 键 按 下?N有 减 速 键 按 下?Y N有 急 停 键 按 下?Y电 机 根 据 按 键 执 行 相 应 的 动 作以 及 数 码 管 显 示 相 应 的 数 字图 4.1 系统流程图114.2 源代码:#include#define unchar unsigned char#define unint unsigned intunsigned char code dispcode=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x84,0 xff,0 xbf;/0-F、黑屏、负、unsigned char dispbitcode=0 xfe,0 xfd,0 xfb,0 xf7;/第几个数码管unsigned char dispbuf4=0,0,0,0;unsigned char dispbitcnt;unint mstcnt;unint i;unint count=0;unchar tp=0;void ledshow();/函数声明void keyscan();void delay();void just();void turn();void motorstop();void speedup();void speeddown();void main(void)/主函数P3_0=1;P3_1=0;dispbuf0=16;TMOD=0 x02/定时器 2TH0=0 x06;/TH0 溢出周期TL0=0 x06;/低八位,高八位溢出后自动赋值给高八位TR0=1;/T0 运行控制启动ET0=1;/T0 溢出中断允许位EA=1;/中断允许总控制位while(1)ledshow();/LED 显示占空比keyscan();/扫描键盘void delay()12unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);/延时计数 20248 次void keyscan()/键盘扫描unchar temp=0;P1=0 xff;/先 P1 口全给高电平if(P1&0 x1f)!=0 x1f)delay();/延时,防抖动if(P1&0 x1f)!=0 x1f)temp=P1&0 x1f;switch(temp)case 0 x1e:just();break;case 0 x1d:turn();break;case 0 x1b:motorstop();break;case 0 x17:speedup();break;case 0 x0f:speeddown();break;while(P1&0 x1f)!=0 x1f);void ledshow()/*P0=dispcodedispbufdispbitcnt;P2=dispbitcodedispbitcnt;dispbitcnt+;if(dispbitcnt=4)dispbitcnt=0;13*/扫描数码管P2=0 x01;P0=dispcodedispbuf0;for(i=0;i700;i+);/延时P2=0 x02;P0=dispcodedispbuf1;for(i=0;i700;i+);P2=0 x04;P0=dispcodedispbuf2;for(i=0;i700;i+);P2=0 x08;P0=dispcodedispbuf3;for(i=0;i100)count=0;if(counttp)P3_7=0;else P3_7=1;count+;void just()/前进P3_0=1;14P3_1=0;dispbuf0=16;void turn()/后退P3_0=0;P3_1=1;dispbuf0=17;void motorstop()/停止tp=0;void speedup()/加速if(tp99)tp=100;else tp+;void speeddown()/减速if(tp1)tp=0;else tp-;155.功能验证初始状态,直流电机有如图示运行效果如图 5.1 所示:图 5.1 初始状态下电路仿真图(1)按下正转键,直流电机运行结果如图 5.2 所示:图 5.2 正转启动仿真图16(2)按下加速键,直流电机有图正向加速运行结果如图 5.3 所示:图 5.3 正转加速仿真图(3)按下减速键,直流电机有图正向减速运行结果如图 5.4 所示:图 5.4 加速运行仿真图17(4)按下反转键,直流电机有图反向加速运行结果如图 5.5 所示:图 5.5 反转运行仿真图(5)按下加速键,直流电机有图反向加速运行结果如图 5.6 所示:图 5.6 反转加速运行仿真图18结论本次课程设计仿真运行成功,在这学习过程中,我们 6 人一组系统的学习了单片机与直流电机的相关知识。一开始,我们对它很陌生,可以说是知之甚少,可是我们不断翻阅图书馆的相关资料及网上查阅,经过自己的思考后,形成想法,之后我们经常在一起讨论,交换意见和看法,遇到大家都不懂的地方,我们会上网查资料或者去找周围的同学,如果仍旧一知半解,我们会去询问指导老师,就这样,经过一段时间的系统学习,有了一定程度的认识,学到了很多东西,这也对我们的后续学习过程和实践环节提供了有力的帮助和支持。当然,本设计存在很多不切实际的因素,比如运行系统让直流电机正转时被控对象的响应很慢,由正转到急停或由正转到反转都需要等待一段时间。因此,在现实中这些都是不利因素。在现实中,H 桥驱动电路不适合由二极管组等等。解决这些问题还需我们进一步研究学习。在这个课程设计中,我们要感谢的人有很多。首先,要感谢我们的指导老师*老师,他给我们提供了很大的帮助,解决了我们组课程设计过程中的一些问题。其次,我要感谢我们组的其他成员,是他们的团结互助,和谐相处,不断协助,才使我们的课程设计进程快速高效的完成。当然,也要感谢那些帮助过的我们的其他同学,没有他们,我们的课程设计也不能进行的如此顺利。本次课程设计是在学完计算机控制技术原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“计算机控制技术”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬件知识的理解,获得初步的应用经验,为以后从事相关工作打下一定的基础。最后,我还要感谢*不辞辛苦,耐心讲解,使我们非常感动。在这里,我致以崇高的敬意。19参考文献1 于海生.计算机控制技术M.北京:机械工业出版社,20102 张方.电机及拖动基础M.北京:中国电力出版社,20083 张靖武.单片机系统的 PROTEUS 设计与仿真M.北京:电子工业出版社,20074 杨恢先.单片机原理及应用M.北京:人民邮电出版社,20065 李朝青.单片机原理及接口技术M.20北京:北京航空航天大学出版社,2005附录一:直流电机调速 protel 电气图21