Notebookcheck Logo

Kerstmis voor ma(r)kers: Gepersonaliseerde kerstboomornamenten gemaakt door een robot

Kerstboom ornamenten gemaakt door een robot
Kerstboom ornamenten gemaakt door een robot
Het is nog minder dan 20 dagen tot Kerstavond, en last-minute inkopen zullen waarschijnlijk ook dit jaar lastig zijn door de aanhoudende COVID-19 pandemie en de tekorten aan onderdelen. De Spherebot kan helpen om wat cadeautjes te maken. Het is een doe-het-zelf project voor minder dan US$50 dat gewone kerstballen verandert in gepersonaliseerde ornamenten

Een Spherebot of Eggbot tekent vanuit een PC patronen op alles wat rond is. Via thingiverse.com en instructables.com zijn diverse tutorials en templates te vinden voor de kleine robotjes, die ook wel sphereplotters genoemd kunnen worden. De materiaallijst is voor de meeste Spherebots vrij gelijklopend. Twee Nema 17 motoren, een kleine servo, een Arduino Uno, een CNC schild en stappenmotordrivers zijn nodig. Daarnaast zijn een voeding, schroeven, kabels, ballen en bijpassende markers nodig. Op Amazon heeft de complete materiaallijst een prijskaartje van iets rond de $50. Als je een 3D printer hebt, kun je waarschijnlijk zijn dure Nema 17 motoren en stappenmotordrivers lenen voor het project

Instructies en bouwhandleidingen

Er zijn veel min of meer eenvoudige instructies voor een Eggbot te vinden op diverse DIY pagina's zoalsinstructables en thingiverse. De meeste kunnen met een 3D printer gemaakt worden. Minstens 20 van die Eggbots zijn onder verschillende namen te vinden via thingiverse.com. Ik heb een kleine selectie samengebracht in een verzameling hier. Vindingrijke hobbyisten kunnen voor sommige ontwerpen waarschijnlijk zonder 3D printer en volstaan met multiplex, schroeven, kogellagers en wat beugels. Ik koos voor het ontwerp van Herbert Schützeneder, dat ik heel slim vind. De meeste onderdelen van zijn Eggbot zijn 3D-geprint. In principe is het boodschappenlijstje voor de meeste Eggbots zeer vergelijkbaar. Dit komt ook omdat het origineel door Evil Mad Scientist al enkele jaren beschikbaar is als een open-source project. Voor het grootste deel zijn dus alleen aanpassingen nodig om de replica's aan te passen aan verschillende productiemethoden.

BOM voor de Eggduino door Herbert_b1:

2 × Nema 17 stappenmotor
1 × CNC-Kit met Arduino Uno-kloon
1 × Servomotor SG90 of KY66
1 × M3-schroeven
1 × 608 kogellager
1 × condensator met 10 µF tot 100 µF
1 × AC/DC-omvormer die een spanning tussen 12 V en 24 V levert
enkele (permanente) markeerstiften

BOM voor de Eggduino
BOM voor de Eggduino

In mijn geval komen de stappenmotoren en de TMC2100 stappenmotordrivers uit een 3D printer die niet meer in gebruik is. Als voeding gebruik ik een oude laptop brick met 19 V. De hogere spanning is meer een voordeel voor de CNC-Shield omdat de Arduino Uno kloon wordt gevoed door USB. Met de hogere spanning kunnen de motoren met minder stroom worden aangedreven. Dit resulteert in minder warmteafgifte aan de motoren en elektronica. Ik hoefde ook geen kogellager te kopen, omdat de 608 kogellagers dezelfde zijn als die in skateboards en inline skates.

Software - Downloaden, installeren en wijzigen

De Arduino Uno (kloon) is programmeerbaar met de Arduino IDE. De toepassing kan worden gedownload van www.arduino.cc/en/software of via verschillende bronnen worden verkregen. Op Windows is de app ook beschikbaar voor installatie via de Microsoft Store

Om de afbeeldingen en patronen voor de kerstbal te maken is de open source applicatie Inkscape met een EggBot extensie nodig. De laatste versie 1.1 kan worden gedownload via de release pagina.

Een kant-en-klare firmware voor de Arduino Uno (kloon) is beschikbaar op Github in de Eggbot repository door Plex3r. Hier kunt u de download starten als een zip bestand door op het groene code-element te klikken. Plex3r's instructies voor het aanpassen van de Eggbot extensie werken helaas niet met de nieuwere software versies.

De laatste EggBot versie 2.81 is gedownload van Evil Mad Scientist's repository en in plaats daarvan aangepast. U heeft de twee archieven eggbot-inkv1r2.zip en EggBotExamples_v281.zip uit de release map.

Programmeren van de Arduino Uno

