减速电机角度控制器论文(共35页)_第1页
减速电机角度控制器论文(共35页)_第2页
减速电机角度控制器论文(共35页)_第3页
减速电机角度控制器论文(共35页)_第4页
减速电机角度控制器论文(共35页)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、桂林电子科技大学课程设计说明用纸 引言(ynyn)自动(zdng)控制技术自动控制技术是20世纪发展最快、影响最大的技术之一,也是21世纪最重要的高技术之一。今天,技术、生产、军事、管理(gunl)、生活等各个领域,都离不开自动控制技术。就定义而言,自动控制技术是控制论的技术实现应用,是通过具有一定控制功能的自动控制系统,来完成某种控制任务,保证某个过程按照预想进行,或者实现某个预设的目标。随着计算机技术的发展,控制技术走向了自动化的方向。随着计算机技术的日渐成熟,自动化控制技术与计算机的结合已经成为必然。用计算机控制所有机械的运行才能减少劳动力的浪费。利用自动化技术控制减速直流电机已经越来越

2、广泛的应用到,制造工业的各个领域。由于现代制造业对于制造精度提出了越来越高的精度要求,使用计算机控制数字控制技术,可以大大提高控制精度,尤其对于复杂的控制系统。本文介绍的,直流减速电机角度空度控制系统,是基于STC12系列单片机作为主控芯片的。配合使用,L298电机专用驱动芯片,作为驱动电路。通过单片机产生PWM信号,控制L298的输入信号,实现对直流减速电机的角度的控制。采用增量式光电编码器将转动角度转化为脉冲数进行角度测量,并反馈到单片机,单片机根据反馈信息发出控制命令,实现对直流减速电机0至180的转动控制,精度要求+ 0.5。1 绪论1.1课题产生(chnshng)背景及现状随着现代制

3、造业对精度与效率要求(yoqi)不断提高,自动化控制技术也得到(d do)飞速发展。工业制造自动化、智能化成为未来发展必然趋势,并广泛用于航空航天工业、农业、军事、科学研究、交通运输、商业、医疗、服务和家庭等方面。控制技术是在是在上世纪20年代建立了以频域法为主的经典控制理论后发展起来的,控制技术首先在工业生产中得到了广泛的应用。在空间技术发展的推动下,50年代又出现了以状态空间法的现代控制理论,使控制技术得到了广泛的发展,产生了更多的应用领域。60年代以来,随着计算机技术的发展,控制技术走向了自动化的方向。工业控制自动化技术是一种运用控制理论、仪器仪表、计算机和其他信息技术,对工业生产过程实

4、现检测、控制、优化、调度、管理和决策,达到增产、提高质量、降低消耗、确保安全等目的的综合性技术,主要包括工业自动化软件、硬件和系统三大部分。工业控制自动化技术作为20世纪现代制造领域中最重要的技术之一,主要解决生产效率与一致性问题。自动化系统本身不直接创造效益,但它对企业生产过程有明显提升作用。长期以来自动化装备基本都被国外一些大型跨国企业垄断,尤其高端领域产品。我国工业控制自动化发展道路,大多是引进成套设备同时进行消化吸收,然后进行二次开发和应用。目前我国工业控制自动化技术、产业和应用都有了很大发展,我国工业计算机系统行业已经形成。目前,工业控制自动化技术正向智能化、网络化和集成化方向发展。

5、直流电机可以说是最早发明能将电力转换为机械功率的电动机,直流减速电机,即齿轮减速电机,是在普通直流电机的基础上,加上配套齿轮减速箱。齿轮减速箱的作用是,提供较低的转速,较大的力矩。同时,齿轮箱不同的减速比可以提供不同的转速和力矩。这大大提高了,直流电机在自动化行业中的使用率。减速电机是指减速机和电机的集成体。这种集成体通常也可称为齿轮马达或齿轮电机。通常由专业的减速机生产厂进行集成组装好后成套供货。减速电机广泛应用于钢铁行业、机械行业等。使用减速电机的优点是简化设计、节省空间。现如今直流电机与直流伺服系统已成为自动化工业与精密加工的关键技术。1.2课题研究的意义本文介绍的减速直流电机角度控制系

