3.2.6 转弯子程序功能实现
在转弯时两个轮子都转动,只是一个轮子向前转,另一个轮子向后转。
小车在转动的时候两个轮子和笔的位置都是变化的,为了确认下次落笔的位置,必须找到一个不变的量,在转的过程中唯一一个不变的量就是连接两个轮子直径的中点。下面把小车简化,进行分析。
黑色的字体“A”是要进行书写的字,红色的部分是简化的小车形状,图中“O”是小车转弯时的不动点,可以称它为小车的中心,L是笔尖到中心的长度。如下图所示,小车从字母的左下角开始书写,当写到字母的1处时,需要转弯,这时,笔尖的位置在1处,如果直接转个45度角,笔尖并不能落到指定的线路上。
首先把笔抬起来,继续走L个长度,这时,小车的中心点就会落在1处,然后旋转45度。但是,这时候的笔尖并不在1处,不能接着上次起笔的地方书写。从图中可以清楚的看到只需在这个基础上倒退L的长度即可。
3-12小车转弯示意图一
图3-13 小车转弯示意图二
如上图3-13,小车若要转动45度角,轮子所走的路程如图虚线部分。两个轮子间的距离是已知的,虚线的长度是整个圆周的八分之一,通过计算可以算出其长度。直径大约为7.7厘米, 再者小车每一“步”的距离是1.57厘米,算出整个圆周需要约15.6步,转45度角需要八分之一的总的步数,因此需要1.95步,即为2步。在程序的初始部分,设置每个角度所对应的“步数”,这个步数,可以与霍尔传感器的计数直接进行比较,判断是否达到参数要求。
小车转过45度角所要行驶的步数计算过程如下:
(3.1)
如下图,转动的角度和需要转动的步数之间的关系[10]。
n=3.14×7.7×(45÷360)÷1.57
图3-14 转动角度和步数关系示意图
程序流程如下:
图3-15 转弯子程序流程图
3.2.7 轮子行程计数子程序功能实现
上面多次提到霍尔传感器的计数部分,这里详细的进行介绍。霍尔传感器的计数,是通过中断实现的,将左、右两个传感器分别接在2、3引脚上,中断的方式设置为CHANGE型。在轮子上的圆形金属片,里面的磁场是不连续的,这样就会产生电流引起中断,每次中断都计数一次。轮子行驶一周的时候,传感器的状态会改变八次,即为四次高电平和四次低电平。
第四章 软硬件调试
4.1 硬件调试
4.1.1 调试方法
对于写字功能而言,所要测试的就是,看看电路连接是否正确,能否正常通电,串口能否正常进行工作。所以,调试方法就是,组装好后,打开电源,看看指示灯是否亮;通过USB线与电脑进行连接,查看串口指示灯,并查看电脑的驱动模块。输入简单的运动程序后,小车能够正常的行驶。 4.1.2 调试结果
通过调试,看到小车能够正常的工作,并能够通过串口与电脑进行信息交流。输入简单的运动模块程序后,小车能够行驶一段距离,说明霍尔传感器部分工作都是正常的,同时,电路连接是没有问题的。
调试初期,下载程序到小车的处理器后,小车是倒着走的,这就说明了电源的正负极反了,这里有H桥,反向的电压不会损害线路,只是改变轮子的转动方向。
左右轮子的电源线、地线反接并不会出现故障,只是轮子的转向会改变。两个轮子的电源线交换时,会引起一个轮子转,而另一个不转的情况。出现这种结果并不奇怪,当电源线交换时,左轮的速度参数就会输给右边的轮子。前进的子程序设计,是“时间上同步,时刻上异步”的,右边轮子的计数会多于左轮,右边轮子的速度被设置为零,但这时速度却输给了左边的轮子,这样就会造成“恶性循环”,就会出现原地转圈的现象。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Arduino的机器人写字系统的设计与实现毕业论文 - 图文(4)在线全文阅读。
相关推荐: