Library for ants: Een robotische microSD-kaartwisselaar

Auteur: svofski

Projectomschrijving

Tape-robots zijn fascinerend om naar te kijken, maar ik bezit geen tapes en bovendien zijn ze groot en duur. Daarom heb ik een miniatuurversie van een tape-wisselrobot gebouwd, of een microSD-kaartbibliotheek. Een "bibliotheek voor mieren".

Projectverslag

Ik beschouw dit project als een soort vreemd kunstproject. Men kan grappen maken over opslagkosten en dergelijke, maar het praktische nut is puur therapeutisch: je kunt simpelweg kijken hoe een machine interessante dingen doet.

GRIPOR (De grijper)

De grijper is op zichzelf een project. Mocht er vanuit "Library for ants" iets nuttigs overblijven voor anderen, dan is het dit onderdeel.

Ik heb geprobeerd de beweging van een pneumatische sprue gripper te repliceren, maar dan met een gangbare RC-microservo. Ik heb dit ontworpen in build123d. Hoewel het resultaat een succes is, was het gebruik van build123d een fout en een enorme tijdverspilling; het was ongelooflijk pijnlijk om mee te werken, zelfs met hints van LLM's.

Voor programmeurs-CAD is er OpenSCAD, wat uitstekend is voor waar het voor bedoeld is. Voor zaken die meer "hands-on" zijn en vormen vereisen die programmatisch lastig voor te stellen zijn, is er FreeCAD, wat ik ten zeerste aanbevolen kan worden.

Ik heb daarnaast een ander GRIPOR-ontwerp gemaakt dat minder hardware gebruikt en beschikt over parallelle tangen. Dit ontwerp werkt ook goed, maar ik heb uiteindelijk besloten dit niet te gebruiken in de Library for ants.

Het hoofdmechanisme

Wat betreft de mechanica en kinematica is er niet veel uit te breiden, aangezien dit goed bekend is. Ik heb gebruikgemaakt van een zogenaamde T-bot-configuratie. Dit is een variant van CoreXY-kinematica waarbij zowel de X- als Y-motoren mobiel zijn en langs de X-as schuiven. De voordelen hiervan zijn:

  1. Alle elektronica kan samen met de motoren worden geplaatst.
  2. Het systeem kan naar elke redelijke maat worden geschaald door simpelweg de lineaire rails te vervangen door langere versies. Dit zal handig zijn wanneer dit project wordt omgebouwd tot iets anders.

De controller is een Enraged Rabbit Burrow-controller, die oorspronkelijk is gemaakt voor een opensource filament-wisselaar voor 3D-printers. Voor mij was dit een gelukkige vondst, aangezien het in feite een RP2040 is met twee Trinamic stepper-drivers, diverse stroomelektronica en alle benodigde hardware; reeds ontworpen, gedebugged, geproduceerd en verkocht voor een zeer concurrerende prijs.

Kaartdetectie

Voor de detectie is de ST188 gebruikt, een uitstekende optische sensor die eenvoudig af te stellen is. Hierdoor herkent de sensor de glimmende contacten van de microSD-kaarten zeer goed en negeert hij alles overig. De sensor is aangesloten op wat Klipper beschouwt als een filament runout sensor.

Een beweging die zeer nuttig bleek en er interessant uitziet, is het moment waarop de kaart wordt ingevoegd: de grijper geeft met zijn "snavel" een tweede duwtje om er zeker van te zijn dat de kaart goed is geplaatst.

Besturingssoftware

Het besturingsprogramma is geschreven in Python en maakt gebruik van de Textual-bibliotheek voor een geavanceerde TUI-interface (Text User Interface). Er is een reeks macro's die alle interessante handelingen uitvoeren, zoals:

  • Het pakken van een kaart.
  • Controleren of de kaart daadwerkelijk is opgepakt.
  • De kaart invoegen.
  • De kaart voorzichtig aanduwen om te garanderen dat deze volledig is ingeschoven.

De software biedt basisbesturingsfuncties zoals het pakken van een kaart, het monteren in de lezer en het wisselen van de kaart. Daarnaast kan het systeem een "inventory check" uitvoeren om te zien welke kaarten zich momenteel in het magazijn bevinden. Voor functies die niet in de TUI zijn opgenomen, is er een opdrachtregel (command line) en in uiterste gevallen kan er direct G-code worden getypt, wat nuttig is voor het debuggen.