6、统,在工业生产过程中,直流减速电机角度控制器能实现控制生产流程、控制器械精度并可实现精确的检测与调度工作。同时它也有简单易操作、界面友好快捷的特点,对于工业生产也起到了提高生产效率的作用。以下概述直流减速电机角度控制器存在的意义:直流减速电机角度控制器被广泛应用于磁盘驱动器、机器人动作控制、天线扫描、电子瞄准、飞行器姿态控制、导航(dohng)控制、太空中的人造卫星等方面都必须达到准确速度控制和定位控制的目的才能使其正常工作否则系统就会出现工作故障。在日常生活中直流减速(jin s)电机角度控制器也得到了广泛的应用,最典型的应用为停车场道闸与玩具等。 (图1-1)1.3课题(kt)研究要求将减

7、速直流电机的输出轴与光电编码器的轴连接,利用编码器进行角度测量,设计H桥功率驱动电路,采用PWM驱动电动机正反转,设计单片机控制板实现0180.0度电机角度控制,控制精度0.5度,通过键盘进行角度设置,实际角度可以实时显示。2 硬件电路原理及设计减速直流电机角度控制器主要(zhyo)是以单片机为核心,L298驱动(q dn)电路、光电编码器检测(jin c)模块来完成所需功能。总体系统框图如图2-1所示:时钟电路按键输入检测光电编码器检测模块控制L298驱动电路驱动电机转动1602液晶显示模块减速直流电机角度控制系统复位电路STC12单片机主控系统 (图2-1)2.1 主控电路的设计本系统的主

8、控系统采用STC12系列单片机做微控制器,该系列单片机以高性能、高速度、体积小、价格低廉、稳定可靠并且自带10位AD,并且不需要使用下载器,直接用PL2303USBS转串口即可下载,方便快捷。单片机结合简单的接口电路即可构成单片机最小系统,主控系统还包括了由晶振组成的外部晶振振荡电路和开关复位电路,还包括六个按键,一个1602液晶显示模块,MAX232串口下载模块,以及一些引脚接口电路等组成。主控原理图如图2-2所示。(图2-2)2.1.1 STC12C5A08S2MCU简介(jin ji)单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字

9、母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个(y )芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统(xtng)、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一

10、块硅片上构成的一个小而完善的计算机系统。八位单片机由于内部构造简单,体积小,成本低廉,在一些较简单的控制器中应用很广。即便到了本世纪,在单片机应用中,仍占有相当的份额。由于八位单片机种类繁多,综合考虑,选用STC12C5A60S2单片机作为微处理器。选用STC单片机的理由:降低成本,提升性能,原有程序直接使用,硬件无需改动,支持串口下载。STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(25

11、0K/S,即25万次/秒),针对电机控制,强干扰场合。另外还有以下特点:1.增强型8051CPU,1T,单时钟(shzhng)/机器周期,指令代码完全兼容(jin rn)传统8051。2.工作电压:5.5V-3.5V。3.工作频率范围(fnwi):035MHz,相当于普通8051的0420MHz。4.用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节等。5.片上集成1280字节RAM。6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏,每个I

12、/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA。7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片。8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)。9.独立看门狗功能。10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)。11.外部掉电检测电路: 在P4.6口有一个低压门槛比较器。5V单片机为1.33V,误差为5%,3.3V单片机为1.31V,误差为3%.12.时钟源:外部高精度晶体/时钟,内部R/C振荡器

13、(温漂为5%到10%以内)用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz17MHz 3.3V 单片机为:8MHz12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。13.共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器。14.3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可

