机器人总结报告

时间:2019-05-13 14:59:49下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《机器人总结报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《机器人总结报告》。

第一篇:机器人总结报告

机器人总结报告

各位老师、各位同学:

大家晚上好!

首先真诚的感谢孙老师和鲍老师给我提供这次很好的机会,我很高兴也很荣幸的能够在此与大家共同交流,共同学习。下面我就机器人的整个制作过程给大家简单的介绍一下:

下面是提纲:

首先给机器人做简单的分类然后再从下面两个方面介绍:

一、硬件:

(1)、从大一接手焊接任务引入,强调实践动手能力对制作机器人的重要性。

(2)、在家电维修队中经过系统的学习对机器人实现提供了保障,并由此引入机器人制作的工作重心是前期的总体规划。

二、软件:

(1)、从机器人的控制部分单片机引入,首先对单片机做简单的介绍,为什么学习单片机,以及其用途。

(2)通过单片机的学习总结下自己的学习经历。

(3)最后由单片机引入程序设计,简单介绍机器人的软件实现方法。

三、做一下概括性的总结,并对新生提出建议。

第二篇:机器人大赛总结报告(推荐)

机器人大赛总结报告

机器人大赛是一个极富挑战性的学术竞赛。它不仅水准高,难度大,综合性强,而且投资巨大的新兴学科。

我们之所以有机会参加如此高水的学科竞赛,这全得益于学校领导的大力支持:我们之所以能在极端不利的情况下取得今天的成绩,这全得益于所有指导老师的精心栽培和全体参赛队员的团结努力。

上学期末,当我得知学校将组织我们参加本次的机器人大赛我非常的兴奋,作为一个电子专业大三的学生能参加本次的学术盛宴,将是我求学道路中不可多得的好机遇,同时我也知道这也将是我求学中的一个挑战,我不仅要和同学们竞争这少有的名额,同时我还要和我自己竞争,通过几个月的学习训练我能否不断超越自己,提高自己的动手能,最终在大赛中战胜对手取得好成绩,为自己为学校增光添彩。

后来,我也了解到学校已经花重金购置几台机器人,听张老师简单介绍这台小小的机器居然花费数千元,通过学习才知道,这个小东西本领还不小,都已经算是很尖端的技术了,这让我对机器人有了更加浓厚的兴趣。加上学校领导的重视以及指导老师精心指导,我暗自下定决心“一定要好好努力,不能辜负了学校和指导老师的期望”。

在讲完所有的基础课后,我们开始利用软件对机器人进行测试和调试,好让其达到最佳状态,但是是结果却不是很理想,我们队员之间相互探讨,充分发挥自己的主观能动性,将各自想到的方案集合在一起,相互改进在装载到机器人里,根据运行效果的好坏来决定最终的方案,直到比赛的前一天我们还在不断改进程序,我试了最后的效果非常的棒,其它组的效果也是一样。

于是我们机器充满电,整理行装,准备明天的出征。第二天到后我们就开始最后的参数采集和调试,但由于现场的环境不断变化,更我们的调试带来了很大的困难,看得出队员都有些急躁,在老师的开导之后,我们调整好心态,克服外在的影响,开始最后的调试。所有的队员都在分工合作,一丝不苟的准备最后调试,我们都知道胜败就在此一举了。在我们所有准备都做好后,我对机器人做了最后一次测试,防守机器人效果非常好,就在我们信心满满的去测试进攻机器人时,我们遇到了参赛以来最大的难关——机器人的电机突然烧毁,而在场的工作组专家也无计可施。这一下让我们的心情跌至谷底,因为没有好的机器就意味着弃权。此时老师和我们的心情都很沉重,学校花了这么大代价,我们也付出了很大的努力,可结果却是这样。我不甘心,我不愿意就这样放弃,可这时候已经是晚上的10点了,我这时候所有的人都对我们不再抱有希望了,除了我们这组三名队员,在我们反复的思考和拆装中,我们终于找到了起死回生的办法,就是将四轮驱动改为前轮驱动,将坏掉的车轮改为从动轮,这样就可以正常运行,但是功率却小了一半,而且参数也发生了变化。等我们该开始改动时,时间已经很晚了,我们被迫回到住处,在老师的指导下继续改动,直到凌晨2点我们才完成改装,然后洗澡睡觉。

第二天我们带着黑眼圈早早的起来,吃完早餐就去了赛场,这时我们看到的对手的机器人,个头明显比我们的大一截,或是重量比我们超我们一截,这完全不符合参赛要求,但是组委会却没有在意,我也知道这才第二届难免会有些不公的地方,就这样我们以微弱的劣势败于对手。这样的结果让我没办法向学校,向老师交代,更没办法想我自己交代,我一直不能从失败的阴影走出来,也许我过于在乎那个名次了,老师像是看出了我的心思于是开导我,记得老师说:“对你们来说,名次并不是最后总要的,重要是你们通过此次的大赛,学到了什么”。这时我才恍然大悟,我回答道:“除了奖以外,其它的都得到了”。

通过本次的大赛我学到很多,不仅让我在专业学习上指明了一条道路,还让我了解到如何将书本上的知识运用到生产实践,在工作中如何更快更好地解决问题,同时我还交到很多朋友,也深刻认识到了自己的不足。最后我还要真诚感谢学校领导和老师给我这次历练的机会。

机器人受损报告

1号机器人各部件有点松动无受损,2号机器人人各部件有点松动,两个后轮电机烧毁,已改为从动轮结构,零部件在保险箱内。

邓振华 索建飞 张集田

09-29

第三篇:机器人课程结课总结报告

课程结课总结报告

课程名称:机器人的制作

实验一 基于arduino控制器的轮式机器人循迹避障功能设计 实验二 应变式传感器电子秤实验

实验三 基于C51单片机控制器的轮式机器人电机控制系统 实验四 基于ARM控制器的博创平台轮式机器人循迹避障功能实现 实验五 摄像头实现轮式机器人循迹功能的应用

实验六 应用卓越联盟实验室设备进行设计和实现作品说明

指导教师 许晓飞 系 别 机电工程学院 专 业 机械电子工程 学生姓名邓银涛

班级/学号机电1401/2014010339 成绩

实验一 基于ardunio控制器的轮式机器人循迹避障功能设计

实验目的

1.了解ardunio平台,并熟练使用此软件完成小车的各种活动

2.了解HC-SR04超声波测距模块的原理,并且熟练使用此模块作为小车的传感器进行工作 3.了解并且熟悉红外线传感器循迹原理 实验器材:

Adrunio软件,超声波传感器,红外线传感器,导线,底板,电机,电池,单片机等 实验内容:

