Notebookcheck Logo

Jul för ma(r)kers: Personliga julgransprydnader gjorda av en robot

Julgransprydnader gjorda av en robot
Julgransprydnader gjorda av en robot
Det är mindre än 20 dagar kvar till julafton, och det kommer förmodligen att bli svårt att handla i sista minuten även i år på grund av den pågående COVID-19-pandemin och bristen på reservdelar. Spherebot kan hjälpa till att göra några presenter. Det är ett gör-det-själv-projekt för mindre än 50 dollar som förvandlar vanliga julgranskulor till personliga prydnadsföremål

En Spherebot eller Eggbot ritar mönster från en dator på det som är runt. Via thingiverse.com och instructables.com kan man hitta flera handledningar och mallar för de små robotarna, som också skulle kunna kallas sphere plotters. Materiallistan är ganska likartad för de flesta Spherebots. Två Nema 17-motorer, en liten servo, en Arduino Uno, en CNC-sköld och stegmotordrivrutiner behövs. Dessutom behövs det en strömförsörjning, skruvar, kablar, kulor och matchande markörer. På Amazon har den kompletta materiallistan en prislapp på något runt 50 dollar. Om du har en 3D-skrivare kan du förmodligen låna dess dyra Nema 17-motorer och stegmotordrivrutiner för projektet

Instruktioner och bygghandböcker

Det finns många mer eller mindre enkla instruktioner för en Eggbot på olika DIY-sidor sominstructables och thingiverse. De flesta av dem kan göras med en 3D-skrivare. Minst 20 av dessa Eggbots finns under olika namn på thingiverse.com. Jag har sammanställt ett litet urval i en samling här. Resursstarka hobbyister kan förmodligen klara sig utan 3D-skrivare för vissa konstruktioner och endast arbeta med plywood, skruvar, kullager och några fästen. Jag valde Herbert Schützeneders konstruktion, som jag tycker är mycket smart. De flesta av delarna från hans Eggbot är 3D-printade. I grund och botten är inköpslistan mycket likartad för de flesta Eggbots. Detta beror också på att originalet av Evil Mad Scientist har funnits tillgängligt som ett projekt med öppen källkod i flera år. För det mesta är det alltså bara justeringar som krävs för att anpassa replikerna till olika tillverkningsmetoder.

BOM för Eggduino av Herbert_b1:

2 × Nema 17 stegmotor
1 × CNC-kit med Arduino Uno-klon
1 × Servomotor SG90 eller KY66
1 × M3-skruvar
1 × 608 kullager
1 × kondensator med 10 µF till 100 µF
1 × AC/DC-omvandlare som levererar en spänning mellan 12 V och 24 V
några (permanenta) markörer

BOM för Eggduino
BOM för Eggduino

I mitt fall kommer stegmotorerna och TMC2100 stegmotordrivrutinerna från en 3D-skrivare som inte längre används. Som strömförsörjning använder jag en gammal laptop med 19 V. Den högre spänningen är mer av en fördel för CNC-Shield eftersom Arduino Uno-klonen drivs via USB. Med den högre spänningen kan motorerna drivas med mindre ström. Detta resulterar i mindre värmeavledning vid motorerna och elektroniken. Jag behövde inte heller köpa ett kullager, eftersom 608-kullagren är desamma som i skateboards och inlines-skates.

Programvara - Nedladdning, installation och ändring

Arduino Uno (klon) är programmerbar med hjälp av Arduino IDE. Programmet kan laddas ner från www.arduino.cc/en/software eller köpas från olika källor. För Windows finns programmet också tillgängligt för installation via Microsoft Store

För att skapa bilderna och mönstren till julgranskulan används programmet Inkscape med öppen källkod med ett EggBot-tillägg. Den senaste versionen 1.1 kan laddas ner via på sidan för utgivningen.

En färdig firmware för Arduino Uno (klon) finns på Github i Eggbot repository av Plex3r. Här kan du starta nedladdningen av som en zip-fil genom att klicka på det gröna kodelementet. Plex3rs instruktioner för att ändra Eggbot-tillägget fungerar tyvärr inte med de nyare programvaruversionerna.

Den senaste EggBot-versionen 2.81 kan laddas ner från Evil Mad Scientist's repository och modifieras i stället. Du behöver de två arkiven eggbot-inkv1r2.zip och EggBotExamples_v281.zip från mappen för utgåvan.

