机器人硬件电路设计

上传人:pu****.1 文档编号:564905295 上传时间:2022-11-09 格式:DOCX 页数:29 大小:831.76KB
返回 下载 相关 举报
机器人硬件电路设计_第1页
第1页 / 共29页
机器人硬件电路设计_第2页
第2页 / 共29页
机器人硬件电路设计_第3页
第3页 / 共29页
机器人硬件电路设计_第4页
第4页 / 共29页
机器人硬件电路设计_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《机器人硬件电路设计》由会员分享,可在线阅读,更多相关《机器人硬件电路设计(29页珍藏版)》请在金锄头文库上搜索。

1、本科学年论文简易人形机器人的设计院 系电子信息工程学院自动化系专业名称 自动化年级 2008级学生姓名张宇哲学号 00824058指导教师仲兆楠日 期2011 年 09 月摘要本文介绍的人形机器人采用新华龙公司的 C8051F310 单片机为控制核心, 利用舵机完成人形机器人的各种动作。该人形机器人可以完成下蹲、起立、走步, 侧移和踢球等动作。舵机均采用单片机 C8051F310 内部的 PCA 模块产生的 PWM 波调节其转向和转角的大小从而实现人形机器人的各种动作。关键字:C8051F310 舵机 PCA 模块 PWMDesign and Realization Humanoid Robo

2、tBased on MCUAbstractHumanoid Robot that is described in this article is using Nc Dragon single-chip microcomputer as control core , using rudder to complete various action。The Humanoid Robot can complete the squatting , standing up , walking , lateral moving and kicking actions. Rudder is controlle

3、d byPWMwavesproducedbyC8051F310MCUinternalPCAmodule.Thoseactions is achieved through adjusting steering and rudder angle .Keywords: C8051F310 Rudder PCA module PWM目录概述 3 硬件电路设计 3 一电源电路3 二单片机电路3 三 RS 485 总线 4 四舵机电路4 五 PCB 制作 5 软件设计 7 一主板程序7 二子板程序22 总结 27 附录 28本次的设计主题为人形机器人,主要对人形机器人的腿部进行设计与制作。使用新华龙C80

4、51F310单片机作为主控芯片。通过该单片机的PCA模块产生的 PWM 波来控制舵机的运动。对腿部的控制需要三块电路板,一块主控板,两块 从板。主控板主要用来通过485总线向从板发送数据指令,而从板则接收主板的 指令来完成相应的控制。舵机的具体动作时依靠从板的控制来实现的。硬件电路设计本次所设计的机器人是由新华龙 C8051F310 控制,两条人形机械腿由十二 个舵机组成由三块电路板控制。且三块电路板由三名组员分别设计完成。其中一 块主控板控制两块从板,通过 485 总线进行通信,从而实现机械腿的协调动作。 我主要负责从板的设计与制作,以下将从板的设计进行说明。一 电源电路电源芯片采用AZ10

5、84和LM1117。其中AZ1084输入电压为7.2v,输出电压 为5v, LM1117输入电压为5v,输出电压为3.3vF310单片机的工作电压是3.3v, 因此需要经过两次降压达到3.3v。为了稳定工作电压,采用IB0505LS来稳定单 片机的工作电压。N. LUND JbcA5VIDITTPUTLF11084二单片机电路单片机及用来调试的接口电路如下:本单片机的晶振为32.768MHZ,但是在后期的测试发现外部晶振输出不稳定,因此采用的是内部晶振。我们所设计的机器人总共有12个舵机,而这款F310最多只能输出5路PWM,因此需要3块板子。zi:-?-LC-十-Z:四舵机控制电路每块从板上

6、共有六组舵机驱动,用P117光耦进行隔离电路图如下:五.PCB制作:PCB 制作如下:一下分别为PCB设计图以及对应的3D图程序设计本设计的程序一 C 语言来编写。程序的初始化可通过新华龙公司的专用软件 (configura tion wizard2 )来完成,不用编程者自己完成,所以初始化相对方 便。程序的主体部分由两部分组成,一部分为主板程序,控制单片机用串口模块 来向从板发指令,主板的程序只发送相应的指令来协调舵机的运动。而从板的程 序主要用来接受指令,并且是相应的舵机作出相应的动作。具体的动作实在从板 的程序中完成的。程序设计如下:一主板程序void Uart_Send(unsigne

7、d charx)SBUF0=x;while(!TI0);TI0=0;void PCA_Init()PCA0CN = 0x40;PCA0MD &= 0x40;PCA0MD = 0x02;PCA0CPM0 = 0xC2;PCA0CPM1 = 0xC2;PCA0CPL0 = 0x49;PCA0CPL1 = 0x43;PCA0CPH0 = 0xEC;PCA0CPH1 = 0xEB;void Port_IO_Init()Open-Drain, Digital Open-Drain, Digital Open-Drain, Digital Open-Drain, Digital/ P0.0 - Skipp

8、ed,/ P0.1 - Skipped,/ P0.2 - Skipped,/ P0.3 - Skipped,/ P0.4 - TX0 (UART0), Open-Drain, Digital/ P0.5 - RX0 (UART0), Open-Drain, Digital/ P0.6 - CEX0 (PCA), Open-Drain, Digital/ P0.7 - CEX1 (PCA), Open-Drain, DigitalOpen-Drain, Digital Open-Drain, Digital Open-Drain, Digital Open-Drain, Digital Open

9、-Drain, Digital Open-Drain, Digital Open-Drain, Digital Open-Drain, Digital Open-Drain, Digital Open-Drain, Digital Open-Drain, Digital Open-Drain, Digital/ P1.0 - Unassigned, / P1.1 - Unassigned, / P1.2 - Unassigned, / P1.3 - Unassigned, / P1.4 - Unassigned, / P1.5 - Unassigned, / P1.6 - Unassigned

10、, / P1.7 - Unassigned, / P2.0 - Unassigned, / P2.1 - Unassigned, / P2.2 - Unassigned, / P2.3 - Unassigned,P0SKIP= 0x0F;XBR0= 0x01;XBR1= 0x42;void Oscillator_Init()OSCICN = 0x82;void Timer_Init()TCON TMOD CKCONTL1TH1= 0x40;= 0x20;= 0x01;= 0x61;= 0x61;void UART_Init()SCON0 = 0x10;void Interrupts_Init(

11、)IP= 0x10;IE= 0x80;/ Initialization function for device,/ Call Init_Device() from your main program void Init_Device(void)PCA_Init(); Port_IO_Init();Oscillator_Init(); Timer_Init();UART_Init();Interrupts_Init();以上为 CONCIGRITION WIZARD2 程序所生成的初始化程序,程序中对 PCA,定时器,串口,以及各个端口进行初始化设置。void Delay(unsigned in

12、t x) unsigned int y,z; for(y=0;yx;y+) for(z=0;z50;z+); void Uart_Send(unsigned charx)SBUF0=x; while(!TI0);TI0=0; 以上为主程序中使用的延时以及串口发送子程序,由于主板只需要发送数 据,所以只有数据发送程序。以下为主板中控制各个动作的子程序,所执行的动作有站立,行走,左移, 蹲下,站起,踢腿。每个动作都以 for 循环来实现,目的是使舵机的偏角一点点 改变,不至于一下子打到设定的位置。void Walk(void)uchar i; for(i=0;i11;i+)/右腿 2, 3, 4

13、关节抬起。Uart_Send(walk_you_2); Uart_Send(64-3*i);Delay(5);Uart_Send(walk_you_3); Uart_Send(93+2*i);Delay(5);Uart_Send(walk_you_4);Uart_Send(136-i);Delay(5);Uart_Send(walk_zuo_1); /左腿 1,5 关节调节重心位置Uart_Send(142-i);Delay(2);Uart_Send(walk_zuo_5);Uart_Send(143+i);Delay(200);Delay(1500);for(i=0;i0;i-)Uart_Send(walk_you_2);/ 右腿伸直 Uart_Send(64-3*i);Delay(5);Uart_Send(walk_you_3);Uart_Send(93+2*i);Delay(5);Uart_Send(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号