计算机控制基于位置模式的伺服电机系统.docx

上传人:b****1 文档编号:10160195 上传时间:2023-05-24 格式:DOCX 页数:45 大小:815.89KB
下载 相关 举报
计算机控制基于位置模式的伺服电机系统.docx_第1页
第1页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第2页
第2页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第3页
第3页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第4页
第4页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第5页
第5页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第6页
第6页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第7页
第7页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第8页
第8页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第9页
第9页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第10页
第10页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第11页
第11页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第12页
第12页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第13页
第13页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第14页
第14页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第15页
第15页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第16页
第16页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第17页
第17页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第18页
第18页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第19页
第19页 / 共45页
计算机控制基于位置模式的伺服电机系统.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机控制基于位置模式的伺服电机系统.docx

《计算机控制基于位置模式的伺服电机系统.docx》由会员分享,可在线阅读,更多相关《计算机控制基于位置模式的伺服电机系统.docx(45页珍藏版)》请在冰点文库上搜索。

计算机控制基于位置模式的伺服电机系统.docx

计算机控制基于位置模式的伺服电机系统

 

计算机控制基于位置模式的伺服电机系统

 

院系

自动化学院

专业

测控技术与仪器

班级

6407102

学号

200604071069

姓名

张蔷

指导教师

负责教师

 

沈阳航空航天大学

2010年6月

摘要

本片设计方案主要是利用单片机AT89C52实现对伺服电机的匀速及变速控制。

伺服电动机在伺服系统中控制机械元件运转的发动机。

是一种补助马达间接变速装置。

又称执行电动机,在自动控制系统中,用作执行元件,把所收到的电信号转换成电动机轴上的角位移或角速度输出。

分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。

伺服电机,可使控制速度,位置精度非常准确。

直流伺服电机分为有刷和无刷电机。

有刷电机成本低,结构简单,启动转矩大,调速范围宽,控制容易,需要维护,但维护方便(换碳刷),产生电磁干扰,对环境有要求。

因此它可以用于对成本敏感的普通工业和民用场合。

控制系统采用MCS52系列单片机AT89C52作为处理器系统,时钟可达12MHz,运算速度快,控制功能完善,其内部具有128字节RAM,而且内部还有8kb的EPROM不需要外扩展存储器,可使系统整体结构更为简单、实用。

关键字:

AT89C52;单片机;伺服电机位置控制方式

Abstract

Servomotorcontrolintheservosystemmechanicalcomponentsoperationoftheengine.Motorisakindofindirectsubsidyspeeddevices.AlsoknownastheExecutiveMotor,intheautomaticcontrolsystemthatisusedfortheimplementationofcomponentsofthereceivedsignalintomotoraxisangularvelocityordisplacementoutput.DCandACdividedintotwocategoriesservomotor,anditsmainfeatureisthat,whenthesignalvoltagezerowithoutrotationphenomenon,theincreaseinspeedandtorquewiththedeclineinuniform.

servomotors,cancontrolthespeed,locationaccuracyisveryaccurate.IntoaDCservomotorbrushandbrushlessmotor.BrushMotorlowcost,simplestructure,startingtorque,speedrange,andeasytocontrol,theneedtoprotect,buteasymaintenance(FBrush),resultinginelectromagneticinterference,ontheenvironmentisrequired.Thereforeitcanbeusedforcost-sensitiveindustrialandcivilordinaryoccasions.

MCS52controlsystemusesaseriesofSCMAT89C52asprocessorsystem,upto12MHzclock,andcomputingspeed,improvedcontrolfunctions,withitsinternal128bytesofRAMand8KBofinternalEPROMhavenoneedofexpansionmemory,theoverallstructureofthesystemmoresimpleandpractical.

Keywords:

AT89C52;SCMservo;motorspeedcontrolmode

目录

1绪论1

1.1选题背景1

1.2课题研究意义1

1.3总体方案设计2

2系统硬件介绍4

2.1RS232串口介绍4

2.2RS232异步串行通讯介绍6

2.3串口编程法7

2.2松下伺服驱动器介绍8

2.3AT89C52功能介绍10

3硬件设计14

3.1串口通讯部分14

3.2复位电路部分14

3.3伺服电机工作电路设计16

3.4伺服系统的概述及其工作原理16

3.4.1伺服系统的概述16

3.4.2伺服系统的工作原理17

4系统软件设计23

4.1主程序部分23

4.2中断23

