基础机器人课件第二讲.ppt

上传人:小飞机 文档编号:2155604 上传时间:2023-01-20 格式:PPT 页数:30 大小:546KB
返回 下载 相关 举报
基础机器人课件第二讲.ppt_第1页
第1页 / 共30页
基础机器人课件第二讲.ppt_第2页
第2页 / 共30页
基础机器人课件第二讲.ppt_第3页
第3页 / 共30页
基础机器人课件第二讲.ppt_第4页
第4页 / 共30页
基础机器人课件第二讲.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基础机器人课件第二讲.ppt》由会员分享,可在线阅读,更多相关《基础机器人课件第二讲.ppt(30页珍藏版)》请在三一办公上搜索。

1、中科鸥鹏,第二讲 机器人的伺服电机,BASIC Stamp 2,教学底板,本课件基于秦志强、陈伟和王文斌合作编译的高职教材基础机器人制作与编程制作而成主讲人:秦志强博士,中科鸥鹏,本讲摘要,连续旋转伺服电机简介任务1:将伺服电机连接到教学板任务2:伺服电机调零任务3:如何保存数值和计数任务4:测试伺服电机本章小结:工程素质和技能归纳,中科鸥鹏,连续旋转伺服电机简介,机器人的伺服电机是用来将机器人大脑发出的运动指令转换为运动动作的部件,相当于人的肌肉的作用。本讲教你如何连接、调整以及测试机器人伺服电机。为此,你需要理解和掌握控制伺服电机方向、速度和运行时间的相关PBASIC指令及其编程技术。,中

2、科鸥鹏,连续旋转伺服电机简介,机器人伺服电机有很多种,本讲要介绍的主要是连续旋转伺服电机。,中科鸥鹏,任务1:将伺服电机连接到教学板,在本任务中首先将伺服电机连接到电源和BASIC Stamp模块的I/O口,然后搭建一个LED电路来监视BASIC Stamp模块发送到伺服电机的运动控制信号。连接伺服电机所需的零部件 帕拉斯公司生产的连续旋转伺服电机2个;搭建LED电路所需的零配件(LED和470欧姆电阻)2套,中科鸥鹏,连接伺服电机到教学底板 把三位开关拨至0位切断教学底板的电源。显示的是教学板上伺服电机接线端子。,中科鸥鹏,如果使用6V电池组,将两个伺服电机接线端子之间的跳线帽接Vin 如果

3、使用7.5 V、1000 mA的直流电源,将跳线帽接Vdd,中科鸥鹏,下图是你将要搭建的电路的示意图,跳线设定接Vin。注意:每个伺服电机的控制电缆有三根线,其中白色的线用来传送电机的控制信号,红色用来接到电源上,而黑色的则是地线。这些线的颜色的定义在伺服电机出厂时就已经定义好。以后你将会在工程上看到,许多电气元件都是通过线的颜色来标记电线所承担的功能。,中科鸥鹏,连接完成后,搭建好的系统如下图,教学底板与电池盒、伺服电机接线示意图,中科鸥鹏,右边的真实接线图将LED监视电路在教学板上连接好;然后转到任务2。,伺服电机控制信号的LED监视电路,中科鸥鹏,任务2:伺服电机调零,所谓伺服电机调零是

4、指,当发送一个特定的控制信号(零点标定信号)给伺服电机时,让电机保持静止的过程。由于伺服电机在工厂没有预先调整,它们在接收到该零点标定信号时可能会转动。因此你要用螺丝刀调节伺服电机模块内的调节电阻让伺服电机保持静止。这就是伺服电机调零过程。,中科鸥鹏,Excerpts from page 54,伺服电机调零,零点标定信号的时序图,CenterServoP12.bs2 This program sends 1.5 ms pulses to the servo connected to P12 for manual centering.$STAMP BS2$PBASIC 2.5DEBUG Prog

5、ram Running!DOPULSOUT 12,750PAUSE 20LOOP,中科鸥鹏,注意:以上程序一旦执行,将永远执行下去,直到你关断微控制器的电源为止最好每次只对一只电机做标定,因为这样的话,在你调节电机时你就可以听到什么时候电机停止。(为何用听到,而不用看到?),中科鸥鹏,如果电机没有进行零点标定,它的连接喉就会转动,而且你也能听到里面马达转动的响声。如果电机还没有进行零点标定,用螺丝刀轻轻调节伺服电机上的电位器,直到电机停止转动。(仔细倾听电机的声音,确信电机已经停止转动),中科鸥鹏,程序示例:CenterServoP13.bs2,CenterServoP13.bs2 This

6、program sends 1.5 ms pulses to the servo connected to P13 for manual centering.$STAMP BS2$PBASIC 2.5DEBUG Program Running!DOPULSOUT 13,750PAUSE 20LOOP注意:如果上述任务完成后,不再进行后面的任务,一定要记得将教学板的电源断开。,中科鸥鹏,任务3:如何保存数值和计数,你在编写某个程序时,肯定并不总是需要机器人永远执行同一个操作或者说任务,而只希望它执行一段指定的时间或者执行一些固定的次数。这时,你就要在PBASIC 程序中用于到变量。变量用来保存数