1.将硬件组装成小车,即轮式机器人 2.利用ardunio使小车完成循迹功能 步骤:(1)写好后缀为.txt的c语言循迹文件

(2)将文件导入单片机中

(3)根据具体路况,运行并且进行调试红外线传感器的灵敏程度 3.利用ardunio使小车完成避障功能 步骤:(1)写好后缀为.txt的c语言避障文件

(2)将文件导入单片机中

(3)运行并且进行调试小车躲避障碍物的距离 实验程序 1.循迹程序:

小车循迹程序思路图 #include int Left_motor_back=8;//左电机后退(IN1)int Left_motor_go=9;//左电机前进(IN2)int Right_motor_go=10;// 右电机前进(IN3)int Right_motor_back=11;// 右电机后退(IN4)int key=7;//定义按键 数字7 接口

const int SensorRight = 3;//右循迹红外传感器(P3.2 OUT1)const int SensorLeft = 4;//左循迹红外传感器(P3.3 OUT2)int SL;//左循迹红外传感器状态 int SR;//右循迹红外传感器状态 void setup(){ //初始化电机驱动IO为输出方式

pinMode(Left_motor_go,OUTPUT);// PIN 8(PWM)pinMode(Left_motor_back,OUTPUT);// PIN 9(PWM)pinMode(Right_motor_go,OUTPUT);// PIN 10(PWM)

pinMode(Right_motor_back,OUTPUT);// PIN 11(PWM)pinMode(key,INPUT);//定义按键接口为输入接口

pinMode(SensorRight, INPUT);//定义右循迹红外传感器为输入

pinMode(SensorLeft, INPUT);//定义左循迹红外传感器为输入 } void run(int time)// 前进 void run(){ digitalWrite(Right_motor_go,HIGH);// 右电机前进

digitalWrite(Right_motor_back,LOW);

analogWrite(Right_motor_go,255);//PWM比例0~255调速

analogWrite(Right_motor_back,0);digitalWrite(Left_motor_go,HIGH);// 左电机前进

digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,255);//PWM比例0~255调速

analogWrite(Left_motor_back,0);//delay(time * 50);//执行时间,可以调整

} //void left(int time)//左转(左轮不动,右轮前进)void left(){ digitalWrite(Right_motor_go,HIGH);digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,200);

analogWrite(Right_motor_back,0);//PWM比例0~255调速

digitalWrite(Left_motor_go,LOW);//左轮后退

digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,0);

analogWrite(Left_motor_back,100);//PWM比例0~255调速

//delay(time * 50);//执行时间,可以调整

// 右电机前进 } void right(int time)//右转(右轮不动,左轮前进)void right(){ digitalWrite(Right_motor_go,LOW);//右电机后退

digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,0);

analogWrite(Right_motor_back,100);//PWM比例0~255调速

digitalWrite } 2.避障程序:

char L1 = 9;// zheng char L2 = 8;char R1 = 10;// zheng char R2 = 11;int echopin = 13;

int trigpin = 12;

void setup()//初始化动作的区块,定义串行端口和脚位 { pinMode(echopin , INPUT);// pwm

pinMode(trigpin , OUTPUT);} void loop()//版子重复执行动作的区块 { int currDist;

long randnumber;

currDist = MeasureDistance();// 读取前端距离

delay(5);

if(currDist > 10)

{

straight();

}

if(currDist <= 10)

{ randomSeed(analogRead(0));

randnumber = random(0 ,10);

if(randnumber > 5)

{ back();

delay(1000);

turnright();

delay(800);

}

else

{ back();

delay(1000);

turnleft();

delay(800);

}

} } int MeasureDistance(){ digitalWrite(trigpin , LOW);

delay(2);

digitalWrite(trigpin , HIGH);

delay(10);

digitalWrite(trigpin , LOW);

int distance = pulseIn(echopin , HIGH);

distance = distance / 58.0;// 计算距离

344 * 100 / 1000000 * pulseIn()/ 2

delay(60);

// 循环间隔60uS

return(distance);

} void straight(){ analogWrite(L1 ,100);

//

255 0 zhengzhuan

analogWrite(L2 ,0);

analogWrite(R1 , 100);

//

255 0 zhengzhuan

analogWrite(R2 , 0);} void turnright(){ analogWrite(L1 ,100);

//

255 0 zhengzhuan

analogWrite(L2 ,0);

analogWrite(R1 ,0);

//

255 0 zhengzhuan

analogWrite(R2 ,0);

} void turnleft(){ analogWrite(L1 , 0);

//

255 0 zhengzhuan

analogWrite(L2 , 0);

analogWrite(R1 , 100);

//

255 0 zhengzhuan

analogWrite(R2 , 0);

} void back(){ analogWrite(L1 , 0);

//

255 0 zhengzhuan

analogWrite(L2 , 100);

analogWrite(R1 , 0);

//

255 0 zhengzhuan

analogWrite(R2 , 100);

} 实验过程中遇到的问题及解决办法 循迹中:

1.电机速度差异控制:发现左右轮写入同一数值时,小车行进方向偏离直线,——对左右两轮写入不同数值,多次测试,指导左右轮速度相等。

2.电机驱动器给arduino供电出现问题,改用充电宝给arduino供电,直接从gnd和5v输出脚给电机驱动器供电 3.一个电机有两根信号输入线,一根控制正转,一根控制反转。两个轮子一起测转地眼晕,容易出错。避障中:

1.超声装置避障距离的确定——将HC-SR04超声波避障程序中数值改短,提高避障灵敏性 2.硬件的安装:超声装置无法固定——曾尝试过用胶带,废旧车轮等但不理想,并未得到很好的解决 实验结果

小车可以成功的进行循迹和避障

实验二 电子秤实验

一 单臂实验 数据处理源码:

axis([0 200 0 50])

coords=[0 20 40 60 80 100 120 140 160 180 200;0 2.8 5.1 7.5 9.9 12.4 14.8 17.2 19.6 22.0 24.6] grid hold

plot(coords(1,:),coords(2,:),'*')x=coords(1,:)y=coords(2,:)' b=size(coords)c=ones(1,b(2))MT=[c;x] M=MT'

f=inv(MT*M)*MT*y

['y=',num2str(f(2)),'x+',num2str(f(1))] x=-max(x):max(x)y=f(1)+f(2)*x

mistake=max(x-y)/(max(y)-min(y));

fprintf('电阻传感器的系数灵敏度S=%5.3f%%n',abs(f(2)))fprintf('非线性误差f=%5.3f%%n',mistake)plot(x,y,'--')xlabel('x/g')ylabel('V/mv')title('单臂实验')

legend(['y=',num2str(f(2)),'x+',num2str(f(1))])Matlab处理结果

