Jeffrey Cross
Jeffrey Cross

Controle de movimento para as massas: The TinyG Story

O que é o TinyG?

O TinyG é um projeto de hardware de código aberto que eu co-criei para tornar o controle de movimento de nível industrial acessível e acessível a usuários casuais, enquanto ainda é poderoso o suficiente para os profissionais. É um projeto pessoal que se tornou um trabalho público de amor. Nós formamos o Synthetos quando membros de nosso hackerspace local (HacDC) nos pediram para disponibilizar o hardware para que eles pudessem conduzir seus próprios projetos de controle de movimento.

A placa TinyG é um sistema completo de controle de movimento multiaxial embutido em uma placa de circuito de 4 polegadas. Ele é usado em fresadoras CNC, impressoras 3D, máquinas pick and place, pequenas linhas de produção industrial, projetos de arte e outras aplicações que exigem controle de movimento preciso e rápido. Com ele, sua impressora CNC ou 3D pode imprimir com mais rapidez, precisão e muito mais silenciosamente do que as alternativas. Algumas das características são:

    • Comandos de controle de movimento por código G são executados diretamente na placa
    • 4 motores de passo até 2,5 ampères cada
    • Controle de 6 eixos - controla eixos lineares XYZ + eixos rotativos ABC
  • Aceleração de jerk controlado (explicarei isso mais tarde) planejando movimentos muito rápidos e precisos
  • Fala JSON (JavaScript Object Notation) para que a placa possa ser controlada usando as mesmas tecnologias em que a web é baseada

Uma lista completa de recursos está disponível no site Synthetos.

NO SHERED SHED:

TinyG está disponível na Maker Shed

O que está no quadro?

Não muito, realmente. A CPU é um Atmel Xmega - um processador moderadamente poderoso com 192K de flash rodando a 32 MHz. Isso é seis vezes mais flash que o processador (o ATmega328P) no Arduino Uno, e duas vezes a velocidade do processador das placas Arduino Uno ou Mega. Usamos o espaço extra e o poder para fazer o TinyG fazer o que faz.

Os drivers de passo são os chips DRV8818 da Texas Instruments incrivelmente confiáveis. Os drivers suportarão até 2,5 amperes por bobina, portanto, trata-se de todos os motores NEMA17 (comumente usados ​​em impressoras e moinhos 3D) e da maioria dos motores NEMA23 - que são tão grandes quanto o seu punho.

Há também um chip USB FTDI (para que você possa conectá-lo a um computador) e uma fonte de alimentação de 3,3 volts para alimentar a lógica. O resto é apenas LEDs, potenciômetros de ajuste atuais e conectores. A maior parte do esforço foi para o firmware, que está disponível em código aberto no site Synthetos Github. Isso é o que levou mais de quatro anos e, é claro, continuamos adicionando recursos e aprimorando o código. Há também uma porta de firmware TinyG que roda no processador Arduino Due ARM, e estamos no processo de lançar a versão 9 do TinyG, que usa um processador ARM. A versão do Due corre bem com um escudo de 3 eixos que nós chamamos de gShield.

Quem fez e por quê?

TinyG tem estado sob desenvolvimento contínuo por Riley Porter e eu desde o início de 2010. Rob Giseburt se juntou ao projeto em 2012, e tem havido muitos contribuintes que também adicionaram à base de código. O TinyG começou como uma ramificação Xmega do software de controle de movimento grbl, que também estava em um estágio muito inicial de desenvolvimento na época. TinyG foi originalmente concebido como uma maneira de controlar um grande número de motores de passo com muita precisão, mas de forma barata. O projeto original tinha como objetivo controlar um grande calliope que teria levado mais de 100 motores, dependendo de quantos instrumentos fossem adicionados. As pessoas no hackerspace local (HacDC) ficaram sabendo do projeto e começaram a pedir para as placas dirigirem pequenas máquinas CNC DIY e outros projetos. Então, mais pessoas descobriram sobre isso. Então seguimos o caminho de escrever o firmware para esses usos. O calliope ainda precisa ser construído.

Como isso é diferente do que veio antes?

Nós achamos que a principal diferença entre o TinyG e outros controladores é a atenção dada ao controle de movimento em si, ao invés de ser uma placa específica de aplicação para impressão 3D ou algum outro aplicativo.

Festa como se fosse 1969

Uma grande diferença é o compromisso de criar um interpretador de código G relativamente completo. O código G é uma linguagem de comando ASCII vintage dos anos 60 que ainda é a maneira dominante de conduzir máquinas CNC industriais.Partes do código G foram adotadas pela comunidade de impressão 3D, mas queríamos implementar a rica funcionalidade que o idioma suporta.

Toda essa louca física e matemática

Uma grande parte do código G é o suporte para 6 eixos de controle de movimento. Isso significa implementar os eixos rotativos além dos eixos lineares XYZ. Os eixos rotativos A, B e C são as rotações em torno de X, Y e Z - como pitch, roll e yaw em um avião.

O idiota

Outra grande diferença é o gerenciamento de aceleração que controla diretamente o idiota (não, não o filme de Steve Martin de 1979). Para o matematicamente inclinado, o idiota é a terceira derivada da posição, ou o taxa de mudança de aceleração. Mais fisicamente, o jerk é uma medida do impacto que uma máquina pode ter.

Jerk é como bater na máquina com um martelo e causa todos os tipos de efeitos colaterais ruins. Jerk excita ressonâncias que causam agitação, tagarelice, pulando e, em casos extremos, perda de posição. Controlar o idiota significa que a aceleração se parece com uma curva S suave, e não com um monte de linhas retas (trapézios) presas juntas.