4.3定时器23

4.3.1定时中断编程23

4.3.2定时控制寄存器和工作方式中断24

4.3.3定时编程26

4.5上位机软件介绍26

4.5.1上位开发环境介绍26

4.5.2MSComm控件简介27

5系统调试与设计28

5.1硬件调试28

5.2软件调试30

5.3PROTUES平台下软件的仿真31

5.4仿真总结34

结论35

社会经济效益分析36

参考文献37

致谢39

附录I程序清单40

附录II伺服电机电路图44

附录Ⅲ元器件清单45

1绪论

1.1选题背景

随着社会的进步,科学技术的发展,特别是近20年来,电子技术日新月异,计算机的普及和应用把人类带到了信息时代,各种电器设备充满了人们生产和生活的各个领域,相当大一部分的控制系统都应用到了伺服电机。

伺服电机技术的发展及应用在现代化工业生产,测试及控制系统中所占得地位越来越大,尤其是在由计算机控制的自动化设备生产及测试过程中尤为突出。

伺服控制系统可用于船舶的自动驾驶、火炮控制和指挥仪中,后来逐渐推广到很多领域,特别是自动车床、天线位置控制、导弹和飞船的制导,以及机器人的控制方面。

采用伺服系统主要是为了达到下面几个目的:

①以小功率指令信号去控制大功率负载。

火炮控制和船舵控制就是典型的例子。

②在没有机械连接的情况下,由输入轴控制位于远处的输出轴,实现远距同步传动。

③使输出机械位移精确地跟踪电信号,如记录和指示仪表等。

因此,将伺服电机控制系统与计算机控制自动化技术相融合的各种设备,在我国国民经济生产与日常生活中应用范围越来广,其方便灵活,简单快捷的操作性能逐渐被人们所接受。

1.2课题研究意义

将计算机与232C串口通信的数据传送给单片机,采用单片机系统进行编程控制,最后发送给伺服电机进行控制,实现对目标位移的跟踪与记录,将结果以坐标的形式反馈到控制系统进行结果分析。

RS232C接口(又称EIARS-32-C)是目前最常用的一种串行通讯接口,它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准,本设计则运用的是此标准进行数据通讯给单片机,然后在由单片机传送给伺服控制系统。

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

运用单片机将控制的信号传递给伺服控制系统则是设计的关键所在。

伺服控制系统用来精确地跟谁或复现某个过程的反馈控制系统。

又称随动系统。

在很多情况下,伺服系统赚指呗控制量(系统的输出量)是机械位移或位移速度、加速度的反馈控制系统。

本设计所要达到的最终结果是使输出的机械位移(或转角)准确地跟踪输入的位移(或转角),然后将观察到得结果反映给计算机以便于操作者及时进行记录与分析调制。

1.3总体方案设计

本设计采用计算机与RS232C进行串口通讯,然后运用编程方法将命令传输给单片机,在利用单片机将控制数据最终传给伺服控制系统,进行系统控制。

基于本次任务,该设计方案由硬件和软件两部分组成。

硬件部分主要是计算机串行通讯电路,单片机控制系统及伺服控制系统,三部分组成,软件部分则是整个系统设计的中心。

在遵守软硬件相结合的原则下,先进行硬件电路的设计与可行性调理,再根据设计的硬件电路进行软件编程,最后进行模块化设计,并对各模块进行最终分析调试,然后再焊接电路板,最后软硬件进行联合调试和故障的排除。

其硬件方案系统框图如图1.1所示:

图1.1总体方案框图

图1.2 软件流程图

2系统硬件介绍

2.1RS232串口介绍

RS32接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。

它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。

DB25的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。

因此现在都把RS232接口叫做DB9。

由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:

