收藏 分销(赏)

除锈爬壁机器人控制系统的方案设计书.doc

上传人:精**** 文档编号:2580583 上传时间:2024-06-01 格式:DOC 页数:17 大小:531.50KB
下载 相关 举报
除锈爬壁机器人控制系统的方案设计书.doc_第1页
第1页 / 共17页
除锈爬壁机器人控制系统的方案设计书.doc_第2页
第2页 / 共17页
除锈爬壁机器人控制系统的方案设计书.doc_第3页
第3页 / 共17页
除锈爬壁机器人控制系统的方案设计书.doc_第4页
第4页 / 共17页
除锈爬壁机器人控制系统的方案设计书.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、除锈爬壁机器人控制系统的设计1 前言控制系统是船舶壁面除锈爬壁机器人的重要组成部分,其负责完成对除锈爬壁机器人的行走和转向功能的控制,使机器人能够按照预定的轨迹去工作,因此对除锈爬壁机器人控制系统提出如下基本要求:矚慫润厲钐瘗睞枥庑赖。(1)控制系统方便、可靠性高、操作灵活,便于操作人员使用;(2)通过功能按键可以设定机器人的多极移动速度,并可实时调整运动方向和运动速度,实现机器人在船体表面上的全方位移动;聞創沟燴鐺險爱氇谴净。(3)由于船舶除锈现场环境恶劣,除锈爬壁机器人的工作环境制约了其控制方式,本系统采用简单实用、可靠性高的有线遥控,其控制距离需大于30米。(4)控制系统能实现除锈爬壁机

2、器人的简单作业,保证机器人在爬行过程中的除锈质量。2 除锈爬壁机器人控制系统的总体方案除锈爬壁机器人在船体表面上的行走和转向是通过左右两个交流伺服电机的驱动来实现的。当左右两个伺服电机的转速与转向相同时,爬壁除锈机器人在船体表面上实现直线行走。电机正转时,机器人前进;电机反转时,机器人后退。当左右两个伺服电机的转向相反时,除锈爬壁机器人在船体表面上实现转向。残骛楼諍锩瀨濟溆塹籟。综合考虑各种控制形式的优缺点,结合船舶除锈的实际情况,爬壁机器人的控制系统采用上下位机二级分布式控制方式,以保证即使在无操作人员参与的情况下,下位机酽锕极額閉镇桧猪訣锥。也可以按照上位机通过串口预先给定的指令和参数实现

3、自主作业,从而使船舶壁面除锈爬壁机器人具有高效除锈、自动化水平高和减少操作人员操作强度的性能;操作人员也以通过观测船体表面的实际锈蚀状况,根据除锈爬壁机器人的实际作业情况,随时切换到人工操作状态,以提高机器人的实时性、实用性和高效性。彈贸摄尔霁毙攬砖卤庑。在本控制系统中,上位机和下位机都是基于单片机而设计的。上位机是以AT89C51单片机系统为核心的控制系统,主要由AT89C51单片机、矩阵键盘以及标准的RS一485接口构成,其作用是通过各功能按键向下位机发送指令,以实现对爬壁机器人伺服电机的远程控制。下位机控制器安装于机器人本体的背面,控制器内部装有两个伺服电机驱謀荞抟箧飆鐸怼类蒋薔。动器、

4、直流电源模块、和控制电路板。下位机控制电路板也是以AT89C51单片机系统为核心,主要由AT89C51单片机、8155扩展1/0接口电路、D尽、转换与运算放大电路、数字量输入输出接口电路、电源转换电路以及与上位机进行通讯的RS一485标准接口构成,其作用是根据上位机传送的初始化参数和动作指令进行动作,控制左右两个伺服驱动器,驱动左右两个交流伺服电机运动,从而控制除锈爬壁机器人的行走和转向。图1为除锈爬壁机器人控制系统总体框图。图1除锈爬墙机器人控制系统总体结构框图3 除锈爬壁机器人控制系统的硬件设计3.1 下位机控制系统的硬件设计下位机控制系统是爬壁机器人控制系统的核心部分,其主要功能是实现对