Programmering av Arduino Uno

Efter installationen av Arduino IDE öppnar du filen EggDuino-master.zip och packar upp den i användarmappen Documents/Arduino. För att IDE ska kunna arbeta med mappens innehåll måste den omdöpas till EggDuino. Dubbelklicka på EggDuino.ino i den omdöpta mappen EggDuino för att öppna filen. Nu kan du ansluta Arduino Uno (klon) till datorn via USB-kabeln. Välj kortet med Tools>Port. Sedan laddar du upp programmet som det är. Senare ansluts allting så att den programmerade pinouten stämmer.

Utvecklarkortets hårdvaru-ID behövs för att anpassa EggBot-tillägget för Inkscape till EggDuino i nästa steg. Detta ID kan hämtas med Arduino IDE via Tools>Get Board Information. VID och PID kan kopieras med CTRL+C och sedan klistras in i en textfil.

mappar för EggDuino
mappar för EggDuino
öppna skissen och välj brädet
öppna skissen och välj brädet
ladda upp skissen
ladda upp skissen
få information om styrelsen
få information om styrelsen

Installation och ändring av EggBot-tillägget

Zip-filen eggbot-inkv1r2.zip innehåller det fullständiga EggBot-tillägget för Inkscape. Detta tillägg måste dock anpassas till EggDuino innan det kan integreras i Inkscape. Packa först upp arkivet på en godtycklig plats. I den uppackade mappen söker du efter filen ebb_serial.py. Den finns under eggbot-inkv1r2axidraw_depsplotink. Öppnas med editorn kan Python-skriptet redigeras. I rad 65 [ if port[2].startswith("USB VID:PID=04D8:FD92"): ] söker skriptet efter maskinvaru-ID:t för den ursprungliga EggBot. Detta måste ändras till Eggduino med de tidigare fastställda värdena för VID och PID.

Så i mitt fall är den nya raden: [ if port[2].startswith("USB VID:PID=2341:0043"): ]

Eftersom inte alla Arduino Uno och dess kloner har samma hårdvaru-ID kan det hända att det inte leder till framgång att bara kopiera min ändring.

ändrad rad i Python-skriptet
ändrad rad i Python-skriptet

Efter att ha sparat ändringen överförs hela innehållet från mappen eggbot-inkv1r2 till mappen extensions i Inkscape 1.1. Om standardinstallationskatalogen inte har ändrats under installationen finns den på följande adress:
C:Program FilesInkscapeshareinkscapeextensions
Om du nu öppnar Inkscape bör du kunna hitta Eggbot under Extensions.

Mapp med tillägg
Mapp med tillägg
Eggbot-tillägg
Eggbot-tillägg

Montering

Den allmänna monteringen av komponenterna bör vara enkel, men det kan vara lite knepigt att hantera ledningarna. Eftersom Arduino Uno är mycket förlåtande är misstag i allmänhet ingen stor sak

stegmotor drivrutiner

CNC-sköld Jumper
CNC-sköld Jumper

Först ska bytena ställas in för att justera mikrosteget. Beroende på stegmotordrivrutinen måste bytena ställas in på olika sätt. Tanken är att uppnå 1/16 mikrosteg. Med A4988-drivarna som ingår i CNC-kitet från länken ovan måste alla tre hopparna ställas in. På bilden till höger är motsvarande platser markerade grönt och anslutningarna gula. M0, M1 och M2 måste anslutas. För Eggbot behövs endast X- och Y-motorn

olika drivrutiner som är anslutna till CNC-skärmen
olika drivrutiner som är anslutna till CNC-skärmen

I nästa steg limmas kylflänsarna fast på stegmotordrivrutinerna och drivrutinerna sätts i springorna för X och Y. Här måste du vara uppmärksam på inriktningen. Normalt är EN-stiftet markerat på alla Pololu-kompatibla stegmotordrivrutiner. Denna måste anslutas till EN-sockeln på CNC-skärmen, endast då är inriktningen korrekt

Se databladet från respektive tillverkare för information om spänningar och inställningar för mikrostegsstyrning och ström.

Deaktivera den automatiska återställningen av Arduino Uno

avstängd REST ON
avstängd REST ON
CNC-sköld med en kondensator för att avaktivera den automatiska återställningen
CNC-sköld med en kondensator för att avaktivera den automatiska återställningen