电阻传感器的系数灵敏度S=0.122% 非线性误差f=3.607%

半桥实验 源码:

axis([0 200 0 50])coords=[0 20 40 60 80 100 120 140 160 180 200;0 4.0 8.8 13.7 18.6 23.5 18.4 33.2 38.2 43.1 47.9] grid hold

plot(coords(1,:),coords(2,:),'*')x=coords(1,:)y=coords(2,:)' b=size(coords)c=ones(1,b(2))MT=[c;x] M=MT'

f=inv(MT*M)*MT*y

['y=',num2str(f(2)),'x+',num2str(f(1))] x=-max(x):max(x)

y=f(1)+f(2)*x

mistake=max(x-y)/(max(y)-min(y));

fprintf('电阻传感器的系数灵敏度S=%5.3f%%n',abs(f(2)))fprintf('非线性误差f=%5.3f%%n',mistake)plot(x,y,'--')xlabel('x/g')ylabel('V/mv')title('半桥实验')

legend(['y=',num2str(f(2)),'x+',num2str(f(1))])Matlab处理结果

电阻传感器的系数灵敏度S=0.238% 非线性误差f=1.615%

全桥实验 源码:

axis([0 200 0 100])

coords=[0 20 40 60 80 100 120 140 160 180 200;0 7.4 15.3 23.1 30.9 38.8 46.7 54.6 62.6 70.5 78.4] grid hold

plot(coords(1,:),coords(2,:),'*')x=coords(1,:)y=coords(2,:)' b=size(coords)c=ones(1,b(2))MT=[c;x] M=MT'

f=inv(MT*M)*MT*y

['y=',num2str(f(2)),'x+',num2str(f(1))] x=-max(x):max(x)

y=f(1)+f(2)*x

mistake=max(x-y)/(max(y)-min(y));

fprintf('电阻传感器的系数灵敏度S=%5.3f%%n',abs(f(2)))fprintf('非线性误差f=%5.3f%%n',mistake)plot(x,y,'--')xlabel('x/g')ylabel('V/mv')title('全桥实验')

legend(['y=',num2str(f(2)),'x+',num2str(f(1))])Matlab数据处理

电阻传感器的系数灵敏度S=0.393% 非线性误差f=0.774%

实验三 基于C51单片机控制器的轮式机器人电机控制系统

实验目的

了解PWM波控制电机的原理。基于C51单片机利用PWM波控制电机。实验器材

C51单片机、L298N驱动芯片、直流电机、杜邦线、普通导线、keil软件、STC下载器、示波器 实验内容

用keil新建一个“.c”文件,编写程序并对程序进行调试。将程序烧录进单片机内。进行硬件连接 C51引脚如图所示:

L298N引脚如图所示:

用单片通过P1.0、P1.1和L298的第一对输入端IN1和IN2相连,然后又L298的第一对输出端OUT1和OUT2与直流电机相连;单片通过P1.5、P1.6和L298的第二对输入端IN3和IN4相连,然后又L298的第二对输出端OUT3和OUT4与直流电机相连。给单片机上电。用示波器观察波形。

程序内容

1、PWM波控制电机启动

#include “reg51.h” #include “intrins.h”

#define FOSC 11059200L

typedef unsigned char BYTE;typedef unsigned int WORD;void delay_ms(int x);

/*Declare SFR associated with the PCA */ sfr CCON = 0xD8;//PCA control register sbit CCF0 = CCON^0;//PCA module-0 interrupt flag sbit CCF1 = CCON^1;//PCA module-1 interrupt flag sbit CR = CCON^6;//PCA timer run control bit sbit CF = CCON^7;//PCA timer overflow flag sfr CMOD = 0xD9;//PCA mode register sfr CL = 0xE9;//PCA base timer LOW sfr CH = 0xF9;//PCA base timer HIGH sfr CCAPM0 = 0xDA;//PCA module-0 mode register sfr CCAP0L = 0xEA;//PCA module-0 capture register LOW sfr CCAP0H = 0xFA;//PCA module-0 capture register HIGH sfr CCAPM1 = 0xDB;//PCA module-1 mode register sfr CCAP1L = 0xEB;//PCA module-1 capture register LOW sfr CCAP1H = 0xFB;//PCA module-1 capture register HIGH sfr PCAPWM0 = 0xf2;sfr PCAPWM1 = 0xf3;sbit IN1=P1^0;

sbit IN2 = P1^1;sbit IN3=P1^5;

sbit IN4 = P1^6;void main(){ CCON = 0;//Initial PCA control re CL = 0;//Reset PCA base timer CH = 0;CMOD = 0x02;//Set PCA timer clock source as Fosc/2 CR = 1;//PCA timer start run while(1){ int i;IN1=0;IN2=1;IN3=0;IN4=1;for(i=100;i>=0;i--){

CCAP0H = CCAP0L =i;//PWM0 port output 50% duty cycle square wave CCAPM0 = 0x42;//PCA module-0 work in 8-bit PWM mode and no PCA interrupt

CCAP1H = CCAP1L = i;

CCAPM1 = 0x42;delay_ms(100);}

for(i=0;i<=100;i++){

CCAP0H = CCAP0L =i;//PWM0 port output 50% duty cycle square wave CCAPM0 = 0x42;//PCA module-0 work in 8-bit PWM mode and no PCA interrupt

CCAP1H = CCAP1L = i;

CCAPM1 = 0x42;delay_ms(100);} IN1=1;IN2=0;IN3=1;IN4=0;for(i=100;i>=0;i--){

CCAP0H = CCAP0L =i;//PWM0 port output 50% duty cycle square wave CCAPM0 = 0x42;//PCA module-0 work in 8-bit PWM mode and no PCA interrupt

CCAP1H = CCAP1L = i;

CCAPM1 = 0x42;delay_ms(100);}

for(i=0;i<=100;i++){

CCAP0H = CCAP0L =i;//PWM0 port output 50% duty cycle square wave CCAPM0 = 0x42;//PCA module-0 work in 8-bit PWM mode and no PCA interrupt

CCAP1H = CCAP1L = i;

CCAPM1 = 0x42;delay_ms(100);} } } void delay_ms(int x){ int y;for(;x>0;x--)for(y=0;y<1000;y++);} 控制方向

#include “reg51.h” #include “intrins.h” #define FOSC 11059200L typedef unsigned char BYTE;typedef unsigned int WORD;sbit IN1 = P1^0;sbit IN2 = P1^1;void main(){ IN1=0;IN2=1;} PWM波对电机调速

#include “reg51.h” #include “intrins.h”

#define FOSC 11059200L

typedef unsigned char BYTE;typedef unsigned int WORD;