5、左右伺服电机的运动控制以及与上位单片机控制系统之间进行通讯,以完成对机器人作业的控制。整个下位机控制硬件主要由两个伺服电机驱动器和下位单片机控制电路板构成。下位单片机控制电路板主要输出模拟量电压信号来控制左右两个伺服驱动器,进而控制左右两个伺服电机的运转,从而达到控制除锈爬壁机器人行走与转向的目的,同时它又担负着和上位机控制器之间的通讯任务,将上位机传送过来的控制指令处理后,再将相应的电压信号传递给伺服驱动器,从而实现遥控操作的功能。整个下位机电路板由AT89C51单片机、8155FO口扩展电路、D/A转换与运算放大单元、数字量输入输出接口电路、电源转换电路以及与上位机进行通讯的RS一485标

6、准接口电路构成。厦礴恳蹒骈時盡继價骚。3.1.1 交流伺服电机驱动器根据前面对伺服电机的选型可知,本课题选用的是调速范围宽、响应快、抗干扰性强的安川SGAMH一04AAA21型交流伺服电机,与之相匹配的伺服驱动器型号为SGDM一04AD。该伺服驱动器有三种控制模式:速度控制模式、转矩控制模式和位置控制模式。本系统采用速度控制模式,可通过伺服驱动器的用户参数Pn300将速度指令电压设定为士10V,其电机转速与指令电压成线性关系,速度指令电压与电机转速对应关系如表1所示1。茕桢广鳓鯡选块网羈泪。表1速度指令压电与电极转速对应关系正常工作时,伺服驱动器接受来自单片机控制系统的伺服准备信号,使伺服电机

7、通电,处于运行状态,然后根据加在VR卫F端口上的由单片机控制系统D/A转换电路产生的模拟指令电压信号来控制电机的转速,并且通过模拟指令电压的正负来确定电机的鹅娅尽損鹌惨歷茏鴛賴。正反转,从而确定爬壁机器人在船体表面上的行走速度和运动方向,同时单片机控制系统通过电平转换电路检测伺服驱动器的伺服状态输出信号,并根据接收到的信号对伺服驱动器进行相应的控制。此外通过伺服电机的编码器反馈,可以获得伺服电机实际工作时转子的位置和电机的转速。如图2所示为爬壁机器人单侧交流伺服驱动系统控制接线示意图。图2交流伺服驱动系统控制接线示意图3.1.2 AT89C51单片机及系统时钟与复位电路AT89C51是美国AT

8、MEL公司生产的低电压、高性能COMOSS位单片机,片内含4KB的可反复擦写的程序存储器和128个字节的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术制造。兼容标准MCS一51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元。芯片上的FP三ROM允许在线编程或采用通用的非易失存储编程器对程序存储器重复编程。AT89C51将具有多种功能的8位cPu和FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又价格适宜方案,具有较高的性能价格比2。AT89csl单片机的主要性能如下:籟丛妈羥为贍偾蛏练淨。1. 与MCS一51产品指令系统完全

9、兼容。2. 片内有4KB可在线重复编程的Flash闪速擦写存储3. 存储器可循环写入/擦除1000。4. 存储数据保存时间为10年。5. 宽工作电压范围:VCC可为2.7V一6V。6. 时钟频率范围:OHz一24MHz。7. 程序存储器具有3级加密保护。8. 128x8B内部RAM。9. 32个可编程1/0接口线。10. 2个16位定时/计数器。11. 中断结构具有5个中断源和2个优先级。12. 可编程全双工串行UART通道。13. 空闲状态维持低功耗和掉电状态保存存储内容。图3时钟电路 图4复位电路AT89C51的复位输入引脚RST为其提供了初始化手段,通过该引脚可以使程序从指定处开始执行,

10、即从程序存储器中的O000H地址单元开始执行程序。当AT89C51的时钟电路工作后,只要在RST引脚上出现1Oms以上的高电平时,单片机内部则开始复位。只要RST保持高电平,则AT89C51循环复位。只有当RST由高电平变低电平以后,AT89C51才一从0000H地址开始执行程序。因此,AT89C51单片机在控制系统中正常工 作必须要有合适的时钟电路和复位电路。图3和图4分别为AT89C51的时钟电路和复位电路。預頌圣鉉儐歲龈讶骅籴。时钟电路由一个12M的晶振和两个30pF的小电容组成,它们决定了单片机的工作时间精度为1微秒。复位电路由22协F的电容、IK的电阻、按键以及IN4148二极管组渗

11、釤呛俨匀谔鱉调硯錦。成,可实现上电复位和按键复位。通常的复位采用10协F电容和IOK电阻组成复位电路,在本系统中我们根据实际经验选用22协F的电容和IK的电阻,其好处是在满足单片机铙誅卧泻噦圣骋贶頂廡。可靠复位的前提下降低了复位引脚的对地阻抗,可以显著增强单片机复位电路的抗干扰能力。其中IN4148二极管的作用是起到快速泄放电容电量的功能,实现短时间内多次复位。3.1.3 38155扩展1/0接口电路在爬壁机器人下位机控制系统中,两个伺服驱动器正常工作所需单片机的输入输出信号较多,需占用AT89C51单片机大量的输入输出口线,而Al,89C51单片机本身提供的输入输出口线并不多,只有Pl准双向

12、口的8位FO口线和P3口的某些位线可作为输入输出线使用,输入输出线不足16条,因此,为满足系统需求,AT89C51单片机需要外扩输入输出(FO)接口芯片。AT89C51单片机的外部I/O口是和外部数据存储器RAM统一编址的,用户可以把外部64K字节的数据存储器RAM空间的一部分作为扩展FO接口的地址空间,每一个接口芯片中的一个功能寄存器口地址就相当于一个RAM存储单元,CPU可以像访问外部数据存储器RAM那样访问外部接口芯片,对其功能寄存器进行读、写操作。在本系统中,我们采用Iniel的815SH芯片扩展FO口,该芯片内包含有256个字节的静态RAM存储器、两个可编程的8位并行口PA和PB、一

13、个可编程的6位并行口PC以及一个14位减法定时器/计数器。可以为单片机提供22个输入输出口线和一个256字节的RAM。由于8155H内部集成了地址锁存器和地址译码器,其可以直接和AT89C51单片机接口,不需要增加任何硬件逻辑。因而其灵活方便,可作为单片机与多种外围设备相连时的接口芯片。8155H共有40个引脚,采用双列直插式封装。在本控制系统中,通过AT89C51单片机的1/0口扩展81弘H芯片,其接口电路原理图如图5.5所示。图中8155H的片选信号瓦由AT89C51的P2.7口提供,即只有当擁締凤袜备訊顎轮烂蔷。P2.7为低电平时才选中8155H芯片工作。8155H的RAM存储器和1/0

14、口选择信号10/丽由PZ.O提供,当10/丽=0时,ADO一AD7的地址为8155HRAM单元的地址,选择8155H的RAM工作;当10/丽=1时,ADO一AD7的地址为8155HJ/O口的地址,选择8155H的FO口工作。在本系统中使用8155H芯片的目的是扩展1/0口,因此系统工作时应使AT89C51单片机的P2.0口为高电平,选择8155H芯片的FO口工作。8155H的读选通信号而和写选通信号丽都为低电平有效,其分别由AT89C51单片机的而和丽口提供。当瓦=0,10/丽=1,而端为低电平时,8155H将FO口内容传送到ADO一AD7供单片机读入;当瓦=0,IO/丽=1,丽端为低电平时,

15、8155H将单片机输出到ADOAD7的数据写入到8155H的UO口。8155H地址锁存允许端ALE与AT89C51单片机的ALE端相连,其为高电平有效,当ALE=1时,8155H允许ADO一AD7上地址锁存到“地址贓熱俣阃歲匱阊邺镓騷。锁存器”;否则,地址锁存器处于封锁状态。8155H的复位端与AT89C51单片机的复位端相连,都接到AT89C51的复位电路上,两者共用一个复位电路。图5 AT89C引单片机与8155H的接口电路原理在爬壁机器人的下位单片机控制系统中,伺服驱动器的伺服准备输入信号和伺服状态输出信号主要是AT89C51单片机通过8155H芯片的PA、PB和PC口输出和读入的。而A

16、T89C51单片机对8155H芯片的PA、PB和PC口的操作是通过地址来实现的。8155H的1/0口编址见表5.2所示3。表2 8155H的IO口编址根据图5中AT89C51单片机与8155H芯片的连接方式以.及表2中所列8155H的FO口编址,可知在该系统中,8155H芯片的A口、B口、C口地址分别为7F0lH、7F02H、7FO3H。命令寄存器和状态寄存器共用一个端口地址,在本系统中地址可为7FOOH,但命令寄存器只能写入不能读出,状态寄存器只能读出不能写入。A口、B口和C口的工作方式是通过8155H的8位命令寄存器的低4位来定义的,具体命令控制字的格式如图6所示1621。当系统确定了81

17、55H的A、B、c口工作方式后,可通过单片机编程将相应的命令控制字写入到8155H的命令寄存器,从而使各1/0在预定的方式下工作。在本控制系统中,A口定义为基本输入方式,B口定义为基本输出方式,C定义为输出方式,允许A口中断,定时计数器无操作,则相应的命令控制字为16H。坛摶乡囂忏蒌鍥铃氈淚。图6 8155命令控制字格式3.1.4 D/A转换与运算放大电路由于在本控制系统中,爬壁除锈机器人的伺服电机驱动系统采用的是模拟电压控制,伺服电机的转速与电压成正比关系。而单片机只能输出数字量,因此要获得模拟量电压必须对单片机输出的数字量进行D/A转换,进而通过模拟量电压来控制伺服电机的转速和转向。本控制

18、系统中要对两个伺服电机实现转速和转向的同步控制,因此需要两路同步工作的D/A转换与运算放大电路。由于两个伺服电机完全相同,所以进行D/A转换和运算放大的两路电路也相同。下面就单路D/A转换与运算放人电路作详细介绍。蜡變黲癟報伥铉锚鈰赘。在本控制电路中,单路D/A转换与运算放大电路是由一个DAC0832、两个0P07运算放大器以及一些反馈电阻和滤波电容构成,其电路原理图如图7所示。该电路可输出双极性模拟量电压,既可以实现对伺服电机的转速控制,也可以实现对伺服电机的转向控制。買鲷鴯譖昙膚遙闫撷凄。图7 DA转换与运算放大电路DACO832是美国国家半导体公司研制的一种8位DAC芯片,其采用20引脚

19、双列直插式封装,由8位输入寄存器、8位DAC寄存器和8位D/A转换电路所构成。其主要特性有4:綾镝鯛駕櫬鹕踪韦辚糴。8位分辨率;电流输出,稳定时间为1娜;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+SV一+15V);DAC0832是总线兼容型芯片,使用时可直接将芯片的数据输入线和AT89C51单片机的数据总线相连,作为一个扩展的FO口。由于DAC0832的输出是电流信号,而控制伺服电机所需要的是电压信号,因此我们通过运算放大器OP(7将DACO832输出的电流信号转换成模拟量电压信号。采用两级运放电路的目的是为了获得双极性输出电驅踬髏彦浃绥譎饴憂锦。压。图7中,

20、Rl、R2和R3为反馈电阻,变阻器R4为运算放大器的调零电阻,Cl和CZ分别为一级和二级输出电压的滤波电容。下面对DAC0832的双极性电压输出电路作猫虿驢绘燈鮒诛髅貺庑。进一步介绍。图8 DACO832的双极性电压输出电路如图5.8所示为下位机控制电路板中DAC0832的双极性电压输出电路图。图中,式中:根据基尔霍夫电流定律,任一瞬时,G点上电流的代数和恒等于零,则有:由上式可得:由式(5.6)可知,当00H少80H时,VouT模拟输出电压的极性与vREF相反电压;当80HB三FFH时,VouT模拟输出电压的极性与VRE:相同,为正电压;当B二80H时,VouT二O。VouT模拟输出电压的大

21、小与输入数字量B成正比。综上,VouT模拟量输出电压为双极性输出电压。若将VouT与伺服电机驱动器CNI口的V一REF端相连,通过单片机向DAC0832送入数字量,经过D/A转换和运算放大后产生相应的模拟量电压,锹籁饗迳琐筆襖鸥娅薔。从而使伺服电机在相应的转速和转向下运行。图9 两片DAC0832与AT89C51单片机的双缓冲方式接口电路除锈爬壁机器人左右两个伺服电机的运动控制都是通过上述D/A转换和运算放大电路来实现的,且它们的同步运动是由两路经D/A转换和运算放大产生的模拟量电压的同步输出来实现的。当DAC0832工作于双缓冲器方式时可保证这两路模拟量电压同步输出,此时DACO832输入寄

22、存器的锁存信号和DAC寄存器的锁存信号需分开控制。如图9所示为两片DAC0832与AT89C51单片机的双缓冲方式接口电路图,该电路可得到两路同步输出的模拟量电压。由图9可知,l#DAC0832的瓦与AT89C51单片机的PZ.l相连,2#DAC0832的砚和AT89C51单片机的P2.2相连,l#和2#DACO832的万百瓦都与AT89C51单片机的P2.3相连,故1#DACO832的输入寄存器的地址为FDFFH,2#DAC0832的输入寄存器的地址为FBFFH,1#和2#DAC0832的DAC寄存器的地址皆为F7FFH。正常工作时,AT89C51单片机可以分别通过选口地址FDFFH和FBF

23、FH把数字量送入l#和2#DAC0832相应的8位输入寄存器中,然后再通过选口地址F7FFH把输入寄存器中的数据同时送入相应的8位DAC寄存器中,以实现同步D/A转换,经过各自的运算放大电路,便可以得到两路同步输出的模拟量电压。3.1.5 数字量输入输出接口电路伺服驱动器除了需要模拟量电压输入来控制伺服电机运行外,其正常工作还需要有相应的数字量输入作为伺服控制信号,而且伺服驱动器的运行状态信号也是通过数字量输出的,因此,采用AT89C51单片机对伺服驱动器进行控制时,还需要设计相应的数字量输入输出接口电路。由于AT89C51单片机本身提供的1/0口有限,在本系统中采用了8155H芯片扩展了三个

24、FO口,其中B口和C口用来作为数字量输出口,为伺服驱动器提供数字量输入信号,A口和AT89C51单片机Pl口的部分口线作为数字量输入口,用来采集伺服驱动器的运行状态信号。伺服驱动器的输出(附录A的25一32线)是十、一差分信号输出,而8155H是单端数字量输入,因此要通过8155H采集该类信号,就需要在它们之间外加转换电路。图10所示为单路伺服驱动器数字量输出接口转换电路,转换后得到的电平信号IN可直接输入到8155H的PA口。图10 伺服驱动器输出转换电路伺服驱动器的数字量输入由24V电压驱动,而8155H芯片输出的高电平为SV,它们之间不能直接相连,需在它们之间加入光电藕合器TLP521进

25、行信号隔离和电平转换,这样既可以实现8155H输出数字量与伺服驱动器的匹配,又防止了伺服驱动器对控制电路板的干扰。如图11所示为单路伺服驱动器的数字量输入转换电路图,输入到伺服驱动器的数字量信号由AT89C51单片机通过8155H的PB口和PC口输出。图11 伺服驱动器的数字量输入转换电路整个控制电路板的数字量输入输出接口电路如图12所示。图12 数字量输入输出接口电路3.1.6 一485通讯接口电路由于除锈爬壁机器人在工作过程中要求其下位机控制系统与上位机控制系统之间的通讯距离需大于30米,而采用单片机本身的TTL电平直接传输数据时,其传输距离一般不超过1.5m,且抗干扰性差。为增大数据传输

26、的通讯距离和提高数据传输的抗干扰能力,在本系统中我们采用RS一485标准串行通信方式进行数据传输。RS一485是美国电气工业联合会(EIA)制定的利用平衡双绞线作为传输线的多点通讯标准。它采用一对平衡差分信号线进行传输,最大传输距离可达1.2km;Rs一485标准允许最多并联32个驱动器和犯个收发器。接收器最小灵敏度可达士20OmV;最大传输速構氽頑黉碩饨荠龈话骛。率可达IOMbit/s。RS一485协议是针对远距离、高灵敏度、多点通讯制定的标准。由于RS一485采用的是差分信号,与单片机的TTL电平不兼容,因此两者接口时需进行电平转换,在本系统中,我们采用MAX485作为电平转换芯片,该芯片

27、既可作为RS一485的驱动器又可作为接收器。MAX485接口芯片是Maxim公司的一种RS一485芯片,采用单一电源+SV工作,额定电流为300林A,采用半双工通讯方式,它完成将TTL电平转换为RS一485电平的功能,其引脚结构图如图13所示。輒峄陽檉簖疖網儂號泶。图13 MAx485芯片引脚结构图从图13中可以看出,MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和Dl端分别为接收器的输出端和驱动器的输入端,丽和DE端分别为接收和发送的使能端,当丽为逻辑0时,芯片处于接收状态;当DE为逻辑1时,芯片处于发送状态。由于MAX485工作于半双工状态,所以只需用单片机的一个

28、管脚控制丽和DE这两个引脚即可。A端和B端为接收和发送共用的差分信号端。若DE=1,当发送的数据为逻辑1时,A引脚输出高电平,B引脚输出低电平;当发送的数据为逻辑0时,A引肚p输出低电平,B引脚输出高电平;若丽二O,当A一B全0.2V时,接收端R输出高电平;当A一B三一0.2V时,接收端R输出低电平。尧侧閆繭絳闕绚勵蜆贅。MAX485芯片与单片机连接时接线非常简单,其RO端和Dl端分别与单片机的RXD和TXD相连,丽端和DE端与单片机的一个FO口线相连即能实现MAX485芯片的接收与发送。如图14所示为本控制系统中MAX485的通讯接口电路图。为了消除反射和吸收噪音,在MAX485的A端和B端

29、之间连接了一个阻值为1200的电阻。识饒鎂錕缢灩筧嚌俨淒。图14 MAx485的通讯接口电路3.1.7 系统电源解决方案在本控制系统的设计中用到了多种电压信号。除锈爬壁机器人的交流伺服电机、伺服驱动器以及开关电源的供电都为交流220V,开关电源可为下位机控制系统提供+24V、月SV和+SV等几种直流电源。另外DACO832在进行D/A转换时还需要+lOV的参考基准电压,其对电源的精度要求较高,需要选取适宜的电源模块,设计相应的DC/DC转换电路。在+1OV的DC/DC转换电路中,选取Maxim的MX581作为转换芯片,该芯片可为8到14位DA转换器提供高精度的+lOV参考基准电源。MX581具

30、有三个引脚,分别为电源输入端+VS、电压输出端VouT和接地端GND。通常情况下,在其电源输入端+VS输入+12.5v一+3ov范围内的任意电压且接地端GND接地时,在其电压输出端VouT就能得到一个精度较高的+lOV电压,但这需要元器件具有较高的质量等级。而实际上,元器件本身不可避免地会存在着一些偏差。为了确保其输出的+1OV电压具有更高的精度,需要在MX581的外围设计相关电路,其具体转换电路如图15所示。图中的+lSV和一15V电压可与开关电源的+1SV和一15V相连。电阻R的大小影响输出电压VouT的精度,当R=220时,vouT的精度为士30mV;当卜120时,vouT的精度为士10

31、mV;当R=3.9几时,VouT的精度为士5mV。凍鈹鋨劳臘锴痫婦胫籴。图15 +10V参考电压DC/DC转换电路3.2 上位机控制系统的硬件设计图16 上下位机控制系统通讯接口电路连接原理图爬壁机器人上位机控制系统的主要功能是实现对下位机控制系统的远程控制,从而达到控制爬壁机器人在船体表面上行走的速度和方向。上位机控制系统采用AT89C51单片机为控制核心,由时钟电路、复位电路、行列式非编码键盘电路以及RS一485通讯电路构成,其主要完成对键盘的扫描,并将所按下键对应的控制命令通过RS一485通讯电路发送给下位机控制系统,使下位机产生相应的动作控制左右伺服电机运动。恥諤銪灭萦欢煬鞏鹜錦。在本

32、控制系统中,上位机控制系统与下位机控制系统采用的单片机相同,都为AT89C51,其采用的时钟电路和复位电路与下位机控制系统中的相同。上位机控制系统中的RS一485通讯电路与下位机控制系统中的也相同,都是采用MAX485芯片,两控制系统之间进行通信时,只需将各自MAX485芯片的A引脚和B引脚对应相连即可,具体连接电路如图16所示。图中将两控制系统通讯电路的地相连,主要是确保电平一致,避免传输的信号失真。鯊腎鑰诎褳鉀沩懼統庫。键盘是由若干个按键组成的开关矩阵,它是最简单的单片机输入设备,通过键盘输入数据和命令,可实现简单的人机对话。本上位机控制系统中采用的键盘为4只4的行列式非编码键盘,其具体结

33、构如图17所示。在这种键盘中,每根行线和列线的交叉处都接有一个按键,当某个按键被按下时,与这个按键相连的行线和列线就会接通,否则是断开状态。一个MxN的行列式非编码键盘只需M条行线和N条列线,共占用M+N条单片机的FO端口线。本系统中的键盘共占用单片机8条UO端口线,与独立式非编码键盘相比,节省了单片机8条FO端口线。硕癘鄴颃诌攆檸攜驤蔹。 图17 4 X4行列式非编码键盘结构图18 上位机控制系统硬件电路原理图如图 18所示为上位机控制系统硬件电路原理图。图中,4x4行列式非编码键盘的行线通过5.Ik的电阻接十SV,当键盘上没有键闭合时,所有的行线和列线都断开,行线XO一X3呈高电平。当键盘

34、上的某一个键闭合时,该键所对应的行线和列线短路。例如,O号按键闭合时,行线XO和列线YO短路,此时XO的电平由YO的电平决定。本控制阌擻輳嬪諫迁择楨秘騖。中将行线XO一X3对应地接到AT89C51单片机的PI.0一111.3,把列线YO一Y3对应地接到Pl.4一PI.7,则通过单片机的控制,使Pl.4=0,即列线YO为低电平,其余三根氬嚕躑竄贸恳彈瀘颔澩。列线Yl、YZ、Y3都为高电平,然后单片机通过PI.0一PI.3端口读行线的状态,如果XO一X3都为高电平,则YO这一列上没有键闭合。如果读出行线的状态不全为高电平,则低电平的行线和YO相交处的按键处于闭合状态;如果YO这一列上没有键闭合,接

35、着使列线Yl为低电平,其余列线为高电平,用同样的方法检查Yl这一列上有无键闭合,依此类推,这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。CPU对键盘的扫描可以采取程序控制的随机方式,CPU在空闲时扫描键盘,也可以采取定时控制釷鹆資贏車贖孙滅獅赘。方式,每隔一定的时间CPU对键盘扫描一次,CPU可随时响应按键输入请求。还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘输入中断请求,对键盘扫描,以识别哪一个按键处于闭合状态,并对按键输入信息作出相应处理。CPU对键盘上闭合键号的确定,可根据行线和列线的状态求得,也可以根据据行线和列线的状态查表求得。怂阐譜鯪迳導嘯畫長凉。参考文献1 安川电机中文用户手册.安川电机上海有限公司,2003.2 欧阳文.ATMEL89系列单片机的原理与开发实践.北京:中国电力出版社,2007.3张毅刚,彭喜源等.MCS一51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,1997.4胡汉才.单片机原理及其接口技术.北京:清华大学出版社,2004.

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服