Jeffrey Cross
Jeffrey Cross

大众运动控制:TinyG故事

什么是TinyG?

TinyG是一个开源硬件项目,我共同创建,使工业级运动控制成本低廉,可供临时用户使用,同时对专业人士来说仍然足够强大。这是一个个人项目,成为爱的公共劳动。当我们当地黑客空间(HacDC)的成员要求我们提供硬件以便他们能够驾驶他们自己的运动控制项目时,我们组建了Synthetos。

TinyG板是一个完整的嵌入式多轴运动控制系统,位于4英寸电路板上。它已被用于数控铣床,3D打印机,贴片机,小型工业生产线,艺术项目以及其他需要精确,快速运动控制的应用。有了它,您的CNC或3D打印机可以比其他打印机更快,更精确,更安静地打印。一些功能是:

    • G代码运动控制命令直接在电路板上运行
    • 4个步进电机,每个最高2.5安培
    • 6轴控制 - 控制XYZ直线轴+ ABC旋转轴
  • 受控制的加加速度加速度(我将在稍后解释)计划非常快速和精确的运动
  • 会谈JSON(JavaScript Object Notation),因此可以使用与Web相同的技术来控制电路板

Synthetos网站提供完整的功能列表。

在MAED SHED中:

TinyG可从Maker Shed获得

董事会上有什么?

真的不多。 CPU是一款Atmel Xmega - 一款功能强大的处理器,拥有192K闪存,运行频率为32 MHz。这是Arduino Uno处理器(ATmega328P)的六倍,是Arduino Uno或Mega板处理器速度的两倍。我们利用额外的空间和力量让TinyG做它的功能。

步进驱动器是令人难以置信的德州仪器DRV8818芯片。这些驱动器每个绕组可以处理高达2.5安培的电流,因此可以处理我们看到的所有NEMA17电机(通常用于台式3D打印机和铣床),以及大多数NEMA23电机 - 大约和你的拳头一样大。

还有一个FTDI USB芯片(因此可以将其插入计算机)和3.3伏开关电源为逻辑供电。其余只是LED,电流设定电位器和连接器。大部分工作都投入到固件中,固件在Synthetos Github网站上可用。这是花了四年多的时间 - 当然我们继续添加功能并改进代码。还有一个在Arduino Due ARM处理器上运行的TinyG固件端口,我们正在发布使用ARM处理器的TinyG版本9。 Due版本运行良好,我们制作了一个名为gShield的3轴步进屏蔽。

谁成功了,为什么?

自2010年初以来,TinyG一直在不断地开发Riley Porter和我自己.Rob Giseburt于2012年加入该项目,并且有许多贡献者也加入了代码库。 TinyG最初是grbl运动控制软件的Xmega分支,当时它还处于早期开发阶段。 TinyG最初被认为是一种非常准确但廉价地控制大量步进电机的方法。最初的设计旨在控制一个大型的电动车,它可能需要多达100个电机,具体取决于添加的仪器数量。当地黑客空间(HacDC)的人们得知了该项目,并开始要求董事会推动小型DIY数控机床和其他项目。然后更多的人发现了它。因此,我们沿着为这些用途编写固件的道路走下去。 calliope还没有建成。

它与以前有什么不同?

我们认为TinyG与其他控制器之间的主要区别在于对运动控制本身的关注,而不是3D打印或其他应用程序的特定应用程序板。

派对喜欢它是1969年

一个很大的不同是致力于创建一个相对完整的G代码解释器。 G代码是一种'60年代复古ASCII命令语言,仍然是驱动工业数控机床的主要方式。部分G代码已被3D打印社区采用,但我们希望实现该语言支持的丰富功能。

所有那些疯狂的物理和数学

G代码的一个重要部分是支持6轴运动控制。这意味着除了XYZ线性轴之外还要实现旋转轴。 A,B和C旋转轴是围绕X,Y和Z的旋转 - 类似于飞机中的俯仰,滚转和偏航。

挺举

另一个很大的区别是直接控制的加速度管理 这个混蛋 (不,不是1979年的史蒂夫马丁电影)。对于数学倾斜,这个混蛋是位置的三阶导数,或者是 加速度变化率。物理上,混蛋可以衡量机器可以承受多大的影响。

Jerk就像是用锤子击打机器,它会导致各种不良的副作用。 Jerk激起共振,导致震动,喋喋不休,跳跃,并在极端情况下失去位置。控制加加速度意味着加速度看起来像一条平滑的S曲线,而不是一堆粘在一起的直线(梯形)。

实际上,这意味着机器可以更快地加速和减速,并且通常运行更平稳。我们系列中没有其他控制器可以做到这都花了很多时间,但我们追求质量,并完成了物理和数学。我们使用Wolfram Alpha几个月来减少一些巨大的方程式。花了6个月或更长的时间来加速工作我们想要它。经过培训的专业人员可以在几周甚至几天内完成它,但现在是我们发现和学习它的时候了。

CNC在浏览器中

浏览器中的CNC:tgFX渲染TinyG输出

另一个很大的不同是我们与董事会谈话的方式。我们将电路板视为Web外设。这意味着该板会讨论REST和JSON(JavaScript Object Notation),并且表现得像一个网页而不是一个自定义硬件。我们希望尽可能多的人能够使用TinyG,因此需要很容易与之交谈。对于每个习惯于编写繁琐的位级协议的人来说,有数百名熟悉JSON的精通Web的人 - 使用JavaScript,NODE.js,Python,Java,Ruby等等。所以我们在芯片级实现了JSON,通过串口而不是HTTP和TCP / IP进行通信。由于学习曲线过于陡峭,因此可以实现以前根本无法构建的大量应用程序。

我可以用它做什么?

TinyG非常适合单调拾取并使其顺利移动,因为已经完成了大部分工作。我们得到人们的评论,他们只是“跳过”他们项目的动作部分,或者“它取代了一个装满电子产品的桌子”。

有许多项目将TinyG作为其运动控制组件嵌入:

Shapeoko 2

Shapeoko是一款经济实惠的3轴切割机。许多Shapeoko构建使用TinyG,而Shapeoko项目一直是TinyG的长期支持者。

Othermill

Othermill是一款便携式计算机控制的3轴铣床,专为在家中或小型工作空间使用而设计。它结构紧凑,安静,适合家庭使用,但精确到足以进行详细的电气和机械原型制作工作。今年早些时候,Othermill与一个非常成功的Kickstarter合作推出。

口袋NC

Pocket NC制造了一台5轴台式CNC铣床,P5。 P5设计用于加工金属或塑料,工作区域直径5英寸,高4英寸。它是绿色的。

DIWire是台式数控金属线管弯管机。如果3D打印机打印量;这台机器“打印”任意长度的线条。它可以用于任何东西,从钢桁架,液压管,巨型木偶的大框架,精致的珠宝,大理石,甚至大括号。

Mythos / Logos是一个4英尺高的动力雕塑,由嵌套的半圆形臂组成,彼此相对旋转。内臂有一个计算机控制的摄像机支架。在运动时,设备可以将其摄像机定位在假想球体表面上的几乎任何点上。即使雕塑始终处于运动状态,相机镜头也始终指向球体的中心。

神话/标志

OpenPnP是一个创建开源,表面贴装拾取和放置机器的项目。该项目已经制作了几个原型硬件设计,并且正在努力在今年晚些时候推出Kickstarter。

天宝自动化

Firepick是一款围绕OpenPnP和TinyG设计的开源拾取和放置机器。 Tempo Automation正在开发基于TinyG的桌面拾放机。 Tempo的目标是帮助人们快速迭代表面贴装电子设计。太阳能袖珍工厂是一种小型,低成本的制造太阳能电池板的机器,其目标是在世界任何地方都可以使用太阳能电池。在其内部,TinyG控制放置硅的电机并将面板沿其装配线移动。

TinyG团队的下一步是什么?

虽然TinyG一直专注于运动控制和CNC,但最近我们一直在为其他类型的项目增加3D打印,激光切割和一般可扩展性的功能。我们开发了一种名为Kinen的扩展总线来实现这些项目。我们还使用Kinen提供更高功率的控制器,并实现许多项目所需的“最后10%”。我们继续使用JSON进行RESTful通信。我们的目标是支持硬件混搭,Web开发人员可以像组织网页一样轻松地组合多个独立设备。

Alden Hart是Ten Mile Square Technologies的首席技术官,Ten Mile Square Technologies是一家技术咨询公司,开发从元数据到金属的媒体和通信系统。在业余时间,他共同运行Syntheos,并以无实际应用的方式结合微控制器,LED,机械和其他小零件。

分享

发表评论