操控系统整体调试大致可以分成硬件调试与软件调试两大部分,但是二者之间关系又密不可分。人们习惯先寻找出明显的硬件故障,然后再与软件联系到一起进行调试,以达到彻底排除错误。当整个控制系统的硬件部分从布线一直到组装全部都处理完以后,就要进行系统的硬件调试环节了。
一、 硬件调试
硬件调试首先要实施静态调试,是为了排除各种故障,大致分以下三方面。
1 排除逻辑故障
这类故障主要是在设计和焊接过程当中存在的工艺性失误所引起的,大致分为错线、断路、短路。消除这类故障的方法就是把做好的电路板仔细与原理图比对一遍,检查二者之间是否有差别。这里要格外的注意电源系统,因为电源接错了对电路的影响非常大,所以要格外注意防止电源短路或者极性相反等错误的发生,同时还要重点查看系统总线是否存在短路等情况。必要时可以使用数字万用表的短路测试功能来检测,能够大大的节省检查时间。
2 排除元器件失效
产生这样错误主要是由于元器件早就已经损坏或者是在安装的过程当中产生失误,导致元器件由于电流或者电压过高等原因被烧毁。通过查看设备与最初设计过程当中所规定的型号、大小等是否相同,同时测量每个元器件的参数与性能,判断是否需要更换。
3 排除电源故障
在给系统上电之前,必须要认真查看电源电压的幅值与极性,否则特别容易引起集成模块的烧毁。上电后检查每个插件上面引脚的电位,通常是先检查 VCC 与 GND 之间电位,如果在 4.8V~5.2V 范围内则是正常。如果有高压,会对仿真器等器件造成影响,有时甚至导致系统中的集成模块发热烧毁。然后我们再依次对整个控制系统当中的一些模块如芯片模块、显示模块、红外模块和舵机驱动模块等分别进行性能与连接状态的检测,来确保整个系统能够处于正常工作状态。
二、 软件调试
软件调试顾名思义就是计算机软件把书写完成的程序经过串行口、并行口或者 USB 口传输给仿真器当中,仿真器能够与电路相连接,并且和控制器一起完成任务。通过这种方法就能够在软件里面观察到具体的完成情况了。同时,也能够应用计算机的软件来完成单步、 全速、运行到光标的常规调试。
当实验进行到不同程度,其仿真大致可以分为 RTL 行为级仿真、综合后门级功能仿真与时序仿真等三大类型。
RTL 行为级仿真:在这个过程当中的仿真通常被用于查看系统里面语法错误和代码行为是否正确等问题。
综合后门级功能仿真:大部分的工具不仅应该能够输出标准网表文件以外,而且应该能够输出 Verilog 或 VHDL 网表。
时序仿真:在布局布线完成之后能够提供一个时序仿真模型,在这里面存在器件的一些基本数据,并且还能够再产生一个 SDF 文件更好的为系统服务。
程序调试完成以后,通过 Quartus II 软件把配置数据下载到 FPGA 控制器当中。完成上述调试和下载配置数据后,就开始进行控制器对机械臂的操控实验,采用具体仿真和实验来分析证明整个操控系统的合理性和正确性。
三、 机械臂控制实验
首先,把控制器、光耦隔离保护电路和舵机驱动器相连接,把 LED 连接到控制器,同时把分别给核心控制器和舵机控制模块上电,在确保系统的硬件和软件都没有错误之后,我们该对机械臂操作系统进行控制实验了。
前面我们已经详细介绍了机械臂每个关节连杆参数,经测量可得:
我们假设机械臂每个关节角最初度数为:
将其带入正运动学方程当中,可以得到手抓的矩阵方程为:
通过 Matlab 可以绘制出当前机械臂的位姿,见图 6-1。 系统调试与控制实验
然后我们假设机械臂的各个舵机的角度都为00,要使手抓满足上述的终点位置,将终点矩阵方程代入逆运动学方程当中,通过 Matlab 运算可得到八组解,详见表 6-1。
从上表中可知,第1, 3, 5, 6组解是存在的,并且第三组解和已知的六个角度非常接近,可以作为最优解。第2, 4, 7, 8组没有解说明机械臂的结构不能满足要求,合理的挑取方程,这几组解有可能存在。
在实验过程中,有时由于某些原因,机械臂没有达到预期的位置,我们就要利用红外遥控器来进行细微的调整,具体过程如下:
红外遥控器如图 6-2 所示,它的每个按键作用说明如下: “CH-”、“CH”、“CH+”、“|<<”、“>>|”、“>||”分别为 1~6 路舵机选择并确
定键。
“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”分别为控制当前所选舵机的旋转角度的粗调按键,1~9 对应的旋转角度分别为 0°、22.5°、45°、67.5°、90°、112.5°、135°、157.5°、180°,粗调精度为 22.5°。
“+”的功能:每按一次,即控制舵机以当前位置为起点,顺时针旋转 2.5°后自锁。
“-”的功能:每按一次,即控制舵机以当前位置为起点,逆时针旋转 2.5°后自锁。
由于机械臂末端操作器比较小,在抓取大物体的时候,机械臂容易无法进行准确的抓取,我们就需要采用遥控的方法来对机械臂进行控制。当采用遥控器进行控制的时候,舵机按照键盘输入的命令来转动相应的角度,进而使机械臂达到预定的位置,这时液晶屏幕显示各个舵机当前关节角度,来保证舵机转动角度准确性,方便调节。以下图片是机械臂控制过程当中的截图。
图 6-3 所示机械臂过程是:首先确定目标物相对于机械臂的空间坐标,然后控制器算出系统调试与控制实验每个关节应该转动的角度,FPGA 发出指令控制机械臂的各个关节转动,让末端操作器运动到目标物位置并夹取;接下来把已夹取的目标物搬运并接近指定的放置地点,最后,把目标物放入预定的存放地点,如图 6-2(e)所示,在此过程当中,如果机械臂运动出现细微的偏差,则需要通过红外遥控器进行调整。
通过上面的实验操作,实现了对六自由度机械臂系统的操控,完成了前期的设计需求,实现了对机械臂进行实时控制。
四、 文章总结
文章首先分别介绍了操控系统的硬件调试和软件调试,然后对系统展开了整体调试,实现对机械臂的实时控制,并通过红外遥控器进行辅助控制,同时对红外遥控器的按键控制模式进行了详细的介绍,最后通过实验验证本设计的合理性,可以达到对机械臂实时精确控制要求。