14、以在P1.0口输出时钟。15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的CA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2), CCP1/P1.4(也可通过寄存器设置到P4.3)。16.PWM(2路)/PCA(可编程计数器阵列(zhn li),2路),也可用来当2路D/A使用(shyng),也可用来再实现2个定时器,也可用来再实现(shxin)2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)。17.A/D转换

15、,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)。18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口。19.STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)。20.工作温度范围:-40 +85(工业级)/075(商业级)。21.封装:LQFP-48, LQFP-44, PDIP-40, PLCC-44, QFN-40,I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可

16、级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。STC12C5A60S2系列单片机的定时器0/定时器1与传统8051完全兼容,上电复位后,定时器部分缺省还是除12再计数的,而串由定时器1控制速度,所以定时器/串口完全兼容。增加了独立波特率发生器,省去了传统8052的定时器2,如是用T2做波特率的,则改用独立波特率发生器做波特率发生器既可。 图2-3 STC12C5A08S2单片机引脚图(图2-4STC单片机实物图DIP40封装)2.1.2 主控电路功能(gngnng)简介外部(wib)晶振振荡电路用于产生外部时钟和复位(f wi)电路用于单片机系

17、统的复位,这两个(lin )模块是单片机最小系统中最基本,也是必不可少的,在这里就不详细介绍。本系统中采用1602,当用STC12系列单片机P0口作为8位数据输入端,需要像8051单片机一样,需加上1K到10K的上拉电阻来加强P0口的驱动能力。主控系统中的6个按键用于独立控制电机转动角度输入用;P1.0、P1.1口分别作为控制L298的1A1、1A2控制端口,用于发送驱动电机正反转的信号。P1.2作为单片机PWM输出端,用于控制L298 芯片EN1使能端,产生PWM驱动信号,驱动电机。P3.0口即外部中断0输入端口,用于采集来自光电编码器的脉冲个数,进而转换为转动角度。2.1.3 STC12C

18、5A08S2下载电路的简介STC系列单片机可以使用通用型串口下载,方法和普通单片机一样,只需要用过串口线与电脑连接,再借助RS232芯片的转换,最终连到单片机上P3.0(RXD)口与P3.1(TXD)口,即可通过电脑端的STC-ISP软件控制下载用户程序到STC单片机上了。RS232接口就是串口,电脑机箱后方的9芯插座。计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS-2

19、32-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。R

20、S-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。对于一般的双向通信, 只需使用串行输入RXD , 串行输出TXD 和地线GND1RS - 232C 标准的电平采用负逻辑, 规定+ 3V + 15V 之间的任意电平为逻辑“0”电平, - 3V - 15V 之间的任意电平为逻辑“1”电平, 与TTL 和CMOS 电平是不同的1 在接口电路和计算机

21、接口芯片中大都为TTL 或CMOS 电平, 所以在通信时, 必须进行电平转换, 以便与RS - 232C 标准的电平匹配1MAX232 芯片可以完成电平转换这一工作。(1)接口的信号内容 实际上RS-232-C的25条引线中有许多(xdu)是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表1所示 (2)接口的电气特性(txng) 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5-15V;逻辑(lu j)“0” +5 +15V 。噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信

22、号 作为逻辑“1”。 (3) 接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。(4)传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码

23、元畸变为10%而得出附表2 的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22#AWG组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆。 MAX232芯片是MAXIM公司生产的低功耗、单电源双RS232 发送/接收器。适用于各种EIA-232E 和V.28/ V.24的通信接口。MAX232 芯片内部有一个电源电压变换器, 可以把输入的+ 5V电源变换成RS-232C 输出电平所需10V 电压, 所以采用此芯片接口的串行通信系统只要单一的+5V 电源就可以。(图2-5 MAX23

24、2芯片(xn pin)管脚图) MAX232外围(wiwi)需要4个电解电容C1、C2、C3、C4 ,是内部电源(dinyun)转换所需电容。其取值均为1F/25V。宜选用钽电容并且应尽量靠近芯片。C5为0.1F的去耦电容。MAX232 的引脚T1IN、T2IN、R1OUT、R2OUT 为接TTL/ CMOS 电平的引脚。引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232C电平的引脚。因此TTL/CMOS电平的T1IN、T2IN引脚应接MCS-51的串行发送引脚TXD; R1OUT、R2OUT应接MCS-51的串行接收引脚RXD。与之对应的RS-232C电平的T1OUT、T2OUT

25、 应接PC 机的接收端RD;R1IN、R2IN应接PC机的发送端TXD。MAX232的用法如下:1. 在C1+和C1-两端、C2+和C2-两端、V+和地两端、V-和地两端分别接一个0.1f(105)电容。2. 可以将两路RS-232C电平转换成两路TTL电平。分别从R1IN和R2IN输入,对应从T1OUT和T2OUT输出。注意,输入和输出的逻辑值保持一致,如输入-5V,即逻辑1,输出也是逻辑1,TTL电平为高电平,即3.6V左右。3. 可以将两路TTL电平转换成两路RS-232C电平,分别从T1IN和T2IN输入,对应从R1OUT和R2OUT输出。同样输入和输出的逻辑值保持一致。如下图为MAX

26、电平转换电路。如图2-3所示:(图2-5MAX232电平(din pn)转换电路)方法二:对于没有串口的笔记本电脑,还可以(ky)使用,USB转串口芯片PL2303进行下载,该方案更加方便。直接使用USB对STC单片机下载用户程序。(图2-6PL2303USB转串口电路(dinl)原理图)2.2 L298电机驱动电路介绍L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。使用(shyng)L298作为驱动芯片(xn pin),电路简单:使用元件(yunj

27、in)少,组件的损耗低,可靠性高体积小,软件开发简单,并且计算机(或单片机)硬件 费用大大减少。L298引脚图,及逻辑图如下图所示:L298驱动电路元件少,使用很方便,也便于编程控制。(L298驱动电路原理图)2.2.1 PWM驱动电机原理 开关驱动方式是使半导体功率器件工作在开关状态(zhungti),通过脉调制(PWM)来控制电动机的电压,从而实现电动机转速的控制。当开关管的驱动信号为高电平时,开关管导通,直流电动机电枢绕组两端有电压U。1秒后,驱动信号变为低电平,开关管截止,电动机电枢两端电压为0。t2秒后,驱动信号重新变为高电平,开关管的动作重复前面的过程。PWM输出(shch)波形和

28、计算:电动机的电枢(din sh)绕组两端的电压平均值U为:U =(t1U)/(t1t2) =( t1U)/T=D*U式中D为占空比,D= t/T。占空比D表示了在一个周期T里开关管导通的时间(shjin)与周期的比值。D的变化范围为0D1。当电源电压U不变的情况下,输出电压的平均值U取决于占空比D的大小,改变D值也就改变了输出电压的平均值,从而(cng r)达到控制电动机转速的目的,即实现PWM调速。 在PWM调速时,占空比D是一个重要(zhngyo)参数。改变占空比的方法有定宽调频法、调宽调频法和定频调宽法等。常用的定频调宽法,同时改变t1和t2,但周期T(或频率)保持不变。2.3 电机转

29、动角度检测2.3.1增量式光电编码器工作原理增量编码器是一种将旋转位移转换为一连串数字脉冲信号的旋转式传感器。这些脉冲用来控制角位移。在Eltra编码器中角位移的转换采用了光电扫描原理。同时被一个红外光源垂直照射,光把码盘的图像投射到接收器表面上。接收器覆盖着一层衍射光栅,它具有和码盘相同的窗口宽度。接收器的工作是感受光盘转动所产生的变化,然后将光变化转换成相应的电变化。再使低电平信号上升到较高电平,并产生没有任何干扰的方 形脉冲,这就必须用电子电路来处理。读数系统通常采用差分方式,即将两个波形一样但相位差为180的不同信号进行比较,以便提高输出信号的质量和稳定性。读数是再两个信号的差别基础上

30、形成的,从而消除了干扰。顺时针运动逆时针运动A B1 10 10 01 0A B1 11 00 00 1增量编码器增量编码器给出两相方波,它们的相位差90,通常称为A通道和B通道。其中一个通道给出与转速相关的信息,与此同时,通过两个通道信号进行顺序对比,得到旋转方向的信息。还有一个特殊信号称为Z或零通道,该通道给出编码器的绝对零位,此信号是一个方波与A通道方波的中心线重合。增量型编码器精度取决于机械和电气两种因素,这些因素有:光栅分度误差、光盘偏心、轴承偏心、电子读数装置引入的误差以及光学部分的不精确性。确定编码器精度的测量单位是电气上的度数,编码器精度决定了编码器产生的脉冲分度。以下用360

31、电气度数来表示机械轴的以下(yxi)用360电气度数来表示机械轴的转动,而轴的转动必须是一个完整的周期(zhuq)。要知道多少机械(jxi)角度相当于电气上的360,可以用下面公式计算:电气360=机械360/N脉冲/转图:A、B换向时信号编码器分度误差是以电气角度为单位的两个连续脉冲波的最大偏移来表示。误差存在于任何编码器中,这是由前述各因素引起的。Eltra编码器的最大误差为25电气角度(在已声明的任何条件下),相当于额定值偏移7%,至于相位差90(电气上)的两个通道的最大偏差为35电气度数相当于额定值偏移10%左右。2.3.2 增量编码器与单片机的接口用51单片机实现的具体方法:将A信号

32、连接至外部中断INT0,再将其反向后连接至外部中断INT1,将B信号作为方向信号连接至某一输入端口(P3.0),这样在信号A的上升沿和与下降沿都会产生中断。由于在不同转向时,信号A的下降沿所对应的方向信号电平正好相反,单片机在中断服务程序中先检测B信号的状态,根据不同的状态进行不同的处理(计数值增加还是减小),这样能够有效的防止反转产生的误差,从而实现精确计数,相应的C程序段如下:sbit DIR = P3.0;int cnt; /计数器数值变量void Int0ISR(void) interrupt 0 using 1if( DIR ) cnt+; else cnt-;void Int1IS

33、R(void) interrupt 2 using 2if( DIR ) cnt-; else cnt+;2.4 减速(jin s)直流电机的简介减速直流电机是指减速机和直流电机的集成体。这种集成体通常也可称为齿轮(chln)马达或齿轮电机。通常由专业的减速机生产厂进行集成组装好后成套供货。减速电机广泛应用于钢铁行业、机械行业等。使用减速电机的优点是简化设计、节省空间。而减速电机还有下列特点:1、减速电机(dinj)结合国际技术要求制造,具有很高的科技含量。2、节省空间,可靠耐用,承受过载能力高,功率可达95KW以上。3、能耗低,性能优越,减速机效率高达95%以上。4、振动小,噪音低,节能高,

34、选用优质段钢材料,钢性铸铁箱体,齿轮表面经过高频热处理。5、经过精密加工,确保定位精度,这一切构成了齿轮传动总成的齿轮减速电机配置了各类电机,形成了机电一体化,完全保证了产品使用质量特征。6、产品才用了系列化、模块化的设计思想,有广泛的适应性,本系列产品有极其多的电机组合、安装位置和结构方案,可按实际需要选择任意转速和各种结构形式。3 系统程序设计主控程序的设计,使用keil4软件进行编写,本系统的程序编写主要分为三个模块:主控部分程序,1602显示模块程序,已经PID算法模块。3.1 程序流程图对1602写入开始电机停转输入角度设定值初始化1602初始化定时器T0外部中断0初始化结束否电机正

35、转是角度=设定值调用PID函数PID算法流程图PWM产生(chnshng)流程图: Y电动机停转结束角度=设定值执行PID算法,返回值给PWM减小占空比N YError2000) angle_now = 0; /超过(chogu)一圈清零if(angle_now1) INTA1 = 0;INTA2 = 1;flag = 0; pid-MAX = 99;pid-MIN = 0; INTA1 = 0; INTA2 = 0; if(errorMAX = 0;pid-MIN = 99; INTA1 = 0; INTA2 = 0; if(error =-1) INTA1 = 0; INTA2 = 0;

36、if (fabsf(error) pid-epsilon)pid-integral += error * pid-dt;/积分(jfn)derivative = (error - pid-pre_error) / pid-dt;/微分(wi fn)PIDoutput= pid-Kp * error/比例(bl)项 + pid-Ki * pid-integral /积分项 + pid-Kd * derivative;/微分项if (PIDoutput pid-MAX)PIDoutput= pid-MAX;/限制最大值else if (PIDoutputMIN)PIDoutput= pid-MIN

37、;/限制最小值pid-pre_error = error;return PIDoutput;系统根据PID算法的反馈值,调整PWM的占空比,达到精确控制,快速响应。4 系统调试系统调试是设计系统一个非常重要的过程,是对系统是否达到设计要求的一个检验(jinyn)。同时也是发现问题找出问题解决问题的一个过程。在开始进行时候首先要在不接电的情况下,检查电路是否有短路,芯片是否插反等。防止在上电过程中短路烧坏芯片。4.1 静态(jngti)调试静态(jngti)调试第一步为观察电路板。对每一块加工好的印制电路板要进行仔细的检查,先检查印制线是否有断线、有无脱落现象,如果有的话就要用焊锡将其连接好,并

38、检查是否有印制线短接,因为有时候由于印制线间距过近腐蚀不够完全导致导线短接现象,发现短接可用刻刀将谅解的部分划掉。接着再看过孔是否有氧化现象,如果有,要将其表面的氧化层刮去。第二步使用万用表检测。因为在线路间间距较小的时候即使有短接也没发现,所以需要借助万用表。先将万用表置于蜂鸣挡位,用两个表笔分别接在那些挨得比较近的电路线看看是否有短路。如果发出蜂鸣声则说明有短路状况,没有蜂鸣警报声则表明正常。接着检查电源线和地线之间是否有短路现象。焊接好元器件后先观察本没有相连的焊点上的焊锡连接在一起,最后用万用表检测一些接点,查看他们的通断状态是否符合要求的状态。第三步为上电测试。特别要注意的是这项检测

39、并不把单片机芯片加上去,加上电源后,将万用表置于电压挡去检测所有插座和引脚两端的电压值,查看是否符合要求的电压值。如果有大于5V太多,则表明不正常,因为单片机的正常工作电压为5V,电压值超过这个值太多则有可能造成单片机无法正常工作甚至会烧坏单片机。然后去检测接地端的电压值是否接近于零,如不接近零说明有短路。在这项检测中电路板正常,没有异常。在静态调试中常常出现的问题有,首先是印制电路部分线路有短路现象,主要原因是腐蚀得不够彻底,或者焊接的不好,有连接,用刀具轻轻刮去短路的连接处即可。第二个问题是在认真检查下发现电路板上的电解电容正负极焊反,借助烙铁把焊反的电解电容取下重新正确地焊上去即解决。第

40、三个发现的问题是在焊接时两个距离较近的焊点的焊锡连在一块造成短路,用烙铁加热处理排除问题。排除上面的一些故障后,就可以进行动态调试了。4.2 动态调试动态调试是对系统工作的情况下对系统功能的测试与检验。动态调试一般是由近及远,由分到合,分模块对系统进行测试。当各模块电路调试无故障后,将各块电路逐块加入系统中,再对各块电路功能及各电路间可能存在的相互联系进行试验。本系统调试过程为,首先调试最小系统板,看看能否(nn fu)正常工作,电源电源是否正常。再检查,LCD是否正常工作。在以上调试无故障时候,再下载调试程序到单片机,观察十分正常显示。在主控板正常工作的情况下,下面对驱动电路进行调试。上电前

41、,仔细检查芯片(xn pin)是否插反,然后加上电源,观察指示灯是否亮。先用高电平,代替PWM波形输入,再用万用表测出输出端电压十分正常,在电压正常输出的情况下,接上电动机,观察是否正常转动,能否控制电机正反转。再驱动电路正常工作的情况下,对电路进行整体调试。下载程序到单片机,用示波器测试PWM波形能否正常输出,如果能正常将PWM输入到L298的使能端,通过控制(kngzh)L298的1A和1A2控制电机正反转。在电机正常驱动的情况下,使用按键输入期望转动的角度,观察电机转动角度是否达到精度要求。在整个调试过程中,我认为最难得莫过于,精度要求,由于使用了PID算法控制,在整个调试过程中,最麻烦

42、的莫过于,调整PID参数值。使其达到最优。PID参数的条件遵循一般规律,一般先调P,再调I最后调D,这是一个靠经验积累的调试过程,要不断进行摸索,试探找出,最佳参数。5 误差分析任何系统误差是在所难免的,对于像电动机这类的机械设备,误差控制是比较困难的,只要误差达到可以接受的程度即可。误差的产生的原因种类是很多的,包括仪器误差,系统误差等多种。由于本系统使用的光电编码器是2000线的,最小分辨率为,0.18度,而系统设计要求为,+0.5度,故完全符合设计要求。下面几组数据,是我在不断调整PID参数过程中,得到测量数据。设定值实际值相对误差3029.90.33%6060.20.33%9090.0

43、0%120120.20.16%160159.90.06%180179.80.11%由上述测量值可以看出,系统设计基本达到要求的+ 0.5。下面分析常见的一些引起误差的原因:由于使用的事光电编码器,作为角度测量传感器,在电机转动过程中如果有抖动,可能会引起,一些尖峰脉冲,导致,单片机误记可能造成一些误差。由于电机在转动过程中是有很大惯性的,由于PID参数设置的不是那么(n me)合理也会引起较大的误差,这就需要长时间的调整PID参数,尽可能减少误差。6 结论(jiln)转眼间,三个周的课设就结束了,本次课程设计,也基本达到设计要求,在课设的这三个星期里,我学到了,平时在课堂上难以学到的很多东西。

44、不断锻炼了自己(zj)的动手能力,还增强了自己的团队合作能力。选题的时候,我跟同学商量了下,作为自动化专业出身的,我想到要为以后的毕设多积累的经验,就选了,相对比较难的,电机控制。也是自己的兴趣所在吧,所有就跟几个同学商量了,决定选择了直流电机数字角度控制这一题。从最开始的方案论证,再到Proteus仿真,再到使用DXP绘制PCB图,然后腐蚀电路板,再到焊接没一个电子元件,调试,等等这些过程,我学到了很多经验,补充自己平时学习理论知识,不注重实践上的不足。尤其是后期的调试工作,为我积累了很多宝贵经验。电子设计是一个相对比较枯燥的过程,需要很大耐心。要能够静下心来思考问题。这是也是一个自我提升的

45、过程。这一次课设为明年的毕设积累很多宝贵经验。谢 辞本次(bn c)课设的圆满完成,很大程度上离不开,指导老师的辛勤指导,这里(zhl)要特别感谢,赵学军老师,龙超老师对我的关怀指导。还是在方案的确定和问题(wnt)的解决,我都得到了龙学军老师悉心细致的教诲和无私的帮助,特别是她广博的学识、严谨的治学精神和一丝不苟的工作作风使我终生受益,在此表示真诚地感谢。而在我的课程设计的完成过程中也有很多同学以及我的舍友给我提供了很大的帮助,帮我调试很多程序上的难题,在这里特别感谢他们。参考文献151单片机C语言教程 电子(dinz)工业出版社 2009.12电力拖动自动(zdng)控制系统:运动控制系统

46、(第4版)机械工业出版社 2010-013微型(wixng)计算机控制技术 机械工业出版社 2010-104许贤泽,童爱清.高精度直流伺服电机的数字控制系统研究J武汉大学学报(工学版),2010 5黄庶,肖丹.自举式H桥电机驱动电路的优化设计J.应用能源技术, 2009 ,10PCB 截图源程序代码(di m):/*名称(mngchng):2013课设 减速直流电机角度控制 董 琪 1000810212 显示(xinsh):XZjiaodu:XXX.X 设定角度:XXX.x精度+ 0.5*/#include #include #include 1602.h #include PID.h #de

47、fine uchar unsigned char#define uint unsigned intsfr AUXR = 0X8E; /定义地址 sbit key1 = P15; /按键声明 1加10,2加1,3加0.5,4减10,5减1,6复位sbit key2 = P17;sbit key3 = P37;sbit key4 = P16;sbit key5 = P36;sbit key6 = P20;/bit start;/定义(dngy)P1.0为298 1A1输入,P1.1为1A2输入,P1.2为使能端输入/sbit INTA1 = P10;sbit INTA2 = P11; sbit E

48、NA = P12;uint PWM = 10;int angle_now = 0;uint systick = 0;void PidInit(PID_Struct * pid, float p, float i, float d, float dt)pid-epsilon = 0.1;pid-MAX = 50;pid-MIN = 0;pid-Kp = p;pid-Ki = i;pid-Kd = d;pid-dt = dt;pid-pre_error = 0;pid-integral = 0;float fabsf(float x)if(x 1) INTA1 = 0;INTA2 = 1;flag

49、 = 0; pid-MAX = 99;pid-MIN = 0; INTA1 = 0; INTA2 = 0; if(errorMAX = 0;pid-MIN = 99; INTA1 = 0; INTA2 = 0; if(error =-1) INTA1 = 0; INTA2 = 0; if (fabsf(error) pid-epsilon)pid-integral += error * pid-dt;/积分(jfn)derivative = (error - pid-pre_error) / pid-dt;/微分(wi fn)output = pid-Kp * error/比例(bl)项 +

50、pid-Ki * pid-integral /积分(jfn)项 + pid-Kd * derivative;/微分(wi fn)项if (output pid-MAX)output = pid-MAX;/限制(xinzh)最大值else if (output MIN)output = pid-MIN;/限制最小值pid-pre_error = error;return output;extern angle_now ,angle_real;void jiaodu () interrupt 0 / 记录光电编码器A路输出脉冲,转换为角度if(!flag)angle_now+; if(flag)a

51、ngle_now-;if(angle_now2000) angle_now = 0;if(angle_now0) angle_now = 0;angle_real = angle_now*1.6;void key_deal(unsigned char key);/按键处理函数声明void initClock(void) /定时器t0初始化/定时器t0初始化 AUXR = 0X80; /辅助寄存器初始化 T0 12分频 TMOD|=0X01; TH0= (65536-1)/256; /PWM低电平定时时间 TL0= (65536-1)%256; TR0 = 1; TR1=1; EA = 1; ET0=1;/定时器中断(zhngdun)/void int0_init(void)IT0 = 1;EX0 = 1;EA = 1;/定时器中断(zhngdun) /void INTT0(void) interrupt 1 using 1 /10ms刷新(shu xn)液晶屏 TL0=0Xff; /10ms 重装 TH0=0Xb7; systick +;/ l062显示函数/void disptemp(int x,int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论