[机器人设计说明.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[机器人设计说明

机器人—南方小子设计及功能说明机器人设计所需部件我们制作的机器人所用到的部件:一个L293D驱动模块,四个直流电机,四个红外线反射传感器,一块AT89S52单片机,四个5.8cm小轮,一个万向轮,一个12MHz的晶振,导线若干,电容若干,芯片若干其中:直流电机1 驱动输出;直流电机 2 驱动输出;直流电机 3 驱动输出;直流电机 4 驱动输出;5V寻迹ARM 控制,可以方便的控制直流电机速度和方向 可以方便的控制直流电机速度;单片机有四组接口可以为接红外避障接口。二. 机器人系统硬件设计 1.电源模块设计根据材料我们选用两节3.6V锂电池作为输入电源,由于52单片机要求输入电压为+5V 我们采用7805稳压后供电。2.驱动模块设计我们所用的驱动模块为L293D驱动模块, 可以直接驱动 4 路 3- 16V 直流电机,并提供了 5V 输出接口( 最低只要6V),可以给 5V 单片机电路系统供电 ,支持3.3V MCU ARM 控制 ,可以方便的控制直流电机速度和方向 ,也可以控制 2 相步进电机, 5 线 4 相步进电机 。驱动模块使用两个继电器和四个三极管为主要部件构成驱动电路。可以分别控制四个电机正转.反转和停转。其中四组信号线可以接入单片机。3.红外线传感模块设计红外线传感模块主要有四个红外对管,电阻和发光二极管组成;三个红外线反射传感器作为机器人的寻迹功能使用,另外一个作为机器人的探头用以避障探测;红外对管由发射管和三极管组成,当遇到黑线没有反射时接收三极管不导通,相应输出端输出高电平,其他时刻接收三极管导通,输出端被下拉为低电平。其红外探头接口有三条线组成:红线:接 4.5-5V 电源高电平黄色线:信号线,接单片机,输出 TTL 电平给单片机 ,用以测量红外光值黑线:GND 0V电源低电平4.附加硬件设备设计为了便于机器人更好越障和上坡,我们在机器人尾部附加设计一个万向轮,避免机器人在越障时后轮被卡在障碍物上以及防止机器人上坡时机器人后倒。三.机器人系统软件设计1.电机程序设计直流电机驱动比较简单,不像步电机那样需要给高低电平脉冲直流电机只要给高低电平就可以转只要PWM=1即高电平,电机就可以转,DIR0O/I则控制电机的正反转。2.寻迹程序控制寻迹其实是对模块输出端高低电平的读取,只要实现四个IO口即可实现所有的寻迹读取,当读到一时,表示相应未知的红外对管在黑线上。经寻迹程序控制可实现机器人沿S型路线行走。寻迹程序:#includeAT89x51.H#define Left_moto_pwm P2_0 //PWM输出本寻迹小车不用#define Right_moto_pwm P2_1 //PWM输出本寻迹小车不用 #define Left_1_led P3_4 //P3_4接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1#define Left_2_led P3_5 //P3_5接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2 #define Right_1_led P3_6 //P3_6接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3#define Right_2_led P3_7 //P3_7接四路寻迹模块接口第四路输出信号即中控板上面标记为OUT4#define Left_moto_go {P1_0=1,P1_1=0,P1_2=1,P1_3=0;} //左边两个电机向前走#define Left_moto_back {P1_0=0,P1_1=1,P1_2=0,P1_3=1;} //左边两个电机向后转#define Left_moto_Stop {P1_0=0,P1_1=0,P1_2=0,P1_3=0;} //左边两个电机停转#define Right_moto_go {P1_4=1,P1_5=0,P1_6=1,P1_7=0;}//右边两个电机向前走#define Right_moto_back {P1_4=0,P1_5=1,P1_6=0,P1_7=1;}//右边两个电机向前走#define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;}//右边两个电机停转 unsigned char pwm_val_left =0;unsigned char push_val_left =1;// 左电机占空比10/40unsigned char pwm_val_right =0;unsigned char push_val_right=1;// 右电机占空比10/40bit Right_moto_stop=1;bit Left_moto_stop =1;//延时函数 void

文档评论(0)

zhonhua5000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档