基于能力风暴机器人的数字指南针设计_第1页
基于能力风暴机器人的数字指南针设计_第2页
基于能力风暴机器人的数字指南针设计_第3页
基于能力风暴机器人的数字指南针设计_第4页
基于能力风暴机器人的数字指南针设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

基于能力风暴机器人的数字指南针设计THEDESIGNOFDIGITALCOMPASSBASEDONABILITYSTORMROBOT摘要这篇论文讲述了能力风暴机器人数字指南针扩展卡的一种设计方法,包括数字指南针传感器和驱动芯片的选用,硬件电路的设计以及软件设计和调试等。设计中使用PROTEL99SE软件绘制出了电路原理图和印制电路板,并用AVR汇编语言和VJC16软件编制出了简单的调试程序。该数字指南针扩展卡所用芯片少,成本较低,测量精度高,响应速度快,环境适应性好,而且硬件电路也比较简单,使用起来非常方便,比较好地解决了能力风暴机器人在足球、擂台等比赛中方向自动辨别的问题,大大提高了能力风暴机器人的智能性关键词数字指南针驱动扩展卡;PROTEL99SE;汇编语言设计;VJC16;机器人ABSTRACTTHISPAPERDESCRIBESAMETHODOFDESIGNOFDIGITALCOMPASSDRIVECARD,INCLUDINGDIGITALCOMPASSSENSORSANDDRIVECHIPSELECTION,DRIVINGCIRCUITDESIGNTHECIRCUITSCHEMATICANDPRINTEDCIRCUITBOARDAREMAKENOUTUSINGPROTEL99SE,ANDASIMPLEPROGRAMISGIVENINTHISPAPERTHEDIGITALCOMPASSDRIVECARDISCOMPOSEDOFVERYFEWERCHIPS,SOITISLOWCOST,LIGHTWEIGHT,ANDVERYEASYTOUSEINAWORD,ITSOLVESTHEPROBLEMOFDIRECTIONDETECTIONINTHECOMPETITIONSUCHASROBOTSOCCERGAME,ANDTHISDESIGNGREATLYINCREASETHEINTELLIGENTOFTHEABILITYSTORMROBOTKEYWORDSDIGITALCOMPASSDRIVECARDASSEMBLYLANGUAGEPROTEL99SEROBOT目录第1章绪论111机器人研究的意义112我国机器人的发展状况113能力风暴机器人概述2131能力风暴机器人简介2132能力风暴机器人的外形与结构2133能力风暴机器人的计算机硬件6134扩展能力7第2章数字指南针扩展卡设计821数字指南针的测量原理822磁阻传感器823硬件扩展总线ASBUS924数字指南针扩展卡设计10241硬件电路的组成10242单片机的选择11243信号转换电路设计13244复位置位电路设计15245方案优缺点1525设计方案216251芯片的选择16252硬件电路的设计16253方案优缺点1726绘制原理图和印刷电路板17第3章数字指南针的软件设计及调试1931汇编语言软件设计19311模数转换设计19312方位角计算设计20313传感器复位/置位设计22314正北校验设计22315磁校验设计2432VJC软件设计及调试25321VJC简介25322用流程图编写数字指南针程序26第4章结论29谢辞30附录31参考文献38第1章绪论11机器人研究的意义机器人ROBOT是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。科学的进步与技术的创新,为机器人的研究与应用开辟了广阔的思路与空间。自从二十世纪六十年代初人类创造了第一台机器人以后,机器人就显示出它极大的生命力,在短短不到五十年的时间中,机器人的技术得到迅速的发展。“机器人产业在二十一世纪将成为和汽车、电脑并驾齐驱的主干产业。”从庞大的工业机器人到微观的纳米机器人,从代表尖端技术的仿人型机器人到孩子们喜爱的宠物机器人,机器人正在日益走近我们的生活,成为人类最亲密的伙伴。机器人技术和产业化在中国具有一定的现实基础和广阔的市场前景。“能力风暴”ABILITYSTORMS机器人由上海广茂达电子信息有限公司开发,呈单片机结构,外形酷似宇UFO,是专为个人机器人的需求设计的,专门面向教育的机器人。它是专门为大学进行课程教学、工程训练、机器人竞赛、科技创新以及研究服务开发的新型移动智能机器人。能力风暴个人机器人配有5种十几个传感器,另外还可以根据需要扩展其他传感器,对环境的感知能力很强。感知环境的能力是产生智能行为的前提,因此能力风暴能产生许多智能性行为。在实际的比赛中能力风暴有时会产生方向辨别失误或错误,导致比赛不能正常进行下去。为此,我们为机器人设计了一块数字指南针扩展卡,它直接插在机器人主板上,通过ASBUS总线向机器人发送实时方位角数据,使机器人实现自动辨别方向,大大地提高了机器人智能性。12我国机器人的发展状况我国的工业机器人从80年代“七五”科技攻关开始起步,在国家的支持下,通过“七五”、“八五”科技攻关,目前已基本掌握了机器人操作机的设计制造技术、控制系统硬件和软件设计技术、运动学和轨迹规划技术,生产了部分机器人关键元器件,开发出喷漆、弧焊、点焊、装配、搬运等机器人;其中有130多台套喷漆机器人在二十余家企业的近30条自动喷漆生产线站上获得规模应用,弧焊机器人已应用在汽车制造厂的焊装线上。但总的来看,我国的工业机器人技术及其工程应用的水平和国外比还有一定的距离,当前我国的机器人生产都是应用户的要求,“一客户,一次重新设计”品种规格多、批量小、零部件通用化程度低、供货周期长、成本也不低,而且质量、可靠性不稳定。因此迫切需要解决产业化前期的关键技术,对产品进行全面规划,搞好系列化、通用化、模块化设计,积极推进产业化进程。我国的智能机器人和特种机器人在“863”计划的支持下,也取得了不少成果。其中最为突出的是水下机器人,6000米水下无缆机器人的成果居世界领先水平,还开发出直接遥控机器人、双臂协调控制机器人、爬壁机器人、管道机器人等机种;在机器人视觉、力觉、触觉、声觉等基础技术的开发应用上开展了不少工作,有了一定的发展基础。但是在多传感器信息融合控制技术、遥控加局部自主系统遥控机器人、智能装配机器人、机器人化机械等的开发应用方面则刚刚起步,与国外先进水平差距较大,需要在原有成绩的基础上,有重点地系统攻关,以系统集成带动机器人技术的全面发展,以期在“十五”后期立于世界先进行列之中。13能力风暴机器人概述131能力风暴机器人简介能力风暴机器人ASU以下简称ASU是上海广茂达公司生产的专门面向教育的机器人。它融合了现代工业设计、机械、电子、传感器、计算机和人工智能等诸多领域的先进技术,学生可以通过使用能力风暴个人机器人接触到多方面的知识和技术。它提供了一个接口平台,可供用户进行扩展,实现二次开发,在软件,机械,电子等方面均有较强的延拓能力。它采用图形化交互C语言简称VJC完成ASU的软件开发,具有基于流程图的编程语言和交互式C语言简称JC,便于用户自由发挥。132能力风暴机器人的外形与结构能力风暴机器人外形酷似UFO,它有一个功能强大的微处理系统和传感器系统,而且它还能扩展听觉、视觉、和触觉,成为真正意义上的智能机器人。图11是能力风暴机器人的外观俯视图。图11能力风暴机器人的外观俯视图ASU的身体结构主要由控制部分、传感器部分和执行部分三大部分组成,下面分别介绍这三部分的结构和组成。1控制部分控制部分是ASU机器人的核心组成部分,ASU控制部分的主要由以下两个部分组成1主板位于ASU“心脏”部位的控制部件是ASU的大脑主板,它由很多电子元器件组成,跟人的大脑一样,主要完成接收信息、处理信息、发出指令等一系列过程。ASU的大脑有记忆功能,这主要由主板上的内存来实现,至于“大脑”的分析、判断、决断功能则由主板上的众多芯片共同完成。2控制按键位于ASU背部的控制面板,是ASU机器人运行控制部件,具体按键分布如图12所示。图12能力风暴机器人的控制按键部分A开关按钮控制ASU电源开关的按钮,按此按钮可以打开或关闭机器人电源。B电源指示灯按下ASU的开关后,这个灯会发绿光,这时就可以与机器人进行交流。C充电指示灯当你给机器人充电时,“充电”指示灯发红光。D充电口将充电器的相应端插入此口,再将另一端插到电源上即可对机器人充电。E下载口“充电口”旁边的“下载口”用于下载程序到机器人主板上,使用时只需将串口连接线的相应端插入下载口,另一端与计算机连接好,这样机器人与计算机就连接起来了。F复位/ASOS按钮这是个复合按钮,用于下载操作系统和复位。当串口通信线接插在下载口上时,按击此按钮,机器人系统默认为此操作为下载操作系统;如果你想使用其复位功能则需要将通信线拔下,按击此按钮,机器人系统认为此操作为系统复位。G运行键打开电源后,按击“运行”键,机器人就可以运行内部已存储的程序,按照“指令”行动。H通信指示灯“通信”指示灯位于机器人主板的前方,在给ASU下载程序时,这个黄灯会闪烁,这样就表明下载正常,程序正在进入机器人的“大脑”即CPU。2传感器部分传感器是机器人的重要组成部分,是机器人与外部环境进行交流和沟通的桥梁,ASU机器人主要包括以下五种传感器。1碰撞传感器ASU机器人的下部放置了一个碰撞系统,保证ASU机器人的正常活动。ASU机器人的碰撞机构能够检测到来自360范围内物体的碰撞,使ASU机器人遭遇到来自不同方向的碰撞后,能够转弯避开并保持正常活动。2红外传感器ASU机器人的红外传感器共包含两种器件红外发射管和红外接收管,红外接收管位于ASU机器人的正前方,两只红外发射管位于红外接收管的两侧。红外发射管可以发出红外线,红外线在遇到障碍后被反射回来,红外接收管接收到被反射回来的红外线以后,通过A/D转换送入CPU进行处理。ASU机器人的红外传感器能够看到前方10CM80CM,90范围内的比210MM150MM面积大的障碍物,如果障碍物太小太细、或者在它的可视范围以外,它可就没法看到了。在ASU机器人的可视范围内,它的可视距离是可以调整的。3光敏传感器光敏传感器是由两个光敏电阻组成,它位于机器人的正前方。光敏传感器能够探测光线,不过在这里我们是让它看见特定的颜色。在ASU机器人的光敏传感器罩上了一层滤光纸,通过它的颜色来决定ASU机器人能探测什么颜色的光线。4话筒ASU机器人的话筒的功能很强,它可以感受到声音的强弱。但ASU的话筒和人的耳朵一样,并不是所有的声音都能听得见,能听见的声音在一定的频率范围内,这个范围和人能听得到的范围大致是一样的,大约是16HZ20000HZ的机械波。ASU机器人在听到声音命令后,会根据指示由程序事先输入采取行动。5光电编码器在ASU机器人里有码盘和光耦光电编码器。光电编码器主要作为控制的反馈信号。光耦通过测定随轮轴一起转动的码盘的转动角度,得出轮子所转动的圈数,从而测定距离。3执行部分机器人的执行部分是指机器人执行具体功能时所要用到的部件,ASU机器人的执行部分主要包括以下几个部分。1扬声器ASU机器人也可以通过扬声器发出一定频率的声音,也可以通过编程让机器人演奏歌曲。2LCDASU机器人上的LCD可以显示除中文外的各种字符。利用LCD可以单步显示程序运行的中间结果。3主动轮及其驱动机构ASU机器人的主动轮有两只,能够完成向前直走,向后转弯,左转,右转,原地打转这些平地上的技术动作;正因为有驱动机构齿轮箱的存在,ASU才可以利用直流电机输出的动力。4从动轮ASU机器人有2只从动轮,通过安置弹簧,它们可以在垂直与地面的方向上上下移动,保持机器人动态平衡和实现一定的越障功能。5直流电机在ASU机器人上有两个直流电机,为主动轮提供动力。133能力风暴机器人的计算机硬件人对周围环境的反应过程主要是感觉大脑思考作出反映,机器人的信息处理流程也是如此。能力风暴智能机器人的配有5种十几个传感器,另外还可以根据需要扩展其他传感器,对环境的感知能力很强。感知环境的能力是产生智能行为的前提,因此能力风暴能产生许多智能性行为。能力风暴通过微控制器MICROCONTROLLER来思维。我们采用的是MOTOROLA公司8位单片机中功能最强、集成功能最全的高档机种。它的可靠性很高,有程序自下载功能。能力风暴连上串口线就可自动下载程序。计算机硬件决定了机器的极限潜能,去开发这种潜能是软件的工作。我们为用户提供了交互式图形化编程C语言VJC,它使开发能力风暴的高层行为充满了乐趣。有的低层的驱动软件与硬件相关太紧密或实时要求很高,需要用汇编语言来处理。能力风暴智能机器人的执行器有两个高性能的直流电机,一只喇叭,一块216字符的液晶显示器。能力风暴机器人的系统结构如图13所示。图13能力风暴机器人的系统结构能力风暴计算机硬件的设计策略是尽量选择功能齐全、可靠、周边设备集成度高的微控制器,价格也需控制,能让中国的学生以可以承受的价格获得世界上先进的智能机器人计算平台。MOTOROLA生产的68HC11,使我们以极少的周边芯片获得了齐全的功能,8个模拟口,5个输入捕捉,3个PWM输出,16位地址,8位数据总线,串口,以及4个通用I/O。同时,充分考虑到软件开发工具问题。因为没有优秀方便的软件开发工具,硬件只能成为专有系统,而无法成为开发平台。68HC11的自下载功能,使我们拥有了纯软件开发调试的优秀工具JC。JC即可用于开发高层应用软件,又便于开发低层驱动,还能交互调试。1微控制器68HC11E1由CPU、片内存储器、定时计数器系统、串行口、A/D转换器、并行I/O口,中断和复位系统等组成。2外部存储器能力风暴智能机器人扩展了32K的静态不挥发RAM。其优点是既有静态RAM的速度和方便70NS,又有EEPROM或FLASHROM的掉电不丢失性,从而能将程序和数据合用一个芯片。AS62256写入的数据可保存十年以上,同时具有可靠的上电、掉电、强静电等数据保护功能。3电源与复位电路能力风暴控制板采用MAXIM603稳压芯片,提供500MA,5V电压,该芯片自身的功耗很低。低电压复位保护电路采用DS1233D10,当电压低于45V,将产生复位信号,同时红色RST发光二极管变亮。4能力风暴机器人的开发能力软件开发能力标准C语言子集,简洁的专业程序员语言支持浮点运算、指针、多维数组;先进的多任务操作系统ASOS;便于学习的图形化交互式C语言;众多的驱动程序和应用程序代码,在高手的基础上学习编程。能力风暴机器人ASU它采用图形化交互C语言简称VJC完成ASU的软件开发,具有基于流程图的编程语言和交互式C语言简称JC,便于用户自由发挥。134扩展能力1机械扩展能力1至32个直流电机;1至4个步进电机交流伺服电机;1至32个继电器、电继阀、记忆合金;1至32个灯泡、电热丝、蜂鸣器。扩展实例灭火风扇,机械手臂,装饰彩灯等。2电子扩展能力1至几百路8位模拟输入;3至几十路输出捕捉;32路数字式输出。扩展实例超声测距卡,红外测距卡,6路伺服电机驱动卡,8路输入输出。第2章数字指南针扩展卡设计21数字指南针的测量原理地球是一个巨大的磁体,其磁场强度约为03到06高斯随地理位置的变化而变化,在确定的位置,地磁场强度恒定,磁力线与地球表面平行的分量总指向地磁北极。本文所设计的数字指南针应用了一种传感器,其内部集成了一种电阻称为磁阻,磁阻在不同方向上感受磁场时其阻值会发生相应的变化,将磁阻阻值的变化转变为电压或电流的变化,就可以对磁场强度进行测量。22磁阻传感器在铁磁性材料中会发生磁阻的非均质现象AMR,当沿着一条长而且薄的铁磁合金带的长度方向施加一个电流,在垂直于电流的方向施加一个磁场,合金带自身的阻值会发生变化,这就是磁阻现象,如图21所示。图21磁阻传感器工作原理HMC1022是HONEYWELL公司基于磁阻现象生产的高可靠性、高灵敏度的固态芯片。由长而薄的镀膜合金一种铁镍合金薄膜制成磁阻敏感元件,采用标准的半导体工艺,将薄膜附着在硅片上,4个磁阻组成惠斯通电桥,如图22所示。由于磁阻传感器在外部环境中容易受到强磁场的干扰而导致其灵敏度和线性度降低,在传感器的硅平面上制作了2个电流带,一个用来置位或复位输出的极性,另一个用来产生偏置磁场以补偿环境磁场。图22惠斯通电桥示意图图23HMC1022磁阻传感器的引脚配置HMC1022的引脚配置及功能如图23所示。HM1022内部集成了2个这样的惠斯通电桥A、B,这两个电桥的位置相互垂直,分别对应于直角坐标系中的X轴和Y轴输出。23硬件扩展总线ASBUS能力风暴控制板设计了ASBUS总线,其引脚配置如图24所示,简单类似于ISA和PCI总线。采用堆叠式的ASBUS扩展卡可以方便扩展控制板的功能,它分为ASBUSA和ASBUSB两部分。机器人主板上ASBUSA和ASBUSB插槽用于插各种功能的扩展卡。图24ASBUS信号线ASBUSA和ASBUSB各引脚及其功能如下所示PC0PC7数据总线/RESET复位信号/IRQ外部中断输入脚VCC5V电源负载不要超过300MA,可用于扩展卡的电源输入端;VMOTOR电机电压,也即电池电压,可接较大负载;GND地IS0IS3输入选择线03OS00S3输出选择线03PA1PA2输入捕捉口,可用来扩展数字或脉冲输入的传感器;PA3输出比较口,已被喇叭、DC3、SERVO使用;PE5PE7模拟输入口,可用来扩展温度传感器、力传感器等模拟量输入传感器。24数字指南针扩展卡设计241硬件电路的组成能力风暴机器人主板所提供的扩展接口主要就是ASBUS总线,多个扩展模块都是通过ASBUS总线和机器人主单片机进行数据交流和通信。因此,该方案设计出的扩展卡应能插在主板上的ASBUS总线扩展口上,并能保证数字指南针扩展卡模块的正常工作,以及和其他各模块避免产生冲突等。该方案设计的数字指南针扩展卡,其硬件部分主要包括磁阻传感器,信号放大转换电路,传感器复位/置位电路,电源模块以及微处理器模块等。硬件电路设计的总体框图如图25所示。图25硬件电路设计框图从硬件设计框图中可以了解到扩展卡的硬件组成、结构以及各模块之间的关系。其中,电源信号取自ASBUS信号线,传感器输出的X轴和Y轴信号经过集成运放AD623放大后送入ATMEGA8单片机的A/D转换器模拟信号输入口进行A/D转换;转换后的数据也在单片机中进行运算处理,得到方位角数据后经过PB口输出到锁存器锁存,当主单片机的片选信号选通指南针模块时,锁存器打开,并将PB口上的方位角数据输出到ASBUS的数据总线PC口上。机器人根据这个方位角数据来执行其他动作和功能,并将方位角度值显示在LCD显示屏上,这样就实现了机器人的方向自动辨别功能。242单片机的选择磁阻传感器输出的模拟电压信号很弱,需要经过放大、A/D转换等信号转换调理电路后方能送入单片机进行计算、分析和处理,以便得到机器人的方位角数据。为节省成本,减少电路所用器件,简化硬件电路,我选用了ATMEL公司生产的ATMEGA8单片机。该单片机具有性能高,功耗低,价格低等优点,且尺寸较小,适用于电池供电系统。其封装形式有28引脚的PDIP封装、32引脚的TQFP封装和MLF封装,PDIP封装的引脚配置如图26所示。ATMEGA8单片机的主要性能及参数有高性能、低功耗的8位AVR微处理器130条指令,大多数指令执行时间为单个时钟周期32个8位通用工作寄存器,23个可编程的I/O口工作于16MHZ时性能高达16MIPS,只需两个时钟周期的硬件乘法器8K字节的系统内可编程FLASH,1K字节的片内SRAM,512字节的EEPROM两个可编程的串行USART,标准SPI高速串行接口8路10位逐次逼近型ADCPDIP封装为6路两个具有独立预分频器8位定时器/计数器,其中之一有比较功能一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器具有独立振荡器的实时计数器RTC具有独立片内振荡器的可编程看门狗定时器5种睡眠模式空闲模式、ADC噪声抑制模式、省电模式、掉电模式及STANDBY模式片内经过标定的RC振荡器,片内模拟比较器AC上电复位以及可编程的掉电检测片内/片外中断源,三通道PWM工作时钟016MHZ,工作电压4555V封装形式28引脚PDIP封装,32引脚TQFP封装,32引脚MLF封装图26ATMEGA8单片机引脚配置本设计采用的单片机为28引脚PDIP封装,该单片机内部集成了4路10位逐次逼近型ADCADC0ADC3和2路8为ADCADC4、ADC5,转换精度高,响应速度快,既能满足传感器的双通道模拟信号输入要求,也能达到1的精度要求,因此完全能够满足本设计的要求。单片机是数字指南针驱动扩展卡模块的核心部分,模数转换、数据的运算分析和处理等都在这里进行,传感器的复位/置位以及正北校验等也是由单片机控制的。单片机的硬件电路连接并不复杂,许多功能都由编程来完成和实现。这样不仅可以保证所需数据的精度,还可以节省一些硬件设施费用,并简化硬件电路,避免一些不必要的麻烦。由于ASBUS总线所提供的数据总线为8位PC0PC7,故本设计中只取A/D转换结果的高8位进行后续的数据分析运算和处理,最终设计的数字指南针驱动扩展卡模块的精度为2。243信号转换电路设计磁阻传感器输出为差动信号,在供电电压为5V时,电桥输出响应为5MV/GAUSS,当地磁场强度达到最大值06GAUSS时,其电压输出范围为VOUT5MV/GAUSS06GAUSS3MV21磁阻传感器的输出为毫伏级电压信号,在进行模数转换之前要对其进行放大,由于设计中所采用的模数转换器为ATMEGA8单片机内置的10位逐次逼近型ADC,它要求模拟输入信号在0AREF之间,AREF则可采用内部基准电压AVCC信号。根据上述要求,可选用AD623/627,它是一款性能非常好的仪表放大器,其外形及引脚配置如图27所示。图27AD623的外形及引脚配置AD623是基于改进的传统三运放方案的仪表放大器,即使共模电压达到电源负限时,它也能确保单电源或双电源工作。低的输入输出电压失调,绝对的增益精确性,并且只需一只外接电阻设置增益,使AD623成为同类产品最通用的仪表放大器之一。AD623放大器的主要特点有1在单电源312V下提供满电源幅度输出,使设计更为简单;2增益通过一只外接电阻RG即可方便调节,无外接电阻时,被设置为单位增益G1,最高增益可高达1000,增益G和RG之间的关系是RG100K/G1223共模抑制比随增益的增大而增大,保持最小误差;4功耗低,宽电源电压,适合电池供电电路,线性度、温度稳定性、可靠性好;5具有较宽的共模输入范围,可以放大具有低于地电平150MV的共模电压信号。图28为本设计所采用的传感器信号放大电路。其中,1引脚和8引脚之间的电阻为放大增益选择电阻,此处电阻的阻值选为125,放大器的放大增益对应为800。这样,传感器的输出信号被放大800倍。放大器的5引脚为偏置输入端,本设计中偏置输入设定为25V,则运算放大器的最终输出信号为VAIN3MV80025V0149V23VCCR325KLM44025V18236745U2AD62318236745U3AD623R2125R1125VCCC301UC410UC210UC101UVCC22OUTAOUTAOUTBOUTBADC0ADC1图28信号放大电路设计传感器信号经过放大后的电压信号正好在ADC转换范围内,即可直接接入单片机的ADC模拟信号输入端口上。A/D转换过程在单片机内部完成,只需编程即可实现,由此也可以省去了外接独立的ADC,从而简化了硬件电路,减少设计所用芯片数量。244复位置位电路设计当磁阻传感器暴露于干扰磁场中时,传感器元件会分成若干方向随机的磁区域,从而导致灵敏度衰减。环境中的强磁场大于20GAUSS时会导致磁传感器输出信号变异,为了消除这种影响并使输出信号达到最佳,就需要应用磁开关技术SR/SR来抵消剩余磁场,而HMC1022是借助一个偏置磁场以补偿干扰磁场,即通过集成在芯片内部的置位/复位合金带对薄膜施加054A,25US的脉冲电流就可以重新将磁区域对准,统一到一个方向上。这样,就可以确保其高灵敏度和可重复的读数。图29为本系统所采用的复位/置位电路。在微处理器的I/O口所提供的脉冲信号控制下,功率MOS管或功率BJTIRF7105产生强电流脉冲来复位/置位传感器,实现低噪声和高灵敏度的磁场测量。C502US11G12S23G24D25D26D17D18U6IRF7105R4200VCCC61USET/RESETS/RAS/RBS/RAS/RB图29传感器复位/置位电路图245方案优缺点优点本设计方案原理图简单,所用芯片少,因此扩展卡的成本低、制作相对简单。本方案所选的单片机,其大部分指令执行时间为单个时钟周期,整体速度比51系列单片机快10倍以上,因此该方案设计的扩展卡精度高,响应速度快。此外,该方案中的复位/置位电路能有效避免磁阻传感器因外部强磁场干扰导致的灵敏度衰减。由于模拟信号的A/D转换部分也在单片机中完成,这样也避免了外接ADC的麻烦。缺点该方案设计中,A/D转换、数据分析计算、复位/置位控制以及正北校验等过程均在单片机中完成,这些功能都需要编程来实现,因此软件设计相对比较复杂。此外,由于时间限制,该方案中尚存在一些欠缺,如未考虑传感器内部电桥的偏置误差等,而且由于ASBUS接口限制,方位角的计算只取A/D转换的高8位,导致了精度的降低。25设计方案2251芯片的选择本设计方案中磁场传感器选用两片UGN3503型霍尔器件。该传感器是根据霍尔原理制作的一种磁场传感器。此霍尔器件灵敏度较高,而且低噪输出。该方案中,数据处理计算以及控制部分油89C51也可用89C2051以缩小体积单片机,软件设计相对简便。霍尔传感器输出的信号为模拟量,需经过A/D转换。由于该方案中单片机内并无A/D转换功能,因此需外接一块A/D转换芯片。为节省空间,简化硬件连接,本方案选择了8位2路串行模数转换器TLC0832,其外形为8引脚SOIC封装,如图210所示。图210模数转换器TLC0832252硬件电路的设计该设计方案的电路原理图如图211所示。在实际应用中,指南针模块和其他各模块是通过片选方式工作的,所以还应在单片机与ASBUS总线之间接入锁存器和跳线选择。此外,考虑到实际应用中磁场可能会由于外界抖动而在某一时间或某一位置产生不稳定的状况,在处理数据时,采取了在若干个数据间断点中取其平缓过渡数据的方法。单片机最后通过跳线选择处理结构输出方式。图211方案2电路设计原理图253方案优缺点优点硬件电路设计较为简单,传感器灵敏度较高。其次,该方案的软件设计相对简单。缺点所用芯片较多,成本较高,而且占用面积大,不适合应用与能力风暴机器人;此方案中无传感器复位/置位等电路设计,易受到外界强磁场的干扰导致灵敏度衰减。经过仔细斟酌,本设计选择方案1为最终方案。26绘制原理图和印刷电路板在EDAELECTRONICDESIGNAUTOMATION工具中,PROTEL系列软件一直是比较常用的。PROTEL99SE是应用于WINDOWS9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的,数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源地层和16个机械加工层。PROTEL99SESECONDEDITION在原理图设计和电路仿真方面增加了许多小的功能,而其最主要的改进体现在电路板设计系统方面。PROTEL99SE共分5个模块,分别是原理图设计、PCB设计包含信号完整性分析、自动布线器、原理图混合信号仿真、PLD设计。本设计中,原理图和印制电路板的绘制即应用了PROTEL99SE软件。下面简述产生PCB的步骤1新建一SCH文件,绘制数字指南针设计的整个电路原理图;2新建一LIB文件,定义封装库中没有的元件封装;3产生网络表文件;4新建一PCB文件,绘制出电路板边框,装载元件封装库并加载网络表;修改列表中的错误,直至加载网络表没有错误后,点击确定,各元件封装图便会出现在该界面上。元件排列杂乱无章,且各元件之间用飞线连接。5手动调整元件的布局,使各元件摆放尽量整齐美观。6进行布线,可采用自动布线与手动布线相结合的方法,提高布线质量和效率。7对文字、个别元件、走线做些调整以及敷铜。8检查核对网络。图212为最终绘制成的PCB图。图212数字指南针驱动卡的PCB图第3章数字指南针的软件设计及调试数字指南针驱动扩展卡的软件设计主要包括磁阻传感器输出信号的转换,方位角的判断和计算,传感器的复位/置位以及正北校验功能的实现等。本设计的软件设计部分主要采用ATMEL的ATMEGA8单片机汇编语言完成,部分设计也用到了MOTOROLA的M68HC11E1单片机图形化交互C语言VJC。在软件程序编写后对其分别进行了简单的调试和修改,并在机器人进行相应的测试。31汇编语言软件设计311模数转换设计传感器的输出信号经放大器放大后,首先要进行模数转换,之后才能在单片机中进行方位角的分析计算。由于A/D转换是在单片机内部完成的,只需要简单的编程便可以实现。A/D转换过程的软件设计较为简单,其程序设计流程图如图31所示。图31A/D转换流程图单片机内部集成的A/D转换器为10位ADC,转换结果经计算得出的方位角数据,完全可以达到1的精度,但由于ASBUS总线的限制,本方案设计中只取转换结果的高8位进行后续的分析计算,若在实际应用中,应取10位转换结果进行计算以保证精度。转换之前需设定A/D转换的相关参数,如转换的参考电压设设定,转换模式的选择,转换结果的对齐方式等。在信号转换电路中已经选择了ADC的参考电压为AVCC,在这里需进行设置。由于A/D转换器在相邻的两次A/D转换中需分别采集ADC0即X方向和ADC1即Y方向上的数据,故A/D转换模式应设置为单次转换模式,在ADC完成一次转换后设置输入通道。如果设置为为连续转换模式,则ADC将只采集一个输入通道上的数据。这样一来,转换得出的数据将会是同一轴方向的数据,如果据此进行计算,将得到错误的方位角数据。本方案设计中只取转换结果的高8位进行后续计算分析,所以A/D转换的对齐方式应设置为左对齐。312方位角计算设计由于HMC1022磁阻传感器在地磁场强度范围内呈现良好的线性灵敏度,它的输出电压方位角U曲线为规则的正弦曲线或余弦曲线。传感器的两个电桥为正交排列,分别对应于直角坐标系中的X方向和Y方向。X方向和Y方向的的输出电压在相位上相差90,其输出电压信号经运算放大器放大后的输出如图32所示。图32传感器输出放大后的X、Y信号及各区域的位置本设计需要根据图32中所示的X、Y方向的输出信号进行计算分析,得到机器人的方位角数据,这个过程也是软件设计的关键及主要部分。根据图中规律,可以知道方位角为ARCTANUX/UY31根据上述公式,即可以采用反三角函数逼近的计算方法进行计算得出方位角。但是使用这种方法,编程中会涉及汇编语言的浮点除法,编程占用大量空间,并且不易调试。而且反三角函数的计算范围一般是180,对于180360还要进行额外判断,这将会比较麻烦。考虑到三角函数的轴对称性,在本设计中我采用了压缩映射算法来进行方位角的计算。图33为压缩映射算法测量的原理图。X、Y分别表示磁阻传感器的X和Y轴上测得的电压信号UX和UY。根据三角函数的轴对称性,先将0360的情况压缩在045内进行查表,根据一定的规则将其重新映射至0360范围内。采用这种方法可避免汇编的浮点运算,减少查表程序的长度,提高计算速度,降低程序的复杂性。图33压缩映射算法原理图在图33所示的压缩映射算法中,方位角的区域判断及其计算具体可分为以下几个步骤。1判断比较X和Y的绝对值大小,并根据绝对值较小者进行反正弦查表或根据绝对值较大者进行反余弦查表,得到一个范围为045的角度值0;2判断Y的正负;3判断X的正负;4以上三组数据的判断结果,即可判断出方位角所在的区域区域1区域8,然后按照计算公式将角度值0映射到0360范围内即可得到准确的方位角。各区域的方位角计算公式及对应的判定条件取值见表31。表31各区域的方位角计算公式及判定方法方位角区域|Y|X|Y0X0方位角计算公式区域1YYY0区域2YYN3600区域3YNY1800区域4YNN3600区域5NYY900区域6NYN2700区域7NNY900区域8NNN2700采用压缩映射算法避免了编程中涉及的汇编浮点除法运算,减少了查表程序的范围。编程中只需使用查表程序查出045范围的角度0,再使用一系列判断语句和跳转语句即可判定方位角所在的区域,根据公式便很容易计算出方位角。方位角计算过程的汇编程序设计见附录1。313传感器复位/置位设计传感器的复位/置位电路是用单片机的PD7口控制功率MOS管向传感器的复位/置位电流带施加054A,25US的脉冲电流来完成的。功率MOS管在这里的作用即是开关作用,PD7口的电平下降沿即可使功率管MOSFETP快速打开,使传感器复位/置位电流带通过正向脉冲电流,从而置位传感器;同样,PD7口的电平上升沿会使功率管MOSFETN快速打开,使传感器复位/置位电流带通过负向脉冲电流,从而复位传感器。复位/置位传感器的软件设计其实就是在单片机的PD7口上输出25US的负电平脉冲,复位/置位程序设计见附录1。314正北校验设计正北校验部分要实现的功能是,当正北校验按钮按下时,系统即设定当前方向为默认0度方向,直至按钮再次被按下才改变默认0度方向。此功能的实现可采用比较法,程序设计可分为以下几个步骤。1系统检测正北校验按钮是否按下,若按下,则进入第二步,若未按下,则跳过此程序。2按钮被按下,即保存当前的方位角数据0。3更新方位角数据,记为;4比较和0的大小若0,则输出方位角0;若0,则输出方位角3600。正北校验程序执行的过程也可用流程图表示,如图34所示。图34正北校验软件设计流程图正北校验部分的汇编语言程序设计参见附录1。315磁校验设计由于磁阻传感器的制作误差以及放大器外加偏置的误差,输入到单片机ADC上的模拟信号,其计算值与实际值存在一定的误差,这样会导致测量出的方位角与实际方位角总是有一定的误差。而磁校验部分就是为解决这个问题设计的。磁校验部分的硬件设计很简单,其结构包括接在单片机I/O端口上的一个按键和一个LED发光二极管。按键未按下时PD2处于高电平状态,按键按下时PD2口为低电平,通过PD2口上的电平高低即可以判断磁校验按钮是否按下。指南针扩展卡模块上有一个LED发光二极管,一般情况下此发光二极管常亮,在磁校验过程中发光二极管以2HZ频率闪烁。在正常模式下,用户需在按下磁校验按键,LED灯变为闪烁状态时,将机器人匀速缓慢的原地旋转360以上,然后再按下磁校验按键,以此来完成校磁过程。这部分的设计流程图如图35所示。图35磁校验软件设计流程图从流程图中可以看出,磁校验软件设计过程主要分为以下几个步骤。1主程序判断磁校验按键状态,若按键未按下,则跳行继续执行;若按键按下,则转入磁校验子程序。2磁校验子程序开始时,系统即向LED所接的I/O口PD6上送入2HZ的方波信号,LED灯变为闪烁状态,表示系统进入磁校验过程。3编程设置ADC相关参数,将ADC设为连续转换模式,并启动A/D转换。4采集A/D转换的数据,存入SRAM指定地址单元首地址中,完成后地址指针加1。5延时50MS后,检测按键是否按下,若按下,则转第6部执行;若未按下,则转到第4部继续执行。6按键按下后,停止A/D转换,对前面采集的所有数据进行从小到大排序,取出最大值、最小值,并计算出中间值,供其他过程调用。7恢复发光二极管状态,并返回主程序。磁校验部分软件设计的具体程序可参见附录1。32VJC软件设计及调试321VJC简介图形化交互式C语言简称VJC是用于能力风暴智能机器人系列产品的软件开发系统,具有基于流程图的编程语言和交互式C语言简称JC。VJC为开发智能机器人项目、程序与算法、教学等提供了简单而又功能强大的平台,是全球开创性的具有自主知识产权的产品。在VJC中,不仅可以用直观的流程图编程,也可以用JC语言编写更高级的机器人程序。VJC操作简便,有活泼明快的图案和简短的文字说明。读者可以使用形象化的模块,由顶向下搭建流程图,搭建流程图的同时,动态生成无语法错误的JC代码。流程图搭建完毕,程序就已经编写完成,可以立即下载到机器人中运行。VJC已入门时可以直接在JC代码编辑环境中编写程序,还可以边写边试,发现错误,校正修改,十分方便。1流程图流程图是用一些图形表示各种操作的。用图形表示算法,直观形象,易于理解。流程图能够比较清楚地显示程序的逻辑关系,因此它是表示算法的较好工具。VJC的流程图模型由几种基本形状的模块及带有箭头的方向线组成。VJC的模块包括执行器模块蓝色矩形、单功能传感器模块紫色平行四边形、带判断功能的传感器模块紫色菱形、控制模块红色菱形和程序模块黄色矩形或椭圆形五种。VJC流程图支持多任务程序、子程序调用、浮点数和整数、全局变量、简单表达式、复合条件判断以及循环嵌套等。每一个模块都可以完成一定的功能。只要按清晰的思路连接这些模块,就可以很快地完成一个程序的编写。2JC语言交互式C语言简称JC是用于能力风暴智能机器人的专用开发语言。JC由两部分组成编译环境和能力风暴操作系统ASOS。JC实现了标准C语言的一个子集,它包括控制语句FOR,WHILE,IFELSE、局部变量和全局变量、数组、指针、16位和32位整数以及32位浮点数。JC不直接编译生成针对特定处理器的机器代码,而是先编译生成基于堆栈虚拟机的伪代码。然后这种伪代码由能力风暴操作系统解释执行。JC这种不寻常的编译方式有以下优点1解释执行允许检查运行错误。例如JC在运行时,数组下标的检查。2代码更精简伪代码比机器代码更简短。3多任务由于伪代码是完全基于堆栈的,进程状态完全由它的堆栈和程序计数器所决定。因此只需要装载新的堆栈指针和程序计数器就可以方便地实现任务切换。任务切换由操作系统处理,而不是编译器。JC与标准C对比有以下特点JC语言是建立在ANSIC标准上的。但是它们有些重要的区别。许多区别是因为JC比标准C更“安全”。例如,JC在运行时要检查数组下标,所以数组不能被变为指针,也不可以进行指针运算,另一些区别是由于JC的运行时间更短更高效。322用流程图编写数字指南针程序在选定的方案中,方位角的区域判断、分析以及计算等都在数字指南针模块的单片机中完成,数字指南针扩展卡送给主单片机的是方位角度值。由于ASBUS数据总线为8位,无法传输256360之间的角度值,因此,指南针模块给主单片机传输方位角数据之前需将方位角度值除以2,并以8位二进制数形式发送过去。主单片机接收到这个方位角数据后,需乘以2方能还原成正确的方位角度值,这样才能供其他模块或显示程序调用等。图35为用流程图编写的数字指南针程序。图35流程图编程框图画好流程图后,需对其中每个模块的参数进行设置,设置完成后即可生成JC代码。图35所示指南针程序流程图中,参数设置好以后即可生成如下的JC代码INTGI_20整型变量GI_2INTEX_10整型变量EX_1VOIDMAINWHILE1开始无限循环,当从句的值为1时,开始无限循环WRITE0X5000,0扩展卡端口2写入0EX_1READ0X5000读扩展卡端口2数据到EX_1GI_2EX_12将读出的数据乘以2赋给GI_2PRINTF“GI_2DN”,GI_2将GI_2数值输出程序写好后,可下载到能力风暴机器人中进行测试。下载程序须按照下述方法用串口通信线一端接机器人的下载口,另一端接计算机机箱后面的一个九针串口,打开机器人电源开关,单击菜单栏中“工具T”选项卡,在弹出的下拉菜单中单击“下载当前程序”,就可以下载程序了。注下载程序也可以使用工具栏上的“下载”快捷按钮下载流程图或下载JC代码程序。按照上述步骤操作后,会出现一个智能下载程序对话框,并显示下载进程,等出现“下载成功”字样时,程序已经下载到机器人中了。关闭对话框,拔下串口通信线,按下机器人身上的“运行”按钮,机器人就会运行所下载的程序。对于程序正确与否的校验,我们需要先将数字指南针扩展卡安装在主板上的ASBUS扩展插槽上,并向其单片机中写入程序见附录。一切准备好之后,让机器人运行一段程序,然后观察显示屏能否指示出正确的方向。将如下的程序下载到机器人中,该程序是让机器人走四边形的JC代码,在这个过程中,机器人必须能够识别平面一周范围,如果机器人运动的过程中能够自动辨向,则证明该程序可行。VOIDMAININTIFORI0I4IDRIVE80,0WAIT0500000STOPDRIVE0,80WAIT0100000STOP经过校验,该程序能够使机器人实现自动辨向的功能,证明了该设计方案切实可行。第4章结论能力风暴机器人的数字指南针扩展卡设计内容至此基本结束。能力风暴智能机器人是上海“广茂达”公司开发的一款基于MOTOROLA单片机应用技术的专门面向教育的机器人。它的强大的扩展功能为我们提供了广阔的思维空间,我们可以充分发挥想象力和创造力来进行各种扩展卡的设计。在设计数字指南针扩展卡之前,首先应对能力风暴机器人进行全面的了解,了解它的身体结构及各部分的功能,研究它的工作原理和单片机控制原理,特别是原机器人主板上各模块的工作过程以及扩展卡接口及机器人的总线接口等,这些知识可以为设计扩展卡打好理论基础;再次,要充分运用各种渠道广泛搜集资料,尽可能多地找到设计的方案,并在对各种方案进行详细分析和比较后,对其进行筛选,确定出最佳方案;最后,运用PROTEL99SE软件绘出电路原理图并生成PCB印制电路板。数字指南针扩展卡的设计要求对单片机和各种电子元器件等知识有较高的水平,只有掌握了这些知识,设计起来才会得心应手。本扩展卡的设计以硬件设计简单,价格低廉,测量精度高,响应速度快,环境适应性好等为原则,该数字指南针扩展卡可以直接插在机器人主板硬件扩展总线ASBUS上,通过数据总线不断向机器人发送其最新的方位角数据,以便机器人能根据最新的方位角来实现其他的功能数字指南针的设计过程是一个理论和实践相结合的过程,要在老师的指导下不断学习,不断摸索,才能一步一步得出成果。谢辞经过半年的忙碌和工作,本次毕业设计已经接近尾声。回顾这半年的设计过程,有辛酸痛苦,也有充实快乐,总之让我学到了很多东西。这次毕业设计是对大学四年所学知识的一次总结和运用,是非常难得的一次实践的机会。通过这次毕业设计,我懂得了工程设计的一般步骤,以及一项设计成果的来之不易。我深深感到自己理论知识的匮乏,实践能力的欠缺。在这次设计中,我实现了自我提升,明确了今后努力的目标和方向。在这里首先要感谢我的指导老师王海峰老师,他平日里工作繁多,但在我们毕业设计的每个阶段,从查阅资料,到设计草案的确定和修改,中期检查,后期详细设计,绘制原理图和印制电路板等整个过程中都给予了我悉心的指导。如果

温馨提示

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

评论

0/150

提交评论