/*Declare SFR associated with the PCA */ sfr CCON = 0xD8;//PCA control register sbit CCF0 = CCON^0;//PCA module-0 interrupt flag sbit CCF1 = CCON^1;//PCA module-1 interrupt flag sbit CR = CCON^6;//PCA timer run control bit sbit CF = CCON^7;//PCA timer overflow flag sfr CMOD = 0xD9;//PCA mode register sfr CL = 0xE9;//PCA base timer LOW sfr CH = 0xF9;//PCA base timer HIGH sfr CCAPM0 = 0xDA;//PCA module-0 mode register sfr CCAP0L = 0xEA;//PCA module-0 capture register LOW sfr CCAP0H = 0xFA;//PCA module-0 capture register HIGH sfr CCAPM1 = 0xDB;//PCA module-1 mode register sfr CCAP1L = 0xEB;//PCA module-1 capture register LOW sfr CCAP1H = 0xFB;//PCA module-1 capture register HIGH sfr PCAPWM0 = 0xf2;sfr PCAPWM1 = 0xf3;

void main(){ CCON = 0;//Initial PCA control register CL = 0;//Reset PCA base timer CH = 0;CMOD = 0x02;//Set PCA timer clock source as Fosc/2 CCAP0H = CCAP0L = 0x80;//PWM0 port output 50% duty cycle square wave CCAPM0 = 0x42;//PCA module-0 work in 8-bit PWM mode and no PCA interrupt

CCAP1H = CCAP1L = 0xff;//PWM1 port output 0% duty cycle square wave PCAPWM1 = 0x03;CCAPM1 = 0x42;//PCA module-1 work in 8-bit PWM mode and no PCA interrupt CR = 1;//PCA timer start run while(1);}

五、实验心得

本次实验中我学会用软件来延时实现PWM的输出,从而实现对电机的控制。

实验四基于ARM控制的博创平台轮式机器人循迹蔽障功能

实验目的

了解NorthStar平台,并熟练使用此软件完成小车的各种活动 了解RobotServoTerminal机器人舵机调试系统并掌握使用 了解并且熟悉灰度传感器循迹原理 实验材料

ARM控制器 灰度传感器 红外探测器 舵机电机等 实验内容

小车硬件的组装 蔽障功能的实现 循迹功能的实现 循迹功能的实现 NorthStar循迹程序

#include “Apps/SystemTask.h” uint8 SERVO_MAPPING[4] = {1,2,3,4};int main(){ int lgray = 0;int rgray = 0;MFInit();MFInitServoMapping(&SERVO_MAPPING[0],4);MFSetPortDirect(0x00000FF8);MFSetServoMode(1,1);MFSetServoMode(2,1);MFSetServoMode(3,1);MFSetServoMode(4,1);while(1){ lgray = MFGetAD(0);rgray = MFGetAD(1);//右偏

if((lgray<=460)&&(rgray>=350)){ //左转

MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);} else

{ //左偏

if((lgray>=460)&&(rgray<=350)){ //右转

MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(400);} else

{ //meipian if((lgray>=460)&&(rgray>=350)){ MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(400);} else

{ MFSetServoRotaSpd(1,0);MFSetServoRotaSpd(2,0);MFSetServoRotaSpd(3,0);MFSetServoRotaSpd(4,0);MFServoAction();DelayMS(100);} } } } } 蔽障功能的实现 程序

#include “Apps/SystemTask.h” uint8 SERVO_MAPPING[5] = {1,2,3,4,5};int main(){ int io0 = 0;int io1 = 0;MFInit();MFInitServoMapping(&SERVO_MAPPING[0],5);MFSetPortDirect(0x00000FFC);MFSetServoMode(1,1);MFSetServoMode(2,1);MFSetServoMode(3,1);MFSetServoMode(4,1);MFSetServoMode(5,0);while(1){ io0 = MFGetDigiInput(0);io1 = MFGetDigiInput(1);if((io0==1)&&(io1==1)){ MFSetServoRotaSpd(1,1023);MFSetServoRotaSpd(2,-1023);MFSetServoRotaSpd(3,1023);MFSetServoRotaSpd(4,-1023);MFSetServoPos(5,512,512);MFServoAction();DelayMS(500);} else

{ if(io0==0){ //后退

MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFSetServoPos(5,512,512);MFServoAction();DelayMS(1000);//右转

MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,512);MFSetServoPos(5,512,512);MFServoAction();DelayMS(2000);} else

{ //后退

MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFSetServoPos(5,512,512);MFServoAction();DelayMS(1000);//左转

MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,-512);MFSetServoPos(5,512,512);MFServoAction();DelayMS(2000);} } } }

实验中遇到的问题以及解决方案

1、NorthStar编程完成后下载时遇到的问题

解决方案及拓展步骤(1)打开NorthStar软件

点击帮助

(3)点击帮助主题

(4)点开附录以及里边的常见问题及解决将出现一些列常见问题

(5)点击遇到的问题,按照操作步骤即可解决

环境对灰度传感器影响较大,赛道多次取点进行传感器灰度值测量,之后修改程序内AD值条件。

(1)用NorthStar打开循迹的程序

(2)打开工具菜单下的查询传感器

出现传感器页面,调整好下载模式以及端口的设置,点击启动服务

(4)完成之后调整好查询数据模式电机查询AD,会在相应AD口内看到数据的变化。(5)测完后取黑线与地面值的中间值调整if条件。

实验拓展 将红外蔽障功能,以及灰度传感器巡线功能同时装在小车上,通过一个自制红外开关来控制小车的程序选择。

程序

#include “Apps/SystemTask.h” uint8 SERVO_MAPPING[4] = {1,2,3,4};int main(){ int lgray = 0;int you = 0;int key = 0;int rgray = 0;int zuo = 0;MFInit();MFInitServoMapping(&SERVO_MAPPING[0],4);MFSetPortDirect(0x00000FF8);MFSetServoMode(1,1);MFSetServoMode(2,1);MFSetServoMode(3,1);MFSetServoMode(4,1);while(1){ MFGetDigiInput(0);if(key==0){ MFGetDigiInput(1);MFGetDigiInput(2);if((zuo==1)&&(you==1)){ //前进

MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(1000);} else

{ if(you==0){ //后退

MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);//左转

MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);} else

{ //后退

MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);//右转

MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(400);} } } else

{ lgray = MFGetAD(0);rgray = MFGetAD(1);//右偏

if((lgray<=460)&&(rgray>=350)){ //左转

MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);} else

{ //左偏

if((lgray>=460)&&(rgray<=350)){ //右转

MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(400);} else

{ //meipian if((lgray>=460)&&(rgray>=350)){ MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(400);} else

{ MFSetServoRotaSpd(1,0);MFSetServoRotaSpd(2,0);MFSetServoRotaSpd(3,0);MFSetServoRotaSpd(4,0);MFServoAction();DelayMS(100);} } } } } } 通过本次实验对NorthStar熟练掌握,进而对今后使用博创平台实现视觉系统等一系列功能掌握。

实验五 摄像头实现轮式机器人电机控制系统 一.实验目的

1.了解OpenCv的使用方法,并以此为平台实现基于OpenCv摄像头巡线小车的制作 2.掌握基于HSV颜色模型的图像阈值分割算法 3.使用OpenCv图像去噪相关算法:膨胀腐蚀滤波等

4.掌握串口通讯,并实现PC机与Arduino以蓝牙模块为载体通讯 二.实验器材

OpenCv,HC-05主从一体蓝牙模块,Arduino,小车底盘,usb摄像头实验内容 三.实验内容 1.HSV颜色模型

HSV(Hue-Saturation-Value),色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色,黄色等;饱和度(S)是色彩的纯度,越高色彩越纯,低则逐渐变灰;明度(V),指色彩的亮度。HSV以人类更熟悉的方式封装了关于颜色的信息:“这是什么颜色?深浅如何?明暗如何?”

HSV把颜色描述为在圆柱坐标系的点,这个圆柱的中心轴取值为自底部的黑色到顶部的白色,而在它们中间是灰色;绕这个轴的角度对应色相,取值范围0—360°,到这个轴的距离对应饱和度,取值范围0.0—1.0,而沿这个轴的高度对应亮度,取值范围0(黑色)—1.0(白色)。

2.阈值分割策略

阈值化的基本思想是:给定一个数组和一个阈值,然后根据数组中的每个元素的值是低于还是高于阈值而进行一些处理。: 检查源图像的每一个像素点的范围。在下限和上限之间的像素点,被置为255;否则置0。即感兴趣区域为白色,不感兴趣区域全为黑色。

受光照影响,不同时刻表示同一颜色的空间模型取值不同。因此在图像处理之前先手动标定图像,把合适的H,S,V取值范围输出到文本文件里,供后续处理读取。

3.图像去噪

分割得到二值化图像之后,可以很明显看到图中仍然有很多细微的点噪声存在,而且目标内部出现空洞,周围存在毛刺,所以需要对噪声进行进一步处理,下面介绍滤出噪声的常用方法。3.1膨胀

膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。

膨胀的算法:用3X3的结构元素,扫描图像的每一个像素;用结构元素与其覆盖的二值图像做“与”操作;如果都为0,结果图像的该像素为0,否则为1;结果使二值图像扩大一圈。

函数

这个函数膨胀源图像,存储结果到目标图像。

参数详解:源图像,图像通道的数量是任意的,但图像深度应为CV_8U,CV_16U,CV_16S,CV_32F或CV_64F。目标图像,尺寸和类型与源图像相同

膨胀操作核。若为NULL时,表示是使用参考点位于中心3x3的核。一般使用函数配合参数使用。函数会返回指定形状和尺寸的结构元素(内核矩阵)。其中函数的第一个参数表示内核的形状,如下: 矩形:MORPH_RECT 交叉形:MORPH_CROSS 椭圆形:MORPH_ELLIPSE 锚的位置,默认值(-1,-1),表示锚位于中心 迭代使用erode()函数的次数,默认值为1 用于推断图像外部像素的某种边界模式,默认值:BORDER_DEFAULT 使用erode函数时,一般我们只需要设置前三个参数,后面四个参数都有默认值。例:

3.2腐蚀

腐蚀是一种消除边界点,使边界向内收缩的过程。可以用来消除小而无意义的物体。

腐蚀的算法:用3x3结构元素,扫描图像的每一个像素;用结构元素与其覆盖的二值图像做“与”操作;如果都为1,结果图像该像素为1,否则为0;结果使二值图像减小一圈。

4.串口通讯

串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。

串口进行通信的方式有两种:同步通信方式和异步通信方式。同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。4.1串口通讯过程

4.2串口通讯重要函数(1)

(2)DCB结构包含了串口的各项参数设置,下面仅介绍几个该结构常用的变量 4.HC-05蓝牙一体化模块

HC-05 嵌入式蓝牙串口通讯模块(以下简称模块)具有两种工作模式:命令响应工作模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(Master)、从lave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;当模块处于命令响应工作模式时能执行下述所有AT 命令,用户可向模块发送各种AT 指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚(PIO11)输入电平,可以实现模块工作状态的动态转换。实验成果

四.实验心得

通过这个实验尝试并学习了以前只听过没做过的东西,在做的过程中遇到很多问题,但都在与同学的讨论下找到了解决方法。

在调试蓝牙模块时不能进入AT模式,被这个问题绊了两个晚上;给电脑装了蓝牙驱动后,却不能连接到蓝牙模块,一直认为是驱动装错了,后来用手机测试成功连接上了,意识到是电脑有问题;

巡线时小车突然动不了了,一开始认为是电机或驱动坏了,后面才知道是因为控制方法不当使电机在下次启动时进入死区,后来改进为PWM控制; 这是非常有意义的一次实验课。

实验六 应用卓越联盟实验室设备进行设计和实现作品说明

1.Protell99SE的使用及电路板的雕刻 一.实验目的

1.了解Protell99se的使用方法,并以此为平台设计电路板

2.了解将原理图转化为雕刻机所需的输出格式,并运用雕刻机制作出自己独有的电路板 二.实验器材

Pretell99se设计软件,电路原理图,pcb电路板雕刻机等 三.实验内容

将Protell99软件安装进电脑 查看所给文件的电路图

设计出自己组独有的pcb电路板 将电路板雕刻出来

Protell99制作原理图库的方法

将元件库文件和原理图文件放在同一个设计中 在原理图所在的设计数据库文件夹下新建一个原理图库文件,取名为mylibrary。名字可任取。

打开原理图库文件,默认状态下此库文件里已经存在一个名为component_1的元件 选择绘图工具框中的绘制矩形工具绘制元件的边框(即绘制元件的符号或外形)

左键点击绘图工具栏里的绘制管脚图标,按下Tab键进入管脚属性编辑对话框。1管脚名字为com,其他管脚名隐藏,管脚编号为1~9。

依次放置9个管脚,在放置管脚时,管脚的一端有一个小黑点,旋转管脚使小黑点朝外 双击矩形方框进行边框属性设置。Border Width选择SmallBorder Color选择合适的颜色。用上述方法绘制8个电阻形状的矩形框,放置在上面画好的边框里 点击画图工具栏里的画线工具,将画好的电阻和管脚连接好。修改元件描述 保存后退出编辑。

