Motion Control for the Masses: The TinyG Story - 💡 Fix My Ideas

Motion Control for the Masses: The TinyG Story

Motion Control for the Masses: The TinyG Story


Auteur: Ethan Holmes, 2019

Wat is TinyG?

TinyG is een open source hardwareproject dat ik mede heb ontwikkeld om motion control van industriële kwaliteit betaalbaar en toegankelijk voor occasionele gebruikers te maken, terwijl het nog steeds krachtig genoeg is voor professionals. Het is een persoonlijk project dat een openbaar liefdeswerk is geworden. We hebben Synthetos opgericht toen leden van onze lokale hackerspace (HacDC) ons vroegen om de hardware beschikbaar te maken zodat ze hun eigen motion control-projecten konden rijden.

Het TinyG-bord is een volledig ingebed bewegingscontrolesysteem met meerdere assen op een 4-inch printplaat. Het is gebruikt in CNC-freesmachines, 3D-printers, pick-and-place machines, kleine industriële productielijnen, kunstprojecten en andere toepassingen waarvoor nauwkeurige, snelle motion control vereist is. Hiermee kan uw CNC- of 3D-printer sneller, preciezer en veel stiller afdrukken dan de alternatieven. Enkele van de functies zijn:

    • G-code motion control-commando's lopen direct op het bord
    • 4 stappenmotoren elk tot 2,5 ampère
    • 6-assige besturing - regelt XYZ-lineaire assen + ABC-rotatie-assen
  • Gecontroleerde rukversnelling (ik zal dat later uitleggen) plannen voor een zeer snelle en precieze beweging
  • Talks JSON (JavaScript Object Notation) zodat het bord kan worden bestuurd met dezelfde technologieën waarop het web is gebaseerd

Een volledige lijst met functies is beschikbaar op de Synthetos-site.

IN DE MAKER SHED:

TinyG is verkrijgbaar bij de Maker Shed

Wat zit er op het bord?

Niet veel, echt waar. De CPU is een Atmel Xmega - een matig krachtige processor met 192K flash die draait op 32 MHz. Dit is zes keer meer flits dan de processor (de ATmega328P) op de Arduino Uno en tweemaal de processorsnelheid van de Arduino Uno- of Mega-kaarten. We gebruiken de extra ruimte en kracht om TinyG te laten doen wat het doet.

De stepper-drivers zijn de ongelooflijk betrouwbare Texas Instruments DRV8818-chips. De stuurprogramma's kunnen maximaal 2,5 ampère per wikkeling verwerken, dus deze regelt alle NEMA17-motoren (algemeen gebruikt in desktop 3D-printers en frezen) die we hebben gezien, en de meeste NEMA23-motoren - die ongeveer zo groot zijn als uw vuist.

Er is ook een FTDI USB-chip (zodat u hem op een computer kunt aansluiten) en een 3,3 volt schakelende voeding voor het aandrijven van de logica. De rest is slechts LED's, stroomafhankelijke potentiometers en connectoren. Het grootste deel van de inspanning ging naar de firmware, die beschikbaar is als open source op de Synthetos Github-site. Dat is meer dan vier jaar geleden - en natuurlijk blijven we functies toevoegen en de code verbeteren. Er is ook een TinyG-firmwarepoort die op de Arduino Due ARM-processor werkt en we zijn bezig met het vrijgeven van TinyG-versie 9, die een ARM-processor gebruikt. De Due-versie loopt mooi met een 3-assig stepper-schild dat we gShield hebben genoemd.

Wie heeft het gemaakt en waarom?

TinyG is sinds begin 2010 voortdurend door Riley Porter en mijzelf ontwikkeld. Rob Giseburt is in 2012 toegetreden tot het project en er zijn veel bijdragers geweest die ook aan de codebasis hebben toegevoegd. TinyG begon als een Xmega-tak van de grbl motion control-software, die zich toen nog in een zeer vroege ontwikkelingsfase bevond. TinyG is oorspronkelijk ontworpen als een manier om een ​​groot aantal stappenmotoren zeer nauwkeurig maar goedkoop te besturen. Het oorspronkelijke ontwerp was bedoeld om een ​​grote calliope te besturen die meer dan 100 motoren zou hebben gehad, afhankelijk van het aantal instrumenten dat was toegevoegd. Mensen in de lokale hackerspace (HacDC) kregen bericht van het project en vroegen om boards om kleine DIY CNC-machines en andere projecten te rijden. Toen kwamen meer mensen erachter. Dus zijn we op pad gegaan om de firmware voor die toepassingen te schrijven. De calliope moet nog worden gebouwd.