Na prática, isso significa que a máquina pode acelerar e desacelerar mais rapidamente e, em geral, funcionar mais suavemente. Nenhum outro controlador na nossa gama faz isso. Tudo isso levou muito tempo, mas fomos em busca de qualidade e trabalhamos a física e a matemática. Usamos o Wolfram Alpha durante meses para reduzir algumas equações enormes. Demorou 6 meses ou mais para que a aceleração funcionasse como queríamos. Um profissional treinado poderia ter feito isso em semanas, talvez dias, mas era nossa hora de descobrir e aprender.

CNC no navegador

CNC no Navegador: tgFX renderizando saída TinyG

Outra grande diferença é a maneira como falamos com o conselho. Nós tratamos a placa como um periférico da web. Isso significa que o quadro fala sobre REST e JSON (JavaScript Object Notation) e se comporta como uma página da Web, em vez de um pedaço de hardware personalizado. Queremos que o maior número possível de pessoas consiga usar o TinyG, por isso é necessário conversar com facilidade. Para cada pessoa que se sente à vontade para escrever um protocolo complicado, existem centenas de especialistas em Web que já estão familiarizados com o JSON - em JavaScript, NODE.js, Python, Java, Ruby - o que quer que seja. Então nós implementamos o JSON no nível do chip, falando sobre uma porta serial ao invés de HTTP e TCP / IP. Isso está habilitando um monte de aplicativos que simplesmente não teriam sido construídos antes porque a curva de aprendizado era muito íngreme.

Para que posso usá-lo?

O TinyG é ótimo para apenas pegar e fazer algo se mover suavemente porque muito do trabalho já foi feito. Recebemos comentários de pessoas que simplesmente “pularam” a parte do movimento do projeto, ou “substituiu uma mesa cheia de eletrônicos”.

Existem vários projetos que incorporaram o TinyG como seu componente de controle de movimento:

Shapeoko 2

A Shapeoko é uma máquina de corte acessível de 3 eixos. Muitas construções do Shapeoko usam o TinyG e o projeto Shapeoko tem sido um defensor de longa data do TinyG.

Othermill

O Othermill é um moinho portátil de 3 eixos, controlado por computador, projetado para uso doméstico ou em um pequeno espaço de trabalho. Ele é compacto e silencioso o suficiente para uso doméstico, mas preciso o suficiente para um trabalho detalhado de prototipagem elétrica e mecânica. A Othermill lançou com um Kickstarter de muito sucesso no início deste ano.

Pocket NC

O Pocket NC fabrica um moinho CNC de 5 eixos do tamanho de um desktop, o P5. O P5 é projetado para usinar metais ou plásticos e tem uma área de trabalho de 5 polegadas de diâmetro por 4 centímetros de altura. E é verde.

O DIWire é um dobrador de arame e tubo de metal CNC. Se as impressoras 3D imprimem volumes; esta máquina “imprime” linhas de qualquer comprimento. Ele pode ser usado para qualquer coisa de treliças de aço, tubulação hidráulica, grandes estruturas para fantoches gigantes, jóias delicadas, corridas de mármore, até mesmo chaves.

Mythos / Logos é uma escultura cinética de quatro metros de altura feita de braços semicirculares que giram em relação um ao outro. O braço interno possui uma montagem de câmera controlada por computador. Quando em movimento, o dispositivo pode posicionar sua câmera em quase qualquer ponto na superfície de uma esfera imaginária. Mesmo que a escultura esteja em movimento constante, a lente da câmera está sempre apontada para o centro da esfera.

Mitos / Logos

O OpenPnP é um projeto para criar uma máquina pick and place de fonte aberta de superfície. O projeto produziu vários projetos de hardware protótipo e está em andamento o trabalho para ter um Kickstarter ainda este ano.

Tempo Automation

Firepick é uma máquina pick and place de código aberto projetada em torno do OpenPnP e TinyG. A Tempo Automation está desenvolvendo uma máquina de coleta e colocação de desktops baseada no TinyG. O objetivo da Tempo é ajudar as pessoas a interagir rapidamente em projetos eletrônicos de montagem em superfície. A Solar Pocket Factory é uma máquina pequena e de baixo custo que fabrica painéis solares, com o objetivo de tornar a energia solar acessível em qualquer lugar do mundo. Em suas entranhas, um TinyG controla os motores que colocam o silício e movem os painéis para baixo da linha de montagem.

O que vem a seguir para a equipe do TinyG?

Enquanto o TinyG tem se concentrado no controle de movimento e CNC, ultimamente temos adicionado recursos para impressão 3D, corte a laser e expansibilidade geral para outros tipos de projetos. Nós desenvolvemos um barramento de expansão chamado Kinen para habilitar esses projetos. Também estamos usando a Kinen para oferecer controladores de maior potência e possibilitar os "últimos 10%" de que muitos projetos precisam. Continuamos a trabalhar na comunicação RESTful usando JSON. Nosso objetivo é oferecer suporte a Mashups de hardware, nos quais os desenvolvedores da Web podem combinar vários dispositivos independentes com a mesma facilidade com que podem criar uma página da Web.

Alden Hart é CTO da Ten Mile Square Technologies, uma empresa de consultoria em tecnologia que desenvolve sistemas para mídia e comunicações, dos metadados ao metal. Em seu tempo livre, ele co-dirige o Syntheos e combina micro-controladores, LEDs, mecânica e outras pequenas peças de maneiras que não têm aplicação prática.

Ação

Deixar Um Comentário