手动机器人自控系统设计毕业论文.doc_第1页
手动机器人自控系统设计毕业论文.doc_第2页
手动机器人自控系统设计毕业论文.doc_第3页
手动机器人自控系统设计毕业论文.doc_第4页
手动机器人自控系统设计毕业论文.doc_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

湖南农业大学东方科技学院湖南农业大学东方科技学院 全日制普通本科生毕业设计全日制普通本科生毕业设计 手动机器人自控系统设计手动机器人自控系统设计 the design of manual handling robot in autonomous system 学生姓名学生姓名:谢雨帆 学学 号:号:200941914423 年级专业及班级:年级专业及班级:2009级机械设计制造及其 自动化(4)班 指导老师及职称:指导老师及职称:康江 副教授 学学 院:院:理工学部 湖南长沙 提交日期:2013 年 05月 湖南农业大学东方科技学院全日制普通本科生 毕业设计诚信声明 本人郑重声明:所呈交的本科毕业设计是本人在指导老师的指导下, 进行研究工作所取得的成果,成果不存在知识产权争议。除文中已经注 明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的 作品成果。对本文的研究做出重要贡献的个人和集体在文中均作了明确 的说明并表示了谢意。同时,本论文的著作权由本人与湖南农业大学东 方东方科技学院、指导老师共同拥有。本人完全意识到本声明的法律结 果由本人承担。 毕业设计作者签名: 年 月 日 目 录 摘 要.1 关键词.1 1 前言.2 1.1 2012 年亚太机器人大赛比赛主题与规则.2 1.1.1 主题简述.2 1.1.2 规则简述.2 1.2 手动机器人的主要任务简介.3 2 机器人创意设计与方案.4 2.1 机器人一般组成.4 2.2 本次机器人设计原则.5 2.3 比赛策略.5 2.4 机械结构设计.5 2.5 方向盘的设计与讨论.6 2.6 棘轮机构的设计与讨论.7 3 机器人自控部分设计.8 3.1 总体方案设计.8 3.2 各模块硬件部分设计.9 3.2.1 中央处理模块.9 3.2.2 通信模块.12 3.2.3 lm629 驱动模块.13 3.2.4 单片机模块.19 3.2.5 驱动模块.20 3.2.6 电源模块设计.23 3.2.7 电机模块.24 3.2.8 底盘控制系统.26 3.2.9 升降系统及棘轮模块.27 3.2.10 输入模块.28 3.3. 辅助电路设计29 3.3.1 复位电路设计.29 3.3.2 过流保护与欠压保护电路设计.29 3.3.3 信号隔离部分部分电路设计.31 3.3.4 编码盘采样模块电路设计.31 3.3.5 按键模块电路图.32 3.4 硬件抗干扰措施.32 3.5 印刷电路板可靠性和抗干扰性分析32 4 算法论证.33 4.1 主控板程序流程图.33 4.2 底盘控制系统算法设计.38 4.2.1 程序流程图:.38 4.2.2 电子油门程序38 4.2.3 电子方向盘及差速器程序40 4.2.4 刹车程序及底盘方向判断程序41 5 调试工具和方法介绍.42 5.1 应用 protues 进行调试与仿真42 5.2 应用 iar embedded workbench for arm 进行编程调试43 6 结论.43 参考文献.44 附录.44 附录 1:主控板程序代码.44 附录 2:lm629 控制程序44 附录 3:总电路原理图(a0 图).44 附录 4:stm32 最小系统原理图 (a2 图)44 附录 5: 手动机器人总装配图(a1 图).45 1 手动机器人自控系统设计手动机器人自控系统设计 学 生:谢雨帆 指导老师:康 江 (湖南农业大学东方科技学院,长沙 410128) 摘 要:在国内外机器人竞赛热潮的背景下,作为人才新生主力军的大学生,自制机器人 参加各种比赛已经成为了大学校园里一道亮丽的风景线。本人作为湖南农业大学参赛代表之一, 参加了2012年亚太大学生机器人大赛的各项活动,参与了机器人的设计和制作整个过程,在创新 设计能力、动手能力和培养团队合作精神等方面都得到了很大提高。而本次设计的手动机器人是 一台自动化程度较高、控制精确灵活的机器人,这台手动机器人由行走模块、主控模块和机械手 臂等组成。需要完成一定难度的硬币精确抓放,搬运收集机器人并精确放置等工作(题目源于 2012年亚太大学生机器人大赛) 。这对机器人的竞争力、灵活性、准确性有较高要求。手动机器人 的控制系统采用基于 stm32的 cortex-m3内核的开发板作为底层控制模块,充分利用了该款单片机 高速处理能力与可靠性高的优势。 关键词:机器人;驱动;通信;pid 算法 ;pwm 调速; manual robot control system design author: xie yufan tutor: kang jiang (oriental science drive; communication; pid algorithm; pwm speed control; 1 前言 机器人涉及多学科交叉综合;人工智能、机器人技术、通信技术、传感器技术、 信息及编程技术、计算机学、材料学、电子技术、传动技术、接口技术、单片机原理、 精密机械技术、自动控制理论、伺服传动技术等诸多领域的技术集成。因此难度高、 技术综合性极强,能充分锻炼参与者多学科综合及设计能力和团队协作精神。2012年 全国大学生机器人大赛机器人主要任务是由手动操作者坐在手动机器人上控制机器人 抓取硬币放到硬币箱,自动机器人抓取篮子放到手动机器人运动区域,然后手动机器 人穿越障碍区搬运搜集机器人到自动机器人上,由自动机器人将搜集机器人送到包山 所在区域,待搜集机器人到达包山,手动机器人需抓取篮子回到出发点配合搜集机器 人完成“平安大吉” ,等搜集机器人将包山不同层的包子放到篮子里面并没有出现犯 规动作时宣布比赛结束,其中完成所有任务耗时少的一方获胜。 在这种互相干扰不大、主要比拼速度及精度的竞赛中,制作的机器人越稳定,越 高速,就越有可能取得比赛的胜利。本人参与设计制作的手动机器人就是参加该项比 赛的机器人之一。 1.1 2012 年亚太机器人大赛比赛主题与规则 1.1.1 主题简述 此次大赛的主题为“peng on dai gat” ,中文意思为“平安大吉(包山斗智显平 安) ” ,源于民俗活动,旨在祈求平安。 1.1.2 规则简述 每只参赛队伍要求有三台机器人:一台手动机器人,一台自动机器人和一台收集机 器人。首先,手动机器人从硬币架上拿起硬币投到硬币箱中。然后,自动机器人启动 把公共区的篮子搬到手动区并回到启动区,与此同时,手动机器人需要把收集机器人 搬起运到自动机器人上,由手动机器人把收集机器人搬运到自动机器人上。最后,收 集机器人爬上小岛,把底层和中间层的包子抓取并放到篮子里,再由手动机器人把收 3 集机器人托起抓取顶层包子放到篮子里,完成任务。期间不能违反比赛规定的限制要 求,用时最少完成任务或得分最多的获胜。 图 1 比赛场地规格 fig.1 specifications of game field 1.2 手动机器人的主要任务简介 手动机器人的主要任务有: 1、手动机器人启动后需要从硬币架拿起硬币并放入硬币箱; 2、在没犯规的前提下,手动机器人必须穿越隧道,到达搜集机器人所在区域并 搬运搜集机器人至自动机器人 a(5 区)区域(见图 2) ; 3、手动机器人搬运放在手动区的篮子(4 区)按照图中所示路线回到启动区(6 区) ,并将篮子放置在小岛上的放篮区; 4、手动机器人托起 搜集机器人夹取包山最顶层包子,手动机器人和搜集机器人 之间通过非射频方式通信; 5、在比赛规定时间(三分钟)的最后一分钟内,手动机器人可以直接从底层开 始夹取包子; 6、当搜集机器人完成每层至少一个包子的夹取和投放,比赛立即宣布结束,完 4 成规定任务并耗时最短的获胜,未完成任务按照得分多少衡量胜负。 规则限定:手动机器人抓取硬币并将硬币放置到硬币箱中,完成速度较快的另外 两台机器人优先启动,这就要求手动机器人稳定性高、速度快、定位精准,所以对手 动机器人的要求更高。 图 2 手动机器人行动路线示意图 fig.2 schematic diagram of manual robot walking route 2 机器人创意设计与方案 2.1 机器人一般组成 机器人一般由执行机构、驱动装置、检测装置和控制系统和复杂机械等组成。 执行机构即机器人本体,其臂部一般采用空间开链连杆机构,其中的运动副(转 动副或移动副)常称为关节,关节个数通常即为机器人的自由度数。根据关节配置型 式和运动坐标形式的不同,机器人执行机构可分为直角坐标式、圆柱坐标式、极坐标 式和关节坐标式等类型。 驱动装置是驱使执行机构运动的机构,按照控制系统发出的指令信号,借助于动 力元件使机器人进行动作。它输入的是电信号,输出的是线、角位移量。机器人使用 的驱动装置主要是电力驱动装置,如步进电机、伺服电机等,此外也有采用液压、气 动等驱动装置。 检测装置的作用是实时检测机器人的运动及工作情况,根据需要反馈给控制系统, 与设定信息进行比较后,对执行机构进行调整,以保证机器人的动作符合预定的要求。 控制系统有两种方式。一种是集中式控制,即机器人的全部控制由一台微型计算 5 机完成。另一种是分散式控制,即采用多台微机来分担机器人的控制,如当采用上、 下两级微机共同完成机器人的控制时,主机常用于负责系统的管理、通讯、运动学和 动力学计算,并向下级微机发送指令信息;作为下级从机,各关节分别对应一个 cpu,进行插补运算和伺服控制处理,实现给定的运动,并向主机反馈信息。 2.2 本次机器人设计原则 对于此次比赛的机器人来说,主要考验的是机器人的行走路线、机器人运行的稳 定性、快速性、准确性以及可操作性。通过总结往届的经验,小组制定了如下机器人 设计原则。 1)机器人必须与大赛的主题相吻合,创意独到,在遵循规则的前提下能巧妙地合 理地利用规则。 2)机器人必须具有较高的速度(含加速度),比赛中谁的速度快,谁就能在更的时 间内完成组装搬运工作,抢得比赛的先机,因此小组制定了速战速决的战术。 3)机器人必须稳、准。指机器人运动的机动性、稳定性和组装水灯的准确性。速 度只有与机动性、灵巧性和准确性结合才能相得益彰。才能在竞争激烈,赛况瞬息万 变的比赛中获得胜利。 4)机器人应具有高智能。目前大部分自动机器人尚处于预编程的水平上,无法达 到高要求的定位标准。如果机器人的智能水平能够有所提高,能够正确的处理瞬息万 变的赛场信提高定位能力,那么就能更快更好的完成组装和搬运。 5)机器人代表队的配合默契程度。指自动机器人、手控机器人的配合要好,因为 比赛不是比拼单台机器人的功能,小组特别强调机器人团队之间的协同作战。 2.3 比赛策略 在比赛一开始手动机器人就以最短路线运动到硬币所在区域,并抓取硬币投放到 硬币箱中,在抓取过程中可以用启动按钮控制机器人走自动程序精确定位并抓取,这 样有效地为自动机器人运行争取了部分时间,比赛过程中不同机器人之间使用非射频 方式进行通信,可以更好的协调好不同机器人之间完成相应任务。 2.4 机械结构设计 整个手动机器人的主要框架结构由壁厚为 1.2mm、2525mm 的不锈钢方管焊接 而成。底盘采用后驱形式,两后轮单独用电机驱动,两前轮采用万向轮结构。这个轮 系结构当中,当左右后轮电机转速不同时,带动不同的左右后两轮的转速,而前轮只 是起支撑作用,从而实现校手动机器人的转弯,电机与驱动轮之间我们采用链条传动 方式。由于手动机器人在亚太大学生机器人大赛中要抬起一台和自身相当重的自动机 6 器人,而普通的电机达不到自锁能力,所以我们额外给升降结构增加一个棘轮机构来 实现普通电机的这个缺陷。对于升降机构,为了增强它的承载能力,我们借鉴电梯的 结构,设计了一个内滑式滑块。图 3 为手动机器人的整体简易三维图。 图 3 手动机器人整体三维图 fig.3 manual machine 3d figure as a whole 2.5 方向盘的设计与讨论 为了把方向盘转动的角度传动转化为编码器的信号,我们设计方向盘时必须充分 考虑如何把方向盘与编码器连接起来才能使方向盘的转动与编码器一致,其次,要在 方向盘上安装了按键方便操作,而且还要设计方向盘具有自动回正装置,即当操作者 从方向盘松开手时,方向盘会自动回到初始位置使编码器转角信号归零。方向盘机构 总体图如图 4-5 所示 图 4 方向盘与编码器的连接方式 7 fig.4 steering and connection way of the encoder 8 图 5 方向盘安装后的实物图 fig.5 physical picture of the steering wheel is installed 2.6 棘轮机构的设计与讨论 手动机器人要通过升降平台抬起 15kg 的采集机器人,在上升或者下降阶段我们 只要控制升降电机,但是升降平台停止在某一高度时,即保持抬起采集机器人停在某 一高度时,伺服电机是处于锁死状态。此时电机并没有停止工作而是通过后轴编码器 反馈信息和 pid 算法调整反复运行电机锁死在了这个位置。在带有较大负载下电机处 于锁死状态是非常容易烧毁电机。所以这需要我们想办法使升降机构抬起一定高度时 机械锁死并关闭电机。为了解决这个问题,我们采用棘轮机构: 在抬起采集机器人停在某一高度时采用棘轮锁死其位置,当其要升降时机将其打开, 然后启动升降电机从而实现升降。 图 6 棘轮机构实物图 fig.6 ratchet physical figure 9 3 机器人自控部分设计 3.1 总体方案设计 本设计是基于 stm32 单片机的手动机器人控制系统。本系统主要由中央处理模块、 直流电机驱动模块、电子方向盘模块、电子刹车模块、棘轮模块、lm629 模块、单片 机模块、串口模块、电子油门模块、通信模块、与电源模块等模块组成。中央处理模 块是整个系统的核心。它与其它各个模块之间通过不同电路和接口协议进行相连。电 子方向盘模块、电子油门模块、电子刹车、按键模块等传感器输入部分对系统外界信 息进行采集和处理后,将数据通过电平信号、pwm 信号等方式发送到中央处理模块。 然后按照通信协议,接口协议等要求和其他模块进行信息交换,由中央处理模块根据 软件设计中的流程图和所设计的算法,对数据进行分析与处理。从而得到相关的最优 输出操作,通过输出 pwm(pulse width modulation,脉宽调制)波的方式向单片机 模块发命令,单片机模块再通过串口通信控制 lm629 模块从而控制电机的运行状态。 通过电平控制启动模块的状态。从而达到对手动机器人各部分的控制。其对应的系统 方框图如图 7 所示。 图 7 系统方框图 fig.7 schematic block diagram 10 3.2 各模块硬件部分设计 3.2.1 中央处理模块 中央处理模块是整个手动机器人的核心环节。它是实现信息处理、命令输出与智 能算法等的平台。本设计对中央处理模块有以下三种方案: 方案一:采用 atmel 公司研制的基于 avr risc 结构的 8 位低功耗 cmos 微 处理器 atmega128 单片机作为主控板。avr 单片机是高速嵌入式单片机,数据处 理速度快、中断响应迅速。其次,avr 单片机高性能、低功耗,且其快速的存取寄 存器组、单周期指令系统,很大程度上优化了目标代码所占用的存储空间,也在一定 程度下提高了程序的执行效率,部分型号 flash 非常大,特别适用于使用高级语言 进行开发。 但是 avr 系列单片机都不具备硬件正交增量编码器功能。 方案二:采用 arm 公司研制的基于最新 cortex-m3 内核的 32 位 arm7 微处理器 stm32 开发板。stm32 系列基于专求高性能、低成本、低功耗的嵌入式应用专门设 计的 arm cortex-m3 内核。stm32 专门为工业控制设计拥有比 avr 单片机更高的 性能且工业控制硬件功能更加丰富(具有 dma、硬件正交增量编码器等) ,并且开发 工具齐全,开发环境更优越。 方案三:根据手动机器人控制性能的要求,在使用方向盘控制底盘电机的同时, 按键也能控制升降电机和气动装置。如果仅仅使用一块 stm32 芯片执行所有程序会 造成程序编写复杂、芯片负载过高(堆栈溢出) 、响应速度缓慢、端口配置冲突(如 tim8 和 tim1 不能同时使用)等问题。这与机器人的设计要求不符故采用 2 块 stm32 芯片做分级系统。共同构成中央处理单元从而具有并行处理的能力。这样在串 口通信的前提下既保证了手动机器人各个模块控制灵活性,又同时保证了中央处理模 块的响应速度和处理能力。 由于 stm32 单片机具有更优良的性能,同时分级系统拥有更高效的控制性能和 并行处理能力,所以我们最终选择方案三作为本设计的中央处理模块。 本设计采用 arm 公司研制的 stm32。stm32 系列基于专为要求高性能、低成 本、低功耗的嵌入式应用专门设计的 arm cortex-m3 内核。频率达到 72mhz,是同 类产品中性能最高的产品;以 16 位产品的价格得到比 16 位产品大幅提升的性能是 16 位产品用户的最佳选择。stm32 功耗 36ma,是 32 位市场上功耗最低的产品,相当 于 0.5ma/mhz。cortex-m3 是一款低功耗处理器,具有门数目少,中断延迟短,调试 成本低的特点,是为要求有快速中断响应能力的深度嵌入式应用而设计的。该处理器 采用 armv7-m 架构。cortex-m3 处理器整合了以下组件: 11 (1) armv7-m:thumb-2 isa 子集,包含所有基本的 16 位和 32 位 thumb-2 指令, (2) 硬件除法指令,sdiv 和 udiv(thumb-2 指令) (3) 处理模式(handler mode)和线程模式(thread mode) (4) 可中断-可继续(interruptible-continued)的 ldm/stm,push/pop,实现低中 断延迟。 (5) 自动保存和恢复处理器状态,可以实现低延迟地进入和退出中断服务程序 (6) 支持 armv6 架构 be8/le (7) armv6 非对齐访问 (8) 嵌套向量中断控制器(nvic) 。它与处理器内核紧密结合实现低延迟中断处理, 并 具有以下特性: 1、 外部中断可配置为 1240 个 2、优先级位可配置为 38 位 3、 中断优先级可动态地重新配置 4、 优先级分组。分为占先中断等级和非占先中断等级 5、 支持末尾连锁(tail-chaining)和迟来(late arrival)中断。这样,在两个中断 之间没有多余的状态保存和状态恢复指令的情况下,使能背对背中断(back-to-back interrupt)处理。 (9) 处理器状态在进入中断时自动保存,中断退出时自动恢复,不需要多余的指令。 图 8 stm32 外形 fig.8 the stm32 shape figure 12 图 9 stm32 引脚图 fig.9 stm32 pin diagram 3.2.1.1 stm32 最小系统 最小系统电路是处理器芯片能工作所必需的电路结构,包括电源电路、复位电路、 晶振以及调试接口(这里是 jlink 接口) 。因为 stm32 内部包含 128kb 的 flash 以 及 32kb 的 sram,满足设计需要,所以不再进行存储器扩展。如下图所示是 stm32f103vet6 的最小工作系统原理图。 bt1 cr1220 holder 1 43 2 b1 reset r2 10k +3v3 c5 100nf c4 20pf c3 20pf x2 8mhz (with socket) r1 1m 41 32 x1 mc306-g-06q-32.768 (manufacturer jfvny) c1 10pf c2 10pf mb525211 stm32f10x-128k-eval mcu l1 bead c55 10uf c56 10nf jp9 +3v3 c60 100nf c59 100nf c58 100nf c61 100nf vdd c57 100nf pb5 pb6 pb7 pa4 pa5 pa6 pa7 r86 10k +3v3 2 3 1sw1 r87 10k +3v3 2 3 1 sw2 pa11 pa12 pe0 pd0 pd1 pa9 pa10 pd3 pd4 pd5 pd6 pc10 pc11 pb12 pb13 pb14 pb15 pb10 pb11 pc12 pe14 reset# pb8 pc5 pa0 pb9 pc13 pd8 pd9 pd10 pd11 pd12 pc6 pc7 pc8 pc9 r15 0 pe15 pe9 pe8 pe11 pe10 pe12 pe13 pa1 pc1 pc2 pc3 pd13 pd2 pe1 pb1 pb2 pa15 pb3 pd14pb0 r83 47 r84 0 pc4 pe2 pe3 pe4 pe5 pe6 pa3 pa13 pa14 pb4 pc0 pa2 pa8 pd7 pd15 pe7 pc14 pc15 osc_in osc_out boot0 vdda vdd tp8 mco mc_ena/wakeup mc_enb joy_down mc_busvoltage spi1_nss spi1_sck spi1_miso spi1_mosi lcd_backlight usart0_tx usart0_rx usb_dm usb_dp tms/swdio tck/swclk tdi mc_pfcsync1 mc_pfcpwm tdo/swo trst temperaturesensor_int temperaturesensor_scl temperaturesensor_sda audio_pwm user_button smartcard_io smartcard_rst smartcard_clk lcd_clk lcd_do lcdi_di lcd_cs reset# vdd lcd_wr mc_enindex mc_dissipativebrake joy_sel smartcard_3/5v mc_ntc usb_disconnect joy_up usart1_rx usart1_tx usart1_rts usart1_cts mc_pfcsync2 can_tx can_rx mc_emergencystop smartcard_off mc_wl mc_vh mc_vl mc_uh mc_ul smartcard_cmdvcc trace_d3 trace_d2 trace_d1 trace_d0 trace_ck joy_left joy_right mc_wh lcd_rs anti_tamper microsdcard_cs irda_rx irda_tx led4 led3 led1 mic_in potentiometer mc_currentc mc_currentb mc_currenta/bnc mc_heatsinktemperature led2 pa4 pa5 pa6 pa7 pa11 pa12 pa9 pa10 pa0 pa1 pa15 pa3 pa13 pa14 pa2 pa8 pb5 pb6 pb7 pb12 pb13 pb14 pb15 pb10 pb11 pb8 pb9 pb1 pb2 pb3 pb0 pb4 pc10 pc11 pc12 pc5 pc13 pc6 pc7 pc8 pc9 pc1 pc2 pc3 pc4 pc0 pc14 pc15 pd0 pd1 pd3 pd4 pd5 pd6 pd8 pd9 pd10 pd11 pd12 pd13 pd2 pd14 pd7 pd15 pe0 pe14 pe15 pe9 pe8 pe11 pe10 pe12 pe13 pe1 pe2 pe3 pe4 pe5 pe6 pe7 pa015 pa015 pb015 pb015 pc015 pc015 pd015 pd015 pe015 pe015 vbat vref+ vref- c77 10nf tp11 vref 3 2 1 jp11 +3v3 tp12 gnd tp13 gnd tp14 gnd tp15 gnd osc_in 12 osc_out 13 nrst 14 pa0-wkup/usart2_cts/ adc_in0/tim2_ch1_etr 23 pa1/usart2_rts/adc_in1 / tim2_ch2 24 pa2/usart2_tx/adc_in2/ tim2_ch3 25 pa3/usart2_rx/adc_in3/ tim2_ch4 26 pa4/spi1_nss/ usart2_ck/adc_in4 29 pa5/spi1_sck/adc_in5 30 pa6/spi1_miso/adc_in6/ tim3_ch1 31 pa7/spi1_mosi/adc_in7/ tim3_ch2 32 pb0/adc_in8/tim3_ch3 35 pb1/adc_in9/tim3_ch4 36 pb2 / boot1 37 pb10/i2c2_scl/ usart3_tx 47 pb11/i2c2_sda / usart3_rx 48 pb12/spi2_nss / i2c2_smbal/ usart3_ck / tim1_bkin 51 pb13/spi2_sck / usart3_cts / tim1_ch1n 52 pb14/spi2_miso / usart3_rts / tim1_ch2n 53 pb15/spi2_mosi tim1_ch3n 54 pa8/usart1_ck/ tim1_ch1/mco 67 pa9/usart1_tx/ tim1_ch2 68 pa10/usart1_rx/ tim1_ch3 69 pa11 / usart1_cts/ canrx / usbdm (2)/ tim1_ch4 70 pa12 / usart1_rts/ cantx / usbdp (2)/ tim1_etr 71 pa13/jtms-swdat 72 not connected 73 pa14/jtck-swclk 76 pa15/jtdi 77 pb3/jtdo 89 pb4/jtrst 90 pb5/i2c1_smbal 91 pb6/i2c1_scl/ tim4_ch1 92 pb7/i2c1_sda/ tim4_ch2 93 boot0 94 pb8/tim4_ch3 95 pb9/tim4_ch4 96 pe2 1 pe3 2 pe4 3 pe5 4 pe6 5 pc13-anti_tamp 7 pc14-osc32_in 8 pc15-osc32_out 9 pc0/adc_in10 15 pc1/adc_in11 16 pc2/adc_in12 17 pc3/adc_in13 18 pc4/adc_in14 33 pc5/adc_in15 34 pe7 38 pe8 39 pe9 40 pe10 41 pe11 42 pe12 43 pe13 44 pe14 45 pe15 46 pd8 55 pd9 56 pd10 57 pd11 58 pd12 59 pd13 60 pd14 61 pd15 62 pc6 63 pc7 64 pc8 65 pc9 66 pc10 78 pc11 79 pc12 80 pd0 81 pd1 82 pd2/tim3_etr 83 pd3 84 pd4 85 pd5 86 pd6 87 pd7 88 pe0/tim4_etr 97 pe1 98 u1a stm32f103vbh6 vss_5 10 vssa 19 vref- 20 vref+ 21 vdda 22 vss_4 27 vss_1 49 vss_2 74 vss_3 99 vbat 6 vdd_5 11 vdd_4 28 vdd_1 50 vdd_2 75 vdd_3 100 u1b stm32f103vbh6 图 10 stm32 最小系统 fig.10 stm32 minimum system 13 3.2.2 通信模块 通信方式的选择:由于串行通信方式具有使用线路少,成本低,特别是在远程传 输时,避免了并行通信中多条线路的特性不一致,因而被广泛的采用。在串行通信时, 要求通信双方都采用一个标准接口,使不同设备可以方便的连接起来通信。rs-232- c(recommended standard,一种推荐串行通信接口标准)是目前最常用的一种串行通 信接口。由于串口通信的优势和普及性,其技术已经趋于普及和成熟, 本设计亦选择串口通信方式。在本设计中串口通信模块使用在中央处理模块内部 分级系统之间通信和单片机模块 pc 通信分别使用了 max232 和 max323 两种芯片 做电平转换,因其功能相似、端口相同、典型电路一致故选取 max232 介绍。 max232 芯片是美信公司为 rs-232 标准串口设计的接口电路,使用+5v 单电源供电。 max232 芯片的作用是将单片机输出的 ttl 电平转换成 pc 机能接收的 232 电平或将 pc 机输出的 232 电平转换成单片机能接收的 ttl 电平。内部结构基本可分三个部分: 第一部分是电荷泵电路。由 1、2、3、4、5、6 脚和 4 只电容构成。功能是产生 +12v 和-12v 两个电源,提供给 rs-232 串口电平的需要。 第二部分是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通 道。其中 13 脚(r1in) 、12 脚(r1out) 、11 脚(t1in) 、14 脚(t1out)为第一 数据通道。8 脚(r2in) 、9 脚(r2out) 、10 脚(t2in) 、7 脚(t2out)为第二数 据通道。ttl/cmos 数据从 t1in、t2in 输入转换成 rs-232 数据从 t1out、t2out 输出;dp9 插头的 rs-232 数据从 r1in、r2in 输入转换成 ttl/cmos 数据后从 r1out、r2out 输出。 第三部分是供电。15 脚 dng、16 脚 vcc(+5v) 。图 11 为 max232 接线图。其 中 p8 为向外传输数据的接口。 14 图 11 max232 电路图 fig.11 circuit diagram of max232 3.2.3 lm629 驱动模块 4.2.2.1 伺服模块组成:采用 atmega32l 作为模块主芯片,lm629 作为辅助芯片(主 要用于 pid 调节) ,编码盘来采样的数据来组合成一个电机伺服系统。 图 12 伺服系统模块原理图 fig.12 servo system module schematic 3.2.3.1 lm629 的功能和工作原理 lm629是美国半导体公司(national semiconductor)生产的一款专用运动控制 器,它是全数字式的专用运动处理器。一个芯片内集成了数字式运动控制器的全部功 能,使得设计一个快速、准确的运动控制系统的任务变得轻松、容易。lm629是nmos 结构,采用28引脚双列直插式封装(见图2) ,使用6mhz或者8mhz和5v电源工作。 图 13 lm629 fig.13 lm629 3.2.3.2 lm629 特性 (1) 内部有 32 bit 的位置、速度和加速度寄存器; (2) l6 bit 可编程数字 pid 控制器; (3) 可编程微分项采样时间间隔; 15 (4) 8 bit 分辨率的 pwm 输出; (5) 内部梯形速度图发生器; (6) 可以进行位置和速度控制; (7) 速度、位置和数字 pid 控制器参数可以在控制过程中改变; (8) 实时可编程中断; (9)可对增量式光电编码盘的输出进行 4 倍频处理; 3.2.3.3 dc 电气特性 表 1 lm629 dc 电气特性 table1 dc electricity characteristic of the lm629 最小值典型值最大值单位单位 供电 4.55.05.5v 消耗电流 110ma 输入逻辑高电平 2.0v 输入逻辑低电平 0.8v 输入电流 -10sa 输出逻辑高电平 2.4500v 输出逻辑低电平 0.4v 输出电流 -1010a 3.2.3.4 ac 电气特性 表 2 lm629 ac 电气特性 table2 ac electricity characteristic of the lm629 3.2.3.5 引脚定义 最小值典型值最大值单位单位 输入时钟 fclk 668mhz 采样信号周期 16fclks 驻留时间 8fclkv 时钟脉冲宽度 57ns 时钟周期 166ns 复位脉冲宽度 8fclks 16 图 14 lm629 引脚定义图 fig.14 lead feet definition of the lm629 表 3 lm629 引脚定义 table3 lead feet definition of the lm629 lm629 引脚引脚名字 i/o 应用说明应用说明 1ininput 编码 in 信号 2ainput 编码 a 信 3binput 编码 b 信 4-11d7-d0input 数据端口 12csio 读写片选 13rdinput 读控制端口 14gndgnd 电源地 15wrinput 写控制端口 16psinput 数据命令的片选控制端口 17hioutput 中断输出端口 18pwm_singoutput 方向信号输出端口 19pwm_magoutput pwm 信号输出端口 20-25nc 不用 26clkoutput 系统时钟信号输入 27rstoutput 复位信号输入端口 28vddpower 电源端口 3.2.3.6 lm629 工作原理 如图 4,利用个增量式光电编码盘来反馈电动机的实际位置。来自增量式光电编 码盘的位置信号 a,b 经 lm629 四倍频,提高分辨率。a,b 逻辑状态每变化一次, lm629 内的位置寄存器加(减)1。编码盘的 a,b,c 信号同为低电平时,就产生一个 index(见图 14)信号送入 index 寄存器,记录电动机的绝对位置。实现对电机控制方 式: 在位置控制方式时,单片机送来加速度、最高转速、最终位置数据, lm629 利 用这些数据计算运行轨迹如图 6(a)所示。在电动机运行时,上述参数允许更改,产 生如图 6(b)所示的轨迹。 速度控制方式时,电动机用规定的加速度加速到规定的速度,并一直保持这个速 度,直到新的速度指令执行。如果速度有扰动,lm629 可使其平均速度恒定不变。 17 图 14 系统框图 fig.14 the system block diagram 图 15 编码盘信号 fig.15 quadrature encoder signals 图 16 运行轨迹 fig.16 movement track 3.2.3.7 运动轨迹参数 位置控制时,lm629要求主处理器提供轨迹参数速度、速度和位置值,并且这 些参数必须转化为lm629所要求的形式。假设编码器为500线,要求加速度为01 rs 、最大速度为02 rs、完成转两圈的位置控制。其轨迹曲线如图16(a)。 lm629所要求的各参数计算过程如下:由于lm629对其进行了4倍频,所以编码器处 理结果如下: 设pc为需向lm629 写入的目标位置值,其单位为counts(编码器脉冲数)设l为编 码器500线数有l=5004=2000;故有pc=l期望转数 =2000100=200000=0x00030d40,即电机每转一圈,lm629计2000个数。 (1)采样周期: t 为采样时间= 20486000000=341s。 (2)速度: 设v为需向lm629 写入的目标速度值,单位为counts/sample。 故有v=lt(期望速度/60)=20003410.000001(600/60) =6.82counts/sample。 折合成16进制数:v=1.36465536=89391.10489391=0x004432ef。 (3)加速度: 18 设a (假设为每分钟600转)为需向lm629 写入的目标加速度值,单 counts/sample2,故有a=lt期望加速度 =20003410.0000013410.00001=0.00022885counts/sample2。 折合成16 进制数:a=0.0000457765536=14.997913615=0x0000000f。 3.2.3.8 运动控制字 表 4 lm629 运动控制字 table4 trajectory control commands of the lm629 位0123456789101112131415 说 明 相 对 位 置 装 位 置 相 对 速 度 装 速 度 相 对 加 速 装 加 速 度 不 用 不 用 pw m= 0 快 停 慢 停 速 度 方 式 正 转 不 用 不 用 不 用 轨迹参数编程时,以ltrj命令引导,紧随其后为两个字节的控制字。用户能过动 动指令输入加速度、速度、位置、控制方式、转向、停车方式等数据。数据有前2个 字节的内容如表4所列。其后紧随着的是加速、速度、位置参数数据。其中加速度和 速度都是32位数据,它们的低16数据都是小数位。位置数据是30位有符号数。 3.2.3.9 pid 参数 表 5 pid 控制字 table5 filter control word bit allocation of the lm629 位0123456789101112131415 积 分 极 限 kdkikp不 用 不 用 不 用 不 用 00000000 10000000 11000000 11100000 .0 说 明 655 36 1111110 lm629 内部有一个数字 pid 控制器,用来控制闭环系统。数字 pid 控制器采用增 量式 pid 控制算法,所需的 kp、ki、kd数据由 atmega32 单片机提供。数据的前 2 个 字节中,低字节内容如表所列;高字节存放微分采样时间间隔数据,其数据格式如表 5 所示。随后是参数数椐,每个数据占 2 个字节。顺序为 kp、ki、kd和积分极限。 3.2.3.10 lm629 状态和信息 19 表 6 lm629 的信号寄存器位内容 table 6 signals register bit allocation of the lm629 位0123456789101112131415 说 明 下 一 个 inde x 命 令 错 中 断 运 动 完 成 中 断 inde x 脉 冲 中 数 位 置 信 息 错 中 断 位 置 超 差 中 断 断 点 到 中 断 停 车 8 位 输 入 误 差 停 运 动 完 成 速 度 方 式 正 转 执 行 ud f 装 加 速 发 生 中 断 atmega32 单片机可以写 rdstat 和 rdsigs 指令到 lm629,便可以读出 lm629 的状 态和寄存器的数据。如表 6。通过判断中断的类型,可以更好的 lm629 进行相应的操 作。 例如当位置超差的时候,lm629 的 hi 端口便会变为低电平,这时单片机的外部中断便 可以采样到中断的信号,然后通过写入 rdstat 和 rdsigs 的指令,然后读出具体的中 断源,来停止对电机的控制。 3.2.3.11 lm629 控制字 atmega32l 通过写一下指令来实现对 lm629 的控制。lm629 有 22 条指令,单片机只要通 过这些指令(表 7)可以对 lm629 进行控制,数据传送和了解状态信息。 表 7 lm629 的用户命令集 table 7 user command set of the lm629 命令类型说明十六进命令数据字节数据字节 reset初始化 lm628 复位000 port8初始化8 位的 pwm050 port12初始化12 位的 pwm060 dfh初始化定义原点020 sip中断设置 index 位置030 lpei中断错误中断1b2 lpes 中断错误停止1a2 sbpa中断设置绝对断点204 sbpr中断设置相对断点214 mski中断屏蔽中断1c2 rsti中断复位中断1d2 lfil装载下载 pid 参数1e2 到 10 udf装载使 pid 参数有效040 lirj轨迹下载轨迹参数1f2 到 14 stt轨迹启动电机010 rdstat反馈读状态无1 rdsigs反馈读寄存器0c2 rdip反馈读 index 位置094 20 rddp反馈读预定的位置084 rdrp反馈读实际的位置0a4 rddv反馈读预定的速度074 rdrv反馈读实际的速度0b2 rdsum反馈读积分与数据0d2 3.2.3.12 lm629 控制部分电路设计 图17 lm629的原理图 fig.17 schematics of lm629 3.2.4 单片机模块 在伺服器领域广泛采用 msp430、avr 等 8 位单片机。本设计亦采用 avr 系列单片 机 atmega32l 作为模块处理器1。 3.2.4.1 atmega32l 产品特性 (1) 它是一种高性能、低功耗的 8 位 avr 微处理器 (2) 先进的 risc 结构 131 条指令 ,大多数指令执行时间为单个时钟周期, 32 个 8 位通用工作寄存器 全静态工作 工作于 16 mhz 时性能高达 16 mips 只需 两个时钟周期的硬件乘法器。 (3) 非易失性程序和数据存储器 32k 字节的系统内可编程 flash 擦写寿命: 10,000 次具有独立锁定位的可选 boot 代码区通过片上 boot 程序实现系统内编 程真正的同时读写操作 1024 字节的 eeprom 擦写寿命: 100,000 次,2k 字节片内 sram,可以对锁定位进行编程以实现用户程序的加密。 (4) jtag 接口( 与 ieee 1149.1 标准兼容) (5) 符合 jtag 标准的边界扫描功能,支持扩展的片内调试功能,通过 jtag 接口实现对 flash、eeprom、熔丝位和锁定位的编程。 (6) 外设特点 21 (7) 两个具有独立预分频器和比较器功能的 8 位定时器/ 计数器, 一个具有 预分频器、比较功能和捕捉功能的 16 位定时器/ 计数器,具有独立振荡器的实 时计数器 rtc, 四通道 pwm, 8 路 10 位 adc,8 个单端通道,tqfp 封装的 7 个 差分通道 2 个具有可编程增益(1x, 10x, 或 200x)的差分通道; 面向字节的两 线接口可编程的串行 usart ,可工作于主

温馨提示

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

评论

0/150

提交评论