毕业设计人工机器人的电气控制设计_第1页
毕业设计人工机器人的电气控制设计_第2页
毕业设计人工机器人的电气控制设计_第3页
毕业设计人工机器人的电气控制设计_第4页
毕业设计人工机器人的电气控制设计_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

4人工机器人的电气控制设计4.1人工机器人整体设计思绪手动机器人的电控部分重要分为两大块:手柄发射部分和控制驱动部分。其中手柄部分用来向控制驱动电路发送控制指令;控制驱动部分根据串口传送的控制指令,实现铺设桥板、拾取小礼品以及防干扰等功能。手柄发射部分和控制驱动部分之间通过3米长的屏蔽线连接,采用串行异步通信的方式,实现手柄和控制驱动电路之间的数据传播。图4.1手动机器人数据传播示意图整体构成方框图如下:(1)操作手柄(方案一):图4.2手柄电路(方案一)方框图该框图中,以单片机为关键,操作者的按键、摇杆信息都送到单片机中进行处理,再由MAX232将单片机输出的TTL电平转化成具有强干扰能力的RS232电平以UART格式传播出去,图中的看门狗(WatchDog)时刻监视着单片机的运行状况,当单片机进入死循环或死机时,自动将单片机复位重启。(2)操作手柄(方案二):图4.3手柄电路(方案二)方框图单片机选用同属AVR系列的ATmega8L,它内部集成了2路10位ADC和6路8位ADC,因此完全可以替代AT89S52+TLC0831。(3)接受控制板:图4.3接受控制板电路方框图4.2人工机器人操作手柄的设计思绪以此整体思绪,我们设计了两套手柄的设计方案:4.2.1操作手柄方案一的设计单片机采用AT89S52,ADC芯片采用TLC0831。AT89S52单片机是ATMEL企业推出的AT89C52的更新替代产品,它完全兼容老式的51系列单片机,里面资源较少,使用简朴,并且软硬件开发环境都比较成熟,因此我们选用了它。由于AT89S52里面没有集成ADC,必须要加上专用的A/D转换器芯片来采集摇杆的信息来控制行走电机的速度。A/D转换器从原理上分有双积分式、逐次迫近式等。比较老式的双积分式AD转换器,例如ICL7106(3位半)、ICL7135(4位半),由于其特有的双积分工作方式,使它能得到较高的精度(ICL7135相称于14位的逐次迫近式AD转换器)和很好的抗干扰性能,但它的相称大的一种缺陷是转换速度过慢,每秒只能转换10次如下,一般应用于数字万用表,不符合我们的规定。经典的逐次迫近式AD转换器有ADC0809。ADC0809具有8位的辨别率,虽不及ICL7135,但它的很明显的一种长处就是其转换速度比ICL7135快得多,每一通道的转换时间大概为100uS,基本符合我们的规定。尽管如此,我们还是没有选用这种型号的AD芯片,原因是ADC0809的接口方式过于复杂。它与单片机之间以并行的方式进行操作,占用了太多的IO口,还需要启动信号、CLK信号等,并且它是DIP40封装,从体积上来说,也不合用于我们这个资源和空间均有限的系统。操作手柄的方案1最终选用了串行接口的AD转换芯片TLC0831。TLC0831是TI企业生产的八位逐次迫近式AD转换器,它有一种差分输入通道,串行输出配置为与原则移位寄存器或微处理器兼容的Microwire总线接口,极性设置固定,不需寻址。其内部有一采样数据比较器将输入的模拟信号微分比较后转换为数字信号。模拟电压的差分输入方式有助于克制共模信号和减少或消除转换的偏移误差,并且电压基准输入可调,使得小范围模拟电压信号转化时的辨别率更高。由于原则移位寄存器或微处理器将时间变化的数字信号分派到串口输出,当IN-接地时为单端工作,此时IN+为输入,也可将信号差分后输入到N+与N-之间,此时器件处在双端工作状态。其特点如下:(1)8位辨别率;(2)单通道差输入;(3)5V的电源提供0-5V可调基准电压;(4)输入和输出可与TTL和CMOS电平兼容;(5)时钟频率为250KHz下,转换时间为32uS;(6)总失调误差为1LSB;(7)提供DIP8封装。可见,从各方面综合来讲,TLC0831非常符合我们的规定,因此我们选用了这款芯片。TLC0831的管脚排列及功能阐明如下:表4.1表4.1TLC0831的管脚功能管脚名称功能片选端(低电平有效)IN+差模输入正端IN-差模输入负端GND地REF输入基准电压DO串行数据输出端CLK串行时钟信号端Vcc电源图4.4TLC0831管脚图TLC0831时序图如下:图4.5TLC0831时序图本系统中,TLC0831与AT89S52的连接电路图如下:图4.6TLC0831与AT89S52的连接电路图4.2.2操作手柄方案二的设计 手柄部分重要由按键、摇杆以及MAX232电平转换三部分构成如图4.7所示。 按键向控制驱动电路发送控制指令,控制手动机器人执行取放桥板、拾取小礼品、弹射小礼品、提高桥板和小礼品等动作。 摇杆用于向控制驱动电路发送与行走电机的转速有关的控制信号,从而实现行走电机的无级调速。 MAX232实现了TTL电平与RS-232原则电平之间的转换,提高数据传播的可靠性,易于远距离传播数据。图4.7手动机器人手柄实物图 (1)按键部分 按键部分采用独立式按键接口方式(如图4.8所示),即将16只非自锁的按键开关,分别接单片机的一种I/O口,每个按键的状态互相独立。图4.8手柄电路图 采用对输入线查询的方式来识别按键所处的状态。当与按键对应的输入端口为低电平“0”时,表明此键被按下;当与按键对应的输入端口为高电平“1” ATmega8单片机的管脚如图4.9所示:图4.9ATmega8管脚图 ATmega8最多有23个可编程的I/O口。当DDRn的对应位设置为“1”时,该端口为输出状态;当DDRn的对应位设置为“0”时,该端口为输入状态。可以通过设定寄存器DDRn的值设定引脚的输入/输出方向。将除了外部晶振输入输出口、两路A/D转换、以及复位端以外的所有端口都定义为I/O口,一共有17个。它们分布于在三个I/O端口(PORTB、PORTC、PORTD),其对应状况如表4.表4.2ATmega8各端口的使用状况端口端口各位引脚的使用状况PORTBPB7PB6PB5PB4PB3PB2PB1PB0XTAL2XTAL1S12S11S10S9S8S7PORTCPC7PC6PC5PC4PC3PC2PC1PC0空RSTLEDS15S14S13AD_RLAD_RRPORTDPD7PD6PD5PD4PD3PD2PD1PD0S6S5S4S3S2S1TXDS16 (2)摇杆部分 电位器是摇杆的关键构成部分(如图4.8椭圆中所示)。将左、右摇杆电位器中间抽头的电压,送ATmega8的A/D转换输入引脚(图4.8中的ADC0、ADC1),进行A/D转换。将转换后的数据进行线性化处理,最终得到的数据通过串口传送到控制驱动板,作为行走电机PWM调速的控制信号。 1)A/D转换技术 A/D转换器将电位器输入的模拟电压转换成数字量,送单片机进行处理。A/D转换的过程首先是对模拟电压信号取样,取样结束后进入内部保持电路,在保持的这段时间内将取样的电压量化为数字量,并按一定的编码形式将转换成果输出,根据ADC器件的输出形式可以将A/D转换器件分为并行、串行和串并行三种。 并行A/D转换器的基本功能如图4.10所示,用Va表达输入的模拟量,通过A/D转换后,在输出端得到N位的数字量输出。图4.10并行A/D转换示意图(4.1) 式中VR为参照电压,b1、b2、分别为第1到第N位对应的二进制系数,由于N位二进制数同步输出,故称为并行输出。串行输出A/D转换器是在并行输出A/D转换器的基础上增长数据的并—串行转换而得到的。串—并行可以同步有串行和并行数据输出,此类ADC大量用于低速、廉价的积分型A/D转换中,大都采用十进制编码方式,由于其具有高精度、强抗干扰性因而广泛应用于低速测量领域。 2)逐次比较型A/D转换原理图4.11逐次比较型A/D转换原理图逐次比较型A/D转换器的原理如图4.11所示,这种转换器件由比较器C、D/A转换器、寄存器、时钟脉冲源和控制逻辑5个部分构成。转换开始首先将寄存器清零,此时加给D/A转换器的数字量全是0。当转换控制信号变为高电平时开始转换,时钟信号首先将寄存器的最高位置为1,使寄存器的输出为100。这个数字量被D/A转换器转换成对应的模拟电压,并送到比较器与输入信号进行比较。假如,阐明数字量过大了,则这个1应去掉;假如,阐明数字量还不够大,1应予以保留。然后,再按同样的措施将次高位置1,并比较与的大小以确定此位与否该保留。这样依次比较下去,直到最低位比较完为止。此时寄存器里所存的数码就是所求的输出数字量。 3)A/D转换器的重要参数A/D转换器件的转换精度和转换速度是决定ADC器件的重要参数,其中转换精度一般用辨别率和转换误差来描述。辨别率以输出二进制或十进制数的位数来表达,它阐明ADC器件对输入信号的辨别能力。从理论上讲,n位二进制A/D转换器能辨别输入模拟电压的个不一样等级大小,能辨别输入电压的最小差异为(满刻度输入的)。转换误差表达实际输出的数字量和理论值之间的差异,一般以最低有效位的倍数给出。A/D转换器件的转换速度重要取决于转换电路的类型,不一样类型的A/D转换器件的转换速度相差甚为悬殊。其中并联比较型的转换速度最快,逐次比较型A/D转换起的转换速度次之,而间接A/D转换器的转换速度较低[9]。 4)手柄电路中A/D转换功能的实现ATmega8中有一种10位的逐次比较型ADC。ADC与一种8通道的模拟多路复用器连接,可以对以PORTC口作为ADC输入的8路单端电压输入进行采样。其中ADC0、ADC1、ADC2、ADC3、ADC6、ADC7这6路可以实现最高精度为10位的A/D转换,而ADC4和ADC5只能实现最高精度为8位的A/D转换。选用的电位器为航模玩具中的摇杆,其有操作灵活以便,手感很好等长处,但其机械构造却限制了其输出电压的范围仅为2.19V~3.19V,因此为了可以实现较大比例度转换,我选用了ADC0和ADC1这两路10位的ADC。ADC的参照电压(VREF)决定了A/D转换的范围,通过设定ADMUX寄存器的值可以选择参照电压源为AVCC、内部2.56V或是外部的AREF。根据输入电压的范围(2.19V~3.19V),同步为了简化电路构造,我选用AVCC作为电路的参照电压源,通过LC(由图中的L2、C8构成)网络与数字电源VCC相连,起到克制模拟噪声的作用。在手柄与驱动板的数据传播中,使用9针D型插座,自定义接口的对应关系:表4.3数据传播接口定义发送接受9针信号功能9针信号功能1空1空2RXD接受确认信息2TXD发送确认信息3TXD发送控制信号3RXD接受控制信号4空4空5VCC数字芯片电源正极5VCC数字芯片电源正极6空6空7GND数字芯片地7GND数字芯片地8POWER124V电源开关一端8POWER124V电源开关一端9POWER224V电源开关一端9POWER224V电源开关一端驱动电路与手柄公用同一块电池,又手柄中的自锁开关控制电源的通断。为了提高数据传播的可靠性,选用MAX232芯片,将TTL电平的“0”逻辑转换成电平;将TTL电平的“1”逻辑转换成电平,从而实现了远距离之间的可靠的数据传播。MAX232芯片是MAXIM企业生产的、包括两路接受器和驱动器的RS-232电平转换芯片,合用于多种232通信接口。MAX232内部有一种电源电压变换器,可以把输入的+5V电源电压变换成RS-232C输出电平所需的电压。其引脚如图所示。其上部分电容C1、C2、C3、C4及V+、V-是电源变换部分。在实际应用中,器件对电源噪声很敏感。因此,VCC需要加去耦电容C5,其值为0.1uF。电容C1、C2、C3、C4都选用电解电容,其值为1.0uF,可以提高抗干扰性能。下半部分为发送和接受部分。实际应用中,T1IN、T2IN和R1OUT、R2OUT可分别连接TTL/CMOS电平单片机的发送端TXD和接受端RXD。4.3接受控制板的设计接受控制板任务是将手柄送过来的数据解码后控制各个电机执行对应动作。我们选用的方案是主控器选用AVR系列单片机ATMEGA16L,驱动电路采用MOSFET+继电器的方式。4.3.1器件及原理简介 (1)场效应晶体管场效应晶体管(FET)简称场效应管,它属于电压控制型半导体器件,具有输入电阻高(108~109Ω)、噪声小、功耗低、没有二次击穿现象、安全工作区域宽等长处,现已成为双极型晶体管和功率晶体管的强大竞争者。场效应管分结型、绝缘栅型两大类。结型场效应管(JFET)因有两个PN结而得名,绝缘栅型场效应管(JGFET)则因栅极与其他电极完全绝缘而得名。目前在绝缘栅型场效应管中,应用最为广泛的是MOS场效应管,简称MOS管(即金属-氧化物-半导体场效应管MOSFET)。MOS场效应管的重要特点是在金属栅极与沟道之间有一层二氧化硅绝缘层,因此具有很高的输入电阻(最高可达1015Ω)。MOSFET可提成两类:N沟道管和P沟道管,符号如图4.8所示。它有三个极:漏极(D)。源极(S)及栅极(G)。这两类MOSFET的工作原理相似,仅电源电压控制电压的极性相反。有某些功率MOSFET内部在漏源极之间并接了一种二极管或肖特基二极管,这是为了在接电感负载时,防止反电势损坏MOSFET。 MOS管重要电气特性有:启动电压VGS(Th);栅极电压为零时的电流IDSS;在一定的VGS条件下的导通电阻RDS(ON)。电路中使用的是比较常用的功率IRF540,它是一种N沟道功率场效应管。在工作温度TC=25℃时,IRF540最大漏源电压VDS=100V最大栅源电压VGS=±20V最大漏极电流ID=33A(当TC=25℃、VGS=10VID=23A(当TC=100℃、VGS=10V最大功耗PD=120W(当TC>25℃,温度每上升1℃时PD启动电压VGS(Th)为2-4V(当ID=250μA、VGS=VDS时)导通电阻RDS(ON)约为0.04Ω(当ID=33A、VGS=10V时)IDSS最大值为1μA(VDS=95V、VGS=0V时)导通时间最大为100ns关断时间最大为145ns(2)继电器继电器是一种当输入量(电、磁、声、光、热)到达一定值时,输出量将发生跳跃式变化的自动控制器件。继电器的输入信号从零持续增长到达某个阈值,继电器的输出信号立即从跳跃到,即常开触点从断到通;一旦触点闭合,输入量继续增大,输出信号将不再起变化。当输入量从某一不小于值下降到,继电器开始释放,常开触点断开,输出信号。我们把继电器的这种特性叫做继电特性,也叫继电器的输入-输出特性。继电器的原理上实现了控制回路与驱动回路的隔离,也即数字地与模拟地分离,这是使用继电器的一大长处。按照不一样的作用原理分类,继电器可以分为电磁继电器、固态继电器、时间继电器、温度继电器、加速度继电器等几种。一般常用的是电磁继电器和固态继电器。其中电磁继电器是指在输入电路内电流的作用下,由机械部件的相对运动产生预定响应的一种继电器。固态继电器是指依托半导体器件和电子元件的电、磁和光特性来完毕其隔离和继电切换功能的一种继电器。固态继电器与电磁继电器相比,固态继电器无触点,切换响应速度快,不过固态继电器不轻易做成多组及转换触点,并且成本较高;成本低;电磁继电器接触压减少(接触电阻),有多组转换触点,并且成本低,电磁继电器再加上辅助电路,就可以控制一种直流电机正反转了。考虑到以上几种状况,在电路中选用了常用的电磁继电器。(3)光电耦合器原理光电耦合是以光信号为媒介来实现电信号的藕荷和传递的,因其抗干扰能力强而得到广泛应用。光电耦合器是实现光电耦合的基本器件,它将发光元件(发光二极管)与光敏元件(光电三极管)互相绝缘地组合在一起,图4.13所示为TLP521的内部构造。发光元件为输入回路,它将电能转换为光能;光敏元件为输出回路,它再将光能转换为电能,实现了两部分电路的电器隔离,从而能有效克制干扰。在电路中采用TLP521系列光耦,实现了单片机输出信号于驱动电路之间的隔离[5]。图4.13光电耦合器的内部构造 (2)PWM调速原理 直流电机转速的体现式为(4.2) 式中U——电枢端电压; I——电枢电流 R——电枢电路总电阻 ——每极磁通量; K——电动机构造参数。 对直流电动机电枢电压的控制和驱动方式一般有线性发达驱动和开关驱动两种方式。图4.14PWM调速电路图4.14所示为开关驱动方式。当开关管MOSFET的栅极输入为高电平“1”时,MOSFET管导通,电动机两端的电压将到达最大值;当MOSFET的栅极输入为低高电平“0”时,MOSFET管截止,电动机两端的电压为0。图4.15PWM输入输出电压波形图输入输出电压波形如图4.15所示。在持续秒的时间内,MOSFET的栅极输入电压为V,此时加在电动机两端的电压为最大V;秒时间结束后,MOSFET的栅极电压变为0V,MOSFET管截止,电动机绕组两端的电压为V,且持续秒后,又将反复上述过程。这样电动机电枢两端的平均电压为(4.3)式中为占空比(),它表达在一种周期T里,开关管导通的时间与周期T的比值,其变化范围为。在电源电压不变的状况下,电动机两端的平均输出电压值取决于占空比信号的大小,通过变化的值到达调速的目的,这就是PWM调速原理[1]。选用ATmega16作为控制驱动部分的微处理器。ATmega16中有3个定期/计数器(T/C0、T/C1、T/C2),它们除了可以实现一般的定期计数功能外,还具有捕捉、比较、脉宽调制(PWM)输出、实时时钟计数等更为强大的功能。可以通过设定计时器T/C0、T/C2、T/C3的有关寄存器的值,变化PWM输出信号的占空比和输出信号的频率,实现最多为4路的PWM波形输出。51系列单片机PWM调速原理的软件模拟法, 是运用单片机的一种I/O端口,通过软件对该引脚不停的输出高下电平来实现PWM波的输出,这样需要占用大量的CPU资源,而ATmega16在PWM信号输出的同步,CPU可以执行其他任务,大大减轻CPU的承担。4.3.1直流电机的驱动电路一般的控制电机正反转,使用廉价简朴的51系列单片机即可完毕,不过本系统规定实现行走电机的无级调速,需要产生PWM波来控制电机的速度,还要对手柄送来的速度信号进行线性化计算,仅使用老式的51单片机不能到达规定,因此我们选用了带PWM波发生器的AVR系列单片机ATMEGA16L。ATMEGA16L中有三个定期器,我们让其中的定期器2工作在10bit迅速PWM模式下,PWM波从OC1A、OC1B两个管脚输出,只要变化OCR1A与OCR1B的值,就可以变化PWM波的占空比,从而到达调速的目的。对于驱动电路的选择,我们预选的有三套方案:一是用专用的集成驱动电路,二是用分立元件构成的H桥驱动电路,三是用分立功率元件+电磁继电器构成的驱动电路。集成的专用驱动电路重要有L298、LM18200等,它们集成了完善的短路、过流、超温保护电路,具有接口简朴、使用以便等特点,详细使用措施及特点在其他机器人的技术文档中有详细阐明,这里我就不再赘述。我进行了有关试验,搜集了有关数据,并根据它们在其他机器人上的使用状况,认为这些芯片额定电流都较小,虽然有过载保护电路,但仍时时出现烧毁现象;使用过程中发热量也较大,需要安装较大的散热器;这些芯片的管脚都较多,一旦出现问题,检查维修起来相称麻烦。综合这些状况,我没有在人工机器人中使用它们。用大功率三极管、功率场效应管等分立元件也可以构成电机驱动电路。由MOS管构成H桥,电路图如下:图4.16H桥式驱动电路图这是在许多资料常常出现的电路,其中的MOSFET也可以换成对应的大功率三极管。电路原理如下:当控制信号A为1,B为0时,T1和T4导通,T2与T3截止,电机中的电流由左向右流,电机向一种方向转动;当A为0,B为1时,T2和T3导通,T1与T4截止,电流由右向左流,电机向相反方向转动;当A、B都为0时,四个MOS管都截止,电机中没有电流流过。其实分析电路,其原理上是有设计错误的:T1(或T2)不也许完全导通。假如T1完全导通,D、S之间的电压约为0V,即S上应有靠近24V的电压,不过同步G、S之间需要2-4V电压,G端电压最高只能到达24V,因此导致T1的D、S之间3V左右的压降,也就是T1不能完全导通。除非外加电荷泵电路进行升压,这个电路无法使用,但这样会增长电路的复杂度。通过仔细考虑,将电路修改如下:图4.17改善的H桥式驱动电路图在该电路中,T1、T2换成了P沟道的MOS管IRF9540。该电路的工作过程与前者一致。从原理上来讲,MOS管都可以很好的导通,但会常常出现MOS烧毁的现象,这是由于MOS管开通与关断需要一定期间的原因。如图1,假如A为1,B为0,电机向一种方向转动,而某一时刻要实现电机的反向转动,把A变0,同步B变为1,由于MOS管存在关断时间,A变为0后,T1与T4仍有一段时间处在导通状态,假如这时B已经为1,T2与T3也进入了导通状态,则H桥同一臂的MOS管将出现“直通”现象,两个MOS管流过很大的电流,必然导致烧毁现象的发生。为了防止这种现象的发生,保护MOS管,应当加入“死区”保护,即当A变为0后来,通过一段时间Td,等T1与T4完全关断后,再使B为1,将T2与T3导通,这样就能防止MOS管的“直通”现象,但这样要么要在软件上加以调整,要么要在硬件上加入死区保护电路,都会增长设计的复杂度,我们也没有采用。图4.18无死区的输入信号电路图图4.19有死区的输入信号电路图我们最终采用的是功率驱动管+电磁继电器的方案,其电路图如下:图4.20MOSFET+继电器方案电路图该电路中,MOS管IRF540只负责电机的停与转,电机转动的方向是通过继电器的换向来实现的。IRF540的额定电流为28A,我们采用的继电器的额定电流为5A和10A的,电流裕量足够大,实际使用中,该电路也没有出现大的问题。实践表明,这种电路简朴、可靠,不过有一种很大的缺陷,就是在继电器换向时会产生很大的火花,这一般发生在两种状况下:一是当电机向某一方向转动时,忽然要使它向相反方向转动,继电器的触点忽然换向。由于电机是个很复杂的系统,其绕组线圈相称于一种电感,当它转动时,又会在绕组线圈两端产生反电动势,当继电器要换向使触点断开,而使电机线圈与电路临时脱离时,根据电感的特性,线圈上的电流不能忽然消失,为了维持这个电流,线圈两端会产生一种很高的反电动势,这个反电动势向电感的寄生电容C反向充电。伴随充电电压的升高,触点上的电压也升高,当到达一定程度时,将触点击穿,形成导电通路,电容C开始放电,电压开始下降,当电压降到维持触点空气导通的电压如下时,通路断开,又反复。上面的过程。这种过程一直反复到由于触点之间的距离增长,电容上的电容不能击穿触点为止。二是当电机停止时,控制它向相反方向转动。这时控制电路要控制MOSFET导通,同步继电器也要加电以切换方向。由于使用的是电磁继电器,其机械触点的动作需要几百ms的时间,相比之下,MOSFET的导通几乎是瞬间的,因此当MOSFET已经导通、电机线圈已经有电流流过时,触点仍未实现换向。通过一定期间,触点完毕了换向。这种状况实际上和第一种状况类似。这种触点打火的现象,会对周围电路导致严重的电磁干扰现象,尤其是对电路的单片机系统的正常运行构成威胁。实际使用时,会看到当一路驱动电路换向打火时,邻近的驱动电路虽然没有控制电机动作,但指示电机运行方向的LED仍会发出微弱的光,这即是这种火花对周围导致的干扰。为了尽量消除这种火花,我们在电路设计中重要采用了三种措施:(1)在继电器的触点两端都并上RC网络,如图中的R1~R4、C1~C4。这是消除触点火花较常用的措施。当触点断开、感应电动势对C充电时,充电电流会流过R,这样就使保留在线圈中的能量尽快地以热能的形式消耗在电阻上,从而到达消除火花的目的。根据某些资料及经验,我们实际采用的参数为:R=150欧,C=0.047uF。(2)在电机两端并联瞬变二极管。瞬变二极管是一种特殊的二极管,当加在其两端的电压超过一定值时,它会很快的导通,将电感中的浪涌能量释放掉,并将其电压幅度限制在一定范围内,它具有响应时间快、承受功率大的特点。瞬变二极管有单向与双向之分,双向瞬变二极管相称于两个单向瞬变二极管的反向串联。单向瞬变二极管的电压-电流曲线下图,图中各个参数的意义如下:图4.21瞬变二极管I-V曲线图我们采用的瞬变二极管型号是P6KE33CA,其意义如下:MARKING:Logo,DateCode,TypeCode,CathodeBand(forunidirectionaltypesonly).(3)在电机两端对地分别并上电容C5、C6。(4)针对第二种打火的状况,可以在软件上加以消除,即假如要让电机反向起动,先让继电器线圈通电,通过大概200ms左右,保证继电器触点完全换向后,再启动MOSFET使电机运转,这样就能消除刚刚所描述的火花。采用以上措施后,触点火花仍然没有完全消除掉,不过已经可以保证系统的正常运行。在实际使用过程中,没有发现因触点打火而出现的单片机死机、电机误动作的现象。4.3.1过流保护的思想在第一次电路板使用过程中发既有些键很轻易被误触发,尤其是控制小礼品卷出电机的按键,其位置装在手柄的左右下角,一不小心就被手碰到,而假如没有把固定其位置的鱼丝熔断使该机构到位,这个电机是转不动的,这样它就处在堵转状态,而操作者还发现不了,最终会导致该电机电流过大而烧毁的后果。因此加入电机保护十分必要。详细的过流保护及报警思绪如下:保护功能重要由软件和硬件构成两级保护来实现。首先由过流检测电路来检测电机与否处在过电流状态。过流检测电路由专用比较器LM393构成,其反相输入端是电机电流流过取样电阻得到的取样电压,其值与电机电流成正比,同相输入端接的是由三端稳压器7805输出的稳定的+5V电压经电位器分压后的预定参照电压。取样电压值与一种预定参照值相比较,假如比参照值大,则认为是过流,输出低电平。这个低电平首先驱动一种发光二极管使其发光提醒操作者注意,另首先通过光电耦合器TLP521给单片机一种信号。至单片机参照电压取样电阻至单片机参照电压取样电阻图4.22电流采样电路图由于电机在启动时其电流也较大,为了防止出现误保护,单片机对这个信号进行计时。假如该信号持续时间超过一定值,则可以肯定地认为电机已经处在堵转状态而非启动状态。这时候单片机继续计时,再通过一定期间,电机仍处在堵转状态,则单片机发出信号控制蜂鸣器发出声响以提醒操作者处理;假如操纵者未作理会,再通过一段时间,则单片机控制关断电机,这就是第一级软件保护。为了防止使用中意外出现死机等现象使软件保护失效,我们还设计了硬件保护,其思绪就是用LM393输出的低电平信号去控制一种积分电路,当由于单片机死机或其他原因使电机堵转时间超过一种最终的底限值时,积分电路积分时间抵达,强制关断电机。详细电路如图,当低电平信号输入到由CMOS系列或非门CD4001构成的非门输入端时,其输出端输出高电平,这个高电平通过470K电阻给10uF充电,电容两端电压渐渐上升,当其电压值超过CMOS电路高下电平阈值时,将驱动电机的MOSFET门极电压强制为0,从而将电机关断,到达了硬件保护的作用。实际使用中,需要实测电机堵转电流来调整LM393同相输入端的预定参照值,以到达最佳的保护效果,并且还要调整滤除启动及其他干扰原因导致误报警的时间,以及硬件保护中积分电路的RC值。但在使用中我们发现,由于整个电路抗干扰措施做得很到位,单片机没有发生过死机现象。不过硬件保护出现了问题,当人为强制电机堵转到达硬件保护时间时,硬件开始动作,但并没有像预想的那样电机立即停机,而是出现了振荡。通过仔细的分析,我们发现是硬件保护电路设计上的失误。当积分电容电压刚刚到达翻转电平时,电机停转,电机电流很快降到堵转电流如下,LM393输出高电平,积分电路的积分作用消失,电容开始放电,其两端电压开始下降。从原理上来说,其电压下降到0的时间应当和它从0上升到翻转阈值的时间相差不大,但当它刚刚下降到翻转电平如下时,MOSFET又把电机打开,于是电机又开始通电转动,LM393又输出低电平,于是电容又在刚刚的基础上上升,很快到达阈值,电机又停转,反复这样,便导致了这样的现象。原因找到了,只需对症下药,在积分电阻两端并上一种二极管1N4148,充电时,1N4148是反向偏置,对积分过程没有影响,而当电机停转,电容可以通过1N4148很快的放电,于是下回上升到阈值电压又需要一定长的时间。二极管加上后,硬件保护也相称正常。图4.23带积分器的过流保护电路图4.3.2电源监测及CPU监控电路的设计在单片机系统中,一种好的电源监测及复位电路对系统的正常稳定运行有着相称大的作用。电源监测电路作用是在上电时,在电源电压上升到稳定前使单片机保持在复位状态,以保证上电时能正常地启动系统;运行过程中,当出现电源电压非正常跌落,减少到某一电源值时,也能复位系统,防止单片机运行失误死机。最基本的复位电路要保证:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号,为可靠起见电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。最常用的电路就是由电容充放电原理构成的RC复位电路,如下图所示。图4.24是其输入输出特性。图4.24基本复位电路这种电路的缺陷是明显的,它处理不了电源毛刺(A点)和电源缓慢下降电池电压局限性等问题,并且调整RC常数变化延时会令驱动能力变差。图4.25所示的复位电路增长了二极管,在电源电压瞬间下降时使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。图4.26所示复位电路输入输出特性图的下半部分是其特性,可与上半部分比较。图4.25增长放电回路的RC复位电路图4.26两种RC复位电路的输入输出特性为了深入提高可靠性,可以使用比较电路。但近年来许多企业推出了专用的电源监测芯片,它们具有体积小、功耗低、复位门槛电压可选的长处,能最大程度上地简化外围电路。本次设计中,在接受控制板中,我们就选用了其中的一款芯片IMP809,电路图如下。图4.27接受控制板的复位电路IMP809是专用于数字系统的电源监测芯片,当电源电压低于预定的复位门槛电压时,复位信号就会有效,并且一直保持到电源电压超过门槛电压后来140ms,其时序图如下:图4.28IMP809的时序图IMP809有几种预定的复位门槛电压值,分别标以不一样的后缀,如下表所示:ATMEGA16L的工作电压范围(2.7~5.5V),我们选用了后缀为T的IMP809。CPU监控电路,即看门狗电路,时刻监视着单片机的运行状态,当单片机进入死循环或死机后,复位单片机,使系统重启,从而保证系统的正常运行。它实际上是一种定期器,这个定期器只要上电就开始运行,当外界给它一种跳变的脉冲时,定期器就清零。假如外界超过一定期间没有跳变脉冲输入,则该定期器一直运行到溢出,这时就会输出复位信号。在实际的系统中,单片机的一种引脚接到看门狗电路的输入端,并每隔一段时间变化该引脚的输出电平,使看门狗定期器清零,这叫做运行喂狗指令。当单片机进入死循环或死机而无法再持续执行喂狗指令时,看门狗就复位单片机。ATMEGA16L单片机内部有集成看门狗,只需在程序中启动它,并设定好定期器的溢出周期,就可以起到监控的作用。初始化代码如下://Watchdoginitialisation//prescale:2048Kcyclesvoidwatchdog_init(void){WDR();//thispreventsatimoutonenablingWDTCR=0x0F;//WATCHDOGENABLED-dontforgettoissueWDRs}接受控制板的程序是一种大的循环,在循环体内加入喂狗指令WDR();,就能保证看门狗的正常运行。诸多企业推出的电源监控芯片同步也集成了看门狗电路。因此,对于内部没有集成看门狗电路的的AT89S52单片机,就有必要选用一款同步能起到电源监控和CPU监控作用的芯片,我们选用的是IMP813。IMP813内部集成的电源监控电路,可以保证系统在上电、掉电及电源波动状况下都能可靠复位。当电源电压在4.65V如下时,复位信号有效,并一直保持到电源电压超4.65V以上200ms后来。它尚有一种1.6S周期的WatchDog,和一种带按键消抖功能的手工复位引脚。其内部方框图和管脚排列如图16、17所示,该芯片工作时序图如图4.31、4.32所示,实际电路图如图4.33所示。DIP/SO封装MicroSO封装DIP/SO封装MicroSO封装图4.29IMP813内部方框图图4.30IMP813管脚图表4.4IMP813的管脚描述管脚号名称功能DIP/SOMicroSO13手工复位输入,当它被置为低时,将触发一种复位脉冲,它可以提供250uA的上拉电流,因此可以由TTL/CMOS逻辑来驱动,也可以通过一种按钮短路到地。24Vcc+5V电源端35GND地46PFI电源失效监测输入,当该引脚电压低于1.25V时,将变低。假如不用此功能,可将该引脚接地或接Vcc。57电源失效输出,当PFI引脚电压低于1.25V时,该引脚变低,并吸取电流。68WDI看门狗输入。该引脚控制着内部的看门狗定期器。WDI上持续1.6S以上的高或低电平将会使定期器溢出,并将置低。假如看门狗功能不用,可以将该引脚悬空,或接到一种处在高阻态的三态缓冲器上。内部的定期器在如下状况下清零:1、复位信号有效;2、WDI处在三态;3、WDI引脚上有高下电平的跳变。71RESET高电平有效的复位信号输出。当Vcc低于复位门槛电压时,该引脚变高。Vcc超过门槛电压或者引脚由低变高的200ms之内,RESET仍保持在高电平。看门狗定期器的溢出不会触发RESET信号,除非把接到引脚上。82看门狗输出。当看门狗定期器溢出时会变低,并且保持在低电平直到定期器被清零。此外,当Vcc低于复位门槛电压时,也会保持在低电平,但与RESET不一样的是,没有最小脉宽,一旦Vcc超过门槛电压,将立即变成高电平。图4.31WDI三态操作时序图图4.32看门狗时序图图4.33实际电路图4.4程序的编写4.4.1方案一的手柄程序设计手柄单片机要读取按键的信息和AD转换的成果。考虑到也许会有几种按键同步按下的状况,并且按键的数量并不是诸多,我们采用的是将按键直接接在单片机IO口上的方式。按键输入是0电平有效,采用查询方式,当单片机查询到某个IO口电平为低时,延时几种毫秒后再次查询,假如两次成果同样,则认为有键按下,以此来消除外界的随机干扰和按键按下时的电平抖动问题,提高系统的稳定性。两路AD转换成果共两个字节,12个按键信息也需要两个字节来表达。为了让接受板辨别这四个按键信息,需要对它们进行对应的处理。我们使用9位的UART进行数据传播,前8位是有用信息,第9位用来辨别是AD转换值和按键,0为AD转换值,1为按键信息。对于左右两路AD转换值,我们将左路最低位置0,右路最低位置1,以此来辨别左右两路AD信号。对于两个字节的按键信息,我们也将最低位作为辨别标志。整体程序流程图如图所示:图4.34手柄程序流程图4.4.2方案二的手柄程序设计手柄部分的重要任务就是将控制信息精确传送给控制驱动单片机。串口一次最多只可以发送9位数据,我选用一次传送9位的方式,其中第9位数据用来辨别按键和摇杆信息。按键总数为16,因此为了便于辨别按键信息,我将按键数据分3次发送,对应变量和按键功能如表所示。变量a,b,c的高两位设为固定值用于辨别变量的值。表4.5设定变量对应位的信息aa7a6a5a4a3a2a1a0信息00s6s5s4s3s2s1bb7b6b5b4b3b2b1b0信息01s12s11s10s9s8s7cc7c6c5c4c3c2c1c0信息1000s16s15s14s13表4.6按键功能描述表按键按键功能描述S1后组摩擦轮后退/停止控制S2弹射礼品摩擦轮最大速/停止控制S3配合左摇杆实现弹射礼品摩擦轮无级调速(调速范围50~100%)S4卷取礼品电机正转S5排干扰拨杆正转S6排干扰拨杆反转S7前组摩擦抡后退/停止控制S8弹射礼品拨杆前推控制S9弹射礼品拨杆后推控制S10卷取礼品电机反转S11未定义S12电阻丝熔化按键S13提高板下降/停止控制S14后组摩擦轮前进/停止控制S15前组摩擦抡前进/停止控制S16提高板上升/停止控制 按键扫描部分采用延时3ms措施消除按键抖动,比较前后两次读得的端口值,若相等则对其进行数据处理,若不等则将其丢弃后进入下一轮扫描,通过实际测量,完毕两次A/D转换的时间也恰好是3ms,故将用于消抖的延时程序用A/D处理子函数替代,这样在消除误操作的同步,大大加紧了CPU的运行速度,有便于将数据及时地通过串口传送给控制单片机。图4.35手柄部分主程序流程图 由于电位器阻值的非线性,导致摇杆位置与A/D转换成果之间是非线性的,为了适应操作人员的操作习惯,在程序中将A/D转换后的成果进行了线性化处理。在实践过程中采用了如下措施,根据电位器阻值与摇杆位置之间的函数(曲线如图4.36所示),将曲线划提成若干段,用折线法近视迫近下述非线性曲线,此折线法的精确度由所取折线段的数目来决定,在实践中发现采用如下图所示将曲线分5段已经可以满足规定,故我在程序中将曲线分为5段。图4.36摇杆电位器线性化分段图假如一条直线的两个顶点为已知,那么可以通过下式来确定这条直线(4.4)式中(x1n,y1n)、(x2n,y2n)分别代表Ln段的端点坐标。将乘以对应的比例系数KL,得到数据y(其值在0~255之间变化),将y通过串口传送给控制驱动单片机,作为PWM波形的控制信息。由于摇杆电位器的位置的偏移,导致其极值和零点的漂移,因而其参数需要根据实际状况进行调整,我采用通过在线修改E2PROM中的数据的措施,先根据经验设定左右摇杆的上下限和死区范围等参数,在实际操作的过程中假如发现参数漂移现象,则同步按下S16和S13一段时间后将进入在现修改模式,该部分程序重要调用如下所示的E2PROM读写程序。ATmega8中有512个字节的E2PROM数据存储器,构成一种独立的存储空间,每一种字节都能被读取或写入;若不需要修改参数则程序按上述流程图4.36运行。/********************************************************************功能:向EEPROM写入数据 *参数: *uiAddress,写入EEPROM的地址 *ucData,写入EEPROM的数据 *返回值:无 *********************************************************************/voidEEPROM_write(unsignedintuiAddress,unsignedcharucData)

{

while(EECR&(1<<EEWE));//等待前一次读写操作完毕EEAR=uiAddress; //写入EEPROM的地址

EEDR=ucData; //写入EEPROM的数据

EECR|=(1<<EEMWE); //主机对EEPROM写入容许

EECR|=(1<<EEWE); //启动EEPROM写入

}

/********************************************************************功能:读取EEPROM的数据 *参数: *uiAddress,读取数据的EEPROM地址 *返回值:对应地址的数据*********************************************************************/

unsignedcharEEPROM_read(unsignedintuiAddress)

{

while(EECR&(1<<EEWE));//等待前一次读写操作完毕

EEAR=uiAddress; //读EEPROM的地址

EECR|=(1<<EERE); //启动EEPROM读取

returnEEDR; //返回数据

}4.4.3接受控制板的程序设计图4.37接受控制板的程序流程图 最初的方案中,对速度曲线的优化处理是通过折线法计算得出的,这需要占用单片机的计算时间,并且由于用整数运算替代浮点运算,有一定的误差,在某些跳变点处会出现难以预料的成果,对系统的稳定性导致很大的影响。在第二套方案中,我们改为用查表法来替代计算法,在加紧处理速度的同步,也能保证输出的成果都是确定的、可预料的。除此之外,我们把这个过程移到手柄中来处理,在ATMEGA8L完毕AD转换后,立即根据成果在优化表中查出对应值。并且,接受控制板的程序中加入了对堵转报警信息的处理。4.5几点经验与教训4.5.1整个系统方案的选择。从总体上来讲,选择整个系统方案,包括单片机的选择、驱动电路的选择等,我的观点是在保持功能和可靠性的前提下,能用简朴的就不要用复杂的,能用集成的就不要用分立的。第一套方案的手柄电路,使用的是AT89S52+TLC0831,并且用了一片监控芯片IMP813,后者只使用了一块ATMEGA8L,虽然从理论上来说,在本系统中前者的性能不会比后者差甚至更好,但在实际使用中,由于手柄常常受碰撞甚至被摔,久而久之,电路板上的元件时常出现松动的现象,这极大地影响了系统的可靠性。后者虽然只用了简朴的RC上电复位电路,实际使用时也没有出现因电源故障引起的单片机死机问题。4.5.2PWM驱动电路光耦的选择对行走电机进行PWM调速时,我们开始用光耦是TLP521。TLP521是很常用的光耦,其传播特性如下图。图4.38TLP521的传播特性图根据其传播特性分析,对于频率低于1/(Ton+Toff)=166KHz的信号,它都应当可以很好的传播,不过在使用过程中,我们发现当频率在3KHz左右时,传播过来的信号已经发生严重的畸变,其变化的斜率变低了诸多,几乎成为了一条直线。这是由于TLP521的速度性能不够好,以及外围电路中存在寄生电容的缘故。这会致使MOSFET处在线性区的时间加长,导致发热现象并影响调速性能。不过当时已经做出PCB板了,我只能采用补救措施。通过考虑,我在原电路上加上了如下图所示的Rx和Ry,以减小MOSFET栅板与源板间寄生电容的影响。通过测试,其传播特性有了明显的改善,不过也只能将PWM波的频率限制在1000Hz如下。图4.39改善的MOSFET推进级电路这个电路只能说是勉强能用。在使用中发现,行走电机的调速性能很不好,不管怎么调整速度优化曲线,机器人的行进仍然难以控制得尽如人意,并且在后来的使用中发现,当电机堵转,电池电压会跌落诸多。由以上电路图可知,MOSFET栅板驱动电压实际上是由R2与Rx对12V的电池电压进行分压得到的。以图中所示的参数,在12V正常电压下,栅板驱动电压为8V,这可以保证MOSFET处在饱和区,不过当电池电压跌落后,例如跌到8V,这样栅板电压就仅为5.3V左右,已经靠近于其线性区的边缘,这对系统的稳定性导致很大的影响。 因此,对PWM调速电路中的光耦,必须用高速的6N137,电路图如下:图4.40采用高速光耦的MOSFET推进级电路4.5.3MOSFET的选择我们用的MOSFET是IR企业生产的IRF540,这种MOSFET按其DATASHEET上给的参数,额定电流是28A。但我们实际买到的IRF540外观参差不齐,可以说多为旧货甚至也许是假货。我曾经花高价订购了一批号称是“美国原装”的IRF540,并用在最终的电路上,但使用中发现这种MOSFET剧烈地发热。这个问题曾经困扰了我们很久,在排除了诸多原因后,我们认为是这种MOSFET自身的原因,也就是说,所谓的“美国原装”货的质量并没有想象中的那么好,而一般的IRF540其质量也不令人放心。4.5.4继电器的选择为了保证可靠性,我们在行走电机上使用的是欧姆龙企业的LY2NJ继电器,它的触点容量为10A,线圈电压为12V。使用中,其触点容量方面并没有出现太大问题,不过其线圈的驱动出了问题。在控制机器人行走时,有时出现本来要控制它前进,它却猛的后退的现象,并且是一边行走电机控制正常,另一边常常出现这种失误。仔细分析、测试后,发现左右两只行走电机的继电器线圈吸合电压不一致。一只只需要7.3V左右即可吸合,而此外一只需要9V以上。这样假如在使用中电池电压跌落得太厉害,低于7V后,其中一只继电器主线就吸合不了,其应有的换向功能失效,这就是出现换向失误的原因。这两只继电器虽然是同一型号,从外形上看一模同样,不过它们是分两次买回来的,因此有这样的差异。最终我冒着烧毁继电器的危险,将出现问题的继电器线圈驱动电压提高到了24V,才终于处理了这个问题。光耦、MOSFET及继电器是驱动电路的关键。而目前市场上真货假货并存、新货与旧货并存,并且在同一家企业购置的同一种企业生产的同一型号的不一样批次的继电器居然就有这样大的差异。因此我提议在下一届比赛中,对这些关键元件,应当由专门的同学负责购置、测试、保管。4.5.5PCB板的某些设计经验人工机器人的控制板是功率比较大的数字控制系统,在设计PCB板时重要考虑的是导线的粗细、排列及其拓扑构造等原因。用PROTEL设计时,可以自动布线,也可以手工布线,但我认为应将两者结合起来,对于关键性的导线,应当由手工来布,其他的可以自动完毕。这些关键性的导线,重要有电流比较大的驱动回路、轻易受干扰的单片机时钟部分,以及对噪声敏感的AD转换部分。(1)驱动回路。驱动回路中流有所有电机的工作电流,假如处理不好,将成为系统很大的不稳定原因。对于这些回路,一定要很好地控制其构造。假如用PROTEL自动布线,其默认的布线的拓扑构造是shortest,即保证导线最短,这样布出来的构造就会如下图所示:图4.40自动布线的版图构造这种构造的缺陷很明显:导线CD段流有驱动电路D的电流,BC段流有驱动电路C和D的电流,AB流有驱动电路B、C、D的电流,而OA段流有四个驱动电路的总电流。假如OA段导线线宽不够导致其电流承受能力不大,假如四个驱动电路中有某个或某几种过载,OA段承受不住而烧断,那么整个系统将瘫痪。 因此最佳的构造应当如下图所示:图4.41理想的版图构造该构造中任何一段导线都只承受它所在驱动电路的电流,即不受其他电路的影响,也不会影响其他电路,虽然某个驱动电路过载,整个系统也不会受到太大的影响。这种构造叫STAR型构造,在PROTEL中可以选择设定,不过假如用这种构造来布线,一般来说,很难完全布通,并且虽然用手工布线,也很难完全布成STAR的构造。实际上,我是首先用手工布线的措施先布成Shortest的构造,并且控制好导线的宽度,应保证OA段最宽,达80mil甚至100mil以上,其他段的线可以依次略微变细;对各个驱动电路自己的电流通道,其导线也应保证在40mil以上。这样做出PCB板、焊好元件后,再拿粗的导线以飞线的形式将某些工作电流比较大的,如行走电机驱动电路、桥板提高电机的驱动电路接成STAR构造。(2)时钟电路。单片机的时钟电路是系统中比较关键的一种部分,它既轻易受干扰,并且受干扰后对系统的影响很大,又轻易成为整个系统的干扰,干扰其他电路甚至单片机自己,因此对它的布线也应当尤其关注。从元件的排列上,晶振要与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳最佳接地。如右图所示,用把地线把单片机晶振引脚以及晶振、负载电容一起包围起来以到达隔离的目的。地晶振负载电容地晶振负载电容图4.42时钟电路的设计 (3)线宽的选择。 对于主电源线、驱动回路导线,其线宽当然起宽起好,一般说来,对于主电源线,应尽量到达100mil以上,驱动回路导线最佳在50mil以上。至于其他的信号线,没有过多的规定,一般20-30mil均可,最细可以达10mil,相邻导线线距也应超过10mil,否则难以加工,并且轻易短路。

5其他有关技术5.1伺服器(舵机)5.1.1伺服器方案的提出由于在第三届的比赛中,牛郎区中规则排列了大小礼品,因此干扰机器人要想走出牛郎区且不碰到己方的礼品,必须要走曲线。一般思绪都是通过调整差速轮电机的不一样转速而走曲线。但在实际调整的过程中,由于两个电机的内在参数的不一样以及机械安装上的误差,导致机器人很难走出预想途径,更何况规定机器人要以高速运动。因此把控制速度与方向分开来调整不失为一种很好的控制方略。因此伺服器方案提出:用同轴驱动轮驱动,而把伺服器安装在导向轮上控制方向的调整。 (1) 选用伺服器的初衷开始为了能单独控制方向,有好几种方案可以选用:伺服器,步进电机等等。但开始为了能迅速的事出效果,就选择了伺服器:体积小,重量小,控制以便。 (2) 实际调整中的问题既处理方案 1) 伺服器是靠接受不一样的占空比脉冲,从而转化成对应的平均电压,以此来驱动其内部的小马达带动齿轮而转动。此时问题就提出来了:抗干扰性差。 为了处理这个问题,我把从单片机发出来的不一样占空比通过光耦进行光电隔离,以滤去单片机自身对其的干扰,到达了预期效果。 2) 伺服器对驱动电流规定尤其大,致使在行行走电机堵转的时候,因堵转电流过大,以致伺服器供电局限性,成果发生抖动。 因此需要对伺服器进行单独供电。但此时新的问题又出来了:伺服器的工作电压在4.8~6V。 为了能单独对其供电且电压可调,我便做了一种基于芯片317的稳压模块。图5.1基于317的稳压模块 3) 用同一片单片机同步控制电机的速度和伺服器的角度,会使之间互相干扰。 为此我决定采用两片单片机分别控制电机与伺服器,此时多机通讯提了出来。 4) 开环调速易受电压不稳的影响。 为此我有微电机驱动作了一块基于芯片MAX724的稳压模块,但实际应用中引起通过的额定电流小而被否决。 行走电机采用数字PI控制器,通过光码盘读取从电机的实际转速所反馈回来的脉冲数,获得电机的实际转速PI算法调整电机,以使其能精确走到预期地方。 因此最终方案为:电机转到预期地方后给从机发信号变化伺服器角度,是速度控制和方向调整统一化,到达了预期效果。5.1.2伺服器的控制原理伺服器是由驱动电路控制的马达,它未来自控制器的脉冲信号,通过驱动电路驱动马达的旋转,从而转换成机械动作,马达根据脉冲信号决定转动的方向和动作量来驱动齿轮组,最终获得规定的动作。因此伺服器是由马达,驱动电路和齿轮组3大部分构成。伺服器分为模拟伺服器和数字伺服器两种。数字伺服器由于是通过在末级驱动上叠加数字脉冲来驱动马达,从而增长输出扭力,改善了伺服器的某些性能,不过这性能的提高是以高频电磁振荡的扩散为代价的;老式的模拟伺服器要到达相似的特性必须要改用更高性能的马达和驱动元件,这将导致成本的上升,因此数字伺服器有了它存在的理由和空间。图5.2伺服器的外观图伺服器是内部由一块微处理器,小马达和几套互相啮合的齿轮构成。接口共三根线:电源线,地线和信号线。它的工作电压为4。8~6V,其从某一角度转到另一角度的时间和其扭矩随电压的增大而增大。输入其信号线的脉冲的周期固定为20mS,其转动的角度随脉冲的高电平从1mS到2mS而递变。有资料说其可变角度为120,而在实际操作中却发现其可变角度能到达180左右。下图为其内部的控制器:

图5.3模拟伺服器的控制器外观图图5.4数字伺服器的控制器外观图 数字伺服器最大的差异是在于它处理接受机的输入信号的方式。然后控制伺服器马达初始电流的方式,减少无反应区(对小量信号无反应的控制区域),增长辨别率以及产生更大的固定力量。

老式的伺服器在空载的时候,没有动力被传到伺服器马达。当有信号输入使伺服器移动,或者伺服器的摇臂受到外力的时候,伺服器会做出反应,向伺服器马达传动动力(电压)。这种动力实际上每秒五十周期的,被调制成开/关脉冲的最大电压,并产生小段小段的动力。当加大每一种脉冲的宽度的时候,如电子变速器的效能就会出现,直到最大的动力/电压被传送到马达,马达转动使伺服器摇臂指到一种新的位置。

然后,当伺服器电位器告诉电子部分它已经抵达指定的位置,那么动力脉冲就会减小脉冲宽度,并使马达减速。直到没有任何动力输入,马达完全停止。

如下的三个图表显示了两个周期的开/关脉冲。Diag1是空载的状况;Diag2是脉冲宽度较窄,比较小的动力信号被输入马达;Diag3是更宽,持续时间更长的脉冲,更多的输入动力。图5.5数字伺服器和模拟伺服器对马达的鼓励信号图 可以想象,一种短促的动力脉冲,紧接着很长的停止,并不能给马达施加多少鼓励,使其转动。这意味着假如有一种比较小的控制动作,伺服器就会发送很小的初始脉冲到马达,这是非常低效率的。这也是为何模拟伺服器有“无反应区”的存在。例如说,伺服器对于发射机的细小动作,反应非常迟钝,或者主线就没有反应。 数字伺服器的长处:

(1) 由于微处理器的关系,数字伺服器可以在将动力脉冲发送到伺服器马达之前,对输入的信号,根据设定的参数进行处理。这意味着动力脉冲的宽度,就是说鼓励马达的动力,可以根据微处理器的程序运算而调整,以适应不一样的功能规定,并优化伺服器的性能。

(2) 数字伺服器以高得多的频率向马达发送动力脉冲。就是说,相对与老式的50脉冲/秒,目前是300脉冲/秒。虽然,认为频率高的关系,每个动力脉冲的宽度被减小了,但马达在同一时间里收到更多的鼓励信号,并转动得更快。这也意味着不仅仅伺服器马达以更高的频率响应发射机的信号,并且“无反应区”变小;反应变得更快;加速和减速时也更迅速、更柔和;数字伺服器提供更高的精度和更好的固定力量。图5.6数字伺服器和模拟伺服器马达的转距曲线对比图由于数字伺服器比模拟伺服器的反应区小,有愈加敏捷的反应对输入脉冲的微小变化都能做出反应。但就是由于这一点导致数字伺服器的抗干扰性特差,当输入脉冲中夹杂着干扰时期轻易发生抖动,导致机器人所走路线受到干扰,无法走出预期路线。数字伺服器的缺陷:(1) 数字伺服器需要消耗更多的动力。其实这是很自然的。更多的动力以更高的频率更早的输送到马达去,这一定会增长总体的动力消耗。(2) 易受外界干扰且对控制器信号规定稍高在制作过程中,开始选择的是低级模拟伺服器,但因其扭矩小且精度小,所后来来采用了S9151数字伺服器,但后来因其易受外界和单片机干扰,又重新选择了大功率的模拟伺服器S9206。因此最终我选择了大功率

温馨提示

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

最新文档

评论

0/150

提交评论