ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:413.97KB ,
资源ID:16365229      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16365229.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(入门三 让机器人动起来Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

入门三 让机器人动起来Word格式文档下载.docx

1、其内部的一个H桥原理图如图35所示。ENABLE A是控制使能端,控制OUTPUTl和OUTPUT2之间电机的停转, INPUT1、INPUT2脚接入控制电平,控制OUTPUTl和OUTPUT2之间电机的转向。当使能端ENABLE A有效,INPUT1为低电平INPUT2为高电平时,三极管2,3导通,1,4截止,电机反转。当INPUT1和INPUT2电平相同时,电机停转。表31是其使能引脚,输入引脚和输出引脚之间的逻辑关系。图35 H桥原理图表31 逻辑关系表ENABLE AINPUT1INPUT2电机转向H(1)L(0)正转反转同IN2同IN1停止X(0、1)说明:H-高电平 L-低电平 X

2、-任意(低电平或高电平)另一个H桥的工作原理同上。由ENABLE B控制OUTPUT3和OUTPUT4之间电机的停转,根据INPUT3、INPUT4脚的输入电平情况控制OUTPUT3和OUTPUT4之间电机的转向。2电机驱动电路图如图36所示,为12V直流电机的驱动电路图。图36 12V直流电机驱动电路图L298N电机驱动芯片的电机控制引脚INPUT1,INPUT2,INPUT3,INPUT4分别接到了PIC16F873A单片机的PORT B通用输入/输出口上的RB0,RB1,RB2,RB3位,而电机控制的使能引脚ENABLE A和ENABLE B连接在了一起接到了PIC16F873A单片机的

3、PORT B输入/输出口上的RB4位。OUTPUT1和OUTPUT2接左侧的电机,OUTPUT3和OUTPUT4接右侧电机。通过对PIC16F873A单片机PORT B输入/输出口进行编程,可以实现左右侧12V电机的正反转控制,进而控制机器人的运动状态。如表32所示为PIC16F873A单片机PORT B口上RB0-RB4位为不同值时,左右侧电机和机器人的运行状态。表32 电机控制逻辑关系表RB4RB3RB2RB1RB0左侧电机右侧电机机器人运动状态HL前进后退左转右转X在用QBasic语言所编写的程序里,单片机PORT B 口上的RB0-RB4位的功能和程序里的pin0pin4位变量的功能是

4、一一对应的。二、程序设计(一)QBasic语言基本语句(一)1专用变量(1)dirb0、dirb1专用字节变量【格式】dirb0= dirb1=【功能】对PIC16F873A的通用I/O口的方向进行控制。dirb0和dirb1为字节变量,每个字节变量有8个位变量,每一个位变量对应于PIC16F873A上的一个输入/输出引脚。dirb0字节变量中8个位变量分别设置pin0pin7位变量所对应的输入/输出引脚的方向,dirb1字节变量中8个位变量分别设置pin8pin15位变量所对应的输入/输出引脚的方向,如图37所示。对其中的某位变量写入1,对应的PIC16F873A单片机上的引脚就被设定为输入

5、,反之为输出。 说明:的含义说明后面的数据为二进制数据,每一位只能是0或者1。图37 dirb0、dirb1专用字节变量说明【说明】一般情况下,输入/输出口上连接的是传感器、开关等设备时,该输入/输出口应定义为输入口。机器人主板输入/输出口上连接的是电机、扬声器、电风扇、液晶显示屏、发光二极管等设备时,该输入/输出口应被定义为输出口。【应用】例1:dirb0=11100000 %代表后面的数据为二进制数;由于位变量pin0pin4所对应的引脚是电机控制引脚,电机为输出设备,因此从右向左,将位变量pin0pin4所对应的五个引脚设为输出, 位变量pin5pin7所对应的三个引脚设为输入。例2:d

6、irb1=00001111 从右向左,将位变量pin8pin11所对应的四个引脚设为输入, 位变量pin12pin15所对应的四个引脚设为输出。(2)pinb0、pinb1专用变量【格式】pinb0=Pinb1=【功能】给每一个输出端口赋值,pinb0控制I/O口的pin0pin7引脚,pinb1控制I/O口的pin8pin15引脚pin0pin4五个位变量所对应的是单片机输入/输出端口的B口上的RB0RB4引脚,也就是用于电机控制的5个引脚。5个位变量为不同值时电机的运转情况如表33所示。表33 电机控制逻辑关系表位变量功能pin4pin3pin2pin1pin011-H(高电平) 0-L(

7、低电平) X-任意0、1(高电平、低电平)变量值可以是二进制、十进制、十六进制的具体数值,其具体数值是按照打开不同的管脚而确定的。例:100 十进制10064 十六进制64,相当于十进制10001100100 二进制01100100,相当于十进制100 “A 字符A,相当于A的ASCII码65AA 十六进制数AA,相当于十进制170pinb0=00010101 ;从右向左,将位变量pin0、pin2、pin4所对应的三个引脚赋值为高电平,位变量pin1、pin3、pin5、pin6、pin7所对应的五个引脚赋值为低电平。此时电机使能端有效(pin4=1),左电机正转(pin0=1,pin1=0

8、),右电机正转(pin2=1,pin3=0),从表33中,可以看出此时机器人前进。PINB0=00000101 ;从右向左,将位变量pin0、pin2所对应的两个引脚赋值为高电平, 位变量pin1、pin3、pin4、pin5、pin6、pin7所对应的六个引脚赋值为低电平。此时电机使能端无效(pin40),左电机停止,右电机停止,从表33中,可以看出机器人原地不动。3延时语句(pause)【格式】 pause 时间【功能】延迟一段时间。【说明】 在让机器人运动时,是通过时间的长短来控制机器人前进、后退的距离,以及左、右转动的角度。 时间的具体值就是指时间的长短,它可以精确到毫秒。【应用】 p

9、ause 1000 此语句的意思是延时时间为1000毫秒。4无条件转移语句(goto)【格式】 goto 行标号【功能】 无条件地转向指定的行标号去执行程序。(1) 标号是表示某一地址的符号。(2) 标号以冒号结束,并且出现在执行语句的前面,而不能出现在不可执行语句前。标号的命名规则:为字母开头的任意长度的字母与数字的组合,长度256为限。但不能使用作为命令的关键字例如goto,pause等。 例1:机器人前进程序dirb0=%11100000dirb1=%11110001begin: pinb0=%00010101 pause 1000goto beginend在上面程序中,begin为行标

10、号,当机器人前进1S后,开始执行无条件跳转指令,跳转到begin这个行标号后,开始继续执行行标号后的程序,重复前进1S,导致了这个程序形成了一个死循环,无休止的在执行前进1S的程序,也就是说机器人一直在前进。5结束语句(end)【格式】 end 【功能】 终止运行6注释语句(rem)【格式】 rem 字符串【功能】 释语句的主要作用是为了增强程序的可读性,在程序执行中并不 被执行,即rem”后的语句只是起到说明作用。 为了提高程序的可读性,可以在程序的适当位置加上一些注释,注释可以放在程序的任何位置。rem 后面可以是任何内容。rem可以用 单引号代替“”。【应用】 REM 机器人走图形(二)

11、程序清单1机器人前进500ms程序及流程图机器人前进主要是靠左右侧的电机带动轮子转动,从而让机器人前进。因此,我们主要是通过编写程序来控制左右侧的电机转动,来达到控制机器人前进的目的。下面是机器人前进500ms后停止的程序及流程图。(1)流程图 (2)程序 2. 机器人后退500ms程序及流程图3机器人左转200ms程序及流程图4机器人右转200ms程序及流程图5机器人调速前进流程图及程序机器人采用的调速方法是把电机驱动芯片的使能端ENABLE A和ENABLE B两个引脚连接在了一起接到了PIC16F873A的RB4 通用输入/输出口上,在用QBasic语言编写的程序里,相当于pin4这个输

12、入/输出引脚,当pin40(低电平)时,电机使能端无效,电机不转动,机器人不动作,当pin41(高电平时)时,电机使能端有效,电机开始转动,机器人动作。就这样,通过编写程序控制机器人运动的时间和停止的时间来调整机器人运动的速度,程序及流程图如下:三、调试与运行(一)调试方法1程序下载方法(1)将机器人前进500ms后停止的程序输入到程序编辑窗口,如图3-8所示图3-8 程序编辑窗口(2)进行语法检查,如果有语法错误就进行调试程序,如果没有语法错误,进行连接机器人下载程序,如图3-9所示。 图3-9 连接机器人界面(3)把机器人下载线一端连接PC机串口,一端连接机器人主板上的下载口,打开机器人的

13、5V的电源, “下传”两个字会由灰色变为黑色,如图3-10所示,代表着PC和机器人主板通讯成功,然后点击“下传”按钮,进行程序下传,屏幕对话框中出现流动的下载线,同时可以看到下传的过程中,通讯下载线中部小盒中的绿色指示灯点亮。图3-10 下传程序界面下传成功后,屏幕上会出现“程序下传正确”的提示和程序占用空间的百分比(如图3-11所示),单击“OK”按钮,完成程序下载。图3-11 下传成功界面(4)完成下传后,断开机器人电源开关,拔下机器人通讯下载线,把机器人放到场地,机器人会前进500ms后停止。(5)将其它的程序按照上述的方法下载到机器人里,调整时间参数,观察机器人的运动情况。2运行过程机

14、器人前进500ms后停止的机器人运行视频见光盘视频3-1机器人后退500ms后停止的机器人运行视频见光盘视频3-2机器人左转200mS后停止的机器人运行视频见光盘视频3-3机器人右转200mS后停止的机器人运行视频见光盘视频3-4机器人调速前进的机器人运行视频见光盘视频3-5(二)故障排除方法:1程序无法下载的原因及解决办法:原因解决办法下载口的问题将下载线的插头拔下来在重新插一下CPU有问题更换CPU主板有问题更换主板程序有非法字符检查程序是否有语法错误2程序运行混乱的原因及解决办法:程序过大优化程序3机器人打开电源开关后,机器人无动静的原因和解决办法:电池电量低充电或者更换电池接线有问题检查接口位置是否接触良好电源开关损坏更换电源开关四、技能训练1任务要求:机器人前进500mS后,旋转180度,后退500ms,回到起始点停止; 编写相应的程序并进行下载调试,最终达到任务要求。2任务要求:机器人左转90度,前进500ms,右转90度,前进500ms,机器人停止运动。编写相应的程序并进行下载调试,最终达到任务要求。3任务要求:控制机器人走一个正方形。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1