如何把2吨重的机器人变成3D打印机
扫描二维码
随时随地手机看文章
自从我拥有了我的工业机器人,我就想尝试用它进行3d打印,这就是我们在这里所做的。在这个项目中,我把我的工业机器人,ABB IRB6400,变成了一个3D打印机。
机械设计
对于这个测试项目,我使用的是Creality Sprite Pro直接驱动挤出机。为了将挤出机安装到机器人上,我设计了一个支架和线轴支架,它们是用常规PLA塑料3d打印出来的。在这种情况下,用于容纳挤出机的3d打印部件没有问题,因为挤出机不会遇到任何过度的力(在正常情况下),并且应该只支持其自身重量和1KG PLA线轴的重量。该部件打印有5层外层(0.4mm喷嘴)和20%的填充。
电子产品
为了控制挤出机,我使用RAMPS 1.4板,结合arduino Mega。RAMPS板有点过时,但应该足以控制挤出机。它只需要控制加热器的温度,一些风扇和控制直接驱动挤出机的步进电机,目前它做得很好。没什么好幻想的。
软件
由于机器人的内存太小(它最初使用软盘驱动器,机器人已经26岁了),我不得不创建一个程序,将坐标逐行发送到机器人的控制器和RAMPS板。由于机器人的控制器使用的是ABB RAPID语言而不是G-code,所以我们还需要将G-code转换为正确的格式。这也是由我的小程序完成的。g代码本身是由普通的3d打印机切片机生成的,如Repetier Host, Prusa切片机,Orca切片机或类似的。
这个程序类似于我用我的机器人制作的cnc机器,但主要的区别是,我们现在还必须控制挤出机,并使其与机器人的运动同步,这是项目中最难的部分。
使用cnc铣削程序,我可以在开始时一次发送5条线,并将这些线缓冲在机器人控制器(ABB S4C)的输入缓冲区中。我试着用这个程序做同样的事情,但这导致了与挤出机的同步问题。所以我必须将线条一条一条地发送给机器人和挤出机,而没有在输入缓冲区中缓冲线条。这导致了一些走走停停的运动,当打印更详细的模型(如piet雕塑)有很多点彼此接近。这主要是因为机器人的运动规划器需要下一个点,以便在两个点之间插入运动。然而,对于像花瓶模型这样简单的模型来说,这并不是一个大问题。
即使所有的线条都被逐行发送到机器人和挤出机,我们仍然需要实现计时器来同步运动。在机器人和挤出机的加速度设置也必须是一个精确的匹配,以便他们保持一定程度的同步。
三维扫描
为了测试机器人的极限,我决定3D扫描我祖父制作的雕塑(piet),并尝试用机器人3d打印这个模型。为了扫描雕塑,我使用了theRevoPoint Metro Y 3d扫描仪。这个模型非常详细,正是我们测试所需要的。这个模型是按原始尺寸的20%打印出来的。由于模型中的细节和大量彼此非常接近的点,我们可以清楚地看到机器人的停和走的运动。这也导致了粗糙的表面光洁度。总的来说,对于一个26岁的机器人来说还不错,但仍有一些改进的空间。
未来的改进
我们现在在机器人的打印质量上遇到的问题主要是由于在机器人的输入缓冲区中缺少缓冲的线条。我希望发送所有的信息首先从计算机到机器人,让机器人控制挤出机,而不是让计算机发送线到机器人和挤出机。这样我们就可以在机器人的输入缓冲区中缓冲线条,并且在机器人设定速度时仍然保持机器人和挤出机之间的同步。
最终的想法
尽管这个机器人的年龄比我大,而且我用它来完成它从未设计过的任务,但它仍然取得了一些不错的成绩。目前的打印效果还不能与市面上的3D打印机相提并论,但我认为,通过更多的调整,我们可以得到更好的结果。
本文编译自hackster.io





