基于51单片机的四足机器人_第1页
基于51单片机的四足机器人_第2页
基于51单片机的四足机器人_第3页
基于51单片机的四足机器人_第4页
基于51单片机的四足机器人_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、深圳大学期末考试试卷开/闭卷开卷A/B卷N/A,- 1303270001课程编号1303270002 课程名称 EDA技术与实践(2) 学分2.0命题人(签字) 审题人(签字)2015年10月 20 日题号一二三四五六七八九十基本题 总分附加题得分评卷人设计考试题目:完成一个集成电路或集成系统设计项目基本要求:2-3位同学一组,完成一个完整的集成电路设计项目或是一个集成系统设计项目。规格说明:1 .题目自定。1)集成电路设计项目i .若为IC设计项目需要完成IC设计的版图。ii .若采用FPGA实现数字集成电路设计,需要进行下板测试。2)集成系统设计项目,需使用FPGA开发板或嵌入式开发板,完

2、成一个完整的集成系统作品。3)作品需要课堂现场演示,最后提交报告,每个小组单独一份报告,但需阐述各个 成员的工作。2 . 评分标准:评价好较好未完成完成度40302515演示效果30252015报告评分302520152015年第二学期,建 议作品内容:完成一个行走机器人,基本要求o 2-8只脚o能行走o可以用单片机,嵌入式,FPGA方案设计目的:通过设计一个能够走动的机器人来增加对动手能力,和对硬件电路设计的 能力,增强软件流程设计的能力和对设计流程实现电路功能的能力,在各 个方面提升自己对电子设计的能力。设计仪器和工具:本设计是设计一个能走动的机器人,使用到的仪器和工具分别有:Sg90舵机

3、12个、四脚机器人支架一副、单片机最小系统一个、电容电阻若干、波动开关一个、超声遥控模块一对、杜邦线若干、充电宝一个。设计原理:本次设计的机器人是通过 51单片机控制器来控制整个电路的。其中,舵 机的控制是通过产生一个周期为 20毫秒的高电平带宽在0.5到2.5ms之间 的pwm信号来控制。12路Pwm信号由单片机的定时器来产生。51单片 机产生12路pwm信号的原理是:以20毫秒为周期,把这20毫秒分割成 8个2.5ms,因为,每个pwm信号的高电平时间最多为 2.5ms,然后在前 六个2.5ms中分别输出两个pwm信号的高电平,例如,在第一个 2.5ms中 输出第一个和第二个pwm信号的高

4、电平时,首先开始时,把信号S1、S2都置1,然后比较两个高电平时间,先定时时间短的高电平时间,把高电 平时间短的那个信号置 0,再定时两个高电平时间差,到时把高电平时间 长的按个信号置 0,然后,定时(2.5-较长那个高电平时间),在第二个 2.5ms开始时,把S& S4置1,接下来和上面S1、S2一样,以此类推, 在六个2.5ms中输出12路pwm信号来控制舵机。原理图如图1.通过超声模块来控制机器人前进、后退、向前的左转、向前的右转、向后的左 转、向后的右转几个动作。EDA技术与实践(2)试卷1卷 第7页共28页控制模块电路,D0,D1 , D2,D3分别为超声接受模块的输出,输出为高电

5、平,要加NPN作为开关。LG12HKPO.O/ADO P0 1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.77AD7P2.0/A8P2 1/A9P2.2/A10 P2 3/A11 P24/A12 P2.5/A13 P2.S/A14 P2.72A15P3.D/RXD P3.1ATXD P3.2/INJ0 P3.3/INT1P34/T0P3.5M139383736353433212223242526272810111215Q4NPNQ1NPN _ 1xQ2O DOO D1O D2-O 口 3NPNQ3NPN四、设计步骤:1、 设计好硬件