För en korrekt anslutning till Inkscape är det nödvändigt att inaktivera den automatiska återställningen på Arduino. Den första möjligheten är att koppla bort en kontakt på Arduino UNO. På kretskorten finns det alltid en jumperkontakt, som är markerad som REST-EN eller REST-ON. Efter att kortet har programmerats kan denna kontakt kopplas bort med en kniv. Om du behöver den automatiska återställningen igen kan du sätta en lödbrygga.

Det är också möjligt att inaktivera den automatiska återställningen med en kondensator mellan återställningspinnen och GND-pinnen på CNC-skärmen. Kondensatorn måste ha en kapacitet på minst 10 µF. En elektrolytkondensator löds med sin negativa stift på GND-stiftet på CNC-skärmen. Keramiska kondensatorer och foliekondensatorer har ingen polaritet. Kondensatorns dielektriska styrka bör vara minst 1,5 gånger spänningen för den valda strömförsörjningen.

Ledningar

Alla Eggbots använder två stegmotorer och en servo. Stegmotorn som vrider bollen eller ägget är ansluten till kontakterna på X-drivern, stegmotorn för pennarmen är ansluten till kontakterna bredvid Y-drivern. Det sätt på vilket de två kontakterna är anslutna ändrar endast rotationsriktningen. Detta kan vändas senare i Inkscape.

Servomotorns tre trådar är anslutna till 5V, GND och Z.STEP-stiften på CNC-skölden. Den svarta kabeln till GND, den röda till 5V och den gula till Z.STEP.

Servoanslutningar
Servoanslutningar
fullständig kabeldragning av EggDuino
fullständig kabeldragning av EggDuino

Programvaruinstallation och plottning

När allt är monterat kan Arduino anslutas till datorn och CNC-Shield till strömförsörjningen. I Inkscape kallar du nu kontrollpanelen för Eggbot, och här måste du fortfarande ställa in inställningarna för servomotorn och rotationsriktningen för stegmotorerna. För att hitta rätt inställningar måste du utföra några experiment.

På fliken Manual kan du först bestämma pennarmens rotationsriktning. Välj Walk Motor 1 (Pen) i rullgardinsmenyn och ange ett positivt värde nedan och klicka på Apply. Pennan ska nu röra sig mot spetsen på kulan med prydnadskroken. Så beroende på vilket håll du vill klämma fast kulorna är detta till vänster eller till höger. Upprepa samma process med det valda menyalternativet, Walk Motor 2 (Egg). Kulan ska rotera medurs sett från upphängningspunkten.

Om rotationsriktningarna inte stämmer överens måste kryssrutan Motorns omvända rörelse sättas in eller tas bort för motsvarande motor på fliken Alternativ.

EggBot Manuell styrning
EggBot Manuell styrning
positiva rotationer när prydnadskroken på kulan är på höger sida
positiva rotationer när prydnadskroken på kulan är på höger sida
Alternativ för EggBot
Alternativ för EggBot
inställningar för servo
inställningar för servo

Värdena för servomotorn måste också justeras. Här beror det på om du har en servomotor med positiv eller negativ rotationsriktning. I mitt fall är det värde som ska ställas in i Eggbot Control Setup för pennans uppåtposition mindre än pennans nedåtposition. Du kan behöva prova ett par värden för att hitta rätt.

Plottning

Plot
Plot

När allt är monterat, installerat och ställt in kan du äntligen börja rita. I arkivet EggBotExamples_v281.zip finns några mallar för olika tillfällen. Dessa kan laddas, ändras och ritas som du vill. Filen EggBotTemplate.svg fungerar som en mall för dina ritningar. När du öppnar vissa mallar kommer Inkscape förmodligen att fråga om något ska ändras i filerna, eftersom de skapades med en äldre version av Inkscape. Det nya Eggbot-tillägget har anpassats till Inkscape 1.1 på så sätt att du måste välja "This file is intended for on-screen display[...]" här, annars kommer utmatningen på Eggbot att förvrängas.

Med den färdiga designen behöver du inte göra något annat än att plotta den via Eggbot Control Center. Klicka bara på "Apply" (tillämpa) på fliken Plot (plotta).

Please share our article, every link counts!
> Bärbara datorer, laptops - tester och nyheter > Tester > Jul för ma(r)kers: Personliga julgransprydnader gjorda av en robot
Marc Herter, 2021-12-10 (Update: 2021-12-10)