当所有的元件制作完成后,保存并关掉元件库文件(2)单独创建一个元件库(仓库),注意这个元件库还是Protel设计数据库文件。

1)新建一个设计,取名为“mylibrary”或者是“XX的库文件”保存在某个地方,记住这个地址。这个库可做为自己的专用库文件。在以后绘制原理图时只需把此库添加进去即可,以后也可以不断地丰富此库中的元件

2)在设计里新建一个原理图库文件,保存文件,给它起一个有特色又能反应元件库特点的名字。如“电阻类”,“插件类”,“AD转换”等等。利用此法可建立若干个原理图库文件,将元件归类存放

3)打开某一类原理图库文件,在此文件中制作新元件,具体作法见上文。也可以从系统自带的库文件中拷贝元件,或者是从现有的原理图中提取元件添加到自己的库文件中 实验创新与思考

Protell99作为一个老版本的pcb设计软件,在兼容性及汉化方面有许多不足,相比现今较火的AD系列的软件操作起来也较难,但对于简单的pcb电路设计,Protell系列还是不错的。对于某些电路而言,单面镀铜的电路板无法满足需求,因此,在学习课内单面镀铜电路板的设计基础上应再学习双面镀铜电路板的设计,以满足实际需要 2.3D打印机激光切割机机械臂的工作原理及实际应用 机械臂的原理及其应用 实验目的

了解机械臂的工作原理,操作过程以及在实际生产过程中的应用 掌握机械臂的操作 实验器材

机械臂及其控制系统,机械臂控制器等 三.实验内容

1.了解机械臂的工作原理 2.了解机械臂的程序 3.操作机械臂进行工作

实验原理

机器人空间描述和坐标变换: 在一个三维空间中对两个质点的位置关系进行描述,一般会用一个的位置矢量来表示。在笛卡尔坐标系中,坐标系中的任意质点的位置都可以用一个3*1的位置矢量来表示该质点到坐标原点的位置关系。

机器人连杆的坐标转换

创新与思考

通过了解机械臂的运行原理,知道可以通过矩阵进行最佳位姿的求解,但在求解矩阵的过程中,我们会求得多解,如何选取运动方式是程序编写的重中之重,所以,根据需要,同时根据各种机器人自身机构对运动转动角度的限制,以及机构运动方式所产生的压力角大小,机械转动效率等选取最优解,进行程序编写。理论上6R的工业机器人可进行全方位运动工作,但由于机器本身,促使机器人在工作时会存在一些盲点,故在应用机器人的进行工作的时候,应尽量避免触及这些机械盲点,以求的效率最大化。3D打印技术 实验目的

了解3D打印技术的原理及其应用

利用建模软件创建模型,打印出树脂梳 实验器材

3D打印机,树脂,MakerBot软件等

实验原理

3D打印机原理其实是以一种数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术。由于在3D打印机原理中把复杂的三维制造转化为一系列二维制造的叠加,因而可以在不用模具和工具的条件下生成几乎任意复杂的零部件,极大地提高了生产效率和制造柔性。

首先得通过计算机辅助设计(CAD)或计算机动画建模软件建模,再将建成的三维模型“切片”成逐层的截面数据,并把这些信息传送到3D打印机上,3D打印机会把这些切片堆叠起来,直到一个固态物体成型。打 3D机型者者

打印的过程是这样的:先通过计算建模软件建模,如果你有现成的模也可以,比如动物模型、人物、或微缩建筑等等。然后通过SD卡或USB优盘把它拷贝到3D打印机中,印原理:

进行打印设置后,打印机就可以把它们打印出来,其工作结构分解图如下:

思考与创新

3D打印技术作为一种新型便捷的生产技术,虽然初见成效,但在很多领域仍存在问题,比如说,对于打印所需的材料,如果所选材料熔点低,那么打印出来的产品必然刚性差,易折断或变形,不利于高负荷的实际使用,但倘若熔点较高,必然对打印机的墨盒的要求提高,如若想正确打印,必然需要墨盒熔点更高于打印所需原材料,在工艺上的要求会更高,成本也会更大,甚至可能超过原有工业生产所需成本,这样,3D打印技术就变得毫无意义。因此,为了使3D打印技术更加成熟,必须在以上两点之间权衡,找到突破口。激光切割机 实验目的

了解激光切割机的原理

了解激光切割机与传统切割技术相比的优势 激光切割机的实际应用 实验仪器

激光切割机,材料板等 实验原理 激光切割是将从激光器发射出的激光,经光路系统,聚焦成高功率密度的激光束。激光束照射到工件表面,使工件达到熔点或沸点,同时与光束同轴的高压气体将熔化或气化金属吹走。随着光束与工件相对位置的移动,最终使材料形成切缝,从而达到切割的目的。

激光切割加工是用不可见的光束代替了传统的机械刀,具有精度高,切割快速,不局限于切割图案限制,自动排版节省材料,切口平滑,加工成本低等特点,将逐渐改进或取代于传统的金属切割工艺设备。激光刀头的机械部分与工件无接触,在工作中不会对工件表面造成划伤;激光切割速度快,切口光滑平整,一般无需后续加工;切割热影响区小,板材变形小,切缝窄(0.1mm~0.3mm);切口没有机械应力,无剪切毛刺;加工精度高,重复性好,不损伤材料表面;数控编程,可加工任意的平面图,可以对幅面很大的整板切割,无需开模具,经济省时。

智能工厂 实验目的 智能工厂原理 工厂接单

工厂在电脑终端接收订单指令,并把订单指令下达给各个工作区域,是整个工厂围绕该订单展开生产工作

原料供给

通过机械臂从工厂仓库中提取原材料,仓库架采取单齿轮驱动双板双齿条的方式,节约了仓库的空间加大了仓库的储备量

机械臂通过空间坐标抓取货物,并将货物放在循迹运输车中,进行下一步工序

铣床加工

通过铣床等机械加工方法,得到生产工件

并利用装载机械臂的小车将做好工件放入公差测量仪进行检测

工件纠偏,装载出库

利用机器人视觉对图像的处理,将工件放入指定位置,并用循迹小车将生产完成工件封装出库

创新与思考

智能工厂却为工业4.0概念的产物,但这个工厂确实存在以下几点问题: 机械臂抓取货物只能适用于低重量产品,对于质量较大的产品并不适用。个人认为应采取液压传动

循迹小车思路很好,但单线路的循迹线,很难满足工作需要,应将但循迹线改为一条主线路多通路与其共同连接的思路,如同铁路轨道,可允许多辆小车在不冲突的条件下同时工作,以提高效率

缺少反馈设施,在加工过程中很容易产生误差,尤其在高精度加工之中,如果一旦出现误差却没能及时发现,损失将是巨大的,应在误差检测仪系统中设置反馈装置,以防止出现较大误差

第四篇:2011年机器人二车间总结报告

2011年机器人二车间总结报告

时光荏苒,光阴似箭,自二车间创办以来,已有半个年头之久,从中经历了很多坎坷,也学到了很多东西,车间也一直在一个比较好的状态下运转。机器人二车间成立于六月份,万事开头难,在这半年里终于体会到了作为一名管理者的艰辛和不易,同时也收获了不少。“累并快乐着”是最好的总结。在这里,借此机会我对2011年的工作从以下几个方面做下总结。

一、管理方面

首先是自身管理方面:作为一个优秀的管理者,本身自己必须以身作则,车间要求的规章制度自己必须带头做好。所以在这半年中自身的不足也随之暴漏无疑:

1、虽然年轻充满干劲,但是经验缺乏,在处理突发事件和一些新问题上存在着较大的欠缺,而且还喜欢随自己的意愿办事。

2、对于线材的生产进度状况不能掌控,造成拖期、延

期想象

其次是员工管理方面:作为一个优秀的管理者,自己必须要深入了解自己的下属,包括他(她)的人品、性格、爱好、处事作风、工作能力等诸多方面,针对不同性格、不同年龄段、不同能力的人应该分别予以不同的管理方式、说话语气和工作任务,做到人尽其才,物尽其用。同时要懂得关心自己的员工,真诚的关心。当他们犯错的时候,除了批评外还要多加鼓励,以及对其的信任,让他(她)体会到领导层的关心与器重,让他知道我们不但是上下级关系、同事关系,我们还是互相支持、关心的朋友关系。当然,作为管理者,同样要在员工面前树立自己的威信。这种威信不是靠恶语批评,也不是靠一味的做老好人树立起来的。一个真正优秀的管理者,是要让自己的员工中的一大部分人说你好,一小部分说你坏,才能称之为优秀的管理者。因为管理者不是员工,只要做好自己的分内事就行了,我需要的是一个团队的力量,我需要说我好的人的支持,我同样需要说我坏的人的执行。因为朋友和同事概念上的执行力度的效果迥然不同,好坏恰恰能做到互补。譬如自己带班以来,从当初的马强在上班期间睡觉,找机会偷懒,到现在已经可以自己管理别人等等,委实给了我巨大压力,深感管理是一门很深的学问,是一种艺术。

当然,由于自己社会阅历,经验方面还有所欠缺,对于员工心理等各个方面拿捏的还不是很好,对某些员工的想法没有深入的了解,从而导致车间偶尔的不和谐。譬如:在10月份赶郑州I/O线的时候,由于自己的调配和管理不到位,导致倒装线员工和郑州I/O线员工不和谐,在外人看来就是倒装线形成了一个小团队,不服从我的管理。其实在随后的调节中,倒装线是每天都超额完成产量的。

二、取得的成绩

现在二车间主要负责富士康机器人车间机构的委外线材(倒装线、编码器线),和部分郑州I/O线、军规线。从车间开办到现在共完成倒装线1400套(现还有120套在赶制)、三菱编码线300套。军规线和郑州I/O线是由俩个车间共同完成,现军规线共生产3850套,郑州I/O线共生产 1150套。

三、日常

从开始接手倒装线到现在,大大小小的错误都犯过,主要是剪错线,物料丢失,产品没有达到专业要求,后针对折现问题我们做出了及时的改善和检讨。剪线上加上了剪线制度。对物料管理上进行了统一专人管理。在技术上富士康每周都有留守学院的优秀员工,对学生在作业手法上进行了提高。现在生产渐渐地上了正轨。富士康反馈的问题也少了。

在平时纪律上我车间做的还是不到位,员工迟到比较频繁,员工纪律意识较低,思想工作没有做到位。考勤制度不够严格。回首这一年,忙碌中满载着收获,收获了自己的进步,收获了车间管理的经验,同时也收获了学校同学的无私帮助,我相信,2011年的总结将会是2012年收获进步和辉煌的起点。相信自己会在2012飞得更高,更远

总结人:邢晨浩

李鑫亮

2011年12月30日

第五篇:双足竞步机器人技术总结报告

编制单位:侏罗纪工作室作 者:侯兆栋 版 本:V0.1 发布日期:2010-8-20 审 核 人: 批 准 人:

双足竞步机器人技术总结报告

• 引言

2010年中国机器人大赛已经结束,回顾整个比赛及赛前调试过程,我们遇到了很多问题,下面就将我们遇到的问题做一分析和总结,并提出改进方案,对我们以后的工作有所帮助。

• 遇到的问题及原因分析

• 机器人稳定性不好

机器人在走路的过程中不稳,比较晃。造成此问题的原因有两个: 1.机器人高度过高。

由于我们用成型的U型套件,套件高度是固定的,我们必须将腿做成一定的高度才能保证腰翻下去不压脚;下面两个套件决定了腰的高度,所以总体下来我们的机器人高度比较高,导致机器人重心比较高,平衡性不好,造成不稳定。2.步态设计不合理。

在动作上需要6个舵机同时配合,要做到很协调,还是很有难度的,某个舵机的角度,速度都会对整个机器人的行走造成影响,这也是造成机器人走路不稳定的原因。• 舵机控制问题

舵机控制原理

控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为 20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源.电压通常介于4~6V,一般取5V。注意,给舵机供电电源应能提供足够的功率。