6、电路,焊接51单片机的最小系统和各个硬件电路。2、 设计好软件的流程图,如图2。3、 写产生12路控制舵机的pwm信号的程序并在proteus中测试,如 图3。4、 设计出行走步态,四脚机器人的步态是采用对角的相互前进来实现的,如图4。5、 写出流程图中各个模块的软件,包括前进函数、后退函数、左转和右转的函数,并逐个烧到单片机中测试。6、 按流程图把各个函数组合到主函数中,完成所有软件的编写,并烧到单片机中测试,并不断的调试。图2.流程图fl- -/1 FO3*.D3P0J9/AM2 0n 总F2?JAi ,金国11 e*寸 修匕人也 足酬加 R? 7WWRI DJQ 讣 FJ 1CL5E 3

7、*第17。 p:L3jihlira.+w咫s frmmfQ图3.在proteus里测试并调试pwm信号图4,行走步态五、遇到的问题及解决:1、 此设计的pwm信号输出使用定时器来产生每个信号的高电平和低 电平,每次定时时间到,都会会关掉定时器并执行中断函数,在此过 程中会消耗一定的时间,等到给定时器赋值下一次定时时间并开始定 时时,就会产生一定的时间延时,造成每次高电平时间都会变长一 点,且总的加起来会使20ms周期变长,因此,需要稍微减小高电平的 定时时间,并结合proteus仿真确定最准确值。2、 由于机器人的四个脚都是自己组装的,可能会有存在不平衡和对称,当对角的两只脚同时向前迈同一个角

8、度时,会使机器人向一个方 向偏转而不沿直线前进,这时要结合实际测试来调整机器人的各个脚 的前迈角度来使机器人平衡的沿直线前进,比如,一只脚迈多点,另 一边的脚迈少点。六、心得与体会: 通过这次设计,我更加的熟悉基本的硬件电路和软件的设计,特别是软件的流 程图设计。更加熟悉软硬件电路结合的测试与调试。六、实验实物图:设计代码:#include#define uchar unsigned char#define uint unsigned intuint pwm12,p_min1,p_max1,p_min2,p_max2,p_min3,p_max3,p_min4,p_max4,p_min5,p_m

9、ax5, p_min6,p_max6,p1,p2,p3,p4,p5,p6,p11,p21,p31,p41,p51,p61;/ 高电平带宽sbit s0=P2A0;/12 路输出信号sbit s1=P2A1;sbit s2=P2A2;sbit s3=P2A3;sbit s4=P2A4;sbit s5=P2A5;sbit s6=P2A6;sbit s7=P2A7;sbit s8=P0A6;sbit s9=P0A4;sbit s10=P0A2;sbit s11=P0A0;sbit up=P1A0;sbit right=P1A4;sbit left=P1A2;sbit down=P1A6;uchar

10、s_num,f,b,r,l,back_flag;forward_flag;void back(); 后退void forward。; 前进void back_right();后右转、前左转void back_left();后左转、前右转void scan_key();/ 遥控监控void labor_init();/机器人的初始状态 void delay(uint i) /延时函数,延时一秒uint j;for(i;i0;i-)for(j=110;j0;j-);void init(void)/ 中断初始函数TMOD=0x01;TR0=1;ET0=1;EA=1;void rate(uint p1

11、2)/pwm 的排序函数p_min1=(p0p1?(p0):(p1);p_min2=(p2p3?p2:p3;p_min3=(p4p5?p4:p5;p_min4=(p6p7?p6:p7;p_min5=(p8p9?p8:p9;p_min6=(p10p11?p10:p11;p1=p_max1-p_min1-21;p2=p_max2-p_min2-42;p3=p_max3-p_min3-42;p4=p_max4-p_min4-42;p5=p_max5-p_min5-42;p6=p_max6-p_min6-42;p11=2400-p_max1; EDA 技术与实践(2)试卷1 卷 第 9 页 共 28

12、页p21=2400-p_max2;p31=2400-p_max3;p41=2400-p_max4;p51=2400-p_max5;p61=15500-p_max6;TH0=-p_min1/256;TL0=-p_min1%256;s_num=0;s0=1;s1=1;init();void scan_key()if(P1!=0xff)delay(5);if(up=0)f=0;if(down=0)b=0;if(right=0)r=0;if(left=0)l=0;void time0() interrupt 1 中断产生 12 路 pwm 信号TR0=0;switch(s_num)case 0:if(

13、pwm0pwm1)s0=0;elses1=0;TH0=-p11/256;TL0=-p11%256;s_num+;break;case 2:s2=1;s3=1;TH0=-p_min2/256;TL0=-p_min2%256;s_num+;break;case 3:if(pwm2pwm3)s2=0;elses3=0;TH0=-p21/256;TL0=-p21%256;s_num+;break;case 5:s4=1;s5=1;TH0=-p_min3/256;TL0=-p_min3%256;s_num+;break;case 6:if(pwm4pwm5)s4=0;elses5=0;TH0=-p31/

14、256;TL0=-p31%256;s_num+;break;case 8:s6=1;s7=1;TH0=-p_min4/256;TL0=-p_min4%256;s_num+;break;case 9:if(pwm6pwm7)s6=0;elses7=0;TH0=-p41/256;TL0=-p41%256;s_num+;break; EDA 技术与实践(2)试卷1 卷 第 13 页 共 28 页case 11:s8=1;s9=1;TH0=-p_min5/256;TL0=-p_min5%256;s_num+;break;case 12:if(pwm8pwm9)s8=0;elses9=0;TH0=-p5

15、1/256;TL0=-p51%256;s_num+;break;case 14:s10=1;s11=1;TH0=-p_min6/256;TL0=-p_min6%256;s_num+;break;case 15:if(pwm10pwm11)s10=0;elses11=0;TH0=-p61/256;TL0=-p61%256;s_num+;break;case 17:s0=1;s1=1;s_num=0;TH0=-p_min1/256;TL0=-p_min1%256;break;scan_key();TR0=1;void motor_init1()/ 给所有信号都设高电平时间为1.5 毫秒 EDA 技

16、术与实践(2)试卷 1 卷 第 # 页 共 28 页uchar i;for(i=0;i12;i+) pwmi=1500; void labor_init()机器人的初始状态motor_init1();l=1;f=1;r=1;b=1;back_flag=0;forward_flag=0;rate(pwm);delay(200);while(1)if(r=0)r=1;back_right();if(l=0)l=1;back_left();if(f=0)f=1;forward。;if(b=0)b=1;back();void back()back_flag=1;forward_flag=0;motor

17、_init1();pwm8=pwm8+300;pwm9=pwm9-250;pwm2=pwm2+150;pwm3=pwm3-150;pwm7=pwm7+50;/pwm0=pwm0-80;/pwm5=pwm5+80;/pwm11=pwm11-30;rate(pwm);delay(500);pwm3=pwm3+320;pwm8=pwm8-200;pwm4=pwm4+600;pwm5=pwm5+600;pwm6=pwm6+600;pwm7=pwm7+600;rate(pwm);delay(300);pwm4=pwm4-600;pwm5=pwm5-600;pwm6=pwm6-600;pwm7=pwm7-

18、600;rate(pwm);delay(300);while(1)if(r=0)r=1;back_right();if(l=0)l=1;back_left();if(f=0)f=1;forward。;if(b=0)b=1;pwm3=pwm3-320;pwm8=pwm8+200;pwm2=pwm2-270;pwm9=pwm9+320;pwm1=pwm1-600;pwm0=pwm0-600;pwm10=pwm10-600;pwm11=pwm11-600;rate(pwm);delay(300);pwm1=pwm1+600;pwm0=pwm0+600;pwm10=pwm10+600; EDA 技术与

19、实践(2)试卷1 卷 第 19 页 共 28 页pwm11=pwm11+600;rate(pwm);delay(500);pwm2=pwm2+270;pwm9=pwm9-320;pwm3=pwm3+320;pwm8=pwm8-200;pwm4=pwm4+600;pwm5=pwm5+600;pwm6=pwm6+600;pwm7=pwm7+600;rate(pwm);delay(300);pwm4=pwm4-600;pwm5=pwm5-600;pwm6=pwm6-600;pwm7=pwm7-600;rate(pwm);delay(500);if(P1!=0xff)forward();void ba

20、ck_right()motor_init1();pwm8=pwm8+50;pwm9=pwm9-50;/pwm2=pwm2+150;/pwm3=pwm3-150;pwm7=pwm7+100;/pwm0=pwm0-80;EDA 技术与实践(2)试卷1 卷 第 # 页 共 28 页/pwm5=pwm5+80;/pwm11=pwm11-30;rate(pwm);delay(300);pwm3=pwm3-70;pwm8=pwm8-70;pwm4=pwm4+600;pwm5=pwm5+600;pwm6=pwm6+600;pwm7=pwm7+600;rate(pwm);delay(300);pwm4=pwm

21、4-600;pwm5=pwm5-600;pwm6=pwm6-600;pwm7=pwm7-600;rate(pwm);delay(300);while(1)if(r=0)if(back_flag=1)r=1;back_right();if(forward_flag=1)r=1;back_left();if(l=0)if(back_flag=1)l=1;back_left();if(forward_flag=1)l=1;back_right();if(f=0)f=1;forward();if(b=0)b=1;back();pwm3=pwm3+70;pwm8=pwm8+70;pwm2=pwm2-70

22、;pwm9=pwm9-70;pwm1=pwm1-600;pwm0=pwm0-600;pwm10=pwm10-600;pwm11=pwm11-600;rate(pwm);delay(300);pwm1=pwm1+600;pwm0=pwm0+600; EDA 技术与实践(2)试卷1 卷 第 # 页 共 28 页pwm10=pwm10+600;pwm11=pwm11+600;rate(pwm);delay(500);pwm2=pwm2+70;pwm9=pwm9+70;pwm3=pwm3-70;pwm8=pwm8-70;pwm4=pwm4+600;pwm5=pwm5+600;pwm6=pwm6+600

23、;pwm7=pwm7+600;rate(pwm);delay(300);pwm4=pwm4-600;pwm5=pwm5-600;pwm6=pwm6-600;pwm7=pwm7-600;rate(pwm);delay(300);void back_left()motor_init1(); pwm8=pwm8+50; pwm9=pwm9-50; /pwm2=pwm2+150; /pwm3=pwm3-150; pwm6=pwm6+50; pwm7=pwm7+100; /pwm0=pwm0卜80;/pwm5=pwm5+80;/pwm11=pwm11-30;rate(pwm);delay(300);pw

24、m3=pwm3+70;pwm8=pwm8+70;pwm4=pwm4+600;pwm5=pwm5+600;pwm6=pwm6+600;pwm7=pwm7+600;rate(pwm);delay(300);pwm4=pwm4-600;pwm5=pwm5-600;pwm6=pwm6-600;pwm7=pwm7-600;rate(pwm);delay(300);while(1)if(r=0)if(back_flag=1)r=1;back_right();if(forward_flag=1)r=1;back_left();if(l=0)EDA 技术与实践(2)试卷 1 卷 第 # 页 共 28 页pwm

25、11=pwm11+600;if(back_flag=1)l=1;back_left();if(forward_flag=1)l=1;back_right();if(f=0)f=1;forward。;if(b=0)b=1;back();pwm3=pwm3-70;pwm8=pwm8-70;pwm2=pwm2+70;pwm9=pwm9+70;pwm1=pwm1-600;pwm0=pwm0-600;pwm10=pwm10-600;pwm11=pwm11-600;rate(pwm);delay(300);pwm1=pwm1+600;pwm0=pwm0+600;pwm11=pwm11+600;rate(pwm);delay(500);pwm2=pwm2-70;pwm9=pwm9-70;pwm3=pwm3+70;pwm8=pwm8+70;pwm4=pwm4+600;pwm5=pwm5+600;pwm6=pwm6+600;pwm7=pwm7+600;rate(pwm);delay(300);pwm4=pwm4-600;pwm5=pwm5-600;pwm6=pwm6-600;pwm7=pwm7-600;rate(pwm);delay(300);void forward()forward_flag=1;back_flag=0;motor_init1();pwm2=pwm2-150;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论