机械手实验报告_第1页
机械手实验报告_第2页
机械手实验报告_第3页
机械手实验报告_第4页
机械手实验报告_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

信息系统工程硬件基础综合实验报告信息系统工程硬件基础综合实验报告 机械手群控系统设计机械手群控系统设计 20102010 年年 8 8 月月 1 1 日日 第一章 信息系统工程硬件基础综合实验的目的意义 4 1 1 实验目的 4 1 2 课程在教学计划中的地位和作用 4 第二章 机械手群控系统软硬件设计任务 5 2 1 设计内容及要求 5 2 2 课程设计的要求 5 第三章 总体设计方案 6 3 1 设计思想 6 3 1 1 机械手群控系统设计的需求分析 6 3 1 2 实验设备 7 3 1 3 方案设计 7 3 2 总体设计 8 3 2 1 总体硬件结构设计 8 3 2 2 总体软件流程设计 8 第四章 硬件设计 10 4 1 硬件设计概要 10 4 3 硬件电路设计系统原理图及其说明 13 第五章 软件设计 14 5 1 流程图及其说明 14 5 2 软件系统的使用说明 19 第六章 系统调试与使用 22 6 1 系统调试 22 6 2 使用说明 23 第七章 综合实验讨论 24 参考文献 补充 24 附录 25 第一章第一章 信息系统工程硬件基础综合实验的目的意义信息系统工程硬件基础综合实验的目的意义 1 1 实验目的实验目的 实验教学时课堂教学的补充 延伸和深化 是课程教学的重要组成部分 实验教学的总目的是 通过与课堂教学的密切配合 巩固和扩充课堂讲授的理 论知识 加深对课堂教学内容的理解 训练科学实验的基本技能和工程实践的 基本方法 养成严谨的科学态度和工作作风 培养应用所学理论知识独立分析 解决实际问题的能力和实际动手能力 1 21 2 课程在教学计划中的地位和作用课程在教学计划中的地位和作用 微机应用系统设计与综合实验 课程是自动化专业本科生必修的一门技 术基础课程 通过该课程的学习使学生对微机系统有一个全面的了解 掌握常 规芯片的使用方法 掌握简单微型计算机应用系统软硬的设计方法 为了使我 们微机应用课程设计目标更明确 要求更具体 学生收获更大 我们特编写课 程设计任务书 学生可根据本人的爱好任选其中一个课题 要求独立完成课题 写出课程设计说明书 设计出电路原理图 说明工作原理 画出电路板图 编 写程序及程序流程图 希望同学认真阅读本任务书 认真查阅资料与上机调试 圆满完成课程设计 通过课程设计进一步锻炼同学们在微型计算机应用方面的实际工作能力 计算机科学在应用上得到飞速发展 因此 学习这方面的知识必须紧密联系实 际 掌握这方面的知识更要强调解决实际问题的能力 同学们要着重学会面对 一个实际问题 如何去自己收集资料 如何自己去学习新的知识 如何自己去 制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题 最终到达胜利的彼岸 第二章第二章 机械手群控系统软硬件设计任务机械手群控系统软硬件设计任务 2 12 1 设计内容及要求设计内容及要求 在工业控制系统中 利用一台计算机对多台机械设备进行控制的应用越来 越广泛 本实验旨在通过机械手群控系统的设计 使学生能够 1 了解微机在群控系统中的应用 2 熟悉计算机分时操作的原理和方法 3 掌握机械手群控系统的设计方法和一般结构 2 22 2 课程设计的要求课程设计的要求 设计一个由微机控制两台机械手完成指定操作序列的控制系统 要求被控 制的机械手的动作顺序按照事先设定的操作顺序进行 具体要求如下 1 对两台机械手进行群控操作 使它们能够完成 平伸 平缩 上升 下降 左旋 右旋 握紧和松开等 8 种基本操作 2 两台机械手的基本操作顺序可以不同 可有由用户自行设定 3 在实验中 可以用继电器和 LED 显示灯来模拟机械手的各个 基本操作的状态 而用钮子开关来模拟机械手的各个动作是否完成的 状态信号 第三章第三章 总体设计方案总体设计方案 3 1 设计思想设计思想 利用一台微机同时控制几台甚至几十台机械设备工作的系统被称为 微机 群控 系统 实际上该群控系统是利用微机时分操作的原理来实现的 也就是 说 微机将一直处于一种繁忙的中断方式之中 在微机对每一次中断响应的过 程中 微机将控制完成某一台设备的一个动作 因此 实现微机群控的基本条 件是所有被控设备的工作均为单一动作的组合 并且每一个单一动作都能够由 开关量来控制 机械手的操作过程就恰好可以满足这一条件 实验要求用 C 程序进行编写 进一步锻炼同学们用 C 语言设计微机实验 的能力 因此 应该在进行需求分析的基础上 先进行总体功能设计和设计方 案设计 主要对各个功能模块接口和功能进行分析和设计 这样程序的可阅读 性和可调试就比较好 易于程序功能扩展和调试 设计中 将功能写成过程函数的形式 便于调用和调试 对于各个端口的 使用 通过符号进行定义 这样程序的通用性和移植性也比较好 3 1 1 机械手群控系统设计的需求分析机械手群控系统设计的需求分析 结合本实验的基本要求 考虑到实验平台的限制 通过分析和设计 本实 验要实现如下功能 1 两台机械手的基本操作顺序可以不同 可有由用户自行设定 2 在实验中 可以用继电器和 LED 显示灯来模拟机械手的各个基本操作 的状态 而用钮子开关来模拟机械手的各个动作是否完成的状态信号 3 对两台机械手进行群控操作 使它们能够完成 平伸 平缩 上升 下降 左旋 右旋 握紧和松开等 8 种基本操作 3 1 2 实验设备实验设备 1 80X86 系列微机一台 2 DVCC 型微机硬件实验平台 3 定时 计数器 8254 并行接口 8255 芯片 4 继电器 驱动器 数码管 LED 钮子开关 5 74LS138 译码器等 以及基本 TTL 集成电路芯片 3 1 3 方案设计方案设计 1 定时中断设计由于要求设计一个分时操作的机械手群控系统 因此首 先要求设计一个定时中断电路要求它每隔一段时间向微机发出一此中断请求 微机仅处理一台机械手的一个基本操作 定时电路不断向微机发出中断时 微 机便轮流处理不同的机械手的一个动作 这样便实现了多机械手的分时操作 定时中断的周期应有群控系统中完成一个基本操作所需的时间来决定 在本实 验中不妨假定该周期为 20ms 2 并行 I O 接口电路 当微机接收到中断请求信号后 中断服务程序将根据设定好的动作顺序 动作要求和中断标志寄存器值 将某一机械手下一个动作对应的控制字写入并 行输出接口 再经继电器控制电路 使机械手完成指定动作 另外 对于机械 手的各个动作是否完成的状态信号 也可以通过并行输入接口反馈到微机中供 查询和判断 3 继电器控制电路 当并行输出接口将动作控制字送入继电器控制电路以后 各继电器将驱动 机械手完成相应的动作 3 2 总体设计总体设计 3 2 13 2 1 总体硬件结构设计总体硬件结构设计 通过分析 本系统的总体硬件结构设计示意如图 3 1 所示 图 3 1 机械手群控系统的总体设计硬件结构图 3 2 23 2 2 总体软件流程设计总体软件流程设计 根据以上说明 不难设计出本实验系统的软件 整个系统软件可分为三部 分 主程序 定时中断程序和机械手操作子程序 主程序中 应完成可编程接口芯片的初始化 中断向量设置等常规操作 以及按上述说明 设置两机械手动作控制信息表及表指针 并将表指针指向表 首址 此外 还要设置一个中断标志寄存器 用来管理中断服务程序应该对一 总 线 扩 展 插 孔 D0 D 7 AB 译码 电路 定时 器电 路 并行口 电路 时钟电路 驱动 电路 驱动 电路 继电器电路 1 继电器电路 2 机械手 机械手 台机械手进行操作 在主程序中可以先将它赋值为 0 表示下一次中断是对 1 号机械手进行操作 在定时中断服务程序中 首先需要判断中断标志寄存器中的内容 如果为 0 则调第一台机械手的操作子程序 如果为 1 则调第二台机械手的操作子 程序 在机械手的操作子程序中 需要检测机械手的动作完成状态信号 如果 动作未完成 则直接将中断标志寄存器中的内容改为另一台机械手的标志 表 示在下一次中断时 对另一台机械手进行操作 而当以后再回到该机械手操作 时 将重新完成本次未完成的动作 若检测到机械手动作已结束 则使该机械 手的动作控制信息表指针加 1 并将中断标志寄存器中的内容改为另一台机械 手的标志 第四章第四章 硬件设计硬件设计 4 1 硬件设计概要硬件设计概要 硬件连接原理图 硬件连接原理图 4 2 1 芯片列表芯片列表 1 8255A 2 8253 4 2 2 8255A 功能简介功能简介 8255A 是目前应用最广泛的可编程并行接口芯片之一 8255 是一种使用单一的 5V 电源 40 引脚双列直插式的大规模集成电路 芯片 8255A 的内部结构 由三部分电路组成 与 CPU 的接口电路 内部控制 逻辑电路和与外设连接的输入 输出接口电路 D7 D0 data bus 三态 双向数据线 与CPU数据总线连接 用来传 送数据 chip select 片选信号线 低电平有效时 芯片被选中 A1 A0 port address 地址线 用来选择内部端口 read 读出信号线 低电平有效时 允许数据读出 write 写入信号线 低电平有效时 允许数据写入 RESET reset 复位信号线 高电平有效时 将所有内部寄存器 包括控制寄存器 清0 PA7 PA0 port A A口输入 输出信号线 PB7 PB0 port B B口输入 输出信号线 PC7 PC0 port C C口输入 输出信号线 VCC 5V电源 GND 电源地线 4 2 3 8253 芯片功能简介芯片功能简介 8253 可编程计数器 定时器的工作频率为 0 2MHz 它有 3 个独立编程 的计数器 每个计数器有三个引脚 分别为时钟 CLK 门控 GATE 计数器和计 时结束输出 OUT 每个计数器分别有 6 种工作方式 8253 的内部结构框图如图 4 34 3 硬件电路设计系统原理图及其说明硬件电路设计系统原理图及其说明 8253 采用通道 0 方式 2 一秒钟中断一次 即机械手的一个动作会持续 一秒钟 然后切换到另一个机械手做动作 控制台会显示当前做动作的是哪个 机械手 做的是哪个动作 8255 采用方式 0 即 A 口输出 B 口输入 纽子开关信号输入 PB7 按下 开关则可以执行下一个操作 否则下次仍执行当前的操作 A 口输出直接接到 发光二极管 用来显示控制字 所以能够观察到发光二极管每一秒闪烁一次 显示当前正在进行的动作对应的控制字 第五章第五章 软件设计软件设计 5 15 1 流程图及其说明流程图及其说明 根据以上说明 不难设计出本实验系统的软件 整个系统软件可分为三 部分 主程序 定时中断程序和机械手操作子程序 图 5 1 是软件的主程序部 分 图 5 2 和 5 3 共同描述了软件的中断处理程序部分 其中图 5 2 是判断分 支 图 5 3 是一台机械手操作控制子程序流程图 1 主程序主程序 主程序中 应完成可编程接口芯片的初始化 中断向量设置等常规操作 以及按上述说明 设置两机械手动作控制信息表及表指针 并将表指针指向表 首址 此外 还要设置一个中断标志寄存器 用来管理中断服务程序应该对哪 一台机械手进行操作 在主程序中可以先将它赋值为 0 表示下一次中断是对 1 号机械手进行操作 图 5 1 机械手群控实验的主程序流程图 主程序主要分为以下几个步骤 1 对定时器和并行口进行初始化 对于定时器 8253 是写控制字和向所选 通道中写计数初值 对于并行口 8255 是写控制字 2 设置中断向量 包括保存旧的中断向量 设置新的中断向量 3 设置中断标志寄存器为 0 设置两机械手动作控制信息表及表指针 并 设置总动作次数 4 将表指针指向表首址 5 开中断 循环等待 如果有键按下则主程序结束 否则继续等待 2 定时中断服务程序定时中断服务程序 在定时中断服务程序中 首先需要判断中断标志寄存器中的内容 如果为 0 则调第一台机械手的操作子程序 如果为 1 则调第二台机械手的操作子 程序 图 5 2 机械手群控实验的中断服务程序流程图 图 5 3 一台机械手的操作控制子程序流程图 中断处理程序的执行过程是 1 保护现场 2 读中断标志寄存器 判断当前要执行哪个机械手的操作 开始执行相应机械手的操作子程序 首先将控制字表中指针所指的控制字 送到并行口 然后采样判断该操作是否完成 如果已经完成 则将指针加 1 剩余动作次数减 1 如果当前剩余动作次数不为 0 则继续输出下一个动作的 控制信号 然后修改中断标志寄存器中的内容 子程序返回 如果动作尚未完 成 则直接跳到修改中断标志寄存器 然后子程序返回 3 恢复现场 4 中断返回 3 机械手操作子程序机械手操作子程序 在机械手的操作子程序中 需要检测机械手的动作完成状态信号 如果动 作未完成 则直接将中断标志寄存器中的内容改为另一台机械手的标志 表示 在下一次中断时 对另一台机械手进行操作 而当以后再回到该机械手操作时 将重新完成本次未完成的动作 若检测到机械手动作已结束 则使该机械手的 动作控制信息表指针加 1 并将中断标志寄存器中的内容改为另一台机械手的 标志 5 25 2 软件系统的使用说明软件系统的使用说明 1 中断服务程序是本系统程序的核心部分 它主要用于判断当前要执行哪 个机械手的操作 并执行相应机械手的操作子程序 下面是其具体分析和详细 说明 void interrupt handler CPPARGS 中断处理程序 disable 关中断 int b cout 0 未结束 outportb 0 x250 Table1 temp1 向 A 口输出下一个控制字 cout 机械手 1 做动作 hex Table1 temp1 0 动作未结束 outportb 0 x250 Table2 temp2 控制字送至 A 口 cout 机械手 2 做动作 hex Table2 temp2 endl temp2 指针移动至下一个控制字 if temp2 8 temp2 0 返回起始点 num action2 动作次数减 1 label label 1 2 交替 enable 开中断 outportb 0 x20 0 x20 结束中断服务 2 初始化部分是各芯片正常运行的前提条件 下面是其具体实现代码 outportb 0 x253 0 x8a 8255 初始化 方式 0 A 口输出 B 口输入 C 口高 4 位入 低 4 为出 outportb 0 x213 0 x14 8253 定时器初始化 通道 0 方式 2 outportb 0 x210 0 x64 计数次数 100 以 100HZ 输入 每 1s 中断一次 disable 关中断 oldhandler getvect INTR 保存旧的的中断向量 setvect INTR handler 设置新的中断向量 old 8259 1 inportb 0 x21 保存旧的 8259 1 口控制字 outportb 0 x21 inportb 0 x21 IRQ7 写中断屏蔽字 enable 开中断 以上是软件设计的主要部分 我们在后面的报告附录中给出了本实验 的完整代码 第六章第六章 系统调试与使用系统调试与使用 6 1 系统调试系统调试 在本实验的调试中 我才感觉到做好一个完整的哦微机实验是需要很细心 和很好的掌握所学的知识 并灵活运用 在微机实验室 由于微机比较陈旧 操作系统还停留在 Windows 98 时代 加上 DVCC 型微机硬件实验平台已经使用很长时间 有不少实验仪器已经损 坏 所以我们首先面对的就是要检查出实验平台的错误 呵呵 就如徐老师开 玩笑说的 在一个运行状态良好的实验平台上完成实验 那不就太简单了吗 而今考察的就是你们真正的能力 发现问题的能力以及解决问题的能力 我和我的同学尹晓晴 李佳云在做实验时 首先遇到的问题就是微机的陈 旧 估计那电脑至少 服役 十多年了 落后就意味着挨打 对我们而言 碰到这样的机器 也意味着我们要 挨打 了 我们本来学的是 VC6 编程 在微机上无法运行 于是换成从来没学过的 Turbo C 这也就算了 关键是 电脑总是死机 每次死机后重启后又需要重新安装 Turbo C 在整个实验中 我们组有 80 的时间是在死机 重启 安装 Turbo C 的循环中度过的 以 至于最后我们看见黑屏就感觉有点崩溃了 首先是电脑总是出现死机和黑屏的现象 然后就要重启 重装 非常耗费 时间 记得第二天上午我们组没有任何进展 就连最简单的中断也进不去 编 译一切正常 就是一运行就死机 一上午大概重启了不下 60 次 没有任何进 展 至于原因 我们组当时没想到是实验平台的问题 而最终的问题就是 ISA 总线的中断请求输入信号线 IRQ4 的问题 中午吃完饭后就回来实验室继续奋 战 有些怀疑是电脑的问题 就接连换了 5 台电脑 全部是同样的症状 死机 重启 安装 Turbo C 让人难以接受 呵呵 每次点运行的时候 我们 组都害怕了 绝大多数的反应时蓝屏 然后报错 超出频率范围 呵呵 那 时候觉得真难啊 让人有些崩溃 但我们不可以放弃 绝不可以放弃 我的字 典里从来就没有放弃这个词 中午没有午休 我的好朋友尹晓晴继续奋战 完全不休息 真让我敬佩 下午也是一样的无奈 继续死机 重启 安装 Turbo C 让我们都没了信 心 闭上眼睛都可以装机了 但下午四点多的时候 尹晓晴尝试着把 IRQ4 换 成 IRQ7 在忐忑不安中点了运行 哈哈哈 居然可以了 当时的心情无法表 达 终于知道了原来都是 IRQ4 得问题 根本没有把中断输送到系统中去 让 我们费了那么久的原因 找到这个问题后 我们非常兴奋 在接下来的实验中 还是被那破电脑困 扰着 呵呵 那台电脑运行的好坏就是一个概率事件 正常的概率小于 40 每次都是重启两三次才可以运行一次 又再次为我们设置了障碍 在我们组的 共同努力之下 在尹晓晴的顽强奋战之下 我们的程序终于可以运行了 也实 现了实验的基本要求 呵呵 但运行的问题还是要看电脑的状况 基本上等三 次可以运行一次 我们甚至发现了它死机开机的最佳时间 在徐老师来检查的 时候 又崩掉了 呵呵 没办法 再次重启 最后又重启了多少次 已经记不 清了 反正太多了 最户一次 徐老师来的时候 居然可以正常运行了 运气 不错呵 6 2 使用说明使用说明 首先要做好实验准备工作 实验箱加电 程序编译 连接 开始运行 8253 采用通道 0 方式 2 一秒钟中断一次 即机械手的一个动作会持续一秒 钟 然后切换到另一个机械手做动作 控制台会显示当前做动作的是哪个机械 手 做的是哪个动作 8255 采用方式 0 即 A 口输出 B 口输入 纽子开关 信号输入 PB7 按下开关则可以执行下一个操作 否则下次仍执行当前的操作 A 口输出直接接到发光二极管 用来显示控制字 所以能够观察到发光二极管 每一秒闪烁一次 显示当前正在进行的动作对应的控制字 总动作次数设为 30 次 当剩余动作次数为 0 时不再输出下一个动作的控制信号 第七章第七章 综合实验讨论综合实验讨论 由于基础不扎实的缘故 实验准备了很长时间 并且有些地方反复请教老 师同学才完全弄懂 这次实验给我们的启迪是 不管什么课程都一定要踏踏实 实地学 至少将书上的基础内容掌握 还要善于用实验验证和增强分析能力 要用实验巩固所学知识 以便以后能在生活学习和工作中真正的灵活应用自己 所学知识 总之 我觉得这次实验 越是独立完成 实验的难度越大 对于自己硬件 知识的学习理解的深入 动手能力的提高和对编程思想的进一步掌握就越有益 而且对于学习兴趣 自信心的培养都十分有好处 我很高兴能够有这样一次经 历 同时也得到一些经验 1 实验前要充分做好准备工作 回顾相应的硬件知识 熟悉相关软件的 操作 2 应首先明确实验最终要达到的效果 确定工程量 3 实验中用到的模块事先一一检验一次以确保无误 并编写相应模块的 程序 再将整个电路连接好进行调试 4 根据实物图容易画出原理图 5 实验中因积极讨论互相学习 参考文献 补充 参考文献 补充 1 刘乐善 微机原理接口技术及应用 武汉 华中科技出版社 2004 7 2 徐晓红 滕秀梅 微型计算机原理与接口技术实验报告 清华出版社 2009 1 3 邹逢兴 姚红 腾秀梅 计算机硬件技术基础实验教程 高等教育出 版社 2010 2 9 附录附录 本实验的必要注释 机械手群控系统设计 实验书 计算机硬件技术基础实验教程 11 4 实验功能 通过微机实现对多台机械手操作的控制 实验平台 微机硬件基础实验平台 编译环境 Turbo C 3 1 实验使用芯片 8259 中断控制芯片 内置 8253 定时器计数器芯 片 8255 并行接口芯片 实验连线 通过 ISA 总线的 IRQ7 与内置 8259 进行连线 8253 片选接试验平台 0 x210 GATE0 接高电平 CLK0 接 100HZ 脉冲 OUT0 接 ISA 总线 IRQ7 8255 片选接实验平台 0 x250 PA0 PA7 接发光二极 管 PB0 接纽子开关 include include include iostream h include conio h include define INTR 0 x0F IRQ7 中断向量号 ifdef cplusplus define CPPARGS else define CPPARGS endif void interrupt oldhandler CPPARGS 旧的的中断向量 void interrupt handler1 CPPARGS 中断服务程序 void interrupt handler CPPARGS int Table1 8 0 x01 0 x02 0 x04 0 x08 0 x10 0 x20 0 x40 0 x80 控制信息表 1 int Table2 8 0 x80 0 x40 0 x20 0 x10 0 x08 0 x04 0 x02 0 x01 控制信息表 2 int temp1 temp2 当前位置 int num action1 30 动作次数 机械手 1 操作 30 次 int num action2 30 动作次数 机械手 2 操作 30 次 int label 0 中断标志寄存器 int main 主程序 int old 8259 1 原来的 8259 1 口 outportb 0

温馨提示

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

评论

0/150

提交评论