控制线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为20 ms(即频率为50 Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。

• 上电机器人乱动

问题在于上电程序初始化时,没有给出一个确定的值来产生一个确定的脉冲,脉冲给舵机后,舵机状态不定,就出现了乱动的现象。• 舵机抖动

在调试过程中,舵机出现抖舵的问题,主要原因有:

1、控制板供电电源电压不足

控制板供电电源电压不足,引起芯片电源电压不稳定,导致输出脉冲抖动,测得当供电电压降低到5V以下经过78M05稳压,再经过ASM1117稳压后,输出脉冲高电平电压再2.5V左右,是一不可靠的高电平,输入舵机控制电路后,输出的直流偏置电压不准确,导致舵机抖动。

2、脉冲精度不够

很多舵机的位置等级有1024个,如果舵机的有效角度范围为180度的话,其控制的角度精度是可以达到180/1024度,约0.18度,从时间上看其实要求的脉宽控制精度为2000/1024us,约2us。

此次为节省芯片资源,先将时钟进行一次分频,再拿分频产生的时钟来控制脉冲的时基计数器和步进计数器,这样,每个计数器的计数值变小,节省了一定的资源,但在控制精度上有所下降,控制板产生的脉冲精度为:

脉冲时基计数值为:1600;步进计数值为:1或2; 则: 脉冲精度为1/1600 * 20 ms = 12.5 us 与舵机的要求精度相差很大,由于模拟舵机的无反应区比较大,当以较低精度的脉冲来控制舵机时,在某个时刻舵机状态不定就会出现抖舵现象。

• 烧电路板

电路板原理图如下:

此原理图比较简单,没有什么原理性的东西,也没有做隔离和保护,电源模块有两路供电,一路经过开关后直接给舵机供电,另一路经过两级稳压输出3.3V电压,满足EPM1270的供电需求;复位是直接通过一电阻拉到地上,进行低电平复位;时钟模块是一有源晶振,接上电源后就可以起振;其他都是接口。

在调试过程中,有一段时间,老烧电路板,每次烧的都是CPLD芯片,从CPLD手册上查得:

芯片3.3V供电时,I/O口的单端输出电压为3.3V

3.3V供电时,输出高电平电流为16mA,输出低电平电流为8 mA;由以上资料分析,烧板子的原因可能是: 1.电平不匹配。

CPLD输出电平电压为3.3V,而舵机需要的为TTL电平,由于外部再没有加驱动电路,这样CPLD的I/O端口驱动能力有限,当同时有几个舵机转时或者舵机转的角度比较大时负载过重,导致CPLD烧坏。

2.电流回流和尖峰脉冲

舵机中有一直流电机,当直流电机转的时候,自身也会产生电流,若多个舵机同时转,且转的角度比较大时,各舵机自身产生的电流汇集到一起应该是表较大的,若电流倒流入电路板,电路板可能因电流过大而烧坏;另一点就是尖峰脉冲,舵机在转的过程中若产生尖峰脉冲,倒灌入电路板也可能因电流过大而烧坏芯片。

这应该是此次电路板烧的主要原因。3.电路板制作工艺

在刻PCB板时,板子阻焊做的不好,在焊接的过程中,容易在电路板上留下焊锡渣,如果掉入芯片两引脚之间,也可能引起短路,导致电路板烧坏。• 解决方案

• 机器人稳定性解决方案

结构

对机器人整体结构应该在现有基础上加以改进,比如在机器人高度上,以及腰部;对于U型套件,自己做,用AutoCAD设计出机器人结构图、套件图,拿到机床去加工,这样能保证套件精度,和结构的合理性,将机器人结构对研究带来的影响减到最小。• 步态设计

对机器人走路的步态进行更合理的设计,保证走路过程中的平稳。

• 舵机控制解决方案

上电乱动

在上电程序初始化时应该给舵机一个确定的脉冲,而且此状态持续时间应稍长,问题就会得到解决。• 舵机抖动

首先,保证电源电量充足,电压保持稳定,给芯片一个稳定的电压,保证输出脉冲的稳定性;其次,增加脉冲精度,即脉冲宽度的步进不要太大,这样既能精确的控制舵机,又能避免舵机的抖动;另外,可以在后端加一脉冲整形电路,可以滤除毛刺等脉冲。

• 电路板解决方案

电平不匹配问题。

对于此问题,可在后端加一电平转换芯片,增强驱动能力,保证I/O口有足够的能力来驱动舵机。• 电流回流和尖峰脉冲

方案一:加电容吸收

在舵机前端加一电容来吸收尖峰脉冲,但此方法经过实际验证不可行。加电容后,从I/O口输出的脉冲被电容吸收了,舵机不转。

方案二:光电隔离 + 整形

为了防止干扰,舵机控制信号和驱动电路应光耦光电隔离, 将信号隔开,避免舵机转动对控制板的影响。

通过隔离出来的控制信号, 还必须经过整形以消除毛刺, 增加信号的稳定性, 提高信号的输出电流。整形可采用施密特触发器,施密特触发器是脉冲波形变换中经常使用的一种电路,它是具有滞后特性的数字传输门,且受电源限制,可对输入波形进行变换和整形;另外,还可以采用通过比较器整形的方法来消除毛刺比如用LM324,LM393等。• 电路板制作工艺

在今后做板的时候应该加强阻焊和助焊这两道工序,能保证焊接时不出现板子上有杂物而导致短路的情况;在板子焊好后,在引脚密集的芯片处采取一些措施,如涂上硅胶或者蜡,以防短路。

• 总结

本文针对此次比赛中出现的问题,进行原因分析,并提出解决办法,为以后的研究提供一个参考。针对出现的问题,具体解决方案需在今后的研究中结合实际情况来确定。

下载机器人总结报告word格式文档
下载机器人总结报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    机器人[范文大全]

    机器人 爸爸,我作业写完了,可以玩电脑吗?可以。听完爸爸的这句话,我直奔向电脑,打开电脑。接下来又得要等1分钟左右,真烦人!我想:要是有电脑机器人该多好啊!20年后的我就能发明这种电......

    机器人工作站

    运城学院 设计说明书 机器人工作站 学院: 运城学院 团队名称:TENGFEI 专业:机械设计制造及其自动化 团队成员: 任晓圆 张志凯 指导教师: 王新海 设计说明时间:二О一四年九月......

    机器人论文范文

    机器人技术 姓名: 导师: 班级: 学号: 地面移动机器人行走机构 摘要:行走机构是移动机器人的重要组成部分,直接决定了移动机器人的地形适应能力和运动能力。本文着重介绍了地面移动......

    喷漆机器人

    喷漆机器人 摘要:喷漆机器人【spray painting robot】 可进行自动喷漆或喷涂其他涂料的工业机器人。中国研制出几种型号的喷漆机器人并投入使用,取得了较好的经济效果。喷漆机......

    机器人教案

    机器人教案 郑州市第三十一中学 芦文娜 韩晓铂 目 录 第一章 走进机器人世界 1.1 学前教育 1.2 触摸机器人 1.3 机器人的硬件构成 1.4 机器人的软件 第二章 机器人结构搭建......

    机器人教学计划

    乐高学习优势课程 学生积极搭建、探索、调查、质询和相互沟通的过程可以发展各种技能,如:科学 调查速度、探索摩擦力的作用,调查研究简单的机器,发展科学测试的技能,有 目的的......

    机器人教案

    一. 激趣导入 1.同学们,今天老师给大家介绍一位新朋友,大家看看他是谁?  并且思考他有什么本领?  播放ppt  提问:大家来说说他是谁?有什么本领呢?  机器人具有许多本领,可以帮人类做......

    机器人教案

    第一课《认识机器人》 一、设计思想本课的教学设计重点在于纠正学生对机器人概念认识的偏差,往往有学生会认为机器人就是像人形的,其实机器人的外形是千变万化的,但判断的标准......