Na de installatie van de Arduino IDE, open het EggDuino-master.zip bestand en pak het uit in de gebruikersmap Documents/Arduino. Om de IDE in staat te stellen met de inhoud van de map te werken, moet deze hernoemd worden naar EggDuino. Dubbelklik op EggDuino.ino in de hernoemde EggDuino map om het bestand te openen. Nu kunt u de Arduino Uno (kloon) met de computer verbinden via de USB-kabel. Selecteer het board met Tools>Port. Dan upload je het programma zoals het is. Later wordt alles aangesloten op een manier dat de geprogrammeerde pinout overeenkomt.

Het hardware ID van het ontwikkelbord is nodig om in de volgende stap de EggBot extensie voor Inkscape aan te passen aan de EggDuino. Deze ID kan worden opgevraagd met de Arduino IDE via Tools>Get Board Information. VID en PID kunnen worden gekopieerd met CTRL+C en vervolgens in een tekstbestand worden geplakt.

mappen voor de EggDuino
mappen voor de EggDuino
open de schets en selecteer het bord
open de schets en selecteer het bord
de schets uploaden
de schets uploaden
krijg de informatie van het bestuur
krijg de informatie van het bestuur

EggBot uitbreiding installatie en aanpassing

Het zip-bestand eggbot-inkv1r2.zip bevat de complete EggBot extensie voor Inkscape. Deze uitbreiding moet echter eerst aangepast worden aan de EggDuino voordat deze in Inkscape geïntegreerd kan worden. Pak eerst het archief uit op een willekeurige plaats. Zoek in de uitgepakte map naar het bestand ebb_serial.py. Dit bevindt zich onder eggbot-inkv1r2axidraw_depsplotink. Geopend met de editor, kan het Python script bewerkt worden. In regel 65 [ if port[2].startswith("USB VID:PID=04D8:FD92"): ] wordt het hardware ID van de originele EggBot opgezocht door het script. Dit moet worden veranderd in de Eggduino met de eerder bepaalde waarden voor VID en PID.

Dus in mijn geval is de nieuwe regel: [ if port[2].startswith("USB VID:PID=2341:0043"): ]

Aangezien niet elke Arduino Uno en zijn klonen dezelfde hardware-ID hebben, kan het simpelweg kopiëren van mijn wijziging niet tot succes leiden.

veranderde regel in het Python script
veranderde regel in het Python script

Na het opslaan van de wijziging, zal de volledige inhoud van de eggbot-inkv1r2 map overgezet worden naar de extensies map van Inkscape 1.1. Indien de standaard installatiemap niet gewijzigd is tijdens de installatie, bevindt deze zich op:
C:ProgrammabestandenInkscapeDelen in Inkscape's extensies
Als je nu Inkscape opent, zou je Eggbot moeten kunnen vinden onder Extensies.

Extensies map
Extensies map
Eggbot uitbreiding
Eggbot uitbreiding

Montage

De algemene assemblage van de componenten zou ongecompliceerd moeten zijn, maar de bedrading kan een beetje lastig zijn. Aangezien de Arduino Uno zeer vergevingsgezind is, zijn fouten, in het algemeen, geen grote problemen

stappenmotordrivers

CNC-Schild Jumper
CNC-Schild Jumper

Eerst moeten de jumpers worden ingesteld om de microstap te regelen. Afhankelijk van de stappenmotordriver moeten de jumpers anders worden ingesteld. Het idee is om 1/16 microstapping te bereiken. Met de A4988-drivers in de CNC Kit van de link hierboven, moeten alle drie de jumpers worden ingesteld. In de foto rechts zijn de overeenkomstige plaatsen groen gemarkeerd en de aansluitingen geel. M0, M1 en M2 moeten worden aangesloten. Voor de Eggbot zijn alleen de X- en Y-motor nodig

verschillende drivers aangesloten op het CNC-schild
verschillende drivers aangesloten op het CNC-schild

In de volgende stap worden de koellichamen op de stappenmotordrivers gelijmd en worden de drivers in de gleuven voor X en Y gestoken. Hier moet je letten op de uitlijning. Normaal gesproken is op alle Pololu-compatibele stappenmotordrivers de EN-pen aangegeven. Deze moet worden aangesloten op de EN-aansluiting op het CNC-scherm, alleen dan is de uitlijning correct

Raadpleeg de datasheet van de betreffende fabrikant voor informatie over spanningen en instellingen voor de microstappen en stroom.

Het deactiveren van de automatische reset van de Arduino Uno

oNTZETTING AAN
oNTZETTING AAN
CNC-schild met een condensator voor het deactiveren van de automatische reset
CNC-schild met een condensator voor het deactiveren van de automatische reset