(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。

(2)传输速率较低,在异步传输时,波特率为20Kbps;因此在“南方的老树51CPLD开发板”中,综合程序波特率只能采用19200,也是这个原因。

(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。

(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右

本文采用的是RS232与计算机进行通讯,通过串口发送所要控制的指令信息。

计算机串行接口采用RS232标准:

规定逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,常用的信号有8个(接口为DB9M插座时,引脚号如表1所示),其中RXD、TXD为收、发数据,可与RS232串行口设备直接进行通讯,RTS、DTR、CD、DSR、CTS、BELL为控制与检测MODEM的信号,在通讯过程中起联络与控制作用。

数据格式有5、6、7、8位几种,1位起始位(逻辑0),1、1.5、或2位停止位(逻辑1),可以选择奇校验、偶校验和无校验,常用波特率为2400、4800、7200、9600bps等。

表1 RS232接口各引脚定义

两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。

串口的电气特性:

(1)RS-232串口通信最远距离是50英尺

(2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps

(3)RS-232C上传送的数字量采用负逻辑,且与地对称

逻辑1:

-3~-15V  

逻辑0:

+3~+15V

所以与单片机连接时常常需要加入电平转换芯片。

如下图所示

图2.1电平转换芯片

串口通信参数:

(a)波特率:

RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。

(b)数据位:

标准的值是5、7和8位,如何设置取决于你想传送的信息。

比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。

(c)停止位:

用于表示单个包的最后一位,典型的值为1,1.5和2位。

由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。

因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。

(d)奇偶校验位:

在串口通信中一种简单的检错方式。

对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。

例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。

如果是奇校验,校验位位1,这样就有3个逻辑高位。

2.2RS232异步串行通讯介绍

串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。

使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。

串行通信可以分为同步通信和异步通信两类。

所谓异步串行通信是指具有不规则数据段传送特性的串行数据传输。

异步通信数据帧的第一位是开始位,在通信线上没有数据传送时处于逻辑“1”状态。

当发送设备要发送一个字符数据时,首先发出一个逻辑“0”信号,这个逻辑低电平就是起始位。

起始位通过通信线传向接收设备,当接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。

因此,起始位所起的作用就是表示字符传送开始。

当接收设备收到起始位后,紧接着就会收到数据位。

数据位的个数可以是5,6,7或8位的数据。

在字符数据传送过程中,数据位从最低位开始传输。

数据发送完之后,可以发送奇偶校验位。

奇偶校验位用于有限差错检测,通信双方在通信时需约定一致的奇偶校验方式。

就数据传送而言,奇偶校验位是冗余位,但它表示数据的一种性质,这种性质用于检错,虽有限但很容易实现。

在奇偶位或数据位之后发送的是停止位,可以是1位、1.5位或2位。

停止位是一个字符数据的结束标志。

在异步通信中,字符数据以图所示的格式一个一个地传送。

在发送间隙,即空闲时,通信线路总是处于逻辑“1”状态,每个字符数据的传送均以逻辑“0”开始。

在这里要特别提到一下单片机常用11.0592M的的晶振,这个奇怪数字是有来历的:

波特率为9600BPS每位位宽t1=1/9600s

晶振周期t2=1/11.0592/1000000S

单片机机器周期t3=12*t2

t1/t3=96

即对于9600BPS的串口,单片机对其以96倍的速率进行采样。

如果单片机晶振用的不正确,会对串口接受产生误码。

2.3串口编程法

串行口编程方法主要有三种:

硬件编程法、文件操作法、串口控件法。

1硬件编程法

直接使用端口的输入、输出(I/O)函数对串行口的控制电路进行编程。

适用于DOS及Windows平台(WindowsMe以前的各版本),但在基于NT技术构建的操作系统(WindowsNT、Windows2000、WindowsXP等)中因不允许用户程序直接操作硬件而不适用。

常用的端口输入、输出函数(指令)有:

汇编语言的IN、OUT指令及软中断调用,C语言的inport()、outport()、inportb()、outportb(),C++的_inp()、_outp()等。

计算机串行口采用Intel8250异步串行通讯组件构成,COM1、COM2、COM3、COM4的基地址分别为16#3F8(16进制数3F8,表示法下同)、16#2F8、16#3E8、16#2E8,波特率因子(DR)计算方法为:

DR=1.8432×1000000/16B,8250编程。

2文件操作法

文件操作法是将串行口作为系统的一个文件来处理,通过对这个文件的读、写操作引发串口对数据进行收、发动作。

这种方法在DOS、Windows、WindowsNT、Windows2000及WindowsXP等平台下都能正常工作。

例如在BASIC语言中可用语句:

OPEN"COM1,1200,n,8,1,rs,cs,ds,cd"AS#1将串行口COM1作为文件#1进行读写操作。

在VC++中,可用CreateFile()、BuildCommDCB()、Read()、Write()、EscapeCOMMFunction()等函数将串行口作为文件进行操作。

3、串口控件法

用VB及VC++编程时,可用控件对串行口进行编程。

这种方法通用性好,在Windows、WindowsNT、Windows2000及WindowsXP等平台下都能正常工作。

在VB中,使用MSCOMM控件;在VC++下使用MicrosoftCommunicationControl这一ActiveX类控件。

串口控件使用方法请参考MSDN。

本文所采用的编程方法为串口控制法

2.2松下伺服驱动器介绍

松下伺服驱动器是松下公司在中国市场中销售量第一的品牌,其产品系列全,性价比好,广泛应用于机械制造行业。

本设计所采用的是松下A4系列的私服电机驱动器。

松下伺服电机A4系列特点:

(1)自动调整:

高性能的实时自动调整增益。

根据负载惯重的变化,与自适应滤波器配合,从低刚性到高刚性都可以自动调整增益。

因旋转方向不同而产生不同负载转矩的垂直轴情况下,也可以自动进行调整。

具备异常速度检测功能,因此可以将增益调整过程中产生的异常速度调整到正常。

通过显示面板操作,可以在监控实时调整情况的同时,进行设置和确认。

(2)高速高响应:

速度响应频率最高达1KHz。

内置有瞬时速度观测器,可以高速、高分辩率地检测出电机的转速。

高性能的机械适应性。

无论是易产生共振的传送带驱动机械,还是高刚性的丝杆传动机械,都可以高性能的自动调整功能来实现高速定位。

(3)低振动:

自适应滤波器。

内置自适应滤波器,可以根据机械共振频率不同而自动地调整陷波滤波器的频率。

可以控制由于机械不稳定以及共振频率变化而发生的噪音。

两个陷波滤波器。

内置了不同于自适应滤波器的两个独立通道的滤波器。

两个陷波滤波器可以以1Hz为单位、分别设置陷波的频率和幅度。

内置了两个通道的振动抑制滤波器,可以抑制刚性较低的机械在启动和停止时生产的振动。

两个通道的振动频率,可以根据旋转方向的不同而自动地切换;或者也可以分别对应于由于外部输入信号切换而产生的机械位置变化而导致的振动频率。

即使设置的振动频率和滤波器的数值不确切,也不会导致不稳定状况。

这里采用的是PanasonicMINASA4SERIES松下全数字交流伺服驱动器,其实物图如图2.2所示

图2.2松下PanasonicMINASA4SERIES系列私服驱动器

PanasonicMINASA4SERIES松下全数字交流伺服系统实现了以下特点:

(1)精度:

实现了位置,速度和力矩的闭环控制;克服了步进电机失步的问题;

(2)转速:

高速性能好,一般额定转速能达到2000~3000转;

(3)适应性:

抗过载能力强,能承受三倍于额定转矩的负载,对有瞬间负载波动和要求快速起动的场合特别适用;

(4)稳定:

低速运行平稳,低速运行时不会产生类似于步进电机的步进运行现象,适用于有高速响应要求的场合;

(5)及时性:

电机加减速的动态相应时间短,一般在几十毫秒之内;

(6)舒适性:

发热和噪音明显降低。

在设计中伺服驱动器将控制电机的位置模式与速度模式,从而使电机在预定的平面跟轨道上灵活的进行加速,减速,寻找目标等精确运动,

位置控制模式控制信号接线图如图2.3所示

图2.3位置模式控制接线图

引脚3.4为控制方波输出的引脚,5.6为控制方向的引脚。

实验时可选3.5组合组,和4.6组合组。

引脚29与41在实验是务必接到地线上,此外,在连接伺服驱动器时,驱动器的地线一定要最先接好,以避免触电的危险,在实验完成后15分钟内不要用手去触摸伺服驱动器的金属质部位,以免触电或被高温烫伤。

2.3AT89C52功能介绍

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。

图2.4AT89C52引脚排列图

Vcc:

电源电压

GND:

P0口:

P0口是一组8位漏极开路型双向I/O,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,P0接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

Flash编程和程序校验期间,P1接收低8位地址。

P2口:

P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE@DPTR指令)时。

P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(例如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区总R2寄存器的内容),在整个访问期间不改变。

Flash编程或校验时,P2亦接收高位地址和其他控制信号。

P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示。

表2P3口第二功能

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外中断0)

P3.3

NT1(外中断1)

P3.4

T0(定时/计数器0)

P3.5

T1(定时/计数器1)

P3.6

WR(外部数据存储器写选通)

P3.7

RD(外部数据存储器读选通)

实验设计时利用了P3口的P3.0和P3.1两个引脚,分别为串口通讯的两个引脚。

RST:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2