机器人创新实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
(理工类)
课程名称: 机器人创新实验
课程代码: 6003199 学院(直属系): 机械工程与自动化学院
年级/专业/班:10级机械设计及其自动化6班学生姓名: 程俊杰伍星丁念波郭真亮实验总成绩: 任课教师: 李炜
开课学院: 机械工程与自动化学院
实验中心名称: 机械工程基础实验中心
一、设计题目:巡线小车
以Arduino控制板为核心的巡线小车。
二、成员分工:
姓名学号班级任务分配
郭真亮 312010********* 模具设计1班借用往届小车和查阅资料
程俊杰 312010********* 制造工程3班接线,编程、小车调试
丁念波 312010********* 模具设计1班接线,编程、小车调试
伍星 312010********* 产品设计2班现场拍照,整理实验报告
三、Arduino 简述
1. Arduino简介
Arduino是一块简单、方便使用的通用GPIO接口板,并可以通过USB接口和电脑通信。作为一块通用IO接口板,Arduino提供丰富的资源,包括:
13个数字IO口(DIO数字输入输出口);
6个PWM输出(AOUT可做模拟输出口使用);
5个模拟输入口(AIN模拟输入)。
Arduino开发使用java开发的编程环境,使用类c语言编程,并提供丰富的库函数。Arduino 可以和下列软件结合创作丰富多彩的互动作品:Flash,Processing,ax/MSP,VVVV…等。Arduino 也可以用独立的方式运作,开发电子互动作品,例如:开关控制Switch、传感器sensors输入、LED等显示器件、各种马达或其它输出装置。
2.Arduino规格
微型控制器 ATmega168
工作电压 5V
输入电压(建议) 7-12V
输入电压(极限) 6-20V
数字输入/输出端 14 (3, 5, 6, 9, 10, 11提供输出的PWM)
模拟输入端 6
PWM (Pulse Width Modulation),即脉冲宽度调制。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
四、C语言简单运用
本次巡线小车的语言编写主要采用了C语言中的一些简单知识,如void聚合类型、if语句等。如下程序为C语言编写的九九乘法变语句
main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d\t",i,j,i*j);
}
printf("\n");
}
}
只要能对此理解明白,巡线小车的程序编写是没有什么问题的。
五、设计方案:(整个系统工作原理和设计)
制作巡线小车的主要零件:
Arduino UNO R3控制器1块,亚克力控制板1块,电机2个,普通轮子2个,万向轮1个,杜邦线1排,电池盒1个,寻线传感器3个,电机驱动板1个,螺钉螺母若干。
系统工作原理:由寻线传感器检测小车的当前位置,并将检测到的信号传递给Arduino 控制板,Arduino采集到信号后进行方向的调整的计算,然后发送电机控制指令控制电机的运动;不断的重复以上的步骤达到巡线的目的。
巡线小车的设计:用亚克力板作为小车的车身,将电机、万向轮、寻线传感器用安装在车身上,用螺钉和螺母固定。将Arduino控制板用铜柱安装在车身上,将电机驱动板插在Arduino 控制板上。
软件设计:巡线小车以3个传感器为巡线模块检测道路,左边传感器检测到道路,小车左转,中间传感器检测到道路,小车直走,右边传感器检测到道路,小车右转。
六、实验步骤:(图文说明设计过程中关键步骤)
(因本次小车是借用上学期已组装好的小车,所以实验步骤中1、2、3、4均无实物图展示)
1、布置各元件在亚克力板上的位置;
2、安装电机;
3、将万向轮安装在车身尾部,传感器安装在车身头部;
4、将Arduino控制板和电机控制板用铜柱固定在车身的中央;
5、连线:将和电机右、左轮焊接的两根导线分别接控制板上的out1、out2、out3、out4,另取4根导线,一端分别接in1、in2、in3、in4,另一端分别接数字I/O口的0、1、2、3;三个传感器分别用三根导线接它们的正、负和数字(D)接口,接正、负接口的导线分别接控制板上的+5V和GND,接数字(D)接口的导线按从左到右的顺序分别接数字I/O口的8、9、10接口。
6、按照步骤5接线的接口位置用Arduino编程软件编程,并将其下载到Arduino控制板中。
7、在赛道上调节传感器的灵敏度,使其能很好的检测道路。
二、最终作品展示:(图片及性能描述)
我们小组小车在检测中能够完成整个实验室道路的巡线,在巡线过程中有些许摇晃。
三、设计心得:
在制作巡线小车的过程中,我们遇到了一些困难,刚开始甚至不知道如何对拆下的小车进行重装,在此之前我们没有系统的学习如何用C语言编程,也没有使用过Arduino的产品。不过在老师的帮助下我们完成了小车的接线和程序编写,虽然小车在某些方面存在着不足,但是通过这次的实验课,我们意识到了团队合作的重要性,团队合作可以减少很多不必要的麻烦,如果
是一个人的制作的话,会增加制作周期,我们在一起讨论如何搭建小车,如何给小车编程,将自己在学习过程的发现和学到的知识共同分享的同时也感受到了很大的乐趣,也了解了许多我们以前未曾涉及到的领域,激起了我们对Arduino的兴趣。
四、对本课程建议或意见:(选作题)
老师做得很好了,如果能加大一下监督力度,或许会更好。
附录:(设计文件、工程图、代码等)
小车代码:
int zuo1=0;
int zuo2=1;
int you1=3;
int you2=2;
int zuo=8;
int zhi=9;
int you=10;
void setup() {
// put your setup code here, to run once:
pinMode(zuo1,OUTPUT);
pinMode(zuo2,OUTPUT);
pinMode(you1,OUTPUT);
pinMode(you2,OUTPUT);
pinMode(zuo,INPUT);
pinMode(zhi,INPUT);
pinMode(you,INPUT);
}
void mid()
{
digitalWrite(zuo1,LOW);
digitalWrite(zuo2,HIGH);
digitalWrite(you1,LOW);
digitalWrite(you2,HIGH);
}
void left()
{
digitalWrite(zuo1,LOW);
digitalWrite(zuo2,LOW);
digitalWrite(you1,LOW);
digitalWrite(you2,HIGH);
}
void right()