《减速直流电机角度控制器(25页).doc》由会员分享,可在线阅读,更多相关《减速直流电机角度控制器(25页).doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-减速直流电机角度控制器-第 6 页设计综合性实验报告课程名称: 减速直流电机角度控制 院 (系): 电子工程与自动化学院 专 业: 自 动 化 学生学号: 0800320232 学生姓名: 伍仲明 指导教师: 李 平 赵 学 军 龙 超 2011年 9月 18日摘 要在工业生产过程中,减速直流电机角度控制器能实现控制生产流程、控制器械精度并可实现精确的检测与调度工作。同时它也有简单易操作、界面友好快捷的特点,对于工业生产也起到了提高生产效率的作用。本论文介绍了基于STC12系列的单片机的减速直流电机角度控制器的设计,电动机角度控制可以应用于很多自动化设备的控制,它是以STC12C5A60S2
2、作为主要控制芯片,采用4个功率N型MOS管构成H桥对减速直流电动机进行正反转控制,采用电位器与电动机的同轴连接对电动机的转角进行测量与控制。关键词:自动化控制技术;单片机;减速直流电动机;同轴连接;测量与控制AbstractIn the industrial production process, the slow realization of DC motor controller can control the angle of the production process, control equipment and to achieve accurate detection accur
3、acy and scheduling work. It also has a simple and easy to operate, user friendly and fast characteristics, for the industrial production also played a role in improving production efficiency.This paper describes the series of microcontrollers based on the deceleration STC12 DC motor controller desig
4、n point of view, the motor angle control can be used in a lot of automated equipment control, it is STC12C5A60S2 as the main control chip, using four power N-type MOS tube form H Bridge on the reversing gear DC motor control, using potentiometer and motor angle coaxial connector on the motor to meas
5、ure and control.Key words: Automation and control technology; SCM; DC motor deceleration; Coaxial connectors; Measurement and Control目 录引言控制技术是在是在上世纪20年代建立了以频域法为主的经典控制理论后发展起来的,控制技术首先在工业生产中得到了广泛的应用。在空间技术发展的推动下,50年代又出现了以状态空间法的现代控制理论,使控制技术得到了广泛的发展,产生了更多的应用领域。60年代以来,随着计算机技术的发展,控制技术走向了自动化的方向。随着计算机技术的日渐成熟
6、,自动化控制技术与计算机的结合已经成为必然。用计算机控制所有机械的运行才能减少劳动力的浪费。本文介绍的减速直流电机角度控制器主要控制核心为STC12系列的单片机,并搭配用功率MOS管组建成的H桥驱动电机正反转。将减速直流电机的输出轴与单圈电位器的轴连接好,利用电位器可以进行角度测量,设计H桥功率驱动电路,采用PWM驱动电动机正反转,设计控制器实现0180度角度控制,控制精度1度,通过键盘进行角度设置,实际角度可以实时显示。2 硬件电路原理及设计减速直流电机角度控制器主要是以单片机为核心,结合H桥驱动电路、电压检测来完成所需功能。总体系统框图如图2-1所示:图2-1 系统总框图2.1 主控系统的
7、设计在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单片机结合简单的接口电路即可构成单片机最小系统,它是智能化仪器仪表的基础,也是测控、监控的重要组成部分。在单片机性能与设计需求的综合考虑下,本设计选择了STC12C5A32S2单片机作为主控芯片,主控系统还包括了由晶振组成的外部振荡电路和开关复位电路的设计,四个测试用的按键、四个指示与测试用发光二极管和一个七段四位共阴数码管。主控系统如图2-2。图2-2 主控系统电路图2.1.1单片机STC12C5A32S2介绍STC12C5A60S2系列单片机
8、是宏晶科技生产的单时钟/机器周期(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.工作频率范围:035MHz,相当于普通8051的0420MHz。4.用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节等。5.片上集成1280字节
9、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电阻图2-3 ST
10、C12C5A60S2单片机引脚图2.1.2主控系统各部分电路设置振荡电路用于产生外部时钟和复位电路用于单片机系统的复位,两者是单片机系统最常用的应用,读者可查阅相关应用书籍和资料,本文就不做累述。系统中的四位共阴数码管用于电机转动度数的显示与设置,当用STC12系列单片机P0口驱动数码管时,需要像8051单片机一样,需加上1K到10K的上拉电阻来加强P0口的驱动能力。主控系统中的四个按键用于独立控制电机和做测试用;四个发光二极管用于测试,同时也可起到指示的作用。P1.3口与P1.4口用于发送驱动电机正反转的信号;P1.2口作为A/D数据采集口。2.1.3下载电路与通信电路介绍STC12系列的单
11、片机与其他STC系列单片机一样,只需要用过串口线与电脑连接,再借助RS232芯片的转换,最终连到单片机上P3.0(RXD)口与P3.1(TXD)口,即可通过电脑端的STC-ISP软件控制下载用户程序到STC单片机上了。用户可自行选择使用T1,R1或是T2,R2,均能正常下载。图2-4 MAX232芯片管脚图 MAX232外围需要4个电解电容C1、C2、C3、C4 ,是内部电源转换所需电容。其取值均为1F/25V。宜选用钽电容并且应尽量靠近芯片。C5为0.1F的去耦电容。MAX232 的引脚T1IN、T2IN、R1OUT、R2OUT 为接TTL/ CMOS 电平的引脚。引脚T1OUT、T2OUT
12、、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.1f(105)电容。2. 可以将两路RS-232C电平转换成两路TTL电平。分别从R1IN和R2IN输入,对应从T1OUT和T2OUT输出。注意,输入和输出的逻辑值保
13、持一致,如输入-5V,即逻辑1,输出也是逻辑1,TTL电平为高电平,即3.6V左右。3. 可以将两路TTL电平转换成两路RS-232C电平,分别从T1IN和T2IN输入,对应从R1OUT和R2OUT输出。同样输入和输出的逻辑值保持一致。图2-5 标准RS-232“D”型插头本文系统的下载电路如图2-6所示。图2-6 STC系列单片机下载电路本文设计的系统通信电路主要通过总线驱动芯片MAX485来完成,该电路不仅能用于单片机与计算机的通信,而且能用于单片机与单片机的通信。MAX485芯片是Maxim公司的一种RS485芯片。MAX485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口
14、的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。同时,最大传输速率和最大传输距离也大大提高。如果以10Kbps速率传输数据时传输距离可达12m,而用100Kbps时传输距离可达1.2km。如果降低波特率,传输距离还可进一步提高。另外RS-485实现了多点互连,最多可达256台驱动器和256台接收器,非常便于多器件的连接。可实现半双工通信。图2-7为MAX485的引脚配置图。图2-7 MAX485 引脚配置图PC机RS-485接口卡MAX485单片机当要实现计算
15、机与单片机的通信时,一般计算机上需要接上RS-485接口卡,然后再用传输线连接到单片机系统上的MAX485芯片上,最终再与单片机相连。图2-8 单片机与PC机串行通信原理图图2.2 电机H桥驱动电路的设计本文设计的H桥驱动电路是用四个N型功率场效应管IRF540来搭建,并配以两个功率场效应管半桥驱动芯片IR2111作为外围驱动电路。图2-11 电机H桥驱动电路图2.2.1驱动电路H桥的组成H桥驱动电路是典型的控制电机正反转的电路,该电路可以用三极管或P和N型功率场效应管(简称MOS管)来搭建均可。相对于普通三极管,MOS管由于结构和原理的不同,导通电阻远比普通三极管低,允许流过更大的电流。而且
16、MOS管都内置有反向二极管来保护管子本身。所以采用MOS管连接H桥不但效率可以提高,电路也可以简化。所以本文作者选用了四个N型MOS管IRF540来组成基本的H桥驱动电路。图2-12 H桥驱动基本电路由图2-11可知,要使直流电机运转,必须导通对角线的一对MOS管。根据不同MOS管对的导通情况,可以得出正转、反转和停止三种电机状态。当Q1与Q4导通,Q2与Q3截止时,图中的直流电机上的电流从左流向右,此时电机正转;当Q2与Q3导通,Q1与Q4截止时,图中的直流电机上的电流从右流向左,此时电机反转;当Q1 、Q2、 Q3和Q4四个MOS管同时截止时,电机上无电流通过,电机停止运转。表2-1 电机
17、运行状态表Q1Q2Q3Q4电机运行状态导通截止截止导通正转截止导通导通截止反转截止截止截止截止停止如今市面上已有很多封装好的H桥集成电路,相对于用分立元件制作的H桥要简易很多,只要接上电源、电机和控制信号就可以使用了,在额定的电压和电流内使用非常方便可靠。比如常用的L293D、L298N、TA7257P和SN754410等。2.2.2集成电路IR2111应用介绍IR211l是功率MOSFET和IGBT专用栅极驱动集成电路,可用来驱动工作在母线电压高达600V的电路中的N沟道功率MOS器件。采用一片IR 211l可完成两个功率元件的驱动任务,其内部采用自举技术,使得功率元件的驱动电路仅需一个输入
18、级直流电源;可实现对功率MOSFET和IGBT的最优驱动,还具有完善的保护功能。IR2111典型应用电路如图2-13所示。图2-13 IR2111典型应用电路图中上管是指接到高电压端的N沟道MOSFET或IGBT,注意应外接或内置保护、续流二极管,下管是指接到低电压端的MOSFET或IGBT。Vcc是给IR21ll供电的电源,以15V为最佳。Vcc降低至10V,IR2111也能工作,但会增加MOSFET或IGBT的开关损耗。IN是控制信号的输入端,输入等效电阻很高,可直接连接来自微处理器、光耦或其它控制电路发出的信号。逻辑输人信号与CMOS电平兼容,在Vcc是15V时,O6V的电压为逻辑0;6
19、.415V的电压为逻辑1。输入端电压为逻辑1时,IR2111输出端H0输出高电平,驱动上管;输出端L0输出低电平,关闭下管。输入端电压为逻辑0时,情况正好相反。IR2111内部设置了650ns的死区时间(Deadtime),可防止上下管直接导通造成短路事故。COM是接地端,直接和下管MOSFET的源极S或IGBT的发射极E相连。HO、LO分别是上、下管控制逻辑输出端,逻辑正时输出典型电流为250mA,逻辑负时输出典型电流为500mA,输出延迟时间不会超过130ns。Vb是为高压侧悬浮电源端,Vs是高压侧悬浮地,它们的电位随上管的导通截止而变化,变化幅度可高大近600V。上、下管电容里存储的电荷
20、,用来快速导通上、下功率管,一般使用0.47uF以上的非电解电容。上管电容的充电是在下管导通或负载有电流通过时自行完成的,也称为自举电容。充电回路是Vcc上管电容充电二极管上管电容下管或负载COM。控制信号长时间的为逻辑1,会导致上管电容的电荷用尽而截止上管,因而控制信号的占空比不能为100%。上管电容充电二极管用来防止上管导通时,高压电窜入Vcc端损坏低压器件,也称自举二极管。在高端器件开通时,自举二极管必须能够阻止高压,并且应是快恢复二极管以减小从自举电容向电源Vcc的回馈电荷。其反向耐压应大于功率端电压,恢复时间应小于100ns。上、下管保护电阻的作用,是通过其延缓功率管极间电容的冲、放
21、电速度,从而降低不必要的高开关速度,起到保护功率管的作用,一般阻值在几个到几十个欧姆。同时本文作者在这里还要说明一下IR2111在使用中可能出现的问题:(1)该电路在静态测试时,如果没有接负载,控制信号的输入端为逻辑1时,上管控制逻辑输出端HO的高电位只能维持很短的时间。若输入占空比变化的脉宽调制信号,就可以观察到HO的电位随占空比而变化,这是上管充电的缘故,LO端就不会有这个问题。(2) Vs的负过冲。当桥电路负载为感性时,上管的关断会引起负载电流突然转换到下管的续流二极管,由于二极管开通延迟,正向压降和杂散电感会使Vs点负过冲到参考地以下。在死区时间内,如果负载电路不能完全恢复,当下管器件
22、硬开通时,会发生Vs负过冲或振荡。IR21ll的Vs至少有抗5V的负过冲能力,一般不会有问题,负过冲水平超过该值。可采用IR公司推荐的几种方法:减小杂质参数、杂散电感、改善耦合、减小dv/dt等。2.2.3直流电机PWM控制原理由上文可知,两片IR2111芯片的控制信号输入端IN和IN如果只是单纯的输入一个为逻辑0而另一个为逻辑1的静态逻辑信号时,电机只能抖动一下,无法正常运作。所以我们得运用到脉冲宽度调制(Pulse Width Modulation-简称PWM)信号。PWM控制技术是利用半导体开关器件的导通和关断,把直流电压变成电压脉冲列,控制电压脉冲的宽度或周期以达到变压目的,或控制电压
23、脉冲的宽度和周期以达到变压变频目的的一种控制技术。通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗。此外,许多微控制器和DSP已经在芯片上包含了PWM控制器,这使数字控制的实现变得更加容易了。2.3 减速直流电机的简介减速直流电机是指减速机和直流电机的集成体。这种集成体通常也可称为齿轮马达或齿轮电机。通常由专业的减速机生产厂进行集成组装好后成套供货。减速电机广泛应用于钢铁行业、机械行业等。使用减速电机的优点是简化设计、节省空间。而减速电机还有下列特点:1、减速电机结合国际技术要求制造,具有很高的科技含量。2、节省空间,可靠耐用,承受过载能力高,功率可达95KW以上。3、能耗低,性能优
24、越,减速机效率高达95%以上。4、振动小,噪音低,节能高,选用优质段钢材料,钢性铸铁箱体,齿轮表面经过高频热处理。5、经过精密加工,确保定位精度,这一切构成了齿轮传动总成的齿轮减速电机配置了各类电机,形成了机电一体化,完全保证了产品使用质量特征。6、产品才用了系列化、模块化的设计思想,有广泛的适应性,本系列产品有极其多的电机组合、安装位置和结构方案,可按实际需要选择任意转速和各种结构形式。减速直流电机实物图如图2.15,直流电机前端接的即为减速机。图2-15 减速直流电机实物图2.4 电机转动角度检测对于电机角度检测本文作者采用了减速直流电机转轴与单圈电位器旋钮轴同轴连接的方法来实现,即电机的
25、转轴通过同轴连接可以带动电位器旋钮轴,而单圈电位器的两端引脚分别接电源与地,电位器中间教接入到STC单片机P1.6口作为A/D采样样本。这样就可以通过P1.6口的电压变化检测出电机的转动角度了。2.4.1单圈电位器介绍用于分压的可变电阻器。在裸露的电阻体上,紧压着一至两个可移金属触点。触点位置确定电阻体任一端与触点间的阻值。主要参数为阻值、容差、额定功率。广泛用于电子设备,在音响和接收机中作音量控制用。电位器是一种可调的电子元件。它是由一个电阻体和一个转动或滑动系统组成。单圈电位器即是转动度数大约为300度的电位器,一般运用于音频功放电路中。图2-16 单圈电位器实物图3 程序设计减速直流电机
26、角度控制器的程序主要包括三部分:直流电机控制程序,A/D数据采集程序和串口通信程序。图3.1为系统总程序流程图。等待角度设定值与启动命令电机停 止设定值当前值?启动正转反转YN设定值=当前值?NY初始化图3-1 系统程序流程图3.1 电机控制信号的产生根据驱动电路要求,控制电机正反转的信号必须为脉冲宽度调制(PWM)信号,本文作者利用了STC12系列单片机的定时器0来产生固定占空比的PWM信号。下面介绍一下单片机的定时器特点与定时器设定程序。STC12C5A60S2系列单片机内部设置的两个16位定时器/计数器T0和T1都具有计数方式和定时方式两种工作方式。对每个定时器/计数器(T0和T1),在
27、特殊功能寄存器TMOD中都有一控制位 C/T来选择T0或T1为定时器还是计数器。定时器/计数器的核心部件是一个加法 (也有减法)的计数器,其本质是对脉冲进行计数。只是计数脉冲来源不同:如果计数脉冲来自系统时钟,则为定时方式,此时定时器/计数器每12个时钟或者每1个时钟得到一个计数脉冲,计数值加1;如果计数脉冲来自单片机外部引脚(T0为P3.4,T1为P3.5),则为计数方式,每来一个脉冲加1。当定时器/计数器工作在定时模式时,特殊功能寄存器AUXR中的T0x12和T1x12分别决定是系统时钟/12还是系统时钟/1(不分频)后让T0和T1进行计数。当定时器/计数器工作在计数模式时,对外部脉冲计数
28、不分频。定时器/计数器0有4种工作模式:模式0(13位定时器/计数器),模式1(16位定时器/计数器模式),模式2(8位自动重装模式),模式3(两个8位定时器/计数器)。定时器/计数器1除模式3外,其他工作模式与定时器/计数器0相同,T1在模式3时无效,停止计数。本系统用到了定时器0,下面是用定时器0的模式0定时1毫秒的程序:void main(void) TMOD=0X00; /定时器0工作在模式0 TH0=0Xc6; /晶振22.1184Mhz,初值定时时间为1毫秒 TL0=0X0d; ET0=1; /定时器0中断允许 EA=1; /中断允许TR0=1; / 开定时器0中断void tim
29、er0() interrupt 1 using 0 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的定时作用来实现:void main(void) TMOD=0X00; /定时器0工作在模式0 TH0=0Xc6; /晶振22.1184Mhz,初值定时时间为1毫秒 TL0=0X0d; ET0=1; /
30、定时器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;void time
31、r0() interrupt 1 using 0 TH0=0xc6; /1ms TL0=0x0d; haomiao+; if(haomiao=100) haomiao=0; /每个脉冲周期为100ms3.2 A/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使用的
32、口可继续作为I/O口使用。STC12C5A60S2系列单片机ADC(A/D转换器)的结构如下图3-2所示。图3-2 STC12C5A60S2单片机ADC的结构STC12C5A60S2系列单片机ADC由多路选择开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器(ADC_RES和ADC_RESL)以及ADC_CONTR构成。本系统用单片机的P1.6口作为A/D转换使用。下面是相关程序编写:void main(void)P1M0|=0x40; /P1.6设为高阻输入 P1M1|=0x40; P1ASF=0x40; /把P1.6口作为A/D使用 ADC_CONTR=0xee; /选择 P1.6
33、 作为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; /结果经过四舍五入处理void readflow() /A/D转换子程序ADC
34、_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(Universal Asychronous Receiver /Transmitter)工作方式的全双工串行通信接口(串口1和串口2)。每个串行口由2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2个互相独立的接收、发送缓冲器构成,可以
35、同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入,因而两个缓冲器可以共用一个地址码。串行口1的两个缓冲器共用的地址码是99H;串行口2的两个缓冲器共用的地址码是9BH。串行口1的两个缓冲器统称串行通信特殊功能寄存器SBUF;串行口2的两个缓冲器统称串行通信特殊功能寄存器S2BUF。STC12C5A60S2系列单片机串行口1对应的硬件部分是TxD/P3.1和RxD/P3.0引脚,串行口2对应的硬件部分是TxD2和RxD2。通过设置特殊功能寄存器AUXR1中的S2_P4/AUXR1.4位,串行口2(UART2)功能可以在P1口和P4口之间任意切换。当串行口2功能在P1
36、口实现时,对应的管脚是P1.2/RxD2和P1.3/TxD2。当串行口2功能在P4口实现时,对应的管脚是P4.2/RxD2和P4.3/TxD2。下面的程序是本设计程序的通信部分,按照设计要求,只设计了单片机接收:void main(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; /允许串口中
37、断P3_2=0; /MAX485设置为接收状态void Uart_Isr() interrupt 4 using 1 /串口中断 if(RI)jieshouii=SBUF;ii+;if(ii=5)ii=0; /把字符型数据转化为整型sbai=jieshou0-48; /接收百位度数数据sshi=jieshou1-48; /接收十位度数数据sge=jieshou2-48; /接收个位度数数据sfen=jieshou4-48; /接收分位度数数据start=1; /电机启动RI=0;作者使用了串口助手软件来实现PC与单片机的通信,图3-3为具体操作与调试界面,图中是发送90.5度的具体设置,特别要
38、注意的是数据发送格式与波特率的设定要正确。图3-3 串口助手软件操作界面4 系统调试在调试系统的时候必须是先在未上电的情况下进行调试,这样可以防止线路错误的时候上电对核心部件和芯片造成损坏,造成经济上的损失与制作时间的浪费。在静态调试完成,确认电路板各部分连接正常后才能开始对电路板进行上电操作。上电后要测试各个主要节点的电压值和信号高低电平,然后跟理论值做对比,如有不同则要找出其中原因,排除故障。下面来进行详细地调试说明。4.1 静态调试静态调试第一步为目测。对每一块加工好的印制电路板要进行仔细的检查,先检查印制线是否有断线、有无脱落现象,如果有的话就要用焊锡将其连接好,并检查是否有印制线短接
39、,因为有时候由于印制线间距过近腐蚀不够完全导致导线短接现象,发现短接可用刻刀将谅解的部分划掉。接着再看过孔是否有氧化现象,如果有,要将其表面的氧化层刮去。第二步用万用表检测。因为在线路间间距较小的时候即使有短接也没发现,所以需要借助万用表。先将万用表置于蜂鸣挡位,用两个表笔分别接在那些挨得比较近的电路线看看是否有短路。如果发出蜂鸣声则说明有短路状况,没有蜂鸣警报声则表明正常。接着检查电源线和地线之间是否有短路现象。焊接好元器件后先观察本没有相连的焊点上的焊锡连接在一起,最后用万用表检测一些接点,查看他们的通断状态是否符合要求的状态。第三步为加电源检测。特别要注意的是这项检测并不把单片机芯片加上
40、去,加上电源后,将万用表置于电压挡去检测所有插座和引脚两端的电压值,查看是否符合要求的电压值。如果有大于5V太多,则表明不正常,因为单片机的正常工作电压为5V,电压值超过这个值太多则有可能造成单片机无法正常工作甚至会烧坏单片机。然后去检测接地端的电压值是否接近于零,如不接近零说明有短路。在这项检测中电路板正常,没有异常。在这步测试中发现有三个问题,第一个问题是印制电路部分线路有短路现象,主要原因是腐蚀得不够彻底,使得线路比较密集的地方没有完全隔离,有连接,用小刀片轻轻刮去短路的连接处即可。第二个问题是在认真检查下发现电路板上的电解电容正负极焊反,借助烙铁把焊反的电解电容取下重新正确地焊上去即解
41、决。第三个发现的问题是在焊接时两个距离较近的焊点的焊锡连在一块造成短路,用烙铁加热处理排除问题。下面进行整机调试。4.2 动态调试动态调试是用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障,器件间连接逻辑错误等的一种硬件检查。动态调试一般是由近及远,由分到合,首先按逻辑功能将用户系统硬件电路分若干块,进行分块调试。当各块电路调试无故障后,将各块电路逐块加入系统中,再对各块电路功能及各电路间可能存在的相互联系进行试验。首先作者检测的是单片机最小系统模块是否能正常工作,上电后指示灯亮电源连接正常,用单片机程序加载器给单片机加载程序,加载成功,串口下载模块工作正常;第二步是检测数码管显
42、示模块是否工作正常,将数码管安装好后载入相关程序由单片机控制数码管显示,使数码管四位数分别显示1234,经检测显示模块工作正常;第三步检查按键和指示灯,通过编辑简单的测试程序,使每个按键控制一个发光二极管的亮灭,此步骤中作者发现了其中一个按键由于弹性不足已无法正常使用,重新安装上一个新的后第三步的部件完全正常;第四步测试单片机与计算机的通信,通过一个已购买好的USB转485电路模块让PC机与单片机最小系统相连,然后设置好相应的串口通信波特率,则可以用串口助手等软件发送简单的字符或数字给单片机,用程序设定如若单片机接收到数据则显示在数码管上,数码管能显示计算机发送的数字,则表示通信模块工作正常。
43、经过以上四步的检查,既能确保本设计的主控系统工作状况正常。然后再来检测H桥驱动电路是否能正常工作。把单片机最小系统模块和H桥驱动电路连接在一起,并将电机安装上去。把事先编好的驱动减速直流电机先后进行正反转的程序下载到单片机中,测试系统是否能使电机正常运转。在这一步中我上电并给予有效的持续高电平信号后发现电路不能驱动马达正常运转,只是上电一刹那电机有一次快速的抖动然后就不能运转了。通过示波器检测发现,在H桥驱动电路中,高端MOS管没有被驱动,而低端MOS的G端信号正常,因而桥没有被导通。更换信号方向,另外半桥仍然出现相同的现象。本人开始怀疑是IR2111的自举电容的问题,于是实验了不同的电容值。
44、但无论怎么变换,问题仍然没有被解决。然后用示波器开始研究高端MOS的G端驱动电压波形。发现在EN端为高的初期,高端MOS的驱动电压突然升至比VCC高10V。此时强推动作用起效。但随着时间的流逝,该电压逐渐衰减为VCC,MOS的导通程度越来越不完全。也就是说,用持续的高电平信号来驱动MOS管会导致MOS管不能被完全导通,直流电机也无法工作。经认真查阅IR2111的典型电路应用我发现,使用PWM信号则可以解决这个问题,它使自举电容反复充电放电,使高端驱动电压始终维持在一个比较高的水平。倘若想让马达全速前进,不能使用持续的高电平,而需要用3%左右占空比的PWM,这是驱动IR2111与驱动L293D等
45、全桥芯片的最大差别。不同的自举电容值适应于不同频率的PWM信号与不同的MOS管。电容值大的充电和放电时间都比较大,电压衰减得也比较慢,因而适合较低频率的PWM信号;电容值小的充电放电时间比较短,适合于较高频率的PWM信号。经过多次分析和程序的修改,作者终于成功驱动直流电机正常运转,以及实现电机的正反转。至此,整块电路的调试也就完成,其中遇到的问题都是比较典型,通过发现、分析以及解决这些问题使得我对整个设计有了更深一步的认识。(1)纹波电压影响众所周知,纹波就是一个直流电压中的交流成分。直流电压本来应该是一个固定的值, 但是很多时候它是通过交流电压整流、滤波后得来的,由于滤波不干净,就会有剩余的交流成分,即使是用电池供电也会因负载的波动而产生波纹。事实上,即便是最好的基准电压源器件,其输出电压也是有波纹的。所以由于纹波电压的无法彻底消除,本系统中A/D数据采集得到的数据就会是时刻跳动的,导致系统得到的数据反馈有偏差,误差就出现了。具体减小此影响的方法是增强电路滤波能力,硬件滤波为在A/D数据采集通道加入对应的LC滤波电路;软件滤波为在A/D数据采集时采
限制150内