Kerstmis voor ma(r)kers: Gepersonaliseerde kerstboomornamenten gemaakt door een robot
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
Top 10 Testrapporten
» Top 10 Multimedia Notebooks
» Top 10 Gaming-Notebooks
» Top 10 Budget Gaming Laptops
» Top 10 Lichtgewicht Gaming-Notebooks
» Top 10 Premium Office/Business-Notebooks
» Top 10 Budget Office/Business-Notebooks
» Top 10 Workstation-Laptops
» Top 10 Subnotebooks
» Top 10 Ultrabooks
» Top 10 Notebooks tot €300
» Top 10 Notebooks tot €500
» Top 10 Notebooks tot € 1.000De beste notebookbeeldschermen zoals getest door Notebookcheck
» De beste notebookbeeldschermen
» Top Windows Alternatieven voor de MacBook Pro 13
» Top Windows Alternatieven voor de MacBook Pro 15
» Top Windows alternatieven voor de MacBook 12 en Air
» Top 10 best verkopende notebooks op Amazon
» Top 10 Convertible Notebooks
» Top 10 Tablets
» Top 10 Tablets tot € 250
» Top 10 Smartphones
» Top 10 Phablets (>90cm²)
» Top 10 Camera Smartphones
» Top 10 Smartphones tot €500
» Top 10 best verkopende smartphones op Amazon
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
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.
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.
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.
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
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
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
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.
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.
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
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.