《2022年能力风暴机器人数字指南针扩展卡设计方案》由会员分享,可在线阅读,更多相关《2022年能力风暴机器人数字指南针扩展卡设计方案(34页珍藏版)》请在金锄头文库上搜索。
1、个人资料整理仅限学习使用基于能力风暴机器人的数字指南针扩展卡设计The Design of Digital Compass Card Based on Ability Storm Robot摘要这篇论文讲述了能力风暴机器人的数字指南针扩展卡的一种设计方法,包括数字指南针芯片的选用,数字指南针电路的设计等。并用Protel 99 SE软件绘制出了电路原理图和印刷电路板,编写并调试程序。该大数字指南针扩展卡所用芯片较少,成本较低,重量轻,使用起来非常方便,用于“能力风暴”大学版机器人在足球比赛、灭火比赛和创意比赛中实时测量机器人所处的方位。关键词: 数字指南针扩展卡; Protel 99 SE;机
2、器人精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 34 页个人资料整理仅限学习使用Abstract This paper describes a method of the design of digital compass card,includingdigital compass chip selection and digital compasscircuit design.The circuit schematic and printed circuit board are maken out using Protel 99
3、SE,and a simple program is given in this paper.The digital compasscard is composed of very fewer chips,so it is lower-cost, light weight, and very easy to use. In robot soccer, put out fire games and creative games the card can measure the orientation of the robotin real-time.Keywords: digital compa
4、ss card。Protel 99 SE。robot精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 34 页个人资料整理仅限学习使用目录精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 34 页个人资料整理仅限学习使用第 1 章 绪论1.1 机器人研究的意义机器人 Robot)是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。科学的进步与技术的
5、创新 , 为机器人的研究与应用开辟了广阔的思路与空间。自从二十世纪六十年代初人类创造了第一台机器人以后, 机器人就显示出它极大的生命力, 在短短不到五十年的时间中, 机器人的技术得到迅速的发展。能力风暴 ,而单机价格不断下降,平均单机价格从1991 年的 10.3 万美元降至 2002 年的 6.5 万美元。 机械结构向模块化、可重构化发展。例如关节模块中的伺服电机、减速机检测系统三位一体化,由关节模块、连杆模块用重组方式构造机器人整机,国外已有模块化装配机器人产品问世。 工业机器人控制系统向基于PC机的开放型控制器方向发展,便于标准化、网络化;器件集成度提高,控制柜日渐小巧,且采用模块化结构
6、;大大提高了系统的可靠性、易操作性和可维修性。 机器人中的传感器作用日益重要,除采用传统的位置、速度、加速度等传感器外,装配、焊接机器人还应用了视觉、力觉等传感器,而遥控机器人则采用视觉、声觉、力觉、触觉等多传感器的融合技术来进行环境建模及决策控制;多传感器融合配置技术在产品化系统中已有成熟应用。 虚拟现实技术在机器人中的作用已从仿真、预演发展到用于过程控制,如使遥控机器人操作者产生置身于远端作业环境中的感觉来操纵机器人。 当代遥控机器人系统的发展特点不是追求全自治系统,而是致力于操作者与机器人的人机交互控制,即遥控加局部自主系统构成完整的监控、遥控操作系统,使智能机器人走出实验室进入使用化阶
7、段。美国发射到火星上的“索杰纳”机器人就是这种系统成功应用的最著名的实例。 机器人化机械开始兴起。从94 年美国开发出“虚拟轴机床”以来,这种新型装置已成为国际研究的热点之一,纷纷探索开拓其实际应用的领域。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 34 页个人资料整理仅限学习使用1.2.2 我国机器人的发展状况我国的智能机器人和特种机器人在“863”计划的支持下,也取得了不少成果。其中最为突出的是水下机器人,6000M 水下无缆机器人的成果居世界领先水平,还开发出直接遥控机器人、双臂协调控制机器人、爬壁机器人、管道机器人等机种;在
8、机器人视觉、力觉、触觉、声觉等基础技术的开发应用上开展了不少工作,有了一定的发展基础。但是在多传感器信息融合控制技术、遥控加局部自主系统遥控机器人、智能装配机器人、机器人化机械等的开发应用方面则刚刚起步,与国外先进水平差距较大,需要在原有成绩的基础上,有重点地系统攻关,以系统集成带动机器人技术的全面发展,以期在“十五”后期立于世界先进行列之中。1.2.3 机器人技术的发展趋势工业机器人技术发展与应用水乳交融。在第一代工业机器人普及的基础上,第二代已经推广,成为主流安装机型,第三代智能机器人已占有一定比重。以应用为龙头拉动工业机器人技术的发展,其技术特点与重点发展领域体现在下述方面:机械结构以关
9、节型为主流,应3K(炼钢、炼铁、铸锻 行业和汽车、建筑、桥梁等行业需求,超大型机器人应运而生。如焊接数十M长、l0t 以上大构件的弧焊机器人群;采取蚂蚁啃骨头的协作机构,己普遍采用CAD 、CAE等技术用于设计、仿真与制造中。控制技术大多数采用 32 位 CPU ,控制轴多达 27 轴,NC技术和离线编程技术大量采用。协调控制技术日趋成熟,基于PC的开放式结构控制系统由于成本低并具有标准现场网络功能,己成为一股潮流。”驱动技术直接驱动技术则广泛用于装配机器人中。新一代的伺服电机与基于微处理器的智能伺服控制器相结合,已由日本FANUC 公司开发并用于工业机器人中;在远程控制中已采用了分布式智能驱
10、动新技术。智能化的传感器多有应用在上述 167 种机型中,装有视觉传感器的有94 种,占 56.3 ,不少机器人装有两种传感器,有些机器人留下了多种传感器接口。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 34 页个人资料整理仅限学习使用网络通信方式在上述 167 种机型中,有 69 种采用 Ether 网通讯方式,占 41.3 ,其它采用 RS232,RS 422,RS 485 等通讯接口。高速、高精度、多功能化目前所知最快的装配机器人最大合成速度为16.5m/s 。高精度机器人的位置重复性为正负 0.01mm.有一种大直角坐标搬运
11、机器人,其最大合成速度达80m/s。而另一种并联机构的 NC机器人,其位置重复性达l um 。90 年代末的机器人一般都具有两、三种功能。最近瑞典 Neos公司开发出一种高精度、高可靠性的可切割、钻孔、铣削、磨削、装配、搬运的多功能机器人,用于多家著名汽车厂和飞机公司。集成化与系统化工业机器人的应用从单机、单元向系统发展。多达百台以上的机器人群与微机及周边智能设备和操作人员形成一个大群体( 多智能体 。跨国大集团的垄断和全球化的生产将世界众多厂家的产品联接在一起,实现了标准化、开放化、网络化的“虚拟制造”,为工业机器人系统化的发展推波助澜。1.2.4 机器人足球的发展足球机器人比赛虽然刚刚开展
12、几年时间,但是它吸引了越来越多人的关注。因为它以喜闻乐见的方式走进了我们的视野,虽然它的体积很小,但是它的意义非常重大。它是综合了计算机技术,自动化技术,机电一体化技术,人工智能技术,模式识别技术的一门综合技术。现在的足球机器人比赛有两个系列:即ROBOCUP 和 FIRA 。每年都要进行一次比赛。中国最早参加了FIRA 比赛,代表队和代表队都取得了好成绩。另外中国还参加了ROBOCUP 系列的比赛。在 2001年的 ROBOCUP 比赛中,清华大学代表队获得了世界冠军。另外,中国人工智能学会在2001年成立了机器人足球专业委员会。机器人足球参加了科技申奥主题活动,还将参加2002年的世界杯足
13、球赛。以上活动说明机器人足球在获得良好发展。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 34 页个人资料整理仅限学习使用第 2 章 能力风暴机器人概述2.1 开设能力风暴机器人教育的意义能力风暴机器人就是一种非常典型的智能机器人。开展能力风暴机器人研究活动,旨在进一步加强未成年人思想道德教育,提高广大青少年的科学素养,发展自身潜能,引导更多的大中小学生关注科技、热爱科技、走进科技,涌现出更多的未来科学家和未来工程师。在积极推进基础教育和高等教育改革的过程中,渗透科学技术教育,努力培养大中小学学生的实践能力和创新精神。2.2 能力风暴
14、机器人的外形与结构2.2.1 能力风暴机器人的外形能力风暴机器人外形酷似UFO ,图 2.1 是能力风暴机器人的外观俯视图。图 2.1 能力风暴机器人的外观俯视图2.2.2 能力风暴机器人的结构AS-UII 是面向教育的新一代智能移动机器人。AS-UII 结构参见图 2.2 图2.2 AS-UII的内部结构图AS-UII 有一个功能强大的微处理系统和传感器系统,而且它还能扩展听觉、视觉、和触觉,成为真正意义上的智能机器人。AS-UII 的身体结构主要由控制部分、传感器部分和执行部分三大部分组成。每一部分介绍如下:(1控制部分控制部分是 AS-UII 机器人的核心组成部分,见图2.3 。精选学习
15、资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 34 页个人资料整理仅限学习使用图2.3 AS-UII的控制部分从图中我们可以清楚的看到AS-UII 控制部分的主要由以下两个部分组成:a. 主板位于 AS-UII “心脏”部位的控制部件是AS-UII 的大脑主板,它由很多电子元器件组成,跟人的大脑一样,主要完成接收信息、处理信息、发出指令等一系列过程。AS-UII 的大脑有记忆功能,这主要由主板上的内存来实现,至于“大脑”的分析、判断、决断功能则由主板上的众多芯片共同完成。b. 控制按键位于 AS-UII 背部的控制面板,是AS-UII 机器人
16、运行控制部件,具体按键分布如下图所示:图2.4 控制按键部分(2. 传感器部分AS-UII 机器人的传感器,如图2.5 所示。主要有以下五种传感器:a. 碰撞传感器 b. 红外传感器 c. 光敏传感器 d. 话筒 e. 光电编码器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 34 页个人资料整理仅限学习使用图2.5 AS-UII传感器部分(3. 执行部分AS-UII 机器人的执行部分是指机器人执行具体功能时所要用到的部件,如图2.6AS-UII 执行部分所示。LCD 图2.6 AS-UII执行部分a. 扬声器 b.LCDc.主动轮及其
17、驱动机构d. 从动轮 e. 直流电机(4AS-UII 的能源将 AS-UII 机器人头朝下翻过来,就能够看到它的底盘下安装有一个盒体,这就是电池。智能机器人的能量就来自于这个电池。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 34 页个人资料整理仅限学习使用2.3 能力风暴机器人的计算机硬件能力风暴通过微控制器 完成 AS- U的软件精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 34 页个人资料整理仅限学习使用开发, 具有基于流程图的编程语言和交互式C 语言(简称 JC,
18、便于用户自由发挥。2.4.2 机械扩展能力至个直流电机;至个步进电机交流伺服电机;至个继电器、电继阀、记忆合金;至个灯泡、电热丝、蜂鸣器。扩展实例:灭火风扇,机械手臂,装饰彩灯等。2.4.3 电子扩展能力至几百路位模拟输入;至几十路输出捕捉;路数字式输出。扩展实例:超声测距卡,红外测距卡,路伺服电机驱动卡,路输入输出。第 3 章数字指南针扩展卡设计3.1 数字指南针组成数字指南针由磁场检测模块、数字指南针接口卡和4 芯串口通讯排线三部分组成。(1. 磁场检测模块磁场检测模块通过检测地球磁场的变化得到当前所在的方位,然后将检测的方位数据通过通讯线发送到数字指南针接口卡。(2. 数字指南针接口卡数
19、字指南针扩展卡是“能力风暴”机器人系列扩展卡之一。可用于检测机器人的方位。数字指南针接口卡接收磁场检测模块发送的方位数据,然后将方位数据发送到ASBUS 数据总线,能力风暴机器人从ASBUS 总线读取方位数据。(3.4 芯串口通讯排线磁场检测模块通过 4 芯串口通讯排线将方位数据发送到数字指南针接口卡。3.2数字指南针扩展卡卡硬件介绍(1) UGN3503 a.功能框图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 34 页个人资料整理仅限学习使用图3.1UGN3503功能框图b.UGN3503特征极为敏感平坦响应到 23千赫低噪声输
20、出4.5 V 至6 V工作电压磁优化软件包表3.1UGN3503 电器特性特性符号实验条件限制最小值典型值最大值单位工作电压Vcc 4.5 6.0 V 电源电流Icc 9.0 13 mA 输出电压Vout B = 0 G2.25 2.50 2.75 V 灵敏度Vout B = 0 G to 900 G0.75 1.30 1.75 mV/G 带宽(-3dB0 BW 23 kHz 宽频输出噪音Vout BW = 10 Hz to 10 kHz 90 V 输出阻抗Rout 50 220 电器特性 TA=25,Vcc=5V (2)TLC0832 a.TLC0832封装图 3.2 TLC0832 封装精
21、选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 34 页个人资料整理仅限学习使用8位分辨率容易与微处理器接口或独立操作5伏电压参考单通道或单端或差分输入通道输入电压 05V 或单 5V 电源输入输出兼容 TTL 和 MOS 转换时间为 32s F-clock=250kHz 设计时可以与 ADC0832 或 ADC0831 互换调整误差为 1LSB b.TLC0832 原理框图图 3.3 TLC0832 原理框图c.TLC0832 多路复用器控制逻辑表表 3.2TLC0832 控制逻辑表多路复用器地址通道状态SGL/DIF ODD/EVE
22、N CH0 CH1 L L H H L H L H + + + + H 高电平, L 低电平; +或输入通道的极性选择精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 34 页个人资料整理仅限学习使用(389C51 引脚说明: a. 电源引脚 Vcc40 脚):典型值 5V。 Vss20 脚):接低电平。b. 外部晶振 X1、X2分别与晶体两端相连接。当采用外部时钟信号时,X2接振荡信号, X1接地。图 3.489C51 c. 输入输出口引脚: P0 口:I/O 双向口。作输入口时,应先软件置“ 1 ”。 P1 口:I/O 双向口。作输
23、入口时,应先软件置“ 1 ”。 P2 口:I/O 双向口。作输入口时,应先软件置“ 1 ”。 P3 口:I/O 双向口。作输入口时,应先软件置“ 1 ”。 d. 控制引脚: RST/Vpd、ALE/-PROG 、-PSEN 、-EA/Vpp 组成了 MSC-51的控制总线。RST/Vpd9脚):复位信号输入端 高电平有效)。第二功能:加 +5V备用电源,可以实现掉电保护RAM 信息不丢失。ALE/-PROG(30 脚):地址锁存信号输出端。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 34 页个人资料整理仅限学习使用第二功能:编程脉
24、冲输入。-PSEN29脚):外部程序存储器读选通信号。 -EA/Vpp(31 脚):外部程序存储器使能端。第二功能:编程电压输入端74HC244功能图图 3.5 74HC244 功能图表 3.3 引脚描述符号引脚描述1/OE 11号输入输出口 (低电平有效 1A0 2 1数据输入 0 2Y0 3 1总线输出 0 1A1 4 1数据输入 1 2Y1 5 2总线输出 1 1A2 6 1数据输入 2 2Y2 7 2总线输出 2 1A3 8 1数据输入 3 2Y3 9 2总线输出 3 GND 10 接地(0V 2A3 11 2数据输入 3 1Y3 12 1总线输出 3 2A2 13 2数据输入 2 1
25、Y2 14 1总线输出 2 2A1 15 2数据输入 1 1Y1 16 1总线输出 1 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 34 页个人资料整理仅限学习使用2A0 17 2数据输入 0 1Y0 18 1总线输出 0 2/OE 19 2号输入输出口 (低电平有效 Vcc 20 电源电压输出驱动能力: 15 个 LSTTL 门输出可直接连接到CMOS,NMOS 和 TTL 工作电压范围 26V 最小输入电流: 1mA 高抗干扰特性 CMOS 装置按照 JEDEC第 7A 标准定义(5硬件扩展总线 ASBUS能力风暴控制板设计了
26、ASBUS 总线见 图 3.7 ),简单类似于ISA 和 PCI 总线。采用堆叠式的 ASBUS 扩展卡可以方便扩展控制板的功能, 它分为 ASBUSA 和 ASBUSB 两部分。机器人主板上 ASBUSA 和 ASBUSB 插槽用于插各种功能的扩展卡。ASBUSA 和 ASBUSB 引脚图和各部分功能如下所示: 图3.6 ASBUS信号线ASBUSA 和 ASBUSB 分别有 14 个信号线。各信号线功能如下:PCO-PC7 :数据总线/RESET :复位信号/IRQ:外部中断输入脚VCC :+5V电源传感器的选择如图3所示霍尔器件 A探测x 方向的磁场, B探测y方向的磁场。某一时刻磁场方
27、向如图3所示,A、B 探测到的磁场分别为一 a和b。则单片机通过处理此二数据便可得到方位角 e 的值从而判定当前方位。图3.7 中虚线箭头所指方向为磁场方向,即地磁南极方向X轴正方向即为观察者面对的方向。目前市面上有多种霍尔器件。但大多数灵敏度较低,考虑到地磁的磁感应强度较为微弱我们慎重选用了UGN3503 型霍尔器件。此霍尔器件灵敏度较高,而且低噪输出。图3.8 霍尔器件的放置精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 34 页个人资料整理仅限学习使用(2AD转换器的选择由于传感器 UGN3503 采集到的信息是连续变化的模拟量
28、不能被单片机直接处理,必须把这些模拟量转换成数字量后才能够输入到单片机中进行处理,因此我们选用了AD转换器 TLC0832 。TLC0832 是串行通讯的 8脚2路AD转换器件在功能上和体积上都有优势。我们还可以把 51改成2051进一步缩小体积。而且串行通讯可以把它跟3503做到一起,这样数据传输不受距离限制。此转换器与处理器接口兼容性较好,同时又可以单机操作。在 5V电压供应下,可以输入 O 5V范围内电压。 TLC0831 有单一输入频道;TLC0832 已经具有多重输入频道。连续的输出被配置到接口标准变化寄存器或微处理器。(3传感器 UGN3503 与 A/D 转换 TLC0832的连
29、接图 3.9UGN3503与 TLC0832的连接(4A/D 转换 TLC0832与单片机 AT89C51 的连接图 3.10 TLC0832 与 AT89C51的连接转换过程和时序要求 : 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 34 页个人资料整理仅限学习使用当 CS为低电平时 DO为高阻状态。转换开始之前,CS必须为高电平,以确保完成转换。AT89C51 需在其 P11引脚产生总计 8 个时钟脉冲,以提供作为TLC0832的 CLK引脚的输入。当 CS为高电平时,最先出现在DO引脚的信号为转换值的最高位。AT89C51通
30、过P12管脚,从 TLC0832的 DO 引脚上连续移位读取转换数据。最初的4 个脉冲的下降沿分别移出上一次转换值的的第6、5、4、3 位,其中第 4 个时钟下降沿启动采样功能,采样TLC0832模拟输入信号的当前值。后续3 个时钟脉冲送给CLK引脚,分别在下降沿把上一次转换值的第 2、1、0 位转换位移出。在第8 个时钟脉冲的下降沿,芯片的采样/ 保持功能开始保持操作,保持操作持续到下一个第4 时钟的下降沿。转换周期由 TLC0832的内部振荡器定时,不受外部时钟的约束。一个转换完成需要17s。在转换过程中,单片机给CS一个低电平, DO 回到高阻态,下一次转换序列之前,至少延时 17s,否
31、则 TLC0832的转换过程将被破坏。(589C51与 74HC244 的连接图 3.1189C51 与 74HC244的连接(674HC244与 ASBUSA,ASBUSB 的连接(7 方案设计优缺点优点:本设计方案原理图比较简单,芯片比较少,因此扩展卡成本低、制作相对简单;另外,由扩展卡单片机直接发出控制信号控制,不占用主单片机,且所用硬件扩展总线端口较少,不影响扩展其它硬件该设备,开发成本较低因此把该仪器应用于一些简单设备中后可以在较小提高成本的条件下,为设备增加一项较为显著的功能,提高其性价比。缺点: UGN3503芯片灵敏度较低,并且本设计课题最低只能实现精度为2的测量。精选学习资料
32、 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 34 页个人资料整理仅限学习使用图 3.12 74HC244与 ASBUSA ,ASBUSB 的连接3.3.3 设计方案二(1 芯片选择V2XE 是一种以集成微处理器作为控制和接口的新型2轴罗盘和大地磁场传感器 l1l 。V2XE使用新型系统常用的 3V工作电源,具有功耗低、尺寸小、在各种条件下的抗噪声能力强、较大的测量灵敏感应区等优点。V2XE 结合了 PNI公司专利的磁场感应传感器和测量电路技术,不受补偿漂移的影响,在不同温度下的测量结果很稳定。V2XE 通过简单易行的标准SPI接口输入输出数据
33、。V2XE 的典型特性如下:功率低 (3v DC,2mA 输出;封装尺寸小 f25 4mm5 4mmx1 1 5mm ;高地磁感应 (001。 高地磁精度 (20。;数字接口输出 (3V标准SPI接口;具有高的磁场感应 (000015Gauss ;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 34 页个人资料整理仅限学习使用具有大的磁场量程 (11Gauss 。图3.13 方案二原理图3. 方案优缺点优点:原理图简单,芯片少。缺点: V2XE 传感器价格昂贵,且为串行通信,编程实现困难。经研究决定,采用设计方案一。3.4 绘制原理图
34、和印刷电路板在 EDA(Electronic Design Automation工具中, Protel 系列软件一直是比较常用的。Protel99SE 是应用于 Windows9X/2000/NT操作系统下的 EDA 设计软件,采用设计库管理模式,可以进行联网设计,具有很强的,数据交换能力和开放性及3D模拟功能,是一个 32 位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32 个信号层, 16个电源 - 地层和 16个机加工层。 Protel 99 SE(Second Edition 在原理图设计和电路仿真方面增加了许多小的功能,而其最主要的改进体现在
35、电路板设计系统方面。Protel99 SE 共分 5 个模块,分别是原理图设计、PCB 设计( 包含信号完整性分析 、自动布线器、原理图混合信号仿真、PLD设计。在本次设计中,即使用了Protel99 SE软件。下面简述产生PCB的步骤:(1新建一 SCH 文件,绘制整个电机控制电路的电路原理图(2另新建一 SCH文件,绘制用于产生网络表的扩展卡原理图(3在扩展卡原理图中定义元件的封装(4产生网络表(5新建一 PCB 文件,绘制出电路板边框,装载元件封装库并加载网络表,各元件封装图便会出现在该界面上。元件排列杂乱无章,且各元件之间用飞线连接。精选学习资料 - - - - - - - - - 名
36、师归纳总结 - - - - - - -第 22 页,共 34 页个人资料整理仅限学习使用(6手动调整元件的布局,使各元件摆放尽量整齐美观。(7进行布线,由于设计并不复杂,元件较少,可使用自动布线。(8对文字、个别元件、走线做些调整以及敷铜。(9检查核对网络。下图为最终绘制成的PCB 图:图 3.14 数字指南针扩展卡的PCB 图第 4 章 数字指南针扩展卡的软件调试4.1 单片机 C语言简介单片机的 C语言具有可移植性好,易懂易用的特点,因此,虽然汇编语言更精炼,但是使用 C也是大势所趋。故本课题使用C语言编程。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - -
37、 - -第 23 页,共 34 页个人资料整理仅限学习使用4.2 单片机 C语言编程按一下硬磁校验按钮 SWITCH2 将机器人沿顺时针方向就地旋转大于360 度以上,然后再按一下硬磁校验按钮。工作原理:单片机每秒采样20次,取出最大值最小值,求平均值,备用。4.2.1 串行 A/D 转换编程a.流程图见图 4.1 b.串行 A/D 转换程序#define uchar undersigned char uchar DataResult 。 /存放转换后数据sbit CLK=P10。 /输入输出时钟 CLK sbit DO=P11。 /数据输出 DO sbit CS=P12。 /片选信号/*外部
38、中断 0 服务子程序 */ void int0svr(void interrupt 0 using 1 uchar count,tmp,i。EX0=0。 /关闭外部中断 0 tmp=0。CS=0。 /CS置低,片选无效CLK=0。 /CLK 置低CS=0。 /片选有效_nop_(。 /执行一步空指令起到延时至少1.4s 的作用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 34 页个人资料整理仅限学习使用图 4.1A/D 转换原理图For(count=0。count CLK=1。 /CLK 置高 if(DO tmp+。tmp=tmp1
39、。 /左移一位CLK=0。 /CLK 置低 CS=0。 /CS置低,片选无效精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 34 页个人资料整理仅限学习使用DataResult=tmp。for(i=0。i /适当延时超过 17s_nop_(。EX0=1。/打开外部中断 0 Void main( CS=0。 /CS置低,片选无效EA=1。EA0=1。 /打开外部中断 0 /*无限循环,等待外部中断0 启动模数转换 */ while(1。 4.2.2 单片机处理转换后的数据编程将转换后的数据转换成角度值。以上程序实现 X 方向的 CH0数
40、据转换后实现Y 方向的 CH1 数据转换进行如下操作通过霍尔传感器 UGN3503 得到两个电压信号,由于在电路板上两个霍尔元件呈90度排列,所以得到两个相位相差 90度的两个电压信号,一个为正弦信号,一个为余弦信号,它们一个周期的图像如下图所示:图4.2 两个信号的函数图像由于UGN3503 霍尔传感器:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 34 页个人资料整理仅限学习使用(41 (42 其中正弦函数作为数据的主要处理对象,而余弦信号只是一个标志信号,对两者的处理过程具体如下所示:通过两个 UGN3503 霍尔元件得到一个
41、正弦信号,一个余弦信号,分别输入单片机,然后对正弦信号进行主要研究,对于一个电压信号会出现两个角度大小,这时再通过对余弦信号进行研究,为了便于说明,我们将平面分成0到180和180到360两个部分,对于 0到180,当余弦信号为正值时, 说明是较小的一个角度,当余弦信号为负值时,说明是较大的一个角度,说明的方法在上述的两图通过比较可以很容易的得出。以下为程序设计:通过上述的方框图进行如下的编程:float ma_1。设定浮动变量 ma_1 float ma_2。设定浮动变量 ma_2 float a。设定浮动变量 a float b。设定浮动变量 b float c。设定浮动变量 c void
42、 main( while(1。开始无限循环,当从句的值为1时,开始无限循环 c=ma_1/2.8。将ma_1的值进行处理,得到的值送给变量c if(ma_1 = 0。如果 ma_1的值为正数或 0,说明时 0到180 if(c=0;开始用有限个判断从句来求出角度值 a=0。 if(0c&c a=1。 if(0.01745c&c 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 34 页个人资料整理仅限学习使用 a=2。 . if(ma_2=0;最后用 ma_2的正负来判断该取角度的较大还是较小值 b =a。 Else; b =180-a
43、 。 Else;如果不是 0到180范围,那一定是 180到360的范围 if(-0.01745=c&c a=-1。 if(-0.03490=c&c a=-2。 if(-0.05233=c&c a=-3。 . if(ma_2;对于 180到360的角度取舍与上边是相同情况 b =360+a 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 34 页个人资料整理仅限学习使用 else b =180+|a| 。 4.2.3 显示电路编程a.原理图见图 4.3 b.编程显示#define DIGPORT XBYTE0x0200 / 定义字位
44、口#define WORDPORT XBYTE0x0100 / 定义字型口#define fosc 11.0592 / 晶振频率#define time( 2000 / 定时2000s uchar digbit。 / 字位uchar wordbuf3。 /字型码缓冲区精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 29 页,共 34 页个人资料整理仅限学习使用4.3显示电路原理图uint idata time0_tmp。/临时变量,用于计算定时uchar getcode(uchar i 。void display(void。 /显示函数/*主函数
45、*/ void main( DIGPORT=0。 /关闭显示TMOD=0x01 。 /T0工作方式 1 /*2ms定时设置 */ time0_tmp=65536-time0*fosc/12。TH0=(time0_tmp/256。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 30 页,共 34 页个人资料整理仅限学习使用TH1=(time0_tmp%256。TR0=1。ET0=1。EA=1。digbit =0x01。 / 从第一位数码管开始wordbuf2=getcode/100。wordbuf1=getcode%100/10。wordbuf0=g
46、etcode%10。while(1。 /*定时器 0终端服务子程序,定时动态扫描显示*/ void time0_int(void interrupt 1 TH0=(tine0_tmp/256。TL0=(tine0_tmp%256。display(。 /*根据共阴极字型编码表获取09*/ uchar getcode(uchar i uchar p。switch(i。 case 0: p=0x3F 。 break。 /*0*/ case 1: p=0x06 。 break。 /*1*/ case 2: p=0x5B 。 break。/*2*/ case 3: p=0x4F 。 break。/*3*
47、/ case 4: p=0x66 。 break。/*4*/ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 31 页,共 34 页个人资料整理仅限学习使用case 5: p=0x6D 。 break。/*5*/ case 6: p=0x7D 。 break。/*6*/ case 7: p=0x07 。 break。/*7*/ case 8: p=0x7F 。 break。/*8*/ case 9: p=0x67 。 break。/*9*/ default: break 。 return(p。 /*显示函数 */ void display(void
48、 uchar i。 switch (digbit case 1: i=0 。 break。case 2: i=1 。 break。case3: i=2 。 break。default: break 。 DIGPORT=0。 / 关闭显示WORDPORT=getcode(wordbufi 。 /送字型码DIGPORT=digpit 。 / 送字位码 由于本单片机只提供 8路输出,所以显示角度数据为-180180的角度。另外将数据送往主单片机,供其它接口使用。附表三角函数正弦值sin1=0.01745240643728351 sin2=0.03489949670250097 sin3=0.0523
49、3595624294383 sin4=0.0697564737441253 sin5=0.08715574274765816 sin6=0.10452846326765346 sin7=0.12186934340514747 sin8=0.13917310096006544 sin9=0.15643446504023087 sin10=0.17364817766693033 sin11=0.1908089953765448 sin12=0.20791169081775931 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 32 页,共 34 页个人
50、资料整理仅限学习使用sin13=0.22495105434386497 sin14=0.24192189559966773 sin15=0.25881904510252074 sin16=0.27563735581699916 sin17=0.2923717047227367 sin18=0.3090169943749474 sin19=0.3255681544571567 sin20=0.3420201833256687 sin21=0.35836794954530027 sin22=0.374606593415912 sin23=0.3907311284892737 sin24=0.406
51、73664307580015 sin25=0.42261826174069944sin26=0.4383711467890774 sin27=0.45399049973954675 sin28=0.4694715627858908sin29=0.48480962024633706 sin30=0.49999999999999994 sin31=0.5150380749100542sin32=0.5299192642332049 sin33=0.544639035015027 sin34=0.5591929034707468 sin35=0.57357643635104sin36=0.58778
52、52522924731 sin37=0.6018150231520483 sin38=0.6156614753256583 sin39=0.6293203910498375 sin40=0.6427876096865392 sin41=0.6560590289905073 sin42=0.6691306063588582 sin43=0.6819983600624985 sin44=0.6946583704589972 sin45=0.7071067811865475 sin46=0.7193398003386511 sin47=0.7313537016191705sin48=0.743144
53、8254773941 sin49=0.7547095802227719 sin50=0.766044443118978 sin51=0.7771459614569708 sin52=0.7880107536067219sin53=0.7986355100472928sin54=0.8090169943749474 sin55=0.8191520442889918sin56=0.8290375725550417 sin57=0.8386705679454239 sin58=0.848048096156426 sin59=0.8571673007021122 sin60=0.86602540378
54、44386 sin61=0.8746197071393957 sin62=0.8829475928589269 sin63=0.8910065241883678 sin64=0.898794046299167 sin65=0.9063077870366499 sin66=0.9135454576426009 sin67=0.9205048534524404 sin68=0.9271838545667873 sin69=0.9335804264972018 sin70=0.9396926207859083 sin71=0.9455185755993167 sin72=0.951056516295
55、1535 sin73=0.9563047559630354 sin74=0.9612616959383189 sin75=0.9659258262890683 sin76=0.9702957262759965 sin77=0.9743700647852352 sin78=0.9781476007338057 sin79=0.981627183447664 sin80=0.984807753012208 sin81=0.9876883405951378sin82=0.9902680687415704 sin83=0.992546151641322 sin84=0.9945218953682733
56、 sin85=0.9961946980917455sin86=0.9975640502598242 sin87=0.9986295347545738 sin88=0.9993908270190958 sin89=0.9998476951563913 sin90=1 第 5 章 结论能力风暴机器人上的数字指南针扩展卡的设计内容至此基本结束。能力风暴智能机器人是上海“广茂达”公司开发的一款基于Motorola 单片机应用技术的专门面向教育的机器人。它的强大的扩展功能为我们提供了广阔的思维空间,我们可以充分发挥想象力和创造力来进行扩展卡的设计。精选学习资料 - - - - - - - - - 名师归
57、纳总结 - - - - - - -第 33 页,共 34 页个人资料整理仅限学习使用要设计一块数字指南针扩展卡,首先应对能力风暴机器人有一个全面的了解,了解它的身体结构及各部分的功能;其次,要仔细研究它的工作原理和单片机控制原理,为设计扩展卡打好理论基础;再次,要充分运用各种渠道广泛搜集资料,对各种方案进行比较、筛选,确定最佳方案;最后,运用Protel99 SE软件绘出电路原理图并生成PCB板。总体来说,数字指南针扩展卡的设计对单片机和各种电子元器件的知识要求较高,只有掌握了这些知识,设计起来才会得心应手。我的整个设计是本着单片机系统设计的简单化原则来进行的,显的简单实用,软件编写也非常简单易懂。该数字指南针扩展卡可以直接插在机器人主板硬件扩展总线上,机器人的数字指南针,用于“能力风暴”大学版机器人在机器人足球比赛、灭火比赛和创意比赛中实时测量机器人所处的方位。总之,数字指南针扩展卡的设计过程是一个理论和实践相结合的过程。要在老师的指导下不断学习,不断摸索,才能一步一步得出成果。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 34 页,共 34 页