(完整版)基于Arduino的机器人写字系统的设.docx

上传人:田海滨 文档编号:447817 上传时间:2025-07-22 格式:DOCX 页数:7 大小:25.97KB
下载 相关 举报
(完整版)基于Arduino的机器人写字系统的设.docx_第1页
第1页 / 共7页
(完整版)基于Arduino的机器人写字系统的设.docx_第2页
第2页 / 共7页
(完整版)基于Arduino的机器人写字系统的设.docx_第3页
第3页 / 共7页
(完整版)基于Arduino的机器人写字系统的设.docx_第4页
第4页 / 共7页
(完整版)基于Arduino的机器人写字系统的设.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、完整版)基于ArdUinO的机器人写字系统的设计与实现毕业论文合肥学院计算机科学与技术系专业实训报告论文(设计)题目基于ArdUinO的机器人写字系统的设计与实现院系名称计算机科学与技术系专业(班级)计算机科学与技术12计本2班姓名(学号)洪智指导教师高玲玲张贯虹系负责人完成时间第一批仑1.1 课题的研究背景1.2 课题研究的目的和意义1.3 国内(外)研?SBK1.4 论文的主要内容第二章系统分析2.1 需求分析2.2 可行性分析第三章系统设计与实现3.1 硬件设计与实现3.1.1 主控板模块3.1.2 舵飕动麟3.1.3 霍尔传感器模块3.2 软件设计与实现3.2.1 系统软件模块划分3

2、2.3 起笔、落笔子Ti能实现3.2.4 电棚区动子程也能实现325前进、停止子能实现3.2.6 转弯子程序功能实现3.2.7 轮子彳谖计数子不i能实现第四章软硬件调试4.1 硬件调试4.1.1 调试方法4.1.2 调鳍果4.2 软件调试4.2.2调t蜡果第Sg系统测试5.1 测试方法5.2 测试与结果结论参考文献致谢附录基于ARDUINO的机器人写字系统的设计与实现本文以DooDLEBOT为基础,通过控制库的运行轨迹,实现写字算法,掌握舵机、霍尔传感器的的原理和控制方法。硬件系统由控制板、舵机、霍尔传感器、电池组组成。各个模块协作完成系统的功能。确定机器人落笔的位置,将要书写的字体的路线规

3、划好,当机器人沿着这些路线行进,就会留下痕迹,从而完成书写功能。程序的书写在电脑上进行,检测无误后下载到板子上运行。计算机和控制板通过串口进行通信。通过设计、调试,系统最后能够实现所有英文字母、阿拉伯数字的书写。通过对字母的不同组合,可以完成单词的书写,进而实现对英文句子的书写。数字是09,其余数字通过组合实现。也可以实现对指定汉子的书写。字体的精确度,不仅跟程序中的设计算法有关,在很大程度上取决于硬件器材的精确度。为了提高写字机器人的精确性,需要更精确的硬件器材做支撑。写字机器人可以用在科研、教学上。关键词:舵机;霍尔传感器;写字算法;第一章绪论1.1 课题的研究背景写字机器人的“始祖”,早

4、在240年前就出现了。只是当时制造出的写字机器人,采用凸轮和发条实现,没有用到计算机、单片机等。通过凸轮间的运动实现写字动作,改变凸轮的组合,就会实现不同字体的书写1。这种书写方式可以看做是这个古老”写字机器人”的写字算法,只是这种算法,在改变字体的时候匕匕较麻烦。2003年11月,重庆大学申请了写字机器人的专R2,主要是通过采用复杂的DenaVitHartenberg方法对运动参数进行运算,实现写字算法3。其他典型的研究是关于自由度的研究,思想是确定始点和终点,采用插值算法,对机器人的轨迹进行规划4.1.2 课题研究的目的和意义对于业余研究者来说,并不需要严密的写字算法实现简单的写字功能,只

5、要能实现简单的写字算法,一定的误差都是可以允许的,至于写字算法,也就越简单越好。本次设计就是要寻找一种简单的写字算法,在设计和探索过程中,对掌握的知识进行总结,提高自身的综合能力。这种简单的写字算法,不需要学习复杂的计算方法和公式,对写字机器人可以起到一定的推广作用,可以让更多的机器人爱好者去研究写字机器人,算法的实现也增加了写字机器人算法的多样性。对个人而言也是一次提升能力的机会。通过不断的学习,扩展自己的知识面,同时将已存储的知识与新的知识点进行结合,实时更新自己的知识库。1.3 国内(外)研究现状我国的写字机器人研究主要在矢量化算法和自由度算法,将字轨迹通过运算,转换成机器人要运动的路径

