(3)红外线无线控制台电路的设计
采用红外线无线通信可以对运动物体进行远程控制并传输物体的坐标位置到远处的控制台显示。发射电路如图5示,由NE555构成无稳多谐振荡器,其振荡频率由电阻W1、R1和C3决定,通过调节W1可以改变振荡频率,使输出频率为38KHz。T作为单片机的串口输出端,当T为高电平时,T1截止,T2、T3没有振荡频率。当T为低电平, T1导通,这样38KHz就可以对T出来的信号进行调制;调制后的信号经过T2、T3后级电流放大去控制红外线发射管。
红外线的接收电路直接采用彩色电视机的一体化接收头,达到预期效果。
图 5 红外无线控制台原理图 (4)语音播放电路
通过SPY0030功率放大器,驱动喇叭,完成对物体运行时间的语音播放(图6)
图 6 语音播放电路 (5)显示模块
采用汉字液晶显示屏作为显示模块,同时使用4*4键盘操作,以菜单形式进行显示。显示设定位置值、当前位置值。
三、系统软件设计及数**算
(1)系统主程序流程框图(图7)
图7 主程序流程图 (2)物体位置控制部分
图 8 物体位置示意图 1、坐标点参数的计算
将画笔所在的位置设定为整个物体的位置。如图8
设定物体位置的初值坐标为(X,Y)
L1=
L2=
设电机A 的步进为a cm, 电机B的步进为b cm,物体高度为h cm。
如图8为物体在画板某一位置,则有:
解得X轴点位置和h为
则Y轴点位置
Y=115-h
控制物体从一点到另一点的实现就是当X、Y已知条件,求电机的步进过程。由图8 解得:
解得
(cm)
(cm)
由此,利用软件实现以上算法来分别控制两个步进电机的步进a,b,这样就可以向控制系统输入起点坐标和终点坐标让物体在画板置任意行走。因此物体可以由自行设定的两点坐标走直线。也可以将曲线分为多点坐标,采用直线逼近法走曲线。
2、多边形逼近画圆实现画圆算法
一个正多边形,当其边数n足够大,即每边所对的圆心角△足够小时,就非常接近一个圆。这样,画圆的问题就变成画多边形、画直线的问题了,只要确定n和 角的大小,多边形顶点的坐标位置,就可以绕开烦琐的象限问题,直接利用上面的画线的简易算法来实现画圆。
1)、n和 角的大小的确定
在用正多边形逼近一个圆时,假设多边形的各个顶点落在圆周外侧,而各边中点落在圆周内侧,并假设它们偏离圆周的绝对误差均为ε,如图9所示,只要ε<0.5,则边线与弧线的差别就可以忽略。图9中,R为圆半径,正多边形的边数n与每边所对圆心角△ 的关系为
n=2π/△
根据图2-2-2的几何关系,不难得到 (R+ε)-(R+ε)cos(△ /2)=2ε (1)
一般△ 远小于1弧度,cos(△ /2)≈1-(△ )2/8,故上式可简化为:
(R+ε)(△)2/8=2ε (2)
由式1和式2解得:
n=0.5π ≈0.5π (3)
若取ε<0.5,代入式(3)可得
n≥2.5π
当圆心为(m,n)时,将圆分成360份,假设物体走到第i份时,以圆心为原点,物体的坐标(X,Y) 计算为
i的角度
物体的位置
求得物体的坐标位置后在利用以上坐标点参数的计算得出来的结果控制物体在两点坐标间走直线。多边形的边数n的值越大,画出来的圆精度就越高。
2)、多边形逼近法画圆流程框图
在上面的讨论中,知道了多边形的边数n的值和多边形顶点坐标的推导方法,这样可以利用画直线的简易算法用线段来完成圆。以圆心在(X1,Y1),起点在(X1-R,Y1),顺时针方向画圆流程图如下图10。
由于在直线的简易算法处理过程中,起点为坐标(X1-R,Y1)。所以在多边行逼近中,每画一条直线,都要把坐标平移把起点xi和yi放到起点,再调用直线简易算法。
这种方法简单易行,在直线简易算法的基础上经过简单的数学计算处理,多次画线就可以实现画圆,相比较圆弧插补法,多边形逼近法程序代码少,可以大大节省内存空间;程序流程简单,容易编写调试;运行速度也相对圆弧插补法有较大提高。
3)、软件编程
软件编程使用凌阳u'nSP IDE 1.8.4平台,该平台集程序的编辑、编译、链接、调试和仿真等功能为一体,可以使用C语言和汇编语言混合编程,编译效率高,在线调试方便。具体程序略。
四、实际测试
(1)测试设备
模拟行使路线:示意图见试题(E题)
卷尺:精度0.01m
秒表:精度0.01s
坐标纸采用喷塑坐标纸(调试中易于擦洗无用的画笔轨迹)
(2)走自行运动实际测量结果
第一次走实际测量结果:到达目的坐标,运动轨迹与预期轨迹之间的最大偏差1.7cm,运行时间为124秒。
第二次走实际测量结果:离达目的坐标1.3 cm,运动轨迹与预期轨迹之间的最大偏差1.4cm,运行时间为131秒。
第三次走实际测量结果:离达目的坐标1.1 cm,运动轨迹与预期轨迹之间的最大偏差1.3cm,运行时间为147秒。
第四次走实际测量结果:离达目的坐标1.5 cm,运动轨迹与预期轨迹之间的最大偏差1.1cm,运行时间为118秒。
第五次走实际测量结果:离达目的坐标0.8 cm,运动轨迹与预期轨迹之间的最大偏差1.3cm,运行时间为138秒。
第六次走实际测量结果:离达目的坐标1.4 cm,运动轨迹与预期轨迹之间的最大偏差1.9cm,运行时间为128秒。
六次运行物体离达目的坐标最大误差为1.5 cm,运动轨迹与预期轨迹之间的最大偏差1.9cm。平均运行时间约为130秒。达到了预期的效果。
(3)画圆实际测量结果
画圆测试结果如下表
第一次画圆以(40,50)为圆心,对圆周进行8个点采样。
圆上的坐标 | 物体实际坐标 | (15,50) | (17,50) | (22,68) | (23.8,69.7) | (40,75) | (40,74) | (58,68) | (56.5,66) | (65,50) | (64,50.4) | (58,32) | (59.3,31) | (40,25) | (40,24.2) | (22,32) | (23.4,32.7) |
最大误差为1.8cm,运行时间为225秒,画笔曲线接近圆。
第二次画圆以(40,50)为圆心,对圆周进行8个点采样
圆上的坐标 | 物体实际坐标 | (15,50) | (15.5,50.6) | (22,68) | (21.9,69.4) | (40,75) | (40.5,74) | (58,68) | (58.3,66.7) | (65,50) | (64.8,50.2) | (58,32) | (59.1,34..2) | (40,25) | (40.6,24.5) | (22,32) | (23.5,32.4) |
最大误差为2.2cm,运行时间为224秒画,画笔曲线接近圆。
第三次画圆以(40,50)为圆心,对圆周进行8个点采样
圆上的坐标 | 物体实际坐标 | (15,50) | (15,50.6) | (22,68) | (22.2,69.4) | (40,75) | (38.5,74.1) | (58,68) | (56.6,66.7) | (65,50) | (65.8,51.7) | (58,32) | (59.3,31.1) | (40,25) | (39.6,24.5) | (22,32) | (22.5,32.7) |
最大误差为1.7cm,运行时间为221秒,画笔曲线接近圆。
三次画圆,运动轨迹与预期轨迹之间的最大偏差2.2cm,平均运行时间约为224秒,达到了预期的效果。
(4)走黑线实际测量结果
第一次走黑线走完连续线段,运动轨迹与预期轨迹之间的偏差1.8cm,连续线段运行时间为95秒。
第二次走黑线走完连续线段,运动轨迹与预期轨迹之间的偏差2.3cm,连续线段运行时间为98秒。
第三次走黑线走完连续线段,运动轨迹与预期轨迹之间的偏差1.6cm,连续线段运行时间为101秒。
第四次走黑线走完连续线段,运动轨迹与预期轨迹之间的偏差0.9cm,连续线段运行时间为94秒。
第五次走黑线走完连续线段,运动轨迹与预期轨迹之间的偏差2.2cm。走过第一个断点,走断续线段运动轨迹与预期轨迹之间的偏差2.5cm,连续线段运行时间为95秒,第一个间断线段运行时间为45秒。
第六次走黑线走完连续线段,运动轨迹与预期轨迹之间的偏差1.5cm。走过第一个断点,走断续线段运动轨迹与预期轨迹之间的偏差2.1cm,连续线段运行时间为97秒,第一个间断线段运行时间为54秒。
第七次走黑线走完连续线段,运动轨迹与预期轨迹之间的偏差1.4cm。走过第二个断点,走断续线段运动轨迹与预期轨迹之间的偏差1.5cm,连续线段运行时间为92秒,两个间断线段运行时间共为96秒。
第八次走黑线走完连续线段,运动轨迹与预期轨迹之间的偏差1.2cm。走过第二个断点,走断续线段运动轨迹与预期轨迹之间的偏差1.9cm,连续线段运行时间为96秒,两个间断线段运行时间共为102秒。
八次运行物体运动轨迹与预期轨迹之间的最大偏差2.5cm,连续线段平均运行时间约为95秒,间断线段平均运行时间约为98秒,达到了预期的效果。
(5)其他附加功能
1、语音播报功能
用秒表计时结果与单片机语音播报物体运行时间相符。
2、红外无线控制控制台
红外无线控制控制台硬件已经完成,但是由于时间问题,红外无线控制台的软件没有加到主体程序里,没有进行该项测试。
五、结论
本作品采用凌阳16位单片机SPCE061A作为运动物体的控制中心,SPCE061A具有比51单片机更多、更强的功能。使用SPCE061A单片机的语音功能给本作品带来了很多趣味。采用主控制电路电源与电机电源光电隔离,减少电机对主控制电路的干扰。采用多边形逼近法画圆和优化算法进行自动控制,实现了准确的定位。
六、参考资料
[1]北阳资料.C语言在凌阳十六位单片机中的应用
[2]罗亚非.凌阳十六位单片机应用基础.北京航空航天大学出版社
[3]徐爱钧.单片机高级语言C51Windows环境编程与应用.电子工业出版社
[4]凌阳单片机网.
[5]陈振初,蔡宣平. 计算机图形显示原理(软件).国防科技大学出版社
[6]王力虎.李红波. PC控制及接口程序设计实例. 科学出版社
[7]李朝青.无线发送/接收IC芯片及其数据通信技术选编
[8]何立民.单片及应用技术选编
[9]肖景和.赵健. 实用遥控电路
[10]涂时亮. 张友德. 单片微机控制技术. 复旦大学出版社 |