7、值。1.后面的机器人程序很大程度上都要依赖使用变量。2.用变量保存数值的最主要的作用就是程序能用这些变量来计数。3.一旦你的程序能计数,你就能控制和跟踪事件发生的次数。,中科鸥鹏,用变量存储数值,数学运算和计数,变量可以用来储存数值。PBASIC语言在使用一个变量之前,要先给该变量起一个名字,并说明该变量的大小类型。这叫声明一个变量。声明一个变量的PBASIC语法如下:variableName VAR Size,中科鸥鹏,PBASIC程序中可以声明的变量类型如下:Bit 存储0或者1;Bib 用来存储0到15之间的任意数值;Byte 用来存储0到255之间的任意数值;Word 用来存储0到65

8、535之间的任意数值,或者-32768到32767之间的任意数值。注意:为何有上述特定的变量类型大小呢?请参考二进制的说明。,中科鸥鹏,程序示例:VariablesAndSimpleMath.bs2,这个例程演示了如何对变量进行声明、初始化和运算。VariablesAndSimpleMath.bs2 Declare variables and use them to solve a few arithmetic problems.$STAMP BS2$PBASIC 2.5value VAR Word Declare variablesanotherValue VAR Wordvalue=500

9、 Initialize variablesanotherValue=2000DEBUG?value Display valuesDEBUG?anotherValuevalue=10*anotherValue Perform operationsDEBUG?value Display values againDEBUG?anotherValueEND,中科鸥鹏,如果你想做一些包含负数的计算,你可以使用DEBUG指令的SDEC格式说明来显示。删除程序VariablesAndSimpleMath.bs2的下面部分:value=10*anotherValue Perform operationsDEB

10、UG?value Display values again改成如下代码:value=value-anotherValue Answer=-1500DEBUG value=,SDEC value,CR Display values again运行更改后的程序并验证value的值是否由500变为-1500。,中科鸥鹏,计数并控制循环次数,最方便的控制一段代码执行次数的方法是利用FORNEXT循环,语法如下:FOR Counter=StartValue TO EndValue STEP StepValue NEXT1.省略号“”表示你可以在FOR 和NEXT之间放一条或多条的程序指令。2.使用前面的

11、循环前要确保先声明一个变量替代参数Counter。3.参数StartValue 和EndValue可以是数值也可以是变量。4.语法描述中位于大括号 之间的东西,表示是可选参数。,中科鸥鹏,不同的初始值和终值以及计数步长,你可以给变量StartValue 和EndValue 赋不同的值修改FORNEXT循环如下:FOR myCounter=21 TO 9DEBUG?myCounterPAUSE 500NEXT增加STEP 3到FORNEXT循环,如下所示:FOR myCounter=21 TO 9 STEP 3DEBUG?myCounterPAUSE 500NEXT运行更改后的程序,验证是否以3

12、为步长递减。,中科鸥鹏,任务4:测试伺服电机,对子系统进行测试是开发过程的好习惯,它不仅仅是让你拆开机器人,而是在组装之前尽可能修补可能出现的一些问题。所谓子系统测试是在将一些分立的部件组装成一个更大的设备之前先对各分立的部件进行测试的过程。特别是在非常复杂的设备中,如果没有事先对子系统进行测试,要找出存在的问题几乎不可能。,中科鸥鹏,测试伺服电机,1.3 ms的控制脉冲序列使电机顺时针全速旋转,1.7ms的连续脉冲序列使电机逆时针全速旋转,中科鸥鹏,例程:ServoP13Clockwise.bs2,输入、保存并运行程序ServoP13Clockwise.bs2。验证电机的输出轴是否顺时针旋转

13、,并且速度在50 到 60 RPM之间。ServoP13Clockwise.bs2 Run the servo connected to P13 at full speed clockwise.$STAMP BS2$PBASIC 2.5DEBUG Program Running!DOPULSOUT 13,650PAUSE 20LOOP,中科鸥鹏,思考,下面的理解非常重要。想一想:当电机安装在机器人底盘的两侧,一个顺时针旋转而另一个逆时针旋转,将使机器人沿直线运动。听起来是否有些古怪?如果你无法理解,试试这样:把两个电机背靠背放在一起重新运行程序。,中科鸥鹏,调整速度和方向,两个电机全速转动时,

14、两个PULSOUT指令的参数 Duration有四种不同的组合通过测试不同的运动组合,并填写运动描述栏,你将慢慢熟悉这些组合并为你自己建立一个参考。,中科鸥鹏,FORNEXT循环控制电机的运行时间,到目前为止,你已经完全理解了脉冲宽度控制连续旋转电机速度和方向的原理。控制电机速度和方向的方法是非常简单的,当然也有一个简单的方法来控制电机运行的时间,那就是用FORNEXT循环。,中科鸥鹏,预计电机运行时间,设定一个你想让电机运行的时间。用0.024除时间所得到的结果就是你需要执行的循环次数。更改程序BothServosThreeSeconds.bs2使两个电机都运行你所设定的时间。比较预计的时间与实际运行的时间。(记住当做完实验后断开系统的电源。),中科鸥鹏,工程素质和技能归纳,帕拉斯伺服电机的接线图和接线;伺服电机控制信号的监控电路和电路搭建;伺服电机的零点校准和PULSOUT、PAUSE和循环的使用;PABSIC变量的使用和循环次数的控制;电机测试和子系统测试;两个电机的同时运动以及运动时间的控制等。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号