Voor een goede verbinding met Inkscape, is het nodig om de auto-reset op de Arduino uit te schakelen. De eerste mogelijkheid is om een contact op de Arduino UNO los te koppelen. Op de boards is er altijd een jumpercontact, dat gemarkeerd is als REST-EN of REST-ON. Nadat het board geprogrammeerd is, kan dit contact met een mesje worden losgemaakt. Als u de auto-reset weer nodig heeft, kunt u een soldeerbrug plaatsen.

Het is ook mogelijk om de auto-reset uit te schakelen met een condensator tussen de reset pen en de GND pen op het CNC-scherm. De condensator moet een capaciteit hebben van ten minste 10 µF. Een elektrolytische condensator wordt met zijn negatieve pin aan de GND pin van het CNC-Shield gesoldeerd. Keramische en folie condensatoren hebben geen polariteit. De diëlektrische sterkte van de condensator dient minimaal 1,5 maal de spanning van de gekozen voeding te zijn.

Bedrading

Alle Eggbots gebruiken twee stappenmotoren en een servo. De stappenmotor die de bal of het ei laat draaien is verbonden met de contacten van de X-driver, de stappenmotor voor de penarm is verbonden met de contacten naast de Y-driver. De manier waarop de twee connectoren zijn aangesloten verandert alleen de draairichting. Dit kan later in Inkscape omgedraaid worden.

De drie draden van de servomotor zijn verbonden met de 5V, GND en Z.STEP pinnen van de CNC-Shield. De zwarte kabel aan GND, de rode aan 5V en de gele aan Z.STEP.

Servo-aansluitingen
Servo-aansluitingen
volledige bedrading van de EggDuino
volledige bedrading van de EggDuino

Software instellen en plotten

Als alles in elkaar zit, kan de Arduino op de PC worden aangesloten en het CNC-Shield op de voeding. In Inkscape roep je nu het controlepaneel van de Eggbot op, en hier moet je nog de instellingen voor de servomotor en de draairichting voor de stappenmotoren instellen. Om de juiste instellingen te vinden moet je wat experimenteren.

In het tabblad Manual kun je eerst de draairichting van de pen-arm bepalen. Selecteer Loop Motor 1 (Pen) in het uitklapmenu en voer hieronder een positieve waarde in en klik op Toepassen. De pen zou nu in de richting van de punt van de kerstbal met de ornamenthaak moeten bewegen. Dus, afhankelijk van welke kant je de bolletjes op wilt klemmen, is dit naar links of naar rechts. Herhaal hetzelfde proces met het geselecteerde menu-item, Loop Motor 2 (Ei). De kogel moet met de klok mee draaien, gezien vanaf het ophangpunt.

Als de draairichtingen niet overeenkomen, moet het selectievakje Omgekeerde beweging van motor worden ingesteld of verwijderd voor de corresponderende motor op het tabblad Opties.

EggBot Handbediening
EggBot Handbediening
positieve rotaties wanneer de ornamenthaak van de kerstbal zich aan de rechterzijde bevindt
positieve rotaties wanneer de ornamenthaak van de kerstbal zich aan de rechterzijde bevindt
EggBot opties
EggBot opties
servo-instellingen
servo-instellingen

De waarden van de servomotor moeten ook worden aangepast. Hierbij hangt het er vanaf of u een servomotor met positieve of negatieve draairichting heeft. In mijn geval is de waarde die ingesteld moet worden in Eggbot Control Setup voor de pen-omhoog positie kleiner dan de pen-omlaag positie. Het kan zijn dat je een aantal waarden moet proberen om de juiste te vinden.

Uitzetten

Kavel
Kavel

Als alles in elkaar is gezet, geïnstalleerd en ingesteld, kunt u eindelijk beginnen met tekenen. In het EggBotExamples_v281.zip archief zitten enkele templates voor verschillende gelegenheden. Deze kunnen worden geladen, aangepast en getekend zoals u wenst. Het bestand EggBotTemplate.svg dient als sjabloon voor je ontwerpen. Wanneer je sommige sjablonen opent, zal Inkscape waarschijnlijk vragen of er iets veranderd moet worden in de bestanden, aangezien ze gemaakt zijn met een oudere versie van Inkscape. De nieuwe Eggbot extensie is aangepast aan Inkscape 1.1 op zo'n manier dat je hier "Dit bestand is bedoeld voor schermweergave[...]" moet selecteren, anders zal de uitvoer op de Eggbot vervormd zijn.

Met het voltooide ontwerp hoeft u niets anders te doen dan het te plotten via het Eggbot Control Center. Klik op "Toepassen" in het tabblad Plot.

Please share our article, every link counts!
> Overzichten en testrapporten over laptops en mobieltjes > Testrapporten > Kerstmis voor ma(r)kers: Gepersonaliseerde kerstboomornamenten gemaakt door een robot
Marc Herter, 2021-12-10 (Update: 2021-12-10)