Hoe is het anders dan eerder?

We denken dat het belangrijkste verschil tussen TinyG en andere controllers de aandacht is die besteed wordt aan motion control zelf, in tegenstelling tot een toepassingsspecifiek bord voor 3D-printen of een andere applicatie.

Party Like It's 1969

Een groot verschil is een verbintenis om een ​​relatief volledige G-code-tolk te maken. G-code is een vintage ASCII-opdrachttaal uit de jaren 60 die nog steeds de belangrijkste manier is om industriële CNC-machines aan te sturen.Delen van G-code zijn overgenomen door de 3D-printing community, maar we wilden de rijke functionaliteit implementeren die de taal ondersteunt.

Al die gekke natuurkunde en wiskunde

Een groot deel van G-code is ondersteuning voor 6 assen bewegingsbesturing. Dit betekent het implementeren van de roterende assen naast de XYZ lineaire assen. De A-, B- en C-rotatieassen zijn de rotaties rond X, Y en Z - soort van soortgelijke spoed, rollen en gieren in een vliegtuig.

De eikel

Een ander groot verschil is versnellingsbeheer dat direct controleert de eikel (nee, niet de Steve Martin-film uit 1979). Voor mathematisch geneigd is de eikel de derde afgeleide van positie, of de snelheid van verandering van versnelling. Fysiek gezien is een schok een maatstaf voor de impact die een machine kan hebben.

Jerk is als het slaan op de machine met een hamer en het veroorzaakt allerlei slechte neveneffecten. Jerk exciteert resonanties die trillen, klapperen, overslaan en in extreme gevallen verlies van positie veroorzaken. Het regelen van de eikel betekent dat de versnelling eruitziet als een soepele S-curve, en niet dat een aantal rechte lijnen (trapezoïdes) aan elkaar kleven.

In de praktijk betekent dit dat de machine sneller kan versnellen en vertragen en over het algemeen soepeler loopt. Geen andere controller in ons assortiment doet dit. Dit kostte allemaal veel tijd, maar we gingen voor kwaliteit en werkten aan de natuurkunde en de wiskunde. We hebben Wolfram Alpha maandenlang gebruikt om enkele enorme vergelijkingen te verminderen. Het duurde 6 maanden of langer om versnelling te laten werken zoals we het wilden. Een getrainde prof zou het in weken of misschien dagen hebben gedaan, maar het was onze tijd om het te ontdekken en te leren.

CNC in de browser

CNC in de browser: tgFX rendering TinyG-uitvoer

Een ander groot verschil is de manier waarop we met het bord praten. We behandelen het bord als een web-randapparaat. Dit betekent dat het bord REST en JSON (JavaScript Object Notation) spreekt en zich gedraagt ​​als een webpagina in plaats van een stuk aangepaste hardware. We willen dat zoveel mogelijk mensen TinyG kunnen gebruiken, dus het moet gemakkelijk zijn om mee te praten. Voor elke persoon die het prettig vindt om een ​​fiddly bit-level protocol te schrijven, zijn er honderden websurvy-mensen die al bekend zijn met JSON - in JavaScript, NODE.js, Python, Java, Ruby - wat dan ook. Dus implementeerden we JSON op het niveau van de chip, waarbij we het hadden over een seriële poort in plaats van HTTP en TCP / IP. Dit maakt een heleboel toepassingen mogelijk die gewoon niet eerder zouden zijn gebouwd omdat de leercurve te hoog was.

Waar kan ik het voor gebruiken?

TinyG is geweldig om gewoon iets op te pikken en iets soepel te laten bewegen omdat er al zoveel werk is verzet. We krijgen opmerkingen van mensen dat ze gewoon het motion-gedeelte van hun project hebben overgeslagen, of 'het heeft een tafel vol met elektronica vervangen'.

Er zijn een aantal projecten met ingesloten TinyG als hun component voor motion control:

Shapeoko 2

Shapeoko is een betaalbare snijmachine met 3 assen. Veel Shapeoko maakt gebruik van TinyG en het Shapeoko-project is al heel lang een voorstander van TinyG.

Othermill

De Othermill is een draagbare, computergestuurde 3-assige molen ontworpen voor gebruik thuis of in een kleine werkruimte. Het is compact en stil genoeg voor thuisgebruik, maar precies genoeg voor gedetailleerde elektrische en mechanische prototypewerkzaamheden. Othermill is eerder dit jaar gelanceerd met een zeer succesvolle Kickstarter.

Pocket NC

Pocket NC maakt een 5-assige CNC-freesmachine op desktopformaat, de P5. De P5 is ontworpen voor het bewerken van metalen of kunststoffen en heeft een werkgebied van 5 inch in diameter bij 4 inch lang. En het is groen.

De DIWire is een desktop CNC metaaldraad en buigmachine. Als 3D-printers volumes afdrukken; deze machine print lijnen van elke lengte. Het kan worden gebruikt voor alles van stalen spanten, hydraulische slangen, grote kaders voor reuzenpoppen, delicate sieraden, marmerloops, zelfs beugels.

Mythos / Logos is een 4-voet-tall kinetische sculptuur gemaakt van geneste, halfronde armen die roteren ten opzichte van elkaar. De binnenste arm heeft een computergestuurde cameramontage. In beweging kan het apparaat de camera op bijna elk punt op het oppervlak van een denkbeeldige bol plaatsen. Hoewel het beeld constant in beweging is, is de lens van de camera altijd in het midden van de bol gericht.

Mythos / Logos

OpenPnP is een project om een ​​open-source pick-and-place machine met oppervlakte-mount te maken. Het project heeft verschillende prototype hardwareontwerpen geproduceerd en er wordt gewerkt aan een Kickstarter later dit jaar.

Tempo Automation

Firepick is een open-source pick en place-machine die is ontworpen rond OpenPnP en TinyG. Tempo Automation ontwikkelt een desktop pick en place machine op basis van TinyG. Het doel van Tempo is om mensen te helpen snel te itereren door ontwerpen met oppervlaktemontage-elektronica. De Solar Pocket Factory is een kleine, goedkope machine die zonnepanelen maakt, met als doel zonne-energie overal ter wereld toegankelijk te maken. In zijn lef bestuurt een TinyG de motoren die silicium plaatsen en de panelen langs de assemblagelijn verplaatsen.

Wat biedt de toekomst voor het TinyG-team?

Hoewel TinyG zich richt op motion control en CNC, hebben we de laatste tijd mogelijkheden toegevoegd voor 3D-printen, lasersnijden en algemene uitbreidbaarheid voor andere soorten projecten. We hebben een uitbreidingsbus ontwikkeld, Kinen genaamd, om deze projecten mogelijk te maken. We gebruiken Kinen ook om hogere vermogenscontrollers aan te bieden en om de "laatste 10 procent" mogelijk te maken die veel projecten nodig hebben. We blijven werken aan RESTful communicatie met JSON. Ons doel is Hardware Mashups te ondersteunen, waarbij webontwikkelaars meerdere onafhankelijke apparaten net zo eenvoudig kunnen combineren als een webpagina.

Alden Hart is CTO van Ten Mile Square Technologies, een technologieconsultancybedrijf dat systemen voor media en communicatie ontwikkelt, van de metadata tot het metaal. In zijn vrije tijd co-runt hij Syntheos en combineert hij microcontrollers, LED's, mechanica en andere kleine onderdelen op manieren die geen praktische toepassing hebben.



U Bent Wellicht Geïnteresseerd Zijn

Achter de schermen van Fashion Geek: The Fashion Show Night

Achter de schermen van Fashion Geek: The Fashion Show Night


CRAFT-project: met stof versierde notitiekaarten

CRAFT-project: met stof versierde notitiekaarten


CRAFT Recept: Moussaka

CRAFT Recept: Moussaka


Bazaar Bizarre toepassingen Open voor Maker Faire Bay Area

Bazaar Bizarre toepassingen Open voor Maker Faire Bay Area






Recente Berichten