6、国外机器人的发展,目的性很强,主要用于军事和家务,对写字机器人的研究资料很少。1.4 论文的主要内容第一章:绪论。主讲课题的研究背景、目的和意义。第二章:系统分析。包括分析系统的需求、是否可行。第三章:系统设计与实现。详细介绍整个系统的设计思路。第四章:软硬件调试。介绍编程前的硬件准备情况,如何进行软件调试,软硬件调试结果,以及调试过程出现的问题与解决方法。第五章:系统测试。介绍最终的测试情况,包括结果和分析。第二章系统分析2.1 需求分析本设计要求实现机器人的写字功能,由要求可知在写字过程中需要实现以下功能:提笔和落笔,前进,倒退,转弯。另外,还要能够实现计算机与主控板的通信。2.2 可彳

7、帚分析基于上述对系统的需求分析,用180度旋转的舵机控制起笔和落笔,当舵机臂转到一定的角度后,实现支撑功能,笔尖会离开地面,这样就能实现提笔功能。落笔刚好相反,显然能够实现。用两个360度旋转的舵机控制车轮,给一个参数,通过PWM(PUISewidthmOdUlation)转换、H桥控制,就可以实现舵机的转动,即可以实现前进功能。因为H桥除的防反接电路,可以直接实现舵机的倒转,这样机器人的的倒退也就很容易实现了。转弯功能只需让一个轮子前进,另一个轮子倒退,就可以实现。综上,本设计是完全可行的。第三章系统设计与实现3.1 硬件设计与实现整个系统由舵机驱动,霍尔传感器感应,minidrive控制板

8、电池组四部分组成。图3-1开发板结构图控制板模块接收程序的命令,通过H桥对舵机模块进行控制,完成小车的行进动作。起笔和落笔的舵机模块是由主控板直接控制的,没有通过H桥。传感器模块是由霍尔传感器完成的,当小车运动的时候,霍尔元件就会在磁场中发生变化,从而记录小车的行程。电池组模块驱动舵机,为控制板提供电源。另外系统还有一些指示灯的模块。比如电池组指示灯,串口指示灯等。图32基i出系统结构图3.1.1 主控板簸(1)电原电源采用稳压器L4941LDO,使得输入输出的电压差仅为0.45V。但是,如果输入的电压小于5.4V,就没有稳压效果。原则上输入的电压可以在3.5V9V之间。用四节1.5V的电池

9、就可以工作。电源端有防反接电路,这样,即使反接也不会烧坏电路。起到了安全保护的措施。图3-3电源原理图(2)串口板子上的串口是必不可少的,最起码的功能就是要实现与电脑的通信,比如下载程序到处理器。还有些预留串口,可以外接串口设备,方便实现其他的功能,比如项目中有时会用到的蓝牙模块。在进行电脑与板子通信之前,要下载相应的驱动程序,在电脑上安装好后,便可以与板子进行通信。(3)主控芯片板子的核心,也就是主控芯片是Atmega8A芯片。(4)双电棚区动小车的两个轮子,各有一个独立的电机进行驱动。电机的驱动部分采用MOSFET,阻抗低,工作效率高,还能融的减少发热。电机的控制部分采用的是H桥,三极管导

10、通,驱动电机转动。1、舵机介绍(1)简介舵机也是电机的一种。当给它一个角度指令时,它就会转到指定的角度,好多机器人的关节部位用到的都是这种马达。比如有些大型机器人的手臂、膝盖等处会用到,这种电机通过简单的操控就可以实赚动,对于机器人的控制相对来说匕盥简单5o图3-4舵机实物图(2)内辘构在这个伺服马达的内部有一个小型的直流马达,为伺服马达提供动力。还有一个变速的齿轮组,齿轮组来带动舵机臂的转动。舵机内部还有一个反馈电位器,“报告”转动情况。(3)工作原理直流马达驱动齿轮组转动,电位器将检测结果反馈给控制系统,控制系统把反馈结果与参数进行比较,然后进行调整,直到转动到指定位置。这种反馈的机理可以

