基于单片机的直流伺服电机脉冲宽度调制控制系统.docx
《基于单片机的直流伺服电机脉冲宽度调制控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的直流伺服电机脉冲宽度调制控制系统.docx(21页珍藏版)》请在冰豆网上搜索。
![基于单片机的直流伺服电机脉冲宽度调制控制系统.docx](https://file1.bdocx.com/fileroot1/2023-1/11/5fed0498-2da5-4a43-a9af-5b1cd875bd81/5fed0498-2da5-4a43-a9af-5b1cd875bd811.gif)
基于单片机的直流伺服电机脉冲宽度调制控制系统
一.单片机简介
1.1单片机的发展史
单片机作为微型计算机的一个重要分支,应用面很广,发展很快。
自单片机诞生至今以发展为上百种系列的近千个分支。
如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:
(1)第一阶段(1976—1978):
单片机的控索阶段。
以Intel公司的MCS—48的推出是在工控领域的控索,参与这一控索的公司还有Motorola、Zilog等,都取得了满意的效果。
这就是SCM的诞生年代,“单片机”一词由此而来。
(2)第二阶段(1978—1982):
单片机的完善阶段。
Intel公司在MCS—48的基础上推出了完善的,典型的单片机系列MCS-51.它在以下几个方面奠定了典型的通用总线型单片机体系结构。
①完善的外部总线。
MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线16位地址总线控制总线及具有很多通信功能的串行通信接口。
②CPU外围功能单元的集中管理模式。
③体现工控特性的位地址空间及位操作方式。
④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
(3)第三阶段(1982-1990):
8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。
Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器的特征。
随着MCS-51系列的广泛应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路的功能,强化了智能控制的特征。
(4)第四阶段(1990-):
微控制器的全面发展阶段。
随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
1.2AT89C51简介
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1)主要特性:
a)与MCS-51兼容
b)4K字节可编程闪烁存储器
c)寿命:
1000写/擦循环
d)数据保留时间:
10年
e)全静态工作:
0Hz-24MHz
f)三级程序存储器锁定
g)128×8位内部RAM
h)32可编程I/O线
i)两个16位定时器/计数器
j)5个中断源
k)可编程串行通道
l)低功耗的闲置和掉电模式
m)片内振荡器和时钟电路
2)单片机内部结构图:
图1.1
3)AT89C51引脚图:
图1.2
4)管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写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.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
二.硬件电路设计
2.1硬件组成
本系统由PC机、MCS-51单片机开发系统、、PWM脉宽调制控制板以及直流伺服电动机等组成。
具体相关硬件如下:
二极管(1N4077)4个,场效应管(2SJ50)4个,非门74LS041个,与门74LS082个,电容(CAPACITOR)2个,芯片(AT89C51)1个,开关(BUTTON)3个,直流伺服电动机(MOTOR)1个,电阻(RES)4个,电源3个,地(GROUND)4个。
表2.1元件表
硬件型号
数量
硬件型号
数量
1N4077
4
MOTOR
1
2SJ50
4
RES
4
74LS04
1
CAPACITOR
2
74LS08
2
GROUND
4
AT89C51
1
VCC
3
BUTTON
3
2.2主要器件功能介绍
2.2.1直流伺服电机简介
伺服电机也称执行电机,它具有一种服从控制信号的要求而动作的电机,在信号来到之前,转子静止不动;信号来到之后,转子立即转动;当信号小时,转子能即使自行停转,由于这种“伺服”性能,因此而得名。
按照在自动控制系统中的功用所要求,伺服电机具备可控性好、稳定性高和速应性强等基本性能。
可控制性好是指寻好消失以后,能立即自行停转;稳定性高是指转速随转矩的增加而均匀下降,速应性强是指反应快,灵敏。
直流伺服电动机在自动控制系统中常用作执行元件,对它的要求是要有下垂的机械特性、线性的调节特性和对控制信号能作出快速反应。
该系统采用的是电磁式直流伺服电动机,其型号为45SY01型,其转速n的计算公式如下
n=E/KΦ=(Ua-IaRa)/KΦ
式中 n为转速;Φ为磁通;E为电枢反电势;Ua为外加电压;IaRa为电枢电流和电阻。
直流伺服电机与普通直流电机以及交流伺服电机的比较:
直流伺服电机的工作原理和普通直流电机相同。
只要在其励磁绕组中有电流通过且产生了磁通,当电枢绕组中通过电流时,这个电枢电流与磁通互相作用而产生转矩使伺服电机投入工作。
这两个绕组其中的一个断电时,电动机立即停转,它不象交流伺服电动机那样有“自转”现象。
所以我们选择直流伺服电动机来进行自动门的拖动。
2.2.2PWM简介及调速原理
(1)简介:
PWM控制就是对脉冲的宽度进行调制的技术,即通过对一系列脉冲的宽度进行调制,来等待地获得所需要波形。
PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。
让信号保持在数字形式可将噪声影响降到最小。
PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式。
(2)调速原理:
占空比表示了在一个周期T里,开关管导通的时间与周期的比值。
其变化范围为0—1。
在电源电压不变的情况下,电枢的端电压的平均值U取决于占空比的大小。
改变其值就可以改变端电压的平均值,从而达到调速的目的。
在PWM调速时,占空比是一个重要的参数。
以下是3种方式都可以改变占空比的值
图2.1
计算公式:
占空比=ton/T
a)定宽调频法
b)调宽调频法
c)定频调宽法
目前,在直流伺服电机的控制中,主要使用定频调宽法。
(3)与V-M系统相比,PWM调速系统有下列优点:
由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用可能就足以获得脉冲动很小的直流电流,电枢容易连续,系统的低速运行平稳,调速范围较宽,可达1:
10000左右。
又由于电流波形比V-M系统好,在相同的平均电流即相同的输出转矩下,电动机的损耗和发热都较小。
同样由于开关频率高,若与快速响应的电机配合,系统可以获得很宽的频带,因此快速响应性能好,动态抗干扰能力强。
由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率比较高。
2.2.3二极管的应用
1)整流二极管
利用二极管单向导电性,可以把方向交替变化的交流电变换成单一方向的脉动直流电。
2)开关元件
二极管在正向电压作用下电阻很小,处于导通状态,相当于一只接通的开关;在反向电压作用下,电阻很大,处于截止状态,如同一只断开的开关。
利用二极管的开关特性,可以组成各种逻辑电路。
3)限幅元件
二极管正向导通后,它的正向压降基本保持不变(硅管为0.7V,锗管为0.2V)。
利用这一特性,在电路中作为限幅元件,可以把信号幅度限制在一定范围内。
4)继流二极管
在开关电源的电感中和继电器等感性负载中起继流作用。
5)检波二极管
在收音机中起检波作用。
6)变容二极管
使用于电视机的高频头中。
7)显示元件
用于电视机显示器上。
2.3电路组成
2.3.1晶振电路
图—2.3.1振电路图,由两个电容和一个晶振组成,晶振频率为12MHZ
图2.2
2.3.2复位电路
图—2.3.2为复位电路图,由直流电源,电容和电阻组成,其主要功能是对单片机进行复位功能。
图2.3
2.3.3单相桥式整流电路
图—2.3.3是单相桥式整流电路图,由4个场效应管IGBT和四个二极管组成,其功能是将交流电转化成直流电。
其负载为伺服直流电机,通过门控信号的改变可以调节电机的转速和转向
图2.4
2.3.4调制电路
图2.3.4是调制电路图,由两个与门和一个非门组成,其功能主要是产生PWM脉冲来控制IGBT。
图2.5
三.系统软件设计
3.1Proteus介绍
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
3.1.2其功能特点
Proteus软件具有其它EDA工具软件(例:
multisim)的功能。
这些功能是:
(1)原理布图;
(2)PCB自动或人工布线;(3)SPICE电路仿真。
革命性的特点:
(1)互动的电路仿真 用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
(2)仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
还可以直接在基于原理图的虚拟原型 上编程,再配合显示及输出,能看到运行后输入输出的效果。
配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。
3.1.3具有4大功能模块
(1)智能原理图设计(ISIS)丰富的器件库:
超过27000种元器件,可方便地创建新元件:
智能的器件搜索:
通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:
自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:
使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:
通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。
(2)完善的电路仿真功能(Prospice)
ProSPICE混合仿真:
基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:
可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;多样的激励源:
包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;丰富的虚拟仪器:
13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:
用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;高级图形仿真功能(ASF):
基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;
(3)独特的单片机协同仿真功能(VSM)
支持主流的CPU类型:
如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器; 支持通用外设模型:
如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;实时仿真:
支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;编译及调试:
支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试;
(4)实用的PCB设计平台
原理图到PCB的快速通道:
原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;先进的自动布局/布线功能:
支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理;完整的PCB设计功能:
最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D可视化预览;多种输出格式的支持:
可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。
3.1.4Proteus提供了丰富的资源
(1)Proteus可提供的仿真元器件资源:
仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。
(2)Proteus可提供的仿真仪表资源:
示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。
理论上同一种仪器可以在一个电路中随意的调用。
(3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。
这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。
这些都尽可能减少了仪器对测量结果的影响。
(4)Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。
这些测试信号包括模拟信号和数字信号。
3.1.5电路功能仿真
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
PROTEUS是单片机课堂教学的先进助手。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台 随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。
使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用Proteus开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。
实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。
因此,Proteus有较高的推广利用价值。
目前Proteus的最新版为7.7sp2,今年将推出8.0版本,增加DSP系列及ARMcortex处理器
3.2汇编语言简单介绍
汇编语言(AssemblyLanguage)是面向机器的程序设计语言.汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
汇编语言”作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。
高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。
在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。
现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。
汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。
在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。
这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。
因此汇编语言亦称为符号语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。
汇编语言把汇编程序翻译成机器语言的过程称为汇编。
汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。
但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。
汇编语言的特点:
.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
.保持了机器语言的优点,具有直接和简捷的特点。
.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
.经常与高级语言配合使用,应用十分广泛。
3.3WAVE系统简介
3.3.1wave伟福系统的使用
1.文本编辑器的使用
在伟福编辑器中,可以编辑C语言、汇编语言、PLM语言程序,方法如下:
(1)调整主窗口中各窗口的边缘线,可以将编辑窗口调整至最大;
(2)在编辑框中可像一般的文本编辑软件一样编辑程序。
并能通过复制、剪贴、粘贴等功能对程序进行修改。
注意:
源程序除可以在WAVE6000的编译环境下编辑、录入,还可以在WORD、记事本或写字板环境下录入、编辑和修改,并拷贝到伟福编辑器中进行编译,但在编译前须将文件存为“**.asm”的格式。
2.程序的编译
在程序运行之前,应先对程序进行编译,方法为:
(1)进入【项目】菜单,选择【编译】项,对程序进行编译。
(2)按F9键,对程序进行编译。
(3)在工具条中选择【编译(F9)】按钮,对程序进行编译。