欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    龙人宝贝机器人课程设计报告汇总.docx

    • 资源ID:28695476       资源大小:1.91MB        全文页数:29页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    龙人宝贝机器人课程设计报告汇总.docx

    1、龙人宝贝机器人课程设计报告汇总龙人宝贝机器人课程设计报告 1 小车硬件安装过程1.1 安装机器人底盘硬件零件清单:宝贝车地盘、螺柱 4 个、盘头螺丝 4 个、12/32 英寸的橡胶圈 (本实践中没有该零件)。(1)将 13/32 英寸的橡胶套圈插到宝贝车底盘衷心的孔内。由于本实践中没 有该零件,所以该步省略。(2)确保底盘中心孔的边缘嵌在橡胶圈的凹槽中。(3)用 4 个螺丝将螺柱固定在底盘上。1.2 拆除舵机摆臂零件清单:两个舵机。(1)用螺丝起子去掉舵机摆臂和电机输出轴之间的螺钉。(2)将舵机摆臂从电机输出轴上取下来。(3)将螺丝钉保存好,而后还会用到。1.3 将电机安装到底盘上零件清单:宝

    2、贝车地盘(部分已经安装好)、连续旋转舵机、盘头螺丝 8 个、 螺母 8 个。(1)用盘头螺丝和螺母将舵机固定在底盘上。为了最好的性能,必须从里面 而不是从外面把电机放入巨型窗口。(2)用标签纸标识伺服电机的左右轮。1.4 安装电池零件列表:宝贝车地盘(部分已经安装好)、带有插头的电池盒、平头螺丝 2 个、螺母 2 个(1)用平头螺丝和螺母将电池盒固定在宝贝车机器人的底盘下面。(2)将螺丝穿过电池盒,然后在底盘上面用螺母紧固。(3)将电池盒的电源连接线穿过底盘中间带有橡胶圈的孔。(4)将伺服电机线也穿过此孔。(5)牌例伺服电机线和电源线。1.5 安装轮子零件清单:部分已经安装好的宝贝车机器人、开

    3、口销、球状尾轮、橡皮圈、 塑胶轮子、步骤 1.2 中拆掉舵机摆臂里保存的螺钉。(1)轮子的中心孔与底盘尾部的中心孔对准在一条水平线上。(2)将开口销同时穿过这三个孔(底盘左侧、尾轮、底盘右侧)(3)将开口销一端弯曲使它不会滑出。(4)拉伸橡皮圈,把它套在每个轮子上。(5)每个轮子有一个凹槽用于把它安装到输出轴上。将两个轮子分别在输出 轴上,确保两个高度一致,并已安装进轮子的凹槽。(6)用螺丝钉将轮子固定在输出轴上。1.6 把教学地板安装到地盘上零件清单:宝贝车机器人地盘(部分组装好)、盘头带平垫螺丝 4 个、带控制 器的教学板(1)连接伺服电机到教学底板上的电机接口处。(2)将贴着“L”(左轮

    4、驱动电机)的插头连接到 PC3 端口,贴着“R”(右轮 驱动电机)的插头连接到 PC端口。(3)确保面包板接近驱动轮而不是尾轮。(4)将主板放在四个支架上使其与四个孔对齐。(5)用盘头呆平垫螺丝将主板固定在螺柱上。2 C51+AVR 控制板介绍2.1 概述:C51+AVR 宝贝车控制板,是鸥鹏科技有限公司开发的,一款拥有 C51 和 AVR 功能的单片机控制板。C51 部分采用的是 AT89S52 单片机,AVR 部分采用 的是 ALTMEGA8 的单片机。2.2 89S52 的主要性能:1) 与 MCS-51 单片机产品兼容; 2) 8K 字节在系统可编程 Flash 存储器;3) 1000

    5、 次擦写周期;4) 全静态操作:0Hz-33MHz;5) 三级加密程序存储器;6) 32 个可编程 I/O 口线;7) 三个 16 位定时器/计数器;2.3 功能特性描述8) 8 个中断源;9) 全双工 UART 串行通道; 10) 低功耗空闲和掉电模式; 11) 掉电后中断可唤醒;12) 看门狗定时器;13) 双数据指针;14) 掉电标识符。AT89S52 是一种低功耗、高性能 CMOS8 位微控制器, 具有 8K 在系统 可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工 业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程

    6、,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash ,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决 方案。 AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器, 一个 6 向量 2 级中断结构, 全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至 0Hz静态逻辑操作,支持 2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM 、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存

    7、,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2.4 引脚结构图 1图 2图 32.5 AVR 的主要性能:高性能、低功耗的 8 位 AVR 微处理器先进的 RISC 结构 130 条指令。大 多数指令执行时间为单个时钟周期 32 个 8 位通用工作寄存器全静态工作工作 于 16 MHz 时性能高达 16 MIPS 只需两个时钟周期的硬件乘法器非易失性程序 和数据存储器 8K 字节的系统内可编程 Flash 擦写寿命: 10,000 次。具有独立 锁定位的可选 Boot 代码区通过片上 Boot 程序实现系统内编程真正的同时读写操作 512 字节的 EEPROM 擦写寿命:

    8、 100,000 次。1K 字节的片内 SRAM可以对锁定位进行编程以实现用户程序的加密外设特点两个具有独立预分频器 8 位定时器/ 计数器, 其中之一有比较功能。 一个具有预分频器、比较功能和捕 捉功能的 16 位定时器/ 计数器 具有独立振荡器的实时计数器 RTC 三通道PWM,TQFP 与 MLF 封装的 8 路 ADC 8 路 10 位 ADC,PDIP 封装的 6 路 ADC,8 路 10 位 ADC,面向字节的两线接口 两个可编程的串行 USART 可 工作于主机/ 从机模式的 SPI 串行接口。具有独立片内振荡器的可编程看门狗 定时器片内模拟比较器特殊的处理器特点上电复位以及可编

    9、程的掉电检测片内 经过标定的 RC 振荡器片内/ 片外中断源5 种睡眠模式: 空闲模式、ADC 噪 声抑制模式、省电模式、掉电模式及 Standby 模式。I/O 和封装23 个可编程 的 I/O 口28 引脚 PDIP 封装,32 引脚 TQFP 封装,32 引脚 MLF 封装。工作电 压 2.7 - 5.5V (ATmega8L) 4.5 - 5.5V (ATmega8)。速度等级 0 - 8 MHz (ATmega8L) 0 - 16 MHz (ATmega8)4 Mhz 时功耗, 3V, 25C 工作模式: 3.6 mA 空闲模式: 1.0 mA 掉电模式: 0.5uA图 4图 51电

    10、源插头:单片机供电1720pin 排母:AVRLCD 显示块的扩展接口。2三档拨动开关:1、档关 2、单片机供电 3、舵机供电。18IO 扩展口舵机插口:舵机与 AVR 单片机的 连接。3C51ISP 下载口:并口下载 HEX 文件。19AVR 扩展口。4C51 单片机供电跳线。20扩展面包板。5三端稳压器:提供稳定的 5V 电源21电源指示灯:显示控制板是否通电。6电源选择跳线:当跳线帽连接到 Vin 的时候舵机的供电电源是输入电压电源,当跳线帽连接到 Vcc,舵机的供电电源是 5V。22C51 单片机电源显示灯:用于 C51 单片机通 电反馈。7舵机连接插头:舵机与 C51 单片机的连接。

    11、23AVR 单片机电源显示灯:用于 AVR 单片机 通电反馈。8C51 单片机的 IO 扩展口。24轻触开关:用于 C51 单片机复位。920pin 排母:C51LCD 显示块的扩展接口25晶振:给 C51 单片机提供时钟信号。10MAX232 通信 IC:用于 PC 机与单片机进行 异步串行通信。26晶振:给 AVR 单片机提供时钟信号。11DB9 母头:PC 机和 C51 系列的单片机的异步 串行通信。27轻触开关:用于 AVR 单片机复位。12C51 系列单片机:AT89S52,TOFP 封装。28舵机和滚轮:宝贝车的运动执行器件13AVRISP 下载口:并口下载 HEX 文件。29宝贝

    12、车的支架。14AVR 单片机供电跳线。15AVR 系列单片机 28 脚 PDIP 封装。16DB9 母头:PC 机和 AVR 系列的单片机的异 步串行通信。软件编程设计33.1 搭建并测试 IR 发射和探测器对3.1.1 元件清单:(1) 两个红外检测器(2) 两个IR LED(3) 四个470电阻(4) 两个9013三极管3.1.2 搭建红外线前灯电路板的每个角安装一个IR组(IR LED和检测器)。 断开主板和伺服系统的电源 建立所示的电路,可参考实物图 63.2 红外线检测循迹 程序功能图:令白色图 7根据程序功能图来编写程序#include#include#include /宏定义#d

    13、efine LeftIR P1_2 /左边红外接收连接到 P1_2 #define RightIR P3_5 /右边红外接收连接到 P3_5 #define LeftLaunch P1_3 /左边红外发射连接到 P1_3 #define RightLaunch P3_6 /右边红外发射连接到 P3_6 void IRLaunch(unsigned char IR)int counter;if(IR=L)/左边发射for(counter=0;counter38;counter+)LeftLaunch=1;_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _

    14、nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LeftLaunch=0;_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /为了达到使电机有充分的时间反应做的延时空程序 if(IR=R)/右边发射for(counter=0;counter38;counter+)RightLaunch=1;_nop_(); _nop_(); _nop_(); _nop_()

    15、; _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();RightLaunch=0;_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();int main(void)int pulseLeft,pulseRight;int irDetectLeft,irDetectRight;uart_Init();printf(Program Running!n);

    16、doIRLaunch(R); /右边红外发射irDetectRight = RightIR;/右边接收IRLaunch(L); /左边红外发射irDetectLeft = LeftIR;/左边接收 if(irDetectLeft=0)&(irDetectRight=0)/如果检测到的都是白色的话,向后退,直到检测到黑色,重新走pulseLeft=1300;pulseRight=1700;else if(irDetectLeft=0)&(irDetectRight=1)/左边检测到白色,右边 检测到黑色,右转pulseLeft=1700;pulseRight=1700;else if(irDet

    17、ectLeft=1)&(irDetectRight=0)/右边检测到白色,左边 检测到黑色,左转pulseLeft=1300;pulseRight=1300;else /如果都不是的话前进pulseLeft=1700;pulseRight=1300;P1_1=1;delay_nus(pulseLeft);P1_1=0;P1_0=1;delay_nus(pulseRight);P1_0=0;delay_nms(20);while(1);4 电路仿真阶段我们根据电路图来进行 protus 的电路仿真,在最终的时候我们进行的电路 仿真是:图 8:最终图 9:最开始由于在 protus 软件中没有 A

    18、T89S52 的单片机,所以采用的时候与之比较相 似的 AT89C52 的单片机来代替,仿真电路按照硬件连接的电路所设计,感应器GP2D12。电机采用的是 MOTOR-PWMSERVO 舵机伺服电动机,电机的电极 根据实际要求查询的资料来确定。运行结果:将程序导入到单片机中后发现错误报告,修改后电机不转,感 应器不能传感信号。图 10:修改 1改进:将传感器改为可以常开常闭的控制开关 SW-SPST 代替发射 0/1 信号。运行结果:运行后点击不发生偏转,电机控制开关不点击运转不发生变化。图 11: 修改 2改进:加上示波器来显示显示点击的运转状况。 运行结果:示波器没有反应。图 12: 修改

    19、 3改进:经过再次的查询资料得知我们的电机的正极和信号线接反了,将接线错误改正。运行结果:运行后点击可以显示转角,但是按下控制开关后,点击的转角 不发生改变。同时我们发现没有复位装置的仿真,并且二极管无法显示信号状 态。图 13: 修改 4改进:将二极管改为可显示信号的 DIODE,加上复位仿真模块。运行结果:二极管信号显示正常,按下控制开关后点击的转角仍然没有发 生改变,复位仿真有效果。但是无法模拟两个红外线都探测到白色信号的情况。图 14:修改 5改进:更进一步的查阅资料后得知控制开关应该和地相连,因为单片机本 身提供有正电位,信号为 1,如果控制开关还和正电位相连的话,那按下控制 开关后

    20、信号不发生改变。于是将控制开关与地连接。同时加上一个控制开关模 拟红外线探测到都是白色的情况。运行结果:电机发生转角,示波器显示正常。但是分别按下三个控制开关 后结果显示都一样。经过改进后得到最终的仿真结果。5 相关疑问解答5.1 选择使用三极管 9013 的原因因为 C51 的 IO 驱动能力比较弱,我们加入三极管来使其工作在开关状态。 三极管是一种控制原件,主要用来控制电流的大小,简单来说,是用小电流控 制大电流。5.2 使用 AT89S52 的四个引脚 P1_2、P1_3、P1_5、P1_6 分别的作用。 #define LeftIR P1_2 /左边红外接收连接到P1_2#define

    21、 RightIR P3_5 /右边红外接收连接到P3_5#define LeftLaunch P1_3 /左边红外发射连接到P1_3#define RightLaunch P3_6 /右边红外发射连接到P3_6这里用到的命令是#define,它的作用是声明标识符常量。往后就可以用 LeftIR 来代替 P1_2,用 RightIR 来代替 P3_5 等等。5.3 do.while 语句的使用方法在 C 语言中,直到型循环控制语句是 dowhile,它的一般形式为:do 语句 while(表达式)其中语句通常为复合语句,成为循环体Do.while 语句的基本特点是:先执行后判断。因此循环体至少被

    22、执行一 次。在这个程序 DO 循环体中,发生 38.5kHz 的 IR 信号给每个红外的 LED。当 脉冲发生完以后,变量立即存储红外检测器的输出状态。5.4 舵机的工作原理舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持 的控制系统。如果你控制的舵机在不停的抖动,其中一个原因就是你给的脉冲 有杂波,这点很重要。舵机是一个物理器件,它的转动需要时间的,因此,程 序中占空比的值变化不能太快,不然舵机跟不上程序的响应时间。(The Parallax (GWS) NARO Servo is smaller and lighter than a standard servo, but

    23、it delivers the performance of a standard servo. It is recommended for smaller robots or in projects where space is tight. Servos may be controlled directly from a BASIC Stamp I/O pin by using the PULSOUT command. Two NARO servos are used to make the Parallax Penguin Robot walk. )视差(GWS)NARO 伺服的是比标准

    24、伺服体积更小,重量更轻,但它提供 了一个标准的伺服性能。它被推荐用于小型机器人或项目,在空间紧张。舵机 直接从 BASIC Stamp 的 I / O 引脚,可控制使用 PULSOUT 指令。两个 NARO 舵机用于使视差企鹅机器人(龙人宝贝)进行步行路程。5.4.1 舵机的结构我们选的舵机型号是 Tower Pro MG995,实物如图:图15它有三条线 棕色、红色、黄色分别是 GND、 V+ 、 S(信号)。如下图:图16伺服电机连接线和延长线的安装:首先,伺服电机上的插座接线颜色为咖、 红、黄,它们分别问 GND,V+(电源),S(信号)。延长线颜色分别为白、红、 黑,它们分别是 GND

    25、,V+(电源),S(信号)。将他们连接起来,按照伺服电机 卡的输出排针上的标示插好,注意线不要接反。在我们的实验中所用的伺服电 机的插座接线已经和延长线接在了一起,所以没有必要再进行这一步的安装。5.4.2 舵机的单片机控制原理(1)我们得先了解舵机的工作原理:控制信号由舵机的信号通道进入信号 调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽 度为1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电 压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电 机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止 转动。它的控

    26、制要求如下图:图17:舵机输出转角与输入信号脉冲宽度的关系(2)由上可知舵机的控制信号是 PWM 信号,利用占空比的变化改变舵机 的位置。我们用 pic 单片机的定时器1模块产生 PWM 信号,得到控制电机的占 空比,也就如上图的占空比信号,周期是20Ms.下面我们来看看怎样产生上图的 占空比,单片机的定时器1模块最大可以产生174ms 的延时,也就是可以产生最 大174ms 的中断。怎样设置 Timer1来产生上述占空比的中断,可以参考具体资 料书。当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的 一个定时器中断的初值,将20ms 分为两次中断执行,一次短定时中断和一次长 定时

    27、中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和 控制精度都很高。具体的设计过程:例如想让舵机转向左极限的角度,它的正 脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然 后设置 定时器在2ms 后发生中断,中断发生后,在中断程序里将控制口改为低 电平,并将中断时间改为18ms,再过18ms 进入下一次定时中断,再将控制口改 为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现 PWM 信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时 间段的宽度便可使伺服机灵活运动。 但是我们要记住一点,要在中断中做事必 须要

    28、在长中断中做事,可以避免不必要的麻烦。5.4.3 proteus 软件仿真舵机的控制先在 proteus 中找到舵机的元件,就是那个英文单词是 motor-pwmservo 的元件。这里我们可以用按键的方式去控制单片机产生不同的占空比,来达到 可以控制电机转到不同的角度。电路如图所示:5.4.4 具体的程序清单:#includeunsigned char TL01;unsigned char TH01;unsigned char TL02;unsigned char TH02;int A,C=0;bit FLAG=0;void delay10ms(void)unsigned char i,j;

    29、for(i=20;i0;i-)for(j=248;j0;j-) ;/延时200ms 子程序void delay02s(void)图18delay10ms();/*主程序*/void main(void)INTCON=0;GIE=1;/ ;打开总中断PEIE=1;/ ;打开外部中断使能位 TMR1IE=1;/ ;打开 TMR1中断 TRISD=0X0F0;PORTD=0X00;T1CON=0x01;/设置 TMR1的控制字 RD0=0; /脉冲波形起始状态 TMR1IF=0;FLAG=0;unsigned char i;for(i=20;i0;i-)TL01=0X23; /TL01=0x2E;

    30、/ 舵机0 位,1.5ms 定时初始值TH01=0X0FA; /TH01=0x0FA;TL02=0X0CC; /TL02=0x0B2; /8.5ms 定时初始值TH02=0X0DE; /TH02=0x0B7;while(1)if(RD7=0)delay10ms(); /按下,延时,防抖 if(RD7=0) /等待释放TH01-;TL01=A;C=0;A=TL02;A=A+20;if(A=255)A-=255;C=1;if(C=0)TL02=A;elseTH02+;TL02=A;C=0;delay02s();A=TL01;if(A!=0xFF) /判断是否到+90C=0;A=A-20;if(A=255)A-=255;C=1;if(C


    注意事项

    本文(龙人宝贝机器人课程设计报告汇总.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开