11、大大提高舵机的精确度6。(4)控制方法a、控制线:控制车轮的两个伺服马达有两条线,是电源线和地线。其中红色的是电源线,黑色的是地线。这两个电机的转动是通过H桥,并且在霍尔传感器的“配合”下完成的,因此不需要控制线。给控制线一定的脉冲波,舵机就会转到指定的位置。b、控制信号:输入一个周期性的正向脉冲信号,就可以驱动马达,脉冲的高电平时间一般是12毫秒之间,低电平的时间是520毫秒之间。高电平维持的时间不同,转到的角度就会不同7。下表是脉冲与角度位置的关系:表31舵机脉冲驱动2、舵机驱动算法脉冲宽度调制的基本思想就是:用数字脉冲来代替正弦波,或者是其他波形8。具体的来说,就好像是高等数学里的微积分

12、学。比如将正弦波的半个周期的波形进行M等分,半周期的波形就变成了M个彼此相连的、宽度相等且幅值不等的脉冲,并且幅值不是平行于水平坐标轴的,而是倾斜的直线,如果加两条垂直于坐标轴的直线,就是直角梯形,而不是矩形。把这些直角梯形近似的转换为矩形,得到的矩形是等宽的,但是高度是不一输入的正脉冲私服马达的角度位置T=0.6ms-90T=0.89ms-45T=1.44msT=2.05ms+45T=2.32ms+90样的。然后把每个矩形的高度转变成相等的,每个矩形的面积依旧和原来一样,即要改变它们各自的宽度。这样就会得到一序列等高不等宽的波形,称之为PWM波形。通过转换以后,幅值不再遵循正弦规律,相对的波

13、形的宽度却遵循了正弦规律。图35PWM的占空比3.1.3 霍尔传感器模块霍尔传感器采用的是一种磁电效应原理。原理如下图所示,在磁场中放置一个霍尔半导体片,磁场的方向垂直于导体面从上到下。有电流从A到B流通时,电流会偏向一侧,在CD方向上产生电位差U,U就是所谓的霍尔电压9。本次设计,霍尔传感器是用来记录小车行驶的行程的。因为在写字的时候需要控制小车行驶的距离,这个距离就是靠霍尔传感器记录,然后反馈给处理器,处理器采取哆退少补”的原则,对小车进行控制。在两个车轮上分别有两个圆形的金属片,这两个金属片是有磁性的,而且是断断续续的,当车轮转动时,霍尔元件就会在这个变化的磁场中产生变化的电压,每变化一

14、次就记录一次。图3-6霍尔效应原理图图37霍尔元件实物图3.2 软件设计与实现软件设计主要包括起笔和落笔,车轮的转动,霍尔传感器的反馈等。先书写相应的程序块,以函数的形式体现,然后在主程序中调用这些函数。程序部分主要有,起筋口落笔,书写时要驱动舵机旋转,将笔放下。书写结束时或者不进行书写时要将笔抬起来;记录车子的行程,在两个轮子旁边的传感器,会以产生中断的方式对行程进行计数;写字部分,这部分是重点,涉及到小车的前进、转弯等。将要书写的字进行分析,然后规划小车的轨迹,进行编程。3.2.1 系统软件模块划分根据上述思想,将程序划分如下。引脚的宏定义部分,起笔函数,落笔函数,前进、停止函数,转弯函数

15、电棚区动函数,空格函数,主函数,所有的字母函数规划好,放在一个文件里,这样也可以在主函数中直接调用。这样如果想进行书写字体的更改,只需改动相应的函数即可,无需改动其他不相关程序。也可以通过改变在主函数中的调用次序,来改变书写字母的先后顺序,这样就可以拼写出不同的单词。也可以将单词所用的字母函数封装起来,直接在主函数进行调用。写字的思想是将大写的英文字母放在一个的表格中,表格形式可以多样化,例如下面的4x6表格。通过Go()函数和TUrn()函数的不同组合,来对字母进行书写。放在表格中,能够使所有的字母字形大不致差别太大,另外,每个方格可以代表轮子的距离,这样,根据格子数就可以知道车需要形式的距离,方便编写程序。图3-8字母规划表图39主程序流程图定义变量是定义的全局变量,这些变量包括左右轮子的速度、模拟量、传感器产生的中断中的计数变量等。在初始化设置中,设置中断引脚(中断函数将在下面进行介绍),设置串口的波特率,打开串口,设置引脚为输出模式等。循环体模块,主要是调用子函数,完成想写的单词或者是句子。3.2.3 起笔、落笔子程序功能实现起笔和落笔是通过驱动舵机旋转实现的,根据舵机旋转的原理,给舵机一个参数值,使它转到指定的位置。抬笔就是i舵机的臂作为支撑,设置为90度角,信号脉冲中的高电平的时间是1.44毫秒,落笔的时候,舵

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 论文 > 毕业论文

宁ICP备18001539号-1