根据proteus仿真的pwm电机调速
- 格式:doc
- 大小:320.09 KB
- 文档页数:10
摘要在工业自动控制系统和各种智能产品中常常会用用电动机进行驱动、传动和控制,而现代智能控制系统中,对电机的控制要求越来越精确和迅速,对环境的适应要求越来越高。
本设计以AT89C51单片机为核心,基于Proteus单片机仿真软件,完成了直流电机的转速自动测量及转速调节功能。
在设计中采用PWM技术和PID控制技术对电机进行控制,并且利用数码管设计的人机界面系统显示转速的设定值及实际值,通过应用PID算法对占空比的计算达到精确调速的目的。
还利用了Visual Basic6.0编程软件编写了一个简单的上位机软件,显示实际转速的变化情况,对PID参数的整定提供依据。
关键词:Proteus,AT89C51,PID,PWM调速,Visual Basic 6.0目录第一章绪论 (1)1.1 直流电机闭环调速系统背景 (1)1.2 本设计实现的基本功能 (1)1.3设计目的及意义 (1)第二章总体规划 (2)2.1 直流电机控制原理及特点 (2)2.2 直流电机调速控制方式选择 (2)2.3 PWM脉宽调制方式 (3)2.4 电机实际转速的获取 (3)2.5总体设计框图 (4)2.6 上位机界面设计 (4)第三章硬件设计 (5)3.1 AT89C52芯片介绍 (6)3.2 电机驱动电路设计 (7)3.3 按键模块设计 (7)3.4 数码管显示模块设计 (8)3.5 串口电路设计 (8)第四章软件设计 (9)4.1 主程序 (9)4.2 定时器0中断服务程序 (10)4.3 PID控制输出程序 (10)第五章硬件与软件联合调试5.1 运行时速度设定值与实际值 (12)5.2 运行时直流电机转动情况 (12)5.3 运行时上位机运行情况 (12)参考文献 (13)致谢 (14)附录 (15)第一章绪论1.1直流电机闭环调速系统背景对直流电机转速的控制即可采用开环控制,也可采用闭环控制。
与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差率(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时, 闭环调速系统的调速范围可以大大提高。
1 引言随着微电子技术的不断发展与进步,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
在现代工业中,直流电动机作为电能转换的传动装置,被广泛应用于机械、冶金、石油、化工、国防等工业部门中。
直流电动机是将直流电能转换为机械能的电动机。
因其良好的调速性能而在电力拖动中得到广泛应用。
随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。
直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应用技术的最新发展成就。
正是这些技术的进步使直流调速系统发生翻天覆地的变化。
其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并向全数字控制方向快速发展。
本文设计了用DAC0808设计直流电动机调速器的基本方案,阐述了该调速器系统的基本结构、工作原理、运行特性及其设计方法。
本系统用电压表测量直流电动机的转速,用MCS-51单片机输出数字信号通过DAC0808芯片实现数模转换,从而输出模拟电压来控制调节直流电动机的转速。
本设计主要研究利用单片机及DAC0808实现数模转换调速,直流电机的控制和测量方法,从而对直流电机的调速控制精度、响应速度以及节约能源等都具有重要意义。
2 设计总体方案2.1 设计要求基本要求:使用AT89C51单片机为核心,使用数模转换元件DAC0808对单片机输出的数字信号进行转换,输出模拟信号驱动直流电动机。
具体要求:在设计中,设计8个按键对应直流电动机的8挡不同转速,按下不同按键时,电动机将以不同速度转动,在8个按键中取一个按键为直流电动机转动停止按键。
8挡不同转速的设定由学生自己决定。
仿真:控制程序在Keil软件中编写,编译,整个控制电路在Proteus仿真软件中连接调示。
直流电机脉宽调制调速在Proteus中的仿真设计文章设计了以单片机为核心,直流电动机为执行构件,H桥集成电路L298作为电动机驱动电路的脉宽调制调速系统,并在Proteus软件中进行了仿真。
系统采用PWM对直流电机调速,精度高、范围大、设计简单实用、性能可靠,具有一定的应用价值,而使用Proteus仿真软件也方便教学。
标签:PWM;单片机;Proteus;仿真1 引言脉冲宽度调制是利用数字信号输出对模拟电路进行控制的一种技术,广泛应用于功率控制、通信等领域。
脉宽调制就是按一定的规则对脉冲的宽度进行调制。
PWM的优点其一是从处理器到被控系统信号都是数字形式的,无需进行数模转换,其二是相较于模拟控制对噪声抵抗能力的增强,这是将PWM用于通信的主要原因。
在机电控制系统中,广泛采用PWM技术驱动各类模拟器件,如电动机调速、照明调光等。
要实现PWM可采用专用的集成电路,也可使用集成PWM 功能模块的单片机,或者采用程序控制单片机定时器及通用IO口来实现。
2 系统工作原理分析直流电动机是一个模拟器件,而单片机的输出是数字信号。
要实现单片机对直流电动机转速的控制,可以采用數/模转换电路进行D/A转换,也可以采用脉宽调制的方式实现。
本设计以单片机为控制核心并负责脉宽调制任务,按键作为系统输入,改变单片机输出脉冲的宽度实现对直流电动机速度的调节。
脉宽调制的输出就是不同宽度的脉冲,也就是单片机改变输出的高低电平的时间。
单片机的引脚负载能力极弱,需要功率驱动电路对单片机的输出信号进行放大后,再驱动直流电动机。
需要注意的是要让电动机取得不同转速的效果,必须提高调制频率,通常调制频率为1~200kHz,否则实际效果会是转动一短时间再停止一段时间。
3 硬件电路设计本设计采用脉宽调制的方式实现用按键控制直流电动机的转速,电动机从静止到全速运行分为多个档位。
整个系统硬件电路由单片机最小系统、按键、直流电动机及其驱动电路组成。
在本设计中选择AT89S52单片机芯片为系统控制芯片,系统晶振频率为12MHz。
摘要直流电机具有良好的启动性能和调速特性,它的特点是启动转矩大,能在宽广的范围内平滑、经济地调速,转速控制容易,调速后效率很高。
本文设计的直流电机调速系统,主要用proteus仿真,实现电机的加减速和正反转以及控制超调量和稳态误差等要求。
采用L298N芯片来设计电机驱动电路。
用LM331来实现电压频率转换。
在仿真中加上PI调节和三角波比较环节来进行直流PWM调速控制系统。
关键词:直流电机;调速控制系统;驱动电路。
目录摘要 (Ⅰ)目录 (Ⅱ)1前言 (1)2设计基本内容 (1)2.1设计题目 (1)2.2主要内容 (1)2.3具体要求 (1)3电路设计 (2)3.1设计基本框图 (2)3.2电机正反转模块 (2)3.3电机加减速模块 (3)3.4驱动电路模块 (3)3.5频电转换模块 (5)3.6PI调节及三角波比较模块 (7)4仿真结果 (7)5总结体会 (9)参考文献 (10)致谢 (11)仿真原理图 (12)1 前言电动机作为最主要的动力源和运动源之一,在生产和生活中占有十分重要的地位。
电动机的调速控制方法过去多用模拟法,随着单片机的产生和发展以及新型自关断元器件的不断涌现,电动机的控制也发生了深刻的变化。
直流电动机控制技术是一项以直流电动机作为机械本体,融入了电力电子技术、微电子技术、单片机控制技术和传感器技术的多学科交叉机电一体化技术。
单片机在电动机控制中的应用使调速系统具有了数值运算、逻辑判断及信息处理的功能。
自从全控型电力电子器件问世以后,就出现了采用全控型的开关功率元件进行脉宽调制的控制方式,形成了脉宽调制变换器-直流电动机调速系统,简称直流脉宽调速系统,或直流PWM调速系统。
PWM系统在很多方面有较大的优越性:主电路线路非常简单,需要用到的功率器件比较少;开关频率比较高,电机损耗及发热都比较少,电流很容易连续,并且谐波少;功率开关器件工作在开关状态,导通损耗比较小,装置效率比较高;低速性能比较好,调速范围比较宽,稳速精度比较高;若与快速响应的电动机配合,则系统频带宽,动态响应比较快,动态抗干扰能力强;直流电源采用不控整流时,电网功率因数比相控整流器高。
基于PWM的电机调速系统实验目的:1.学会并掌握可keil软件的使用;2.学会并掌握protues软件的使用;3.通过实验巩固单片机相关知识和检验自身动手能力实验要求:掌握单片机相关知识,利用调PWM占空比的方式来控制直流电机的转速,并且在led数码管上显示转速。
实验设备和仪器:1.89c51单片机最小系统2.直流电机3.示波器实验内容:本次实验设计是由小组五个成员共同完成基于PWM的电机调速系统并完成实物搭建和撰写实验报告。
本次实验小组共提供了两个方案,方案一和方案二,两个方案各自具有优缺点,详细内容会在下面给出。
方案一实验步骤:1.利用protues画电路图,电路图如图1所示:图1:方案一电路图2.根据电路图编写C语言代码:代码如下:#include <reg51.h>sbit PWM=P2^7;sbit CS3=P2^3;sbit CS2=P2^2;sbit CS1=P2^1;sbit CS0=P2^0;sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;unsigned char timer1;unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void Time1Config();void main(void){Time1Config();while(1){if(timer1>100) //PWM周期为100*0.5ms{timer1=0;}if(~key1){if(timer1 <30) //改变30这个值可以改变直流电机的速度{PWM=1;}else{PWM=0;}CS0=0;CS1=0;CS2=1;CS3=0;P0=tab[3];P0=0xff;CS0=0;CS1=0;CS2=0;CS3=1;P0=tab[0];P0=0xff;}else if(~key2){if(timer1 <50){PWM=1;else{PWM=0;}CS0=0;CS1=0;CS2=1;CS3=0; P0=tab[5];P0=0xff;CS0=0;CS1=0;CS2=0;CS3=1; P0=tab[0];P0=0xff;}else if(~key3){if(timer1 <80){PWM=1;}else{PWM=0;}CS0=0;CS1=0;CS2=1;CS3=0; P0=tab[8];P0=0xff;CS0=0;CS1=0;CS2=0;CS3=1; P0=tab[0];P0=0xff;}else if(~key4){if(timer1 <100){PWM=1;}else{PWM=0;}CS0=0;CS1=1;CS2=0;CS3=0; P0=tab[1];CS0=0;CS1=0;CS2=1;CS3=0;P0=tab[0];P0=0xff;CS0=0;CS1=0;CS2=0;CS3=1;P0=tab[0];P0=0xff;}}}void Time1Config(){TMOD|= 0x10; //设置定时计数器工作方式1为定时器//--定时器赋初始值,12MHZ下定时0.5ms--//TH1 = 0xFE;TL1 = 0x0C;ET1 = 1; //开启定时器1中断EA = 1;TR1 = 1; //开启定时器}void Time1(void) interrupt 3 //3 为定时器1的中断号{TH1 = 0xFE; //重新赋初值TL1 = 0x0C;timer1++;}3.实验仿真,部分仿真结果如图2图3所示:图2:仿真结果图(1)图3:仿真结果图(2)4.实物验证结果如图4所示:图4:方案一实物验证结果实物验证可以明显感觉到电机转速的变化,由于每个开发板不同,相比仿真程序,对实物验证程序进行了略微的修改,最终能达到要求。