kl800.com省心范文网

工程设计实践._图文

移动机器人基础培训
第一节 微控制器(MCU)基础

任务1
让LED按照规定的时序闪亮
on off 0 1 2 3 4 t/s

5

完成任务的步骤
? ? ? ? ? ? ? 明确任务 分析任务 构思解决方案 安装硬件 编写程序 下载、运行、测试 总结与讨论

一、明确任务

LED
? Light Emitting Diode 发光二极管
– A 阳极 (比较长的那根管脚) – K 阴极 (比较短的那根管脚) – 下面的电路可以使LED发光
470Ω K K A

A

470欧姆

5V

5伏 接地 电势零点

二、分析任务
? 本任务要求LED按照如下的时序图闪亮
on off 0 1 2 3 4

5

t/s

? 实际上是要求Va按照如下的时序变化
Va 5V 0V 0 1 2 3 4 5 t/s 470Ω

三、构思解决方案

解决方案
开关 I/O口 470Ω

电源

MCU

接地 Vss

? Micro Control Unit 微控制器 ? Input-Output Port 输入输出端口 ? MCU能按顺序执行命令(程序)让I/O口按照规定 的时序输出电压。

程序
? ? ? ? ? ? ? ? 让指定的I/O口输出5V电压 延时1秒 让I/O口输出0V电压 延时1秒 让I/O口输出5V电压 延时2秒 让I/O口输出0V 5V 0V 结束 0 1

2

3

4

5

t/s

四、安装硬件

电池盒

Basic Stamp 2 MCU 教学底板

电池

Basic Stamp 2 MCU
Pin 1: SOUT
在编程或者调试(DEBUG)时 传送串口数据

Pin 24: VIN

直流电源输入(5.5-15V)

Pin 23: VSS
电源地 (0V)

Pin 2: SIN
在编程时接收串口数据

Pin 22: RES
复位脚- 低电 平复位

Pin 3: ATN
连接到串口DTR(数据终端准 备)信号线 通知可以给 Stamps编程了 P0

Pin 21: VDD P15 P14 P13 P12 P11 P10 P9 P8
整定的5V输 入脚

Pin 4: VSS
信号地 (0V).

Pins 5-20: 通用输入/输出
(I/O)脚 P0到脚 P15

P1 P2 P3 P4 P5 P6 P7

教学底板
5V 稳压器 外接电源插口 电源指示灯

电机连接插座
电源和接地插座 I/O插座 面包板

串行接口

复位开关

三位开关

安装硬件 1、把Basic Stamp 2 插入教学底板上的24脚插座上,注意 BS2上的白色标志点与插座上的缺口相对应。
缺口
白色标志点

安装硬件 2、确认教学底板上的电源开关处在关闭位置(0),连接 电源。

电源开关

安装硬件 3、安装LED电路。

470Ω
P15

(1)LED阴极连接到电源和接 地插座上的Vss插孔;
(2)LED阳极连接到面包板;

Vss

(3)找出一只470Ω电阻,电 阻上的色环为黄-紫-黑-黑(五 环)或黄-紫-棕(四环) (4)电阻的一端接到与LED阳 极相通的面包板插孔,另一端 连接到I/O插头上的P15插孔。

? 普通电阻用四个色环表示其阻值和 允许的偏差。第一、二环表示有效 数字,第三个环表示倍率(乘数), 与前三个环距离较大的第四环表示 精度。 ? 精密电阻采用五个色环表示。第一、 二、三环表示有效数字,第四个环 表示倍率(乘数),与前四个环距 离较大的第五环表示精度。

? 颜色
? ? ? ? ? ? ? ? ? ? 黑 棕 红 橙 黄 绿 蓝 紫 灰 白

有效数字
0 1 2 3 4 5 6 7 8 9

被率(乘数)
100 101 102 103 104 105 106 107 108 109

安装硬件 4、连接计算机,串口线一端连接到教学底板上的串行接口, 另一端连接到PC机上的COM口插座。

安装硬件 5、检查 、测试硬件连接。

(1)检查电源连接。打开教学底板上的电源开关(1), 电源指示灯应点亮。
(2)检查与PC机之间的通讯。 ? 打开Basic Stamp 编辑器 – 第一次打开编辑器时,编辑器会询问几个问题, 只需点击OK按钮 ? 使用菜单选项Run?Identify 或者直接点击ID 按钮

? COM口连接确认框应当如下图所示:

? 如果四个栏目中有任何一个的显示内容与 上图不同,都说明连接有问题,需要检查 连接。

五、编写程序

编写PBasic程序
? ? ? ? ? ? ? ? 让第15号I/O口输出5V电压 延时1秒 让第15号I/O口输出0V电压 延时1秒 让第15号I/O口输出5V电压 延时2秒 让第15号I/O口输出0V 结束
5V 0V 0 1 2 3 4

? ? ? ? ? ? ? ?
5

HIGH 15 PAUSE 1000 LOW 15 PAUSE 1000 HIGH 15 PAUSE 2000 LOW 15 END
t/s

把程序键入到编辑器

添加必要的 说明语句

' {$STAMP BS2} ' {$PBASIC 2.5} HIGH 15 PAUSE 1000 LOW 15 PAUSE 1000 HIGH 15 PAUSE 2000 LOW 15 END

保存到你自己的文件夹
? 文件名:Task1.bs2 ? 文件夹:

六、下载运行测试

下载运行

脱机运行
? 关闭教学底板的电源 ? 断开串口线 ? 重新打开教学底板电源、 按一下复位键 ? 观察LED的亮灭,检查 是否完成预定任务。 ? 关闭教学底板的电源 (任何一个试验完成后)

复位 开关

电源开关

七、总结与讨论

完成工程任务的顺序
? ? ? ? ? ? ? 明确任务 分析任务 构思解决方案 安装硬件 编写程序 下载、运行、测试 总结与讨论

讨论
? 在上述过程中,PC机和BASIC Stamp软件 的作用是什么?
– A)控制MCU执行程序,按照时序输出5V或0V 电压。 – B)提供一个编写程序的平台,并把程序翻译 成MCU能执行的代码下载给MCU,由MCU独 立运行。

X √

编译环境

讨论
? 什么是程序?
让第15号I/O口输出5V电压 延时1秒 让第15号I/O口输出0V电压 延时1秒 让第15号I/O口输出5V电压 延时2秒 让第15号I/O口输出0V 结束

程序是一系列 按照一定顺序 执行的命令。

讨论
? 什么是PBasic程序?
– 用PBasic语言书写的程序。
' {$STAMP BS2} ' {$PBASIC 2.5} HIGH 15 PAUSE 1000 LOW 15 PAUSE 1000 HIGH 15 PAUSE 2000 LOW 15 END

? 怎么看懂和编写PBasic程序?
– 记住常用语句和语法; – 使用帮助。

帮助按钮

Syntax: PAUSE Duration ? Function Pause the program (do nothing) for the specified Duration. ? Duration is a variable/constant/expression* (0 - 65535) that specifies the duration of the pause. The unit of time for Duration is one millisecond.

Explanation

PAUSE delays the execution of the next program instruction for the specified number of milliseconds. For example:
Flash: LOW 0 PAUSE 100 HIGH 0 PAUSE 100 GOTO Flash

This code causes pin 0 to go low for 100 ms, then high for 100 ms.

任务2
让LED按照规定的时序循环闪亮

on off 0 1 2 3 4 5 6 7 8 9 10 11 t/s

重复10次

? 明确任务 ? 分析任务
– 这个任务与任务1类似,可以在任务1的基础上 通过修改程序完成。

? 构思解决方案
– 硬件与任务1相同 – 编写程序

重复执行下列命令10次: 让第15号I/O口输出5V电压 延时1秒 让第15号I/O口输出0V电压 延时1秒 让第15号I/O口输出5V电压 延时2秒 让第15号I/O口输出0V 延时1秒 让第15号I/O口输出5V 延时3秒 让第15号I/O口输出0V 延时1秒 结束
on off 3 4 5 6

设置重复次数为10; 当重复次数大于0时重复执行下列命令: 让第15号I/O口输出5V电压 延时1秒 让第15号I/O口输出0V电压 延时1秒 让第15号I/O口输出5V电压 延时2秒 让第15号I/O口输出0V 延时1秒 让第15号I/O口输出5V 延时3秒 让第15号I/O口输出0V 延时1秒 重复次数减少1次 结束

