从键盘输入起始坐标值(xd,yd),将(xd,yd)代入式(1)和式(2)中计算出L1和L2,再从键盘输入终点坐标值(xe,ye)代入式(3)和式(4)中计算出L1'和L2',两点(定点)运动算法流程图如图8所示。
3.2 做圆运动的算法和实现
本系统设计指标悬挂物能够画一个圆,采用微分曲线直线逼近法,首先将圆周等分为N 份,将每小份弧线段等效为直线段画出,N越大,曲线就越光滑。设所画圆的圆心坐标为(x0,y0),半径为25 cm,(x,y)为圆周上的任意一点,由此确定圆的方程为:(x-x0)2+(y-y0)2=252。若直接使用该方程来求圆上点的坐标,算法复杂;若采用圆的参数方程:X=x0+25cosθ,Y=y0+25sinθ,则圆的坐标仅与参数θ有关。因此,使角度以θ某一设定的角度步长ω累加,使θ+pω在周期[θ,θ+2π]内变化,其中p为累加值。这样就可以采样到圆上均匀的点,显然,角度步长ω越小,在圆周上取得点越多,控制也会更精确。根据圆的参数方程,计算圆上点的坐标,通过调用定点程序来实现。画圆流程图如图9所示。
4 结 语
系统硬件在智能型可编程器件实验系统KH-310集成开发,软件设计在QuartusⅡ环境下。系统各组成模块通过Modelsim进行仿真,选用优化效率和兼容性好的综合器Synplify对程序进行综合,用A1tera公司的EPEC6Q24OC8L作为编程芯片,系统在1 MHz下工作,经现场实验,其结果表明:该系统可以通过键盘任意设置悬挂运动物体的位置;在规定时间和运动区域的情况下,可以快速地完成运动距离;可以完成运动坐标点的显示和电机启/停功能。
本文设计的基于FPGA控制的步进电机悬挂运动控制系统具有可靠的硬件和优良的软件设计支持,可实现对悬挂运动的精确定位。利用FPGA实时控制能力和步进电机的精确定位能力,完全可以设计出高性能高精度的控制系统,例如改善人工清洗高楼幕墙容易发生危险状况,将悬挂物设置成清洗机构。在现代工业、农业和国防建设中,使用和推广这种系统,有着十分重要的现实意义。