毕业设计(论文)-减速直流电机角度控制器设计_第1页
毕业设计(论文)-减速直流电机角度控制器设计_第2页
毕业设计(论文)-减速直流电机角度控制器设计_第3页
毕业设计(论文)-减速直流电机角度控制器设计_第4页
毕业设计(论文)-减速直流电机角度控制器设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

PAGE1编号:题目:减速直流电机角度控制器设计院(系):应用科技学院专业:电子信息工程学生姓名:摘要在工业生产过程中,减速直流电机角度控制器能实现控制生产流程、控制器械精度并可实现精确的检测与调度工作。同时它也有简单易操作、界面友好快捷的特点,对于工业生产也起到了提高生产效率的作用。本论文介绍了基于STC12系列的单片机的减速直流电机角度控制器的设计,电动机角度控制可以应用于很多自动化设备的控制,它是以STC12C5A60S2作为主要控制芯片,采用4个功率N型MOS管构成H桥对减速直流电动机进行正反转控制,采用电位器与电动机的同轴连接对电动机的转角进行测量与控制。关键词:自动化控制技术;单片机;减速直流电动机;同轴连接;测量与控制

AbstractIntheindustrialproductionprocess,theslowrealizationofDCmotorcontrollercancontroltheangleoftheproductionprocess,controlequipmentandtoachieveaccuratedetectionaccuracyandschedulingwork.Italsohasasimpleandeasytooperate,userfriendlyandfastcharacteristics,fortheindustrialproductionalsoplayedaroleinimprovingproductionefficiency.ThispaperdescribestheseriesofmicrocontrollersbasedonthedecelerationSTC12DCmotorcontrollerdesignpointofview,themotoranglecontrolcanbeusedinalotofautomatedequipmentcontrol,itisSTC12C5A60S2asthemaincontrolchip,usingfourpowerN-typeMOStubeformHBridgeonthereversinggearDCmotorcontrol,usingpotentiometerandmotoranglecoaxialconnectoronthemotortomeasureandcontrol.Keywords:Automationandcontroltechnology;SCM;DCmotordeceleration;Coaxialconnectors;MeasurementandControlPAGE1目录引言 11绪论 11.1课题的背景及现状 11.2课题研究的意义 21.3课题研究的要求 32硬件电路原理及设计 32.1主控系统的设计 32.1.1单片机STC12C5A32S2介绍 42.1.2主控系统各部分电路设置 62.1.3下载电路与通信电路介绍 72.2电机H桥驱动电路的设计 112.2.1驱动电路H桥的组成 112.2.2集成电路IR2111应用介绍 122.2.3直流电机PWM控制原理 142.3减速直流电机的简介 152.4电机转动角度检测 162.4.1单圈电位器介绍 172.4.2联轴器简介 173程序设计 183.1电机控制信号的产生 183.1.1利用定时器0产生PWM信号 193.2A/D数据采集程序设定 213.3串口通信程序设计 244系统调试 274.1静态调试 284.2动态调试 285误差分析 296结论 31谢辞 32参考文献 33附录 34桂林电子科技大学毕业设计说明书用纸第17页共40页引言控制技术是在是在上世纪20年代建立了以频域法为主的经典控制理论后发展起来的,控制技术首先在工业生产中得到了广泛的应用。在空间技术发展的推动下,50年代又出现了以状态空间法的现代控制理论,使控制技术得到了广泛的发展,产生了更多的应用领域。60年代以来,随着计算机技术的发展,控制技术走向了自动化的方向。随着计算机技术的日渐成熟,自动化控制技术与计算机的结合已经成为必然。用计算机控制所有机械的运行才能减少劳动力的浪费。随着科技的发展,减速直流电机控制技术在当今科技领域已日臻成熟,被广泛用于工业、农业生产和日常生活等方面。其中电机的数字控制技术是电机控制的发展趋势,用单片机对电机进行控制是实现电机数字控制的最常用手段。此外,随着自动控制系统和计算机技术的发展,计算机和电机控制系统相结合使控制电机具有高可靠性﹑高精确度﹑快速响应的特点。本文介绍的减速直流电机角度控制器主要控制核心为STC12系列的单片机,并搭配用功率MOS管组建成的H桥驱动电机正反转。其能接收计算机发送的命令,根据命令具体内容实现0到180度之内的旋转,精度达到0.5度。通过直流电机转轴与电位器转轴的同轴连接,并以A/D采样来实现对电机角度的检测。1绪论1.1课题的背景及现状随着自动化控制技术的飞速发展,高度自动化、智能化及节能性成为人们衡量新产品的高新技术含量的标准,这些标准的建立促使当前许多高科技含量产品的纷纷涌现。自动化控制技术广泛用于工业、农业、军事、科学研究、交通运输、商业、医疗、服务和家庭等方面。控制技术是在是在上世纪20年代建立了以频域法为主的经典控制理论后发展起来的,控制技术首先在工业生产中得到了广泛的应用。在空间技术发展的推动下,50年代又出现了以状态空间法的现代控制理论,使控制技术得到了广泛的发展,产生了更多的应用领域。60年代以来,随着计算机技术的发展,控制技术走向了自动化的方向。工业控制自动化技术是一种运用控制理论、仪器仪表、计算机和其他信息技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增产、提高质量、降低消耗、确保安全等目的的综合性技术,主要包括工业自动化软件、硬件和系统三大部分。工业控制自动化技术作为20世纪现代制造领域中最重要的技术之一,主要解决生产效率与一致性问题。自动化系统本身不直接创造效益,但它对企业生产过程有明显提升作用。我国工业控制自动化发展道路,大多是引进成套设备同时进行消化吸收,然后进行二次开发和应用。目前我国工业控制自动化技术、产业和应用都有了很大发展,我国工业计算机系统行业已经形成。目前,工业控制自动化技术正向智能化、网络化和集成化方向发展。直流电机可以说是最早发明能将电力转换为机械功率的电动机,到了1880年代已成为主要的电力机械能转换装置,但是之后由于交流电的发展,而发明了感应电机与同步电机,直流电机的重要性亦随之降低。直到约1960年,由于SCR(单向可控硅)的发明、磁铁材料、碳刷、绝缘材料的改良,以及变速控制的需求日益增加,再加上工业自动化的发展,直流电机驱动系统再次得到了发展的契机,现如今直流电机与直流伺服系统已成为自动化工业与精密加工的关键技术。1.2课题研究的意义本文介绍的减速直流电机角度控制器不仅可以运用到工业生产上,而且在我们的生活中也常常起到很大的作用。在工业生产过程中,减速直流电机角度控制器能实现控制生产流程、控制器械精度并可实现精确的检测与调度工作。同时它也有简单易操作、界面友好快捷的特点,对于工业生产也起到了提高生产效率的作用。角度控制系统被广泛应用于磁盘驱动器、机器人动作控制、天线扫描、电子瞄准、飞行器姿态控制、导航控制、太空中的人造卫星等方面,都必须达到准确速度控制和定位控制的目的,才能使其正常工作,否则系统就会出现工作故障。在日常生活中减速直流电机角度控制器也得到了广泛的应用,最典型的应用为停车场道闸与玩具等。图1-1停车场道闸1.3课题研究的要求本课题要求设计一减速直流电机控制器,其主要控制核心为STC12系列的单片机,并搭配用功率mos管组建成的H桥驱动电机正反转。该设计能接收计算机发送的命令,根据命令具体内容实现0到180度之内的旋转,精度要求为0.5度。通过直流电机转轴与电位器转轴的同轴连接,并以A/D采样来实现对电机角度的检测。2硬件电路原理及设计减速直流电机角度控制器主要是以单片机为核心,结合H桥驱动电路、电压检测来完成所需功能。总体系统框图如图2-1所示:减速直流电机H桥驱动电路减速直流电机H桥驱动电路单片机主控系统PC机控制检测旋转角度协议转换模块2.1主控系统的设计在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单片机结合简单的接口电路即可构成单片机最小系统,它是智能化仪器仪表的基础,也是测控、监控的重要组成部分。在单片机性能与设计需求的综合考虑下,本设计选择了STC12C5A32S2单片机作为主控芯片,主控系统还包括了由晶振组成的外部振荡电路和开关复位电路的设计,四个测试用的按键、四个指示与测试用发光二极管和一个七段四位共阴数码管。主控系统如图2-2。图2-2主控系统电路图2.1.1单片机STC12C5A32S2介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。八位单片机由于内部构造简单,体积小,成本低廉,在一些较简单的控制器中应用很广。即便到了本世纪,在单片机应用中,仍占有相当的份额。由于八位单片机种类繁多,综合考虑,选用STC12C5A60S2单片机作为微处理器。选用STC单片机的理由:降低成本,提升性能,原有程序直接使用,硬件无需改动,支持串口下载。STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。另外还有以下特点:1.增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051。2.工作电压:5.5V-3.5V。3.工作频率范围:0~35MHz,相当于普通8051的0~420MHz。4.用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节等。5.片上集成1280字节RAM。6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏,每个I/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振荡器(温漂为±5%到±10%以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~17MHz3.3V单片机为:8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。13.共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器。14.3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟。15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的CA模块�,PowerDown模式可由外部中断唤醒�,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(可编程计数器阵列,2路),也可用来当2路D/A使用,也可用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)。17.A/D转换,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℃(工业级)/0~75℃(商业级)。21.封装:LQFP-48,LQFP-44,PDIP-40,PLCC-44,QFN-40,I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。STC12C5A60S2系列单片机的定时器0/定时器1与传统8051完全兼容,上电复位后,定时器部分缺省还是除12再计数的,而串由定时器1控制速度,所以定时器/串口完全兼容。增加了独立波特率发生器,省去了传统8052的定时器2,如是用T2做波特率的,则改用独立波特率发生器做波特率发生器既可。传统8051的111条指令执行速度全面提速,最快的指令快24倍,最慢的指令快3倍。靠软件延时实现精确延时的程序需要调整。图2-3STC12C5A60S2单片机引脚图2.1.2主控系统各部分电路设置振荡电路用于产生外部时钟和复位电路用于单片机系统的复位,两者是单片机系统最常用的应用,读者可查阅相关应用书籍和资料,本文就不做累述。系统中的四位共阴数码管用于电机转动度数的显示与设置,当用STC12系列单片机P0口驱动数码管时,需要像8051单片机一样,需加上1K到10K的上拉电阻来加强P0口的驱动能力。主控系统中的四个按键用于独立控制电机和做测试用;四个发光二极管用于测试,同时也可起到指示的作用。P1.4口与P1.5口用于发送驱动电机正反转的信号;P1.6口作为A/D数据采集口。2.1.3下载电路与通信电路介绍STC12系列的单片机与其他STC系列单片机一样,只需要用过串口线与电脑连接,再借助RS232芯片的转换,最终连到单片机上P3.0(RXD)口与P3.1(TXD)口,即可通过电脑端的STC-ISP软件控制下载"用户程序"到STC单片机上了。用户可自行选择使用T1,R1或是T2,R2,均能正常下载。RS232接口就是串口,电脑机箱后方的9芯插座。计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。RS-232-C是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。对于一般的双向通信,只需使用串行输入RXD,串行输出TXD和地线GND1RS-232C标准的电平采用负逻辑,规定+3V~+15V之间的任意电平为逻辑“0”电平,-3V~-15V之间的任意电平为逻辑“1”电平,与TTL和CMOS电平是不同的1在接口电路和计算机接口芯片中大都为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232C标准的电平匹配1MAX232芯片可以完成电平转换这一工作。(1)接口的信号内容实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表1所示(2)接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”,-5~-15V;逻辑“0”+5~+15V。噪声容限为2V。即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“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公司曾规定允许码元畸变为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-4MAX232芯片管脚图MAX232外围需要4个电解电容C1、C2、C3、C4,是内部电源转换所需电容。其取值均为1μF/25V。宜选用钽电容并且应尽量靠近芯片。C5为0.1μF的去耦电容。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应接PC机的接收端RD;R1IN、R2IN应接PC机的发送端TXD。MAX232的用法如下:1.在C1+和C1-两端、C2+和C2-两端、V+和地两端、V-和地两端分别接一个0.1μf(105)电容。2.可以将两路RS-232C电平转换成两路TTL电平。分别从R1IN和R2IN输入,对应从T1OUT和T2OUT输出。注意,输入和输出的逻辑值保持一致,如输入-5V,即逻辑1,输出也是逻辑1,TTL电平为高电平,即3.6V左右。3.可以将两路TTL电平转换成两路RS-232C电平,分别从T1IN和T2IN输入,对应从R1OUT和R2OUT输出。同样输入和输出的逻辑值保持一致。图2-5标准RS-232“D”型插头本文系统的下载电路如图2-6所示。图2-6STC系列单片机下载电路本文设计的系统通信电路主要通过总线驱动芯片MAX485来完成,该电路不仅能用于单片机与计算机的通信,而且能用于单片机与单片机的通信。MAX485芯片是Maxim公司的一种RS-485芯片。MAX485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。同时,最大传输速率和最大传输距离也大大提高。如果以10Kbps速率传输数据时传输距离可达12m,而用100Kbps时传输距离可达1.2km。如果降低波特率,传输距离还可进一步提高。另外RS-485实现了多点互连,最多可达256台驱动器和256台接收器,非常便于多器件的连接。可实现半双工通信。图2-7为MAX485的引脚配置图。图2-7MAX485引脚配置图PC机RS-485接口卡PC机RS-485接口卡MAX485单片机图2-8单片机与PC机串行通信原理图在由单片机构成的多机串行通信系统中,一般采用主从式结构:从机不主动发送命令或数据,一切都由主机控制。并且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通讯,即使有信息交换也必须通过主机转发。采用RS-485构成的多机通讯原理框图,如图2-9所示。图2-9RS-485构成的多机通讯原理框图MAX485的RO引脚接到单片机的串口接收引脚RXDP3.0,MAX485的DI引脚接到单片机的串口发送引脚TXDP3.1。由于MAX485为半双工通信方式,不能同时发送和接收数据,只能通过控制RE和DE引脚的状态来进行发送数据和接收数据的转换。这里将MAX485的RE和DE引脚连在一起,把他接低电平时MAX485处于接收数据状态,把它高电平(5V)时MAX485则处于发送数据状态。为了试验方便我们通过硬件连线手动控制其接地或者接5V。在软件上232通信和MAX485通信是一样的。A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0,A和B端之间加匹配电阻,一般可选120欧姆的电阻。本文设计的通信电路如图2-10所示。图2-10MAX485串口通信电路图由于MAX485通讯是一种半双工通讯,发送和接收共用同一物理信道。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。半双工通讯对主机和从机的发送和接收时序有严格的要求。如果在时序上配合不好,就会发生总线冲突,使整个系统的通讯瘫痪,无法正常工作。要做到总线上的设备在时序上的严格配合,必须要遵从以下几项原则:(1)复位时,主从机都应该处于接收状态。(2)控制端RE与DE的信号的有效脉宽应该大于发送或接收一帧信号的宽度。(3)总线上所连接的各单机的发送控制信号在时序上完全隔开。2.2电机H桥驱动电路的设计本文设计的H桥驱动电路是用四个N型功率场效应管IRF540来搭建,并配以两个功率场效应管半桥驱动芯片IR2111作为外围驱动电路。图2-11电机H桥驱动电路图2.2.1驱动电路H桥的组成H桥驱动电路是典型的控制电机正反转的电路,该电路可以用三极管或P和N型功率场效应管(简称MOS管)来搭建均可。相对于普通三极管,MOS管由于结构和原理的不同,导通电阻远比普通三极管低,允许流过更大的电流。而且MOS管都内置有反向二极管来保护管子本身。所以采用MOS管连接H桥不但效率可以提高,电路也可以简化。所以本文作者选用了四个N型MOS管IRF540来组成基本的H桥驱动电路。图2-12H桥驱动基本电路由图2-11可知,要使直流电机运转,必须导通对角线的一对MOS管。根据不同MOS管对的导通情况,可以得出正转、反转和停止三种电机状态。当Q1与Q4导通,Q2与Q3截止时,图中的直流电机上的电流从左流向右,此时电机正转;当Q2与Q3导通,Q1与Q4截止时,图中的直流电机上的电流从右流向左,此时电机反转;当Q1、Q2、Q3和Q4四个MOS管同时截止时,电机上无电流通过,电机停止运转。表2-1电机运行状态表Q1Q2Q3Q4电机运行状态导通截止截止导通正转截止导通导通截止反转截止截止截止截止停止如今市面上已有很多封装好的H桥集成电路,相对于用分立元件制作的H桥要简易很多,只要接上电源、电机和控制信号就可以使用了,在额定的电压和电流内使用非常方便可靠。比如常用的L293D、L298N、TA7257P和SN754410等。2.2.2集成电路IR2111应用介绍IR211l是功率MOSFET和IGBT专用栅极驱动集成电路,可用来驱动工作在母线电压高达600V的电路中的N沟道功率MOS器件。采用一片IR211l可完成两个功率元件的驱动任务,其内部采用自举技术,使得功率元件的驱动电路仅需一个输入级直流电源;可实现对功率MOSFET和IGBT的最优驱动,还具有完善的保护功能。IR2111典型应用电路如图2-13所示。图2-13IR2111典型应用电路图中上管是指接到高电压端的N沟道MOSFET或IGBT,注意应外接或内置保护、续流二极管,下管是指接到低电压端的MOSFET或IGBT。Vcc是给IR21ll供电的电源,以15V为最佳。Vcc降低至10V,IR2111也能工作,但会增加MOSFET或IGBT的开关损耗。IN是控制信号的输入端,输入等效电阻很高,可直接连接来自微处理器、光耦或其它控制电路发出的信号。逻辑输人信号与CMOS电平兼容,在Vcc是15V时,O~6V的电压为逻辑0;6.4~15V的电压为逻辑1。输入端电压为逻辑1时,IR2111输出端H0输出高电平,驱动上管;输出端L0输出低电平,关闭下管。输入端电压为逻辑0时,情况正好相反。IR2111内部设置了650ns的死区时间(Deadtime),可防止上下管直接导通造成短路事故。COM是接地端,直接和下管MOSFET的源极S或IGBT的发射极E相连。HO、LO分别是上、下管控制逻辑输出端,逻辑正时输出典型电流为250mA,逻辑负时输出典型电流为500mA,输出延迟时间不会超过130ns。Vb是为高压侧悬浮电源端,Vs是高压侧悬浮地,它们的电位随上管的导通截止而变化,变化幅度可高大近600V。上、下管电容里存储的电荷,用来快速导通上、下功率管,一般使用0.47uF以上的非电解电容。上管电容的充电是在下管导通或负载有电流通过时自行完成的,也称为自举电容。充电回路是Vcc→上管电容充电二极管→上管电容→下管或负载→COM。控制信号长时间的为逻辑1,会导致上管电容的电荷用尽而截止上管,因而控制信号的占空比不能为100%。上管电容充电二极管用来防止上管导通时,高压电窜入Vcc端损坏低压器件,也称自举二极管。在高端器件开通时,自举二极管必须能够阻止高压,并且应是快恢复二极管.以减小从自举电容向电源Vcc的回馈电荷。其反向耐压应大于功率端电压,恢复时间应小于100ns。上、下管保护电阻的作用,是通过其延缓功率管极间电容的冲、放电速度,从而降低不必要的高开关速度,起到保护功率管的作用,一般阻值在几个到几十个欧姆。同时本文作者在这里还要说明一下IR2111在使用中可能出现的问题:(1)该电路在静态测试时,如果没有接负载,控制信号的输入端为逻辑1时,上管控制逻辑输出端HO的高电位只能维持很短的时间。若输入占空比变化的脉宽调制信号,就可以观察到HO的电位随占空比而变化,这是上管充电的缘故,LO端就不会有这个问题。(2)廉价的IR2111没有设置过流保护功能,如果负载过大,超出了功率管的安全工作区,就会损坏功率管,甚至炸管。采用一个限流保护电路是不可缺少的,用一个0.1n的电压采样电阻,一片电压比较器LM311和一只二极管就可以起到限流作用。(3)Vs的负过冲。当桥电路负载为感性时,上管的关断会引起负载电流突然转换到下管的续流二极管,由于二极管开通延迟,正向压降和杂散电感会使Vs点负过冲到参考地以下。在死区时间内,如果负载电路不能完全恢复,当下管器件硬开通时,会发生Vs负过冲或振荡。IR21ll的Vs至少有抗5V的负过冲能力,一般不会有问题,负过冲水平超过该值。可采用IR公司推荐的几种方法:减小杂质参数、杂散电感、改善耦合、减小dv/dt等。2.2.3直流电机PWM控制原理由上文可知,两片IR2111芯片的控制信号输入端IN和IN’如果只是单纯的输入一个为逻辑0而另一个为逻辑1的静态逻辑信号时,电机只能抖动一下,无法正常运作。所以我们得运用到脉冲宽度调制(PulseWidthModulation-简称PWM)信号。脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM控制技术是利用半导体开关器件的导通和关断,把直流电压变成电压脉冲列,控制电压脉冲的宽度或周期以达到变压目的,或控制电压脉冲的宽度和周期以达到变压变频目的的一种控制技术。PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制。9V电池就是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。与此类似,从电池吸收的电流也不限定在一组可能的取值范围之内。模拟信号与数字信号的区别在于后者的取值通常只能属于预先确定的可能取值集合之内,例如在{0V,5V}这一集合中取值。模拟电压和电流可直接用来进行控制,如对汽车收音机的音量进行控制。在简单的模拟收音机中,音量旋钮被连接到一个可变电阻。拧动旋钮时,电阻值变大或变小;流经这个电阻的电流也随之增加或减少,从而改变了驱动扬声器的电流值,使音量相应变大或变小。与收音机一样,模拟电路的输出与输入成线性比例。尽管模拟控制看起来可能直观而简单,但它并不总是非常经济或可行的。其中一点就是,模拟电路容易随时间漂移,因而难以调节。能够解决这个问题的精密模拟电路可能非常庞大、笨重(如老式的家庭立体声设备)和昂贵。模拟电路还有可能严重发热,其功耗相对于工作元件两端电压与电流的乘积成正比。模拟电路还可能对噪声很敏感,任何扰动或噪声都肯定会改变电流值的大小。通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗。此外,许多微控制器和DSP已经在芯片上包含了PWM控制器,这使数字控制的实现变得更加容易了。2.3减速直流电机的简介在介绍减速直流电机之前应该先介绍一下基本的直流电机结构。直流电机的结构是多种多样的,但任何直流电机都包括定子部分和转子部分,这两部分间存在着一定大小的气隙,使电机中电路和磁场发生相对运动。直流电机定子部分主要由主磁极、电刷装置和换向极等组成,转子部分主要由电枢绕组、换向器和转轴等构成。由直流电动机和发电机结构示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。图2-14直流电机结构图减速直流电机是指减速机和直流电机的集成体。这种集成体通常也可称为齿轮马达或齿轮电机。通常由专业的减速机生产厂进行集成组装好后成套供货。减速电机广泛应用于钢铁行业、机械行业等。使用减速电机的优点是简化设计、节省空间。而减速电机还有下列特点:1、减速电机结合国际技术要求制造,具有很高的科技含量。2、节省空间,可靠耐用,承受过载能力高,功率可达95KW以上。3、能耗低,性能优越,减速机效率高达95%以上。4、振动小,噪音低,节能高,选用优质段钢材料,钢性铸铁箱体,齿轮表面经过高频热处理。5、经过精密加工,确保定位精度,这一切构成了齿轮传动总成的齿轮减速电机配置了各类电机,形成了机电一体化,完全保证了产品使用质量特征。6、产品才用了系列化、模块化的设计思想,有广泛的适应性,本系列产品有极其多的电机组合、安装位置和结构方案,可按实际需要选择任意转速和各种结构形式。减速直流电机实物图如图2.15,直流电机前端接的即为减速机。图2-15减速直流电机实物图2.4电机转动角度检测对于电机角度检测本文作者采用了减速直流电机转轴与单圈电位器旋钮轴同轴连接的方法来实现,即电机的转轴通过同轴连接可以带动电位器旋钮轴,而单圈电位器的两端引脚分别接电源与地,电位器中间教接入到STC单片机P1.6口作为A/D采样样本。这样就可以通过P1.6口的电压变化检测出电机的转动角度了。2.4.1单圈电位器介绍电位器是一种可调的电子元件。它是由一个电阻体和一个转动或滑动系统组成。当电阻体的两个固定触电之间外加一个电压时,通过转动或滑动系统改变触点在电阻体上的位置,在动触点与固定触点之间便可得到一个与动触点位置成一定关系的电压。它大多是用作分压器,这时电位器是一个四端元件。电位器基本上就是滑动变阻器,有几种样式,一般用在音箱音量开关和激光头功率大小调节电位器是一种可调的电子元件。它是由一个电阻体和一个转动或滑动系统组成。用于分压的可变电阻器。在裸露的电阻体上,紧压着一至两个可移金属触点。触点位置确定电阻体任一端与触点间的阻值。。主要参数为阻值、容差、额定功率。广泛用于电子设备,在音响和接收机中作音量控制用。电位器是一种可调的电子元件。它是由一个电阻体和一个转动或滑动系统组成。单圈电位器即是转动度数大约为300度的电位器,一般运用于音频功放电路中。图2-16单圈电位器实物图2.4.2联轴器简介同轴连接需要用到联轴器。联轴器属于机械通用零部件范畴,用来联接不同机构中的两根轴(主动轴和从动轴)使之共同旋转以传递扭矩的机械零件。在高速重载的动力传动中,有些联轴器还有缓冲、减振和提高轴系动态性能的作用。联轴器由两半部分组成,分别与主动轴和从动轴联接。一般动力机大都借助于联轴器与工作机相联接,是机械产品轴系传动最常用的联接部件常用联轴器有膜片联轴器,齿式联轴器,梅花联轴器,滑块联轴器,鼓形齿式联轴器,万向联轴器,安全联轴器,弹性联轴器及蛇形弹簧联轴器。图2-17联轴器实物图3程序设计减速直流电机角度控制器的程序主要包括三部分:直流电机控制程序,A/D数据采集程序和串口通信程序。图3.1为系统总程序流程图。等待角度设定值与启动命令等待角度设定值与启动命令电机停止设定值>当前值?启动正转反转YN设定值=当前值?NY初始化图3-1系统程序流程图3.1电机控制信号的产生根据驱动电路要求,控制电机正反转的信号必须为脉冲宽度调制(PWM)信号,本文作者利用了STC12系列单片机的定时器0来产生固定占空比的PWM信号。下面介绍一下单片机的定时器特点与定时器设定程序。STC12C5A60S2系列单片机有4个定时器,其中定时器0和定时器1两个16位定时器,与传统8051的定时器完全兼容,也可以设置为1T模式,当在定时器1做波特率发生器时,定时器0可以当两个8位定时器用(另外2路PCA/PWM可以再实现2个16位定时器)。STC12C5A60S2系列单片机内部设置的两个16位定时器/计数器T0和T1都具有计数方式和定时方式两种工作方式。对每个定时器/计数器(T0和T1),在特殊功能寄存器TMOD中都有一控制位—C/T来选择T0或T1为定时器还是计数器。定时器/计数器的核心部件是一个加法(也有减法)的计数器,其本质是对脉冲进行计数。只是计数脉冲来源不同:如果计数脉冲来自系统时钟,则为定时方式,此时定时器/计数器每12个时钟或者每1个时钟得到一个计数脉冲,计数值加1;如果计数脉冲来自单片机外部引脚(T0为P3.4,T1为P3.5),则为计数方式,每来一个脉冲加1。当定时器/计数器工作在定时模式时,特殊功能寄存器AUXR中的T0x12和T1x12分别决定是系统时钟/12还是系统时钟/1(不分频)后让T0和T1进行计数。当定时器/计数器工作在计数模式时,对外部脉冲计数不分频。定时器/计数器0有4种工作模式:模式0(13位定时器/计数器),模式1(16位定时器/计数器模式),模式2(8位自动重装模式),模式3(两个8位定时器/计数器)。定时器/计数器1除模式3外,其他工作模式与定时器/计数器0相同,T1在模式3时无效,停止计数。本系统用到了定时器0,下面是用定时器0的模式0定时1毫秒的程序:voidmain(void){ TMOD=0X00;//定时器0工作在模式0 TH0=0Xc6;//晶振22.1184Mhz,初值定时时间为1毫秒 TL0=0X0d; ET0=1;//定时器0中断允许 EA=1;//中断允许TR0=1;//开定时器0中断}voidtimer0()interrupt1using0{ TH0=0xc6; //下次定时时间同样为1毫秒的初值设定 TL0=0x0d;}3.1.1利用定时器0产生PWM信号本设计系统中用到P1.5口和P1.4口作为控制电机正反装的信号发生口,当P1.5口输出持续高电平,P1.4口输出PWM信号时,电机正转;当P1.4口输出持续高电平,P1.4口输出PWM信号时,电机反转。PWM信号的产生可以通过定时器0的定时作用来实现:voidmain(void){ TMOD=0X00;//定时器0工作在模式0 TH0=0Xc6;//晶振22.1184Mhz,初值定时时间为1毫秒 TL0=0X0d; ET0=1;//定时器0中断允许 EA=1;//中断允许TR0=1;//开定时器0中断zhankongbi=10;//设置占空比为10%while(1) { if(zhengzhuan==1&&start==1) //电机正转 { P1_5=1; if(haomiao==0)P1_4=1;//P1.4输出占空比为10%的PWM信号if(haomiao==zhankongbi)P1_4=0; } if(fanzhuan==1&&start==1)//电机反转 { P1_4=1; if(haomiao==0)P1_5=1;//P1.5输出占空比为10%的PWM信号if(haomiao==zhankongbi)P1_5=0; }}voidtimer0()interrupt1using0{ TH0=0xc6; //1ms TL0=0x0d; haomiao++; if(haomiao==100)haomiao=0;//每个脉冲周期为100ms} 3.2A/D数据采集程序设定STC12C5A60S2系列带A/D转换的单片机的A/D转换口在P1口(P1.7-P1.0),有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。STC12C5A60S2系列单片机ADC(A/D转换器)的结构如下图3-2所示。图3-2STC12C5A60S2单片机ADC的结构STC12C5A60S2系列单片机ADC由多路选择开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器(ADC_RES和ADC_RESL)以及ADC_CONTR构成。STC12C5A60S2系列单片机的ADC是逐次比较型ADC。逐次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。逐次比较型A/D转换器具有速度高,功耗低等优点。从上图可以看出,通过模拟多路开关,将通过ADC0~7的模拟量输入送给比较器。用数/模转换器(DAC)转换的模拟量与本次输入的模拟量通过比较器进行比较,将比较结果保存到逐次比较器,并通过逐次比较寄存器输出转换结果。A/D转换结束后,最终的转换结果保存到ADC转换结果寄存器ADC_RES和ADC_RESL,同时,置位ADC控制寄存器ADC_CONTR中的A/D转换结束标志位ADC_FLAG,以供程序查询或发出中断申请。模拟通道的选择控制由ADC控制寄存器ADC_CONTR中的CHS2~CHS0确定。ADC的转换速度由ADC控制寄存器中的SPEED1和SPEED0确定。在使用ADC之前,应先给ADC上电,也就是置位ADC控制寄存器中的ADC_POWER位。STC12C5A60S2系列单片机的A/D转换通道与P1口(P1.7-P1.0)复用,上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的P1口可继续作为I/O口使用(建议只作为输入)。需作为A/D使用的口需先将P1ASF特殊功能寄存器中的相应位置为‘1’,将相应的口设置为模拟功能。表3-1P1ASF寄存器的格式表SFRAddressB7B6B5B4B3B2B1B0P1ASF9DHP17ASFP16ASFP15ASFP14ASFP13ASFP12ASFP11ASFP10ASF当P1口中的相应位作为A/D使用时,要将P1ASF中的相应位置1。如设置P1.0口作为A/D使用C语言表达式为P1ASF=0X01,以此类推。下面介绍一下ADC控制寄存器ADC_CONTR。表3-2ADC控制寄存器ADC_CONTRSFRAddressB7B6B5B4B3B2B1B0ADC_CONTRBCHADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0对ADC_CONTR寄存器进行操作,建议直接用MOV赋值语句,不要用‘与’和‘或’语句�。ADC_POWER:ADC电源控制位。0:关闭A/D转换器电源;1:打开A/D转换器电源.建议进入空闲模式前,将ADC电源关闭,即ADC_POWER=0。启动A/D转换前一定要确认A/D电源已打开,A/D转换结束后关闭A/D电源可降低功耗,也可不关闭。初次打开内部A/D转换模拟电源,需适当延时,等内部模拟电源稳定后,再启动A/D转换。建议启动A/D转换后,在A/D转换结束之前,不改变任何I/O口的状态,有利于高精度A/D转换,若能将定时器/串行口/中断系统关闭更好。表3-3SPEED1,SPEED0:模数转换器转换速度控制位SPEED1SPEED0A/D转换所需时间1190个时钟周期转换一次,CPU工作频率21MHz时,A/D转换速度约250KHz10180个时钟周期转换一次01360个时钟周期转换一次00540个时钟周期转换一次STC12C5A60S2系列单片机的A/D转换模块说使用的时钟是内部R/C振荡器所产生的系统时钟,不使用时钟分频寄存器CLK_DIV对系统时钟分频后所产生的供给CPU工作所使用的时钟。好处:这样可以让ADC用较高的频率工作,提高A/D的转换速度;这样可以让CPU用较低的频率工作,降低系统的功耗。ADC_FLAG:模数转换器转换结束标志位,当A/D转换完成后,ADC_FLAG=1,要由软件清0。不管是A/D转换完成后由该位申请产生中断,还是由软件查询该标志位A/D转换是否结束,当A/D转换完成后,ADC_FLAG=1,一定要软件清0。ADC_START:模数转换器(ADC)转换启动控制位,设置为“1”时,开始转换,转换结束后为0。表3-4模拟输入通道选择,CHS2/CHS1/CHS0CHS2CHS1CHS0AnalogChannelSelect(模拟输入通道选择)000选择P1.0作为A/D输入来用001选择P1.1作为A/D输入来用010选择P1.2作为A/D输入来用011选择P1.3作为A/D输入来用100选择P1.4作为A/D输入来用101选择P1.5作为A/D输入来用110选择P1.6作为A/D输入来用111选择P1.7作为A/D输入来用本系统用单片机的P1.6口作为A/D转换使用。下面是相关程序编写:voidmain(void){ P1M0|=0x40;//P1.6设为高阻输入 P1M1|=0x40; P1ASF=0x40; //把P1.6口作为A/D使用 ADC_CONTR=0xee;//选择P1.6作为A/D输入来用delay(); AUXR1&=0xFB; //ADRJ=0,10位A/D转换结果的高8位存放在ADC_RES ADC_RES=0;中,低2位存放在ADC_RESL的低2位中 ADC_RESL=0;//数据保存位清零while(1) { for(q=0;q<=63;q++)//A/D转换结果取64次求平均值,这是为了减少纹波误差 { readflow(); temp=shiweiAD; sum=sum+temp;} avg=(float)sum/64;//求64次AD转换值的平均值 avgl=(int)avg+0.5;//结果经过四舍五入处理}}voidreadflow()//A/D转换子程序{ADC_CONTR=0xee; //开始转换while((ADC_CONTR&0x10)!=0x10){;} //等待AD结果ADC_CONTR=0xe6; //AD结束shiweiAD=ADC_RES*4+ADC_RESL;//10位AD的结果.}3.3串口通信程序设计STC12C5A60S2系列单片机具有2个采用UART(UniversalAsychronousReceiver/Transmitter)工作方式的全双工串行通信接口(串口1和串口2)。每个串行口由2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入,因而两个缓冲器可以共用一个地址码。串行口1的两个缓冲器共用的地址码是99H;串行口2的两个缓冲器共用的地址码是9BH。串行口1的两个缓冲器统称串行通信特殊功能寄存器SBUF;串行口2的两个缓冲器统称串行通信特殊功能寄存器S2BUF。STC12C5A60S2系列单片机的两个串行口都有4种工作方式,其中两种方式的波特率是可变的,另两种是固定的,以供不同应用场合选用。用户可用软件设置不同的波特率和选择不同的工作方式。主机可通过查询或中断方式对接收/发送进行程序处理,使用十分灵活。STC12C5A60S2系列单片机串行口1对应的硬件部分是TxD/P3.1和RxD/P3.0引脚,串行口2对应的硬件部分是TxD2和RxD2。通过设置特殊功能寄存器AUXR1中的S2_P4/AUXR1.4位,串行口2(UART2)功能可以在P1口和P4口之间任意切换。当串行口2功能在P1口实现时,对应的管脚是P1.2/RxD2和P1.3/TxD2。当串行口2功能在P4口实现时,对应的管脚是P4.2/RxD2和P4.3/TxD2。STC12C5A60S2系列单片机的串行通信口,除用于数据通信外,还可方便地构成一个或多个并行I/O口,或作串—并转换,或用于扩展串行外设等。STC12C5A60S2系列单片机的串行口1缓冲寄存器(SBUF)的地址是99H,实际是2个缓冲器,写SBUF的操作完成待发送数据的加载,读SBUF的操作可获得已接收到的数据。两个操作分别对应两个不同的寄存器,1个是只写寄存器,1个是只读寄存器。串行通道内设有数据寄存器。在所有的串行通信方式中,在写入SBUF信号(MOVSBUF,A)的控制下,把数据装入相同的9位移位寄存器,前面8位为数据字节,其最低位为移位寄存器的输出位。根据不同的工作方式会自动将�“1”�或TB8的值装入移位寄存器的第9位,并进行发送。串行通道的接收寄存器是一个输入移位寄存器。在方式0时它的字长为8位,其他方式时为9位。当一帧接收完毕,移位寄存器中的数据字节装入串行数据缓冲器SBUF中,其第9位则装入SCON寄存器中的RB8位。如果由于SM2使得已接收到的数据无效时,RB8和SBUF中内容不变。由于接收通道内设有输入移位寄存器和SBUF缓冲器,从而能使一帧接收完将数据由移位寄存器装入SBUF后,可立即开始接收下一帧信息,主机应在该帧接收结束前从SBUF缓冲器中将数据取走,否则前一帧数据将丢失。SBUF以并行方式送往内部数据总线。本文系统用到的是串行口1通信的工作模式1,下面就简单介绍一下工作模式1。当软件设置SCON的SM0、SM1为“01”�时,串行口1则以模式1工作。此模式为8位UART格式,一帧信息为10位:1位起始位,8位数据位(低位在先)和1位停止位。波特率可变,即可根据需要进行设置。TxD/P3.1为发送信息,RxD/P3.0为接收端接收信息,串行口为全双工接受/发送串行口。模式1的发送过程:串行通信模式发送时,数据由串行发送端TxD输出。当主机执行一条写“SBUF“的指令就启动串行通信的发送,写“SBUF”信号还把“1”装入发送移位寄存器的第9位,并通知TX控制单元开始发送。发送各位的定时是由16分频计数器同步。移位寄存器将数据不断右移送TxD端口发送,在数据的左边不断移入“0”作补充。当数据的最高位移到移位寄存器的输出位置,紧跟其后的是第9位“1”,在它的左边各位全为“0”,这个状态条件,使TX控制单元作最后一次移位输出,然后使允许发送信号�“SEND”失效,完成一帧信息的发送,并置位中断请求位TI,即TI=1,向主机请求中断处理。模式1的接收过程:当软件置位接收允许标志位REN,即REN=1时,接收器便以选定波特率的16分频的速率采样串行接收端口RxD,当检测到RxD端口从“1”→“0”的负跳变时就启动接收器准备接收数据,并立即复位16分频计数器,将1FFH植装入移位寄存器。复位16分频计数器是使它与输入位时间同步。16分频计数器的16个状态是将1波特率(每位接收时间)均为16等份,在每位时间的7、8、9状态由检测器对RxD端口进行采样,所接收的值是这次采样直经“三中取二”的值,即3次采样至少2次相同的值,以此消除干扰影响,提高可靠性。在起始位,如果接收到的值不为“0”(低电平),则起始位无效,复位接收电路,并重新检测"1"→"0"的跳变。如果接收到的起始位有效,则将它输入移位寄存器,并接收本帧的其余信息。接收的数据从接收移位寄存器的右边移入,已装入的1FFH向左边移出,当起始位"0"移到移位寄存器的最左边时,使RX控制器作最后一次移位,完成一帧的接收。若同时满足以下两个条件:·RI=0;·SM2=0或接收到的停止位为1。则接收到的数据有效,实现装载入SBUF,停止位进入RB8,置位RI,即RI=1,向主机请求中断,若上述两条件不能同时满足,则接收到的数据作废并丢失,无论条件满足与否,接收器重又检测RxD端口上的"1"→"0"的跳变,继续下一帧的接收。接收有效,在响应中断后,必须由软件清0,即RI=0。通常情况下,串行通信工作于模式1时,SM2设置为"0"。串行通信模式1的波特率是可变的,可变的波特由定时器/计数器1或独立波特率发生器产生。串行通信模式1的波特率=2/32×(定时器/计数器1溢出率或BRT独立波特率发生器溢出率)。当T1x12=0时,定时器1的溢出率=SYSclk/12/(256-TH1);当T1x12=1时,定时器1的溢出率=SYSclk/(256-TH1)。当BRTx12=0时,BRT独立波特率发生器的溢出率=SYSclk/12/(256-BRT);当BRTx12=1时,BRT独立波特率发生器的溢出率=SYSclk/(256-BRT)。下面的程序是本设计程序的通信部分,按照设计要求,只设计了单片机接收:voidmain(void)//串口通信初始化{ TMOD=0X20;//定时器1定义为自动装载工作模式 EA=1; TH1=TL1=0XB8; //初值=256-(F/B/32/x)(其中X为分频数)TR1=1;//启动定时器T1SM0=0; //工作方式1,8位UART SM1=1; SM2=0; REN=1;//允许串行接收 AUXR&=0x60; //不分频ES=1;//允许串口中断P3_2=0;//MAX485设置为接收状态} voidUart_Isr()interrupt4using1 //串口中断{ if(RI) { jieshou[ii]=SBUF; ii++; if(ii==5) { ii=0;//把字符型数据转化为整型 sbai=jieshou[0]-48;//接收百位度数数据 sshi=jieshou[1]-48;//接收十位度数数据 sge=jieshou[2]-48;//接收个位度数数据 sfen=jieshou[4]-48;//接收分位度数数据 start=1;//电机启动 } RI=0; }}作者使用了串口助手软件来实现PC与单片机的通信,图3-3为具体操作与调试界面,图中是发送90.5度的具体设置,特别要注意的是数据发送格式与波特率的设定要正确。图3-3串口助手软件操作界面4系统调试在调试系统的时候必须是先在未上电的情况下进行调试,这样可以防止线路错误的时候上电对核心部件和芯片造成损坏,造成经济上的损失与制作时间的浪费。在静态调试完成,确认电路板各部分连接正常后才能开始对电路板进行上电操作。上电后要测试各个主要节点的电压值和信号高低电平,然后跟理论值做对比,如有不同则要找出其中原因,排除故障。下面来进行详细地调试说明。4.1静态调试静态调试第一步为目测。对每一块加工好的印制电路板要进行仔细的检查,先检查印制线是否有断线、有无脱落现象,如果有的话就要用焊锡将其连接好,并检查是否有印制线短接,因为有时候由于印制线间距过近腐蚀不够完全导致导线短接现象,发现短接可用刻刀将谅解的部分划掉。接着再看过孔是否有氧化现象,如果有,要将其表面的氧化层刮去。第二步用万用表检测。因为在线路间间距较小的时候即使有短接也没发现,所以需要借助万用表。先将万用表置于蜂鸣挡位,用两个表笔分别接在那些挨得比较近的电路线看看是否有短路。如果发出蜂鸣声则说明有短路状况,没有蜂鸣警报声则表明正常。接着检查电源线和地线之间是否有短路现象。焊接好元器件后先观察本没有相连的焊点上的焊锡连接在一起,最后用万用表检测一些接点,查看他们的通断状态是否符合要求的状态。第三步为加电源检测。特别要注意的是这项检测并不把单片机芯片加上去,加上电源后,将万用表置于电压挡去检测所有插座和引脚两端的电压值,查看是否符合要求的电压值。如果有大于5V太多,则表明不正常,因为单片机的正常工作电压为5V,电压值超过这个值太多则有可能造成单片机无法正常工作甚至会烧坏单片机。然后去检测接地端的电压值是否接近于零,如不接近零说明有短路。在这项检测中电路板正常,没有异常。在这步测试中发现有三个问题,第一个问题是印制电路部分线路有短路现象,主要原因是腐蚀得不够彻底,使得线路比较密集的地方没有完全隔离,有连接,用小刀片轻轻刮去短路的连接处即可。第二个问题是在认真检查下发现电路板上的电解电容正负极焊反,借助烙铁把焊反的电解电容取下重新正确地焊上去即解决。第三个发现的问题是在焊接时两个距离较近的焊点的焊锡连在一块造成短路,用烙铁加热处理排除问题。下面进行整机调试。4.2动态调试动态调试是用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障,器件间连接逻辑错误等的一种硬件检查。动态调试一般是由近及远,由分到合,首先按逻辑功能将用户系统硬件电路分若干块,进行分块调试。当各块电路调试无故障后,将各块电路逐块加入系统中,再对各块电路功能及各电路间可能存在的相互联系进行试验。首先作者检测的是单片机最小系统模块是否能正常工作,上电后指示灯亮电源连接正常,用单片机程序加载器给单片机加载程序,加载成功,串口下载模块工作正常;第二步是检测数码管显示模块是否工作正常,将数码管安装好后载入相关程序由单片机控制数码管显示,使数码管四位数分别显示1234,经检测显示模块工作正常;第三步检查按键和指示灯,通过编辑简单的测试程序,使每个按键控制一个发光二极管的亮灭,此步骤中作者发现了其中一个按键由于弹性不足已无法正常使用,重新安装上一个新的后第三步的部件完全正常;第四步测试单片机与计算机的通信,通过一个已购买好的USB转485电路模块让PC机与单片机最小系统相连,然后设置好相应的串口通信波特率,则可以用串口助手等软件发送简单的字符或数字给单片机,用程序设定如若单片机接收到数据则显示在数码管上,数码管能显示计算机发送的数字,则表示通信模块工作正常。经过以上四步的检查,既能确保本设计的主控系统工作状况正常。然后再来检测H桥驱动电路是否能正常工作。把单片机最小系统模块和H桥驱动电路连接在一起,并将电机安装上去。把事先编好的驱动减速直流电机先后进行正反转的程序下载到单片机中,测试系统是否能使电机正常运转。在这一步中我上电并给予有效的持续高电平信号后发现电路不能驱动马达正常运转,只是上电一刹那电机有一次快速的抖动然后就不能运转了。通过示波器检测发现,在H桥驱动电路中,高端MOS管没有被驱动,而低端MOS的G端信号正常,因而桥没有被导通。更换信号方向,另外半桥仍然出现相同的现象。本人开始怀疑是IR2111的自举电容的问题,于是实验了不同的电容值。但无论怎么变换,问题仍然没有被解决。然后用示波器开始研究高端MOS的G端驱动电压波形。发现在EN端为高的初期,高端MOS的驱动电压突然升至比VCC高10V。此时强推动作用起效。但随着时间的流逝,该电压逐渐衰减为VCC,MOS的导通程度越来越不完全。也就是说,用持续的高电平信号来驱动MOS管会导致MOS管不能被完全导通,直流电机也无法工作。经认真查阅IR2111的典型电路应用我发现,使用PWM信号则可以解决这个问题,它使自举电容反复充电放电,使高端驱动电压始终维持在一个比较高的水平。倘若想让马达全速前进,不能使用持续的高电平,而需要用3%左右占空比的PWM,这是驱动IR2111与驱动L293D等全桥芯片的最大差别。不同的自举电容值适应于不同频率的PWM信号与不同的MOS管。电容值大的充电和放电时间都比较大,电压衰减得也比较慢,因而适合较低频率的PWM信号;电容值小的充电放电时间比较短,适合于较高频率的PWM信号。经过多次分析和程序的修改,作者终于成功驱动直流电机正常运转,以及实现电机的正反转。至此,整块电路的调试也就完成,其中遇到的问题都是比较典型,通过发现、分析以及解决这些问题使得我对整个设计有了更深一步的认识。5误差分析只要机械涉及到精度和准度的就会遇到误差问题,实际值和理论值不可能做得到百分百的精确,误差又可分为可接受误差和不可接受误差。我们的设计要做到的就是把误差控制在可接受范围内。表5-1电机转动度数误差表(部分)设定值实际值相对误差45°44.6°0.89%90°90.3°0.33%100°99°1%135°135.7°0.52%180°178.5°0.83%表5-1是6组比较有代表性的角度值,本文作者验证了总共50组左右的数据,得出结论本设计系统的相对误差基本能维持在百分之一以下,属于可接受范围。而误差产生原因有很多,比如仪器、实验条件、环境等因素。对于本系统,作者总结出了以下几点具体的误差原因及解决方法:(1)纹波电压影响众所周知,纹波就是一个直流电压中的交流成分。直流电压本来应该是一个固定的值,但是很多时候它是通过交流电压整流、滤波后得来的,由于滤波不干净,就会有剩余的交流成分,即使是用电池供电也会因负载的波动而产生波纹。事实上,即便是最好的基准电压源器件,其输出电压也是有波纹的。所以由于纹波电压的无法彻底消除,本系统中A/D数据采集得到的数据就会是时刻跳动的,导致系统得到的数据反馈有

温馨提示

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

评论

0/150

提交评论