0

1

2

7 8

9 10 11

t/s

RepeatNum=10; 设置重复次数为10; 当重复次数大于0时重复执行下列命令: DO WHILE (RepeatNum>0) HIGH 15 让第15号I/O口输出5V电压 PAUSE 1000 延时1秒 LOW 15 让第15号I/O口输出0V电压 PAUSE 1000 延时1秒 HIGH 15 让第15号I/O口输出5V电压 PAUSE 2000 延时2秒 LOW 15 让第15号I/O口输出0V PAUSE 1000 延时1秒 HIGH 15 让第15号I/O口输出5V PAUSE 3000 延时3秒 LOW 15 让第15号I/O口输出0V PAUSE 1000 延时1秒 RepeatNum= RepeatNum-1 重复次数减少1次 LOOP 结束 END
on off 0

1 2

3 4 5 6

7 8

9 10 11

t/s

变量 Variable

? 一个变量是程序中一 HIGH 15 个保存数据的地方, PAUSE 1000 LOW 15 对应MCU中一个存 PAUSE 1000 储数据的地方,由编 HIGH 15 PAUSE 2000 辑器负责安排; LOW 15 ? 每个变量都有自己的 PAUSE 1000 名字,我们要在程序 HIGH 15 3000 的前面声明这个变量, PAUSE LOW 15 也就是告诉编辑器我 PAUSE 1000 们的程序要使用这样 RepeatNum= RepeatNum-1 LOOP 一个变量;
END

RepeatNum=10; DO WHILE (RepeatNum>0)

变量的类型
? 每个变量都在MCU中占用一个存储数据的空间,空间的大小是用bit (比特)或者byte(字节)为单位的。
1 byte=8 bit。

? Basic Stamp 2 内共有32个字节的存储空间,其中只有28个字节可 以供我们的程序使用。为了节约存储空间,我们要根据变量的取值范 围告诉编译器这个变量需要多大的空间,即声明变量的类型。 ? PBASIC语言把变量分为以下4种基本类型: Bit 可以用来存储0或者1 占用1bit Nib 可以用来存储0到15 占用4bit Byte可以用来存储0到255 占用8bit Word 可以用来存储0-65535 占用16bit ? 声明变量的语法:变量名 VAR 变量类型 RepeatNum VAR Nib

? ? ? ?

键入程序 保存到task2.bs2 下载运行 测试结果

' {$STAMP BS2} ' {$PBASIC 2.5} RepeatNum VAR Nib RepeatNum=10 DO WHILE (RepeatNum>0)

HIGH 15 PAUSE 1000 LOW 15 PAUSE 1000 HIGH 15 PAUSE 2000 LOW 15 PAUSE 1000 HIGH 15 PAUSE 3000 LOW 15 PAUSE 1000 RepeatNum= RepeatNum-1 LOOP END

改进方案
? 控制循环的其他方法

' {$STAMP BS2} ' {$PBASIC 2.5} RepeatNum VAR Nib FOR RepeatNum=1 TO 10 HIGH 15 PAUSE 1000 LOW 15 PAUSE 1000 HIGH 15 PAUSE 2000 LOW 15 PAUSE 1000 HIGH 15 PAUSE 3000 LOW 15 PAUSE 1000 NEXT END

改进方案
? 添加常数

' {$STAMP BS2} ' {$PBASIC 2.5} RepeatNum VAR Nib TimeUnit CON 1000 FOR RepeatNum=1 TO 10 HIGH 15 PAUSE TimeUnit LOW 15 PAUSE TimeUnit HIGH 15 PAUSE 2*TimeUnit LOW 15 PAUSE TimeUnit HIGH 15 PAUSE 3*TimeUnit LOW 15 PAUSE TimeUnit NEXT END

改进方案
? 添加注释

' Task2 by Fei Yuenong ' {$STAMP BS2} ' {$PBASIC 2.5} RepeatNum VAR Nib ' Number of repeat i VAR Nib FOR RepeatNum=1 TO 10

FOR i=1 TO 3
HIGH 15 PAUSE i*1000 LOW 15 PAUSE 1000 NEXT NEXT END ' Make P15 output 5V ' Wait for i second(s)

调试方法
? 通过调试终 端了解程序 的运行状态
– DEBUG

' Task2 by Fei Yuenong ' {$STAMP BS2} ' {$PBASIC 2.5} TimeUnit CON 1000 RepeatNum VAR Nib ' Number of repeat i VAR Nib FOR RepeatNum=1 TO 10

DEBUG “RepeatNum=”,DEC RepeatNum, CR
FOR i=1 TO 3 HIGH 15 ' Make P15 output 5V PAUSE i* TimeUnit ' Wait for i TimeUnit(s) LOW 15 PAUSE TimeUnit NEXT NEXT END

总结与讨论
? DO WHILE( ) LOOP

FOR NEXT

变量 常量

DEBUG

练习1
? 让程序在完成第n次重复的时候在调试终端 上显示“Repeat n completed.”
? 提示:已经完成第n次重复的时候

练习2
让LED按照规定的时序循环闪亮
on
off 0

1 2

3 4 5 6

7 8

9 10 11

t/s

提示:用DO

重复无限次 LOOP

下课前将实验设备整理好
? ? ? ? ? 关闭计算机 断开串口线 断开教学底板的电源线 机器人套件的各个零部件放入实验箱 已经安装好的部分可以不拆开

移动机器人基础培训
第二节 电机控制和机器人组装

任务3
设计制作一个双轮独立驱动的机器人, 具备以下功能: ?直线前进一个给定的距离 ?直线后退一个给定的距离 ?原地向右转90度 ?原地向左转90度

明确任务
? 双轮独立驱动的机器人
– 结构特点 – 运动方式

分析任务
? 机器人套件提供了必要的机械结构件、电 动机和MCU,本任务可以分解为以下三个 子任务:
1)控制电动机的速度和方向 2)组装机器人 3)调试机器人

子任务1 控制电动机的速度和方向

任务分析
? 伺服电动机Parallax Servo

? 伺服电动机Parallax Servo的内部结构
– 电动机 – 减速箱 – 驱动器 – 控制器

? 控制信号的作用:

1.3 ms的控制脉冲序列使电机顺时针全速旋转,转速约为60RPM

1.5 ms的控制脉冲序列使电机转速为零,可用调零电位器调零

1.7ms的控制脉冲序列使电机逆时针全速旋转,转速约为60RPM

? 子任务1 “控制电机的速度和方向” 转化为 让MCU输出一串具有给定宽度的脉冲。 ? PULSOUT Pin, Duration
– Pin is a variable/constant/expression (0 - 15) that specifies the I/O pin to use. – Duration is a variable/constant/expression (0 - 65535) that specifies the duration of the pulse. The unit of time for Duration is 2 μs.

教学底板的右上角提供 了伺服电动机的接口

试验验证
? 目的:验证上述电动机的控制方法 ? 试验方法:
– 编写一个试验程序让接在P12上的电动机连续 顺时针全速转动(ServoP12CW.bs2) – 编写一个试验程序让接在P13上的电动机连续 逆时针全速转动(ServoP13CCW.bs2) – 编写一个试验程序让接在P12上的电动机转速 为零(ServoP12Center.bs2),调节调零电位 器,观察其对零点的影响,并最终调好零点 (使1.5ms脉冲对应的转速为零) – 改变前两个程序的参数,观察电机的速度变化

? 试验步骤:
– 编写并保存程序 DO … LOOP – 把一个电动机连接到教学底板上的伺服电机插座 (X5-12或13),注意电机连接线的颜色与插座上 标出的颜色一致 – 把教学底板上的电源开关拨到3的位置 – 下载运行程序,观察并记录电机的转动情况 – 改变程序的脉冲时间参数,观察并记录电机的转 动情况 – 需要调零时,用专用的十字螺丝刀调节电动机的 调零电位器,观察电机的转动情况

试验验证
? 试验记录:
试验程序文件名 脉冲时间参数 电机行为描述

? 试验结论

子任务2 组装机器人

第1步 安装机器人底盘硬件
? 将下表中所列零件收集到一起; ? 然后按照下边的装配步骤进行装配

第2步 拆除伺服电机上的十字角喉
? 断开BASIC Stamp微控制器和伺服电机的电源。 取出电池盒中的所有电池。 把伺服电机从你的教学底板断开。 ? 拆除步骤 用螺丝起子去掉连接伺服电机上十字角喉和电机输出轴之 间的螺钉。 将十字角喉从电机输出轴上取下来。 将螺钉保存好,后面的步骤还会用到。

第3步 将伺服电机安装到底盘上

第4步 安装电池盒

第5步 安装轮子

第6步 把教学底板安装到底盘上

子任务3 调试机器人
设计制作一个双轮独立驱动的机器人,具备以下功能: ?直线前进一个给定的距离 ?直线后退一个给定的距离 ?原地向右转90度 ?原地向左转90度

分析任务
? 确定速度与脉冲参数之间的关系 ? 控制运行的时间

实验测定车轮转速
? 实验目的:测定车轮转速与脉冲参数之间的关系 ? 实验方法:让电机以不同的参数运行一段时间, 测量并记录车轮转过的圈数,计算转速。 ? 实验步骤:
– 重新调零,此次调零后不再调零 – 编写程序TestServoSpeed,让左右电机各转动6秒钟
? 实验电路 ? 实验程序 ? 实验程序说明

– 分别记录左右轮的转动圈数,填写实验记录

? 实验总结:用图表说明脉冲参数与车轮转速的关 系

?{$STAMP BS2} ?{$PBASIC 2.5} counter VAR Word pulseWidth VAR Word pulseWidthComp VAR Word DO DEBUG “Enter pulse width: “ DEBUGIN DEC pulseWidth pulseWidthComp=1500-pulseWidth FOR counter=1 TO 244 PULSOUT 12, pulseWidth PULSOUT 13, pulseWidthComp PAUSE 20 NEXT LOOP

实验测定前进后退速度
? 实验目的:确定前进后退的距离与(时间)循环次 数之间的关系。 ? 实验方法:在给定脉冲参数和循环次数的条件下, 测量前进或后退的距离。 ? 实验步骤:
– – – – – 编写程序让机器人前行 ?秒钟(循环次数=?) 调整脉冲参数,保证直线运动 测量并记录运动距离 改变循环次数,再次测量记录运动距离 验证:设置循环参数,让机器人前行30cm再后退30cm

? 实验总结:用表格和曲线汇总实验的结果

如何消除拨动开关带来的干扰?

FREQOUT 4, 1000, 3000 在P4口输出一个3000Hz的方波, 持续1000ms

实验确定原地转动的角度和参数的 关系

第一阶段作业要求
? 电机测试报告
– 评分标准:测试目的、原理、方法、步骤描述清楚、 有条理,测试数据翔实,测试结果表述清楚。

? 机器人装配说明书
– 评分标准:装配关系正确、装配顺序合理、能正确运 用文字说明和装配示意图表达装配关系和装配顺序。

? 提交时间 ? 提交地点:科技楼P102

? 比赛场地 ? 180mm
280mm 380mm 480mm

机器人固定路径行走比赛 5
6 7 8

B

9

10

5

5

6
7 8 9 9 8 7

6

A10

C

10

? 行走路线:由A点出发,前进至B点,再前进至 C点,再由C点后退至A点。 ? 路径积分: 路径积分=B点位置分+C点位置分+A点位置分 各点的位置分数为机器人到达该点时双轮 与地面接触点共同落入的圆圈的分数。行走方 向错误不得分。 ? 行走时间:从机器人蜂鸣结束开始计时至到达 A点。

? 比赛分组:此赛分11组,每组3人,随机抽 签组成。1-4组在1号场地、5-8组在2号场地、 9-11组在3号场地。 ? 比赛规则:每组派一个机器人参加,有三次 机会,取最好成绩。 ? 比赛成绩(按小组给分):
– 路径积分(30%) – 比赛计时 (30%) – 小组工作记录(40%)

? 个人成绩:在小组得分的基础上,根据组员 互评的结果调整。

工作记录
? 时间 事件 参加人员 具体内容或结果 ? 时间 事件 参加人员 具体内容或结果 ? 。。。。

? 比赛过程:
– 2:00pm 公布比赛方法和要求 – 2:10pm 分组 – 2:20pm 小组讨论会(分析任务、制定方案、分工、 明确每个人的具体工作目标) – 2:40pm 小组工作、场地开放 – 3:40pm 开始比赛 – 4:20pm 小组总结会,整理工作记录、互评/自评 – 4:45pm 提交工作记录和互评/自评表


工程设计实践._图文.ppt

工程设计实践. - 移动机器人基础培训 第一节 微控制器(MCU)基础 任务1

工程设计实践2_图文.ppt

工程设计实践2 - 移动机器人基础培训 第一节 微控制器(MCU)基础 任务1

设计模式与工程实践_图文.ppt

设计模式与工程实践 - 设计模式与工程实践,java23种设计模式,java设计模式面试题,设计模式实践,java设计模式有什么用,java中的23种设计模式,java最常用的设计模式,...

工程设计实践培训课件(共84张PPT)_图文.ppt

工程设计实践培训课件(共84张PPT) - 移动机器人基础培训 第一节 微控制器

工程实验设计与实践_图文.ppt

工程实验设计实践 - 第三章 正交试验法设计 上述的全面试验设计法,实验设计简单,对各 因素的影响及其交互作用都能予以分析,但只适用 于单因素和双因素的试验,...

工程设计实践(李卫民)_图文.ppt

工程设计实践(李卫民) - 利用basic stamp编程 完成小车沿着黑线走... 工程设计实践(李卫民)_机械/仪表_工程科技_专业资料。利用basic stamp编程 完成小车沿着黑线走 ...

GIS工程设计与实践实习_图文.ppt

GIS工程设计实践实习 - GIS工程设计实践实习 实习一 ? 以几何形状(

软件设计工程实践课件_图文.ppt

软件设计工程实践课件 - 软件工程实践 软件学院 高海昌 hchgao@xidian.edu.cn 软件工程实践 内容 ? 1. ? 2. ? 3. ? 4. ? 5. ? 6. ? ...

现代电子技术工程设计与实践_图文.ppt

现代电子技术工程设计实践 - 7.1 常用单片机介绍 ? ? ? 7.1.1

173-电子工程设计实践课程情况介绍-PPT课件_图文.ppt

173-电子工程设计实践课程情况介绍-PPT课件 - 报告内容 报告人:北京工业大学 孙景琪教授 2019.8.10 ? 一、北京工业大学电子工程设计实践课程情 况介绍...

工程设计实践1_图文.ppt

工程设计实践1 - 工程设计实践 概述 内容提要 ? ? ? ? ? 开课目的

工程设计实践_图文.ppt

工程设计实践 - 移动机器人基础培训 第一节 微控制器(MCU)基础 任务1 让

办公楼空调工程设计与实践毕业论文_图文.doc

办公楼空调工程设计实践毕业论文 - 办公楼空调工程设计实践毕业论文 目录 摘

土木工程毕业设计实习日记._图文.doc

土木工程毕业设计实习日记. - 北京建筑大学本科生毕业设计(论文)实习日记 20

最新2019-173-电子工程设计实践课程情况介绍-PPT课件_图文.ppt

最新2019-173-电子工程设计实践课程情况介绍-PPT课件 - 报告内容 报告人:北京工业大学 孙景琪教授 2019.8.10 ? 一、北京工业大学电子工程设计实践课程情 况介绍 ...

以行业发展需求为目标导向的工程设计实践教学研究_图文.doc

以行业发展需求为目标导向的工程设计实践教学研究 - 龙源期刊网 http://www.qikan.com.cn 以行业发展需求为目标导向的工程设计实践 教学研究 作者:宁艳 李希琳 ...

网络工程设计与实践(第二版)第5章网络管理平台与工具_图文.ppt

网络工程设计实践(第二版)第5章网络管理平台与工具 - 文档均来自网络,如有侵

数值模拟技术在基坑支护工程设计实践中的应用研究._图文.doc

支护工程设计实践中的应用研究 负责人:马悦 联系电话:15865580157 电

城市道路交通工程设计技术方法的完善及实践_图文.pdf

城市道路交通工程设计技术方法的完善及实践 - 城市交通第94第l期2011年1月

土木工程毕业设计调研实习报告_图文.doc

土木工程毕业设计调研实习报告_工学_高等教育_教育专区。毕业设计 实习调研报告题