Innehållsförteckning:

Dotter - Huge Arduino Based Dot Matrix Printer: 13 steg (med bilder)
Dotter - Huge Arduino Based Dot Matrix Printer: 13 steg (med bilder)

Video: Dotter - Huge Arduino Based Dot Matrix Printer: 13 steg (med bilder)

Video: Dotter - Huge Arduino Based Dot Matrix Printer: 13 steg (med bilder)
Video: Dotter - huge Arduino based dot matrix printer 2024, Juli
Anonim
Image
Image
Dotter - Enorm Arduino -baserad prickmatrisskrivare
Dotter - Enorm Arduino -baserad prickmatrisskrivare

Hej, välkommen i denna instruerbara:) Jag är Nikodem Bartnik 18 år gammal tillverkare. Jag gjorde många saker, robotar, enheter under mina fyra år att göra. Men det här projektet är förmodligen det största när det gäller storlek. Det är också mycket väl utformat tycker jag, självklart finns det fortfarande saker som kan förbättras men för mig är det fantastiskt. Jag gillar verkligen det här projektet, på grund av hur det fungerar och vad det kan producera (jag gillar denna pixel/prick som grafik), men det finns mycket mer i det här projektet än bara Dotter. Det finns historia om hur jag gjorde det, hur jag fick en idé för det och varför misslyckande var en stor del av det här projektet. Är du redo? Varning det kan finnas mycket att läsa i denna instruktioner, men oroa dig inte här är videon om det (du kan också hitta det ovan): LÄNK TILL VIDEOLETEN start!

Steg 1: Historien om misslyckande: (och hur jag faktiskt fick en idé för detta

Historien om misslyckande: (och hur jag faktiskt fick en idé för detta!
Historien om misslyckande: (och hur jag faktiskt fick en idé för detta!
Historien om misslyckande: (och hur jag faktiskt fick en idé för detta!
Historien om misslyckande: (och hur jag faktiskt fick en idé för detta!
Historien om misslyckande: (och hur jag faktiskt fick en idé för detta!
Historien om misslyckande: (och hur jag faktiskt fick en idé för detta!

Du kanske frågar varför historien om misslyckande om mitt projekt fungerar? För i början fanns det ingen Dotter. Jag ville göra lite liknande, men mycket mer sofistikerad - en 3D -skrivare. Den största skillnaden mellan 3D-skrivare som jag ville göra och nästan alla andra 3D-skrivare var att den istället för vanliga nema17-stegmotorer kommer att använda en billig 28BYJ-48-motor som du kan köpa för cirka $ 1 (ja en dollar för en stegmotor). Naturligtvis visste jag att det kommer att vara svagare och mindre exakt än vanliga stegmotorer (när det gäller noggrannheten är det inte så enkelt, eftersom de flesta motorerna i 3D -skrivare har 200 steg per varv, och 28BYJ48 har cirka 2048 steg per revolution eller ännu mer beror på hur du använder dem, men dessa motorer är mer benägna att tappa steg och växlarna i dem är inte de bästa, så det är svårt att säga om de är mer eller mindre exakta). Men jag trodde att de skulle göra det. Och vid den tidpunkten kan du säga vänta, det finns redan en 3D -skrivare som använder dessa motorer, ja jag vet att det finns till och med få av dem faktiskt. Den första är välkänd som är Micro by M3D, liten och riktigt vacker 3D -skrivare (jag älskar bara denna enkla design). Det finns också ToyRep, Cherry och förmodligen mycket mer som jag inte vet om. Så skrivare med dessa motorer finns redan men det jag ville göra annorlunda och mer lik mitt eget sätt var kod. De flesta använder vissa open source -firmwares för 3D -skrivare, men som du kanske vet om du såg mitt Arduino -baserade Ludwik -dronprojekt gillar jag att göra saker från grunden och lära mig det så jag ville skapa min egen kod för den här skrivaren. Jag har redan utvecklat att läsa och tolka Gcode från SD -kort, rotera motorerna enligt Gcode och Bresenhams linjealgoritm. En ganska stor del av koden för detta projekt var klar. Men när jag testade det märkte jag att dessa motorer överhettas mycket, och de är såååååå långsamma. Men jag ville ändå göra det så jag utformade en ram för det i Fusion360 (du kan hitta bilden av det ovan). Ett annat antagande i detta projekt var att använda transistorer istället för stegmotordrivrutin. Jag hittade få fördelar med transistorer jämfört med stegdrivrutiner:

  1. De är billigare
  2. Det är svårare att bryta dem, jag har redan brutit några stegdrivrutiner när jag byggde DIY Arduino Controlled Egg-Bot för att när du kopplar bort en motor från föraren medan du kör den kommer förmodligen att gå sönder
  3. Drivrutiner är enkla att styra, du kan använda färre stift för det, men jag ville använda Atmega32, det har tillräckligt med stift för att använda transistorer så det var inte viktigt för mig. (Jag ville använda atmega32 i ett 3D -skrivarprojekt, äntligen i dotter behöver du inte använda det så jag använder bara Arduino Uno).
  4. Lycka är mycket större när du skapar en stegdrivrutin själv med transistorer än att bara köpa den.
  5. När jag lärde mig hur de fungerar genom att experimentera använde jag några transistorer i mina tidigare projekt, men övning gör perfekt och det bästa sättet att lära sig är att experimentera. BTW är inte så konstigt att vi inte vet hur världens största uppfinning fungerar? Vi använder transistorer varje dag, alla har miljoner av dem i fickan, och de flesta vet inte hur en enda transistor fungerar:)

Under den här tiden fick jag två nya 3D -skrivare och när jag skrev ut dem höjde jag bara utskriftshastigheten hela tiden för att göra utskrifter så snabbt jag kan. Jag började inse att 3D-skrivare med 28BYJ-48-motorer kommer att gå långsamt och förmodligen inte är den bästa idén. Kanske borde jag inse det tidigare, men jag var så fokuserad på koden för det här projektet och lärde mig hur exakt 3D -skrivare fungerar, att jag inte kunde se det på något sätt. Tack vare saker som jag lärde mig genom att bygga den här saken ångrar jag inte att jag investerat tid i detta projekt.

Att ge upp är inte ett alternativ för mig, och jag har fem stegare som ligger runt så jag började fundera på vad jag kan göra med de delarna. När jag begravde i gamla saker i min garderob fann jag min teckning från grundskolan gjord med prickritningsteknik, även kallad Pointillism (du kan se min ritning ovan). Det är inget konstverk, det är inte ens bra:) Men jag gillade den här tanken att skapa en bild av prickar. Och här tänkte jag på något som jag hört talas om tidigare, en punktmatrisskrivare, i Polen kan du hitta den här typen av skrivare på varje klinik som de gör konstigt högt ljud: D. Det var ganska uppenbart för mig att det måste finnas någon som har gjort något så här, och jag hade rätt Robson Couto gjorde redan en Arduino dot matrix skrivare, men för att göra det måste du hitta perfekta komponenter som kan vara svåra, men vi har ett 2018 och 3D -utskrift blir mer och mer populärt så varför inte göra en enkel att kopiera 3D -tryckt version, men det skulle fortfarande vara liknande. Så jag bestämde mig för att göra det stort, eller till och med STORT! För att den ska kunna skriva ut på ett stort papper som alla kan köpa - pappersrulle från Ikea:) dess mått: 45cm x 30m. Perfekt!

Några timmars design och mitt projekt var klart för utskrift, det är 60 cm långt så för stort för att skriva ut på en standardskrivare, så jag delar upp det i mindre bitar som tack vare specialkontakter blir enkla att ansluta. Dessutom har vi en vagn för en markörpenna, några remskivor för GT2 -bälte, gummihjul för att hålla papperet (även 3D -tryckt med TPU -filament). Men eftersom vi inte alltid vill skriva ut på ett så stort papper gjorde jag en av Y -axelmotorerna flyttbara så att du enkelt kan anpassa det till pappersstorleken. Det finns två motorer på Y -axeln och en på X -axeln, för att flytta pennan upp och ner använder jag mikroservo. Du hittar länkar till modellerna och allt i nästa steg.

Sedan designade jag ett kretskort som alltid, men den här gången istället för att göra det hemma bestämde jag mig för att beställa det hos en professionell tillverkare, för att göra det perfekt, lättare att löda och bara för att spara lite tid, hörde jag många bra åsikter om PCBway så jag bestämde mig för att gå med det. Jag upptäckte att de har ett stipendieprogram tack vare vilket du kan göra dina brädor gratis, jag laddar upp mitt projekt till deras webbplats och de accepterar det! Tack så mycket PCBway för att du gjorde detta projekt möjligt:) Brädorna var perfekta, men istället för att sätta mikrokontroller på detta kort bestämde jag mig för att göra en Arduino -skärm så att jag helt enkelt kan använda det, det är också enklare att löda på grund av det.

Dotterkod skrivs i Arduino och för att skicka kommandon från datorn till Dotter jag använde Processing.

Det är nog hela historien om hur detta projekt utvecklas och hur det ser ut nu, grattis om du kom dit:)

Oroa dig inte nu, det blir lättare, bara bygg instruktioner!

Jag hoppas att du kommer att tycka om den här historien om The Dotter -projektet, glöm i så fall inte hjärtat.

*på renderna ovan kan du se X -vagn med 2 pennor, det var min första design, men jag bestämde mig för att byta till en mindre version med en penna för att göra den lättare. Men version med 2 pennor kan vara intressant eftersom du skulle kunna göra prickar i olika färger, det finns till och med plats för andra servon på kretskortet så det är något att tänka på för dotter V2:)

Steg 2: Vad behöver vi?

Vad behöver vi?
Vad behöver vi?
Vad behöver vi?
Vad behöver vi?
Vad behöver vi?
Vad behöver vi?
Vad behöver vi?
Vad behöver vi?

Vad vi kommer att behöva för det här projektet, det är en stor fråga! Här är en lista över allt med länkar om möjligt:

  1. 3D -tryckta delar (länkar till modeller i nästa steg)
  2. Arduino GearBest | BangGood
  3. 28BYJ48 stegmotorer (3 av dem) GearBest | BangGood
  4. Mikro servomotor GearBest | BangGood
  5. GT2 -bälte (cirka 1,5 meter) GearBest | BangGood
  6. Kablar GearBest | BangGood
  7. Lager GearBest | BangGood
  8. Två aluminiumstavar ca 60 cm långa vardera
  9. Så här gör du ett kretskort:

    1. PCB självklart (du kan beställa, göra dem själv eller köpa det av mig, jag har några brädor som ligger runt dig kan köpa dem här:
    2. Transistorer BC639 eller liknande (8 av dem) GearBest | BangGood
    3. Likriktardiod (8 av dem) GearBest | BangGood
    4. LED grön och röd GearBest | BangGood
    5. Några bryter bort rubriker GearBest | BangGood
    6. Arduino stapelbar header kit GearBest | BangGood
    7. Några motstånd GearBest | BangGood

Förmodligen det svåraste att få för dig är 3D -utskrivna delar, fråga dina vänner, i skolan eller på ett bibliotek, de kan ha en 3D -skrivare. Om du vill köpa en kan jag rekommendera CR10 (länk för att köpa), CR10 mini (länk för att köpa) eller Anet A8 (länk för att köpa).

Steg 3: Så stor jag kan, så enkel jag kan (3D -modeller)

Så stor jag kan, så enkel som jag kan (3D -modeller)
Så stor jag kan, så enkel som jag kan (3D -modeller)

Som jag sa stor del av det här projektet var storlek, jag ville göra det stort och höll det enkelt samtidigt. För att göra det så spenderar jag mycket tid i Fusion360, lyckligtvis är detta program otroligt användarvänligt och jag älskar att använda det så det var ingen stor grej för mig. För att passa på de flesta 3D -skrivare delade jag huvudramen till 4 delar som enkelt kan anslutas tack vare speciella kontakter.

Remskivor för GT2-bälten har utformats med det här verktyget (det är coolt, kolla in det):

Jag lade till DXF -filerna för de två remskivorna bara för din referens, du behöver dem inte för att göra detta projekt.

Ingen av dessa modeller behöver stöd, remskivor har stöd inbyggda, eftersom det skulle vara omöjligt att ta bort stöd från remskivans insida. Dessa modeller är ganska enkla att skriva ut, men det tar lite tid eftersom de är ganska stora.

Hjul som ska flytta papperet bör skrivas ut med flexfilament för att göra det bättre. Jag gjorde en fälg till detta hjul som ska tryckas med PLA och på det här hjulet kan du sätta ett gummihjul.

Steg 4: Montering

Montering
Montering
Montering
Montering
Montering
Montering

Det är ett enkelt men också mycket trevligt steg. Allt du behöver göra är att ansluta alla 3D -tryckta delar tillsammans, sätta motorer och servo på plats. I slutet måste du lägga aluminiumstavar i den 3D -tryckta ramen med vagn på.

Jag skrev ut en skruv på baksidan av Y -motorhållaren som är rörlig för att hålla den på plats men det visar sig att botten på ramen är för mjuk och den böjer sig när du drar åt skruven. Så istället för denna skruv använder jag ett gummiband för att hålla denna del på plats. Det är inte det mest professionella sättet att göra detta men åtminstone fungerar det:)

Du kan se storleken på pennan som jag använde för det här projektet (eller kanske är det mer som en markör). Du bör använda samma storlek eller så nära du kan för att få den att fungera perfekt med X -vagn. Du måste också montera en krage på pennan för att låta servon flytta den upp och ner, du kan fixa den genom att dra åt en skruv på sidan.

Det finns inte mycket att förklara, så ta en titt på bilderna ovan och lämna en kommentar nedan om du behöver veta mer!

Steg 5: Elektronisk schema

Elektronisk schematisk
Elektronisk schematisk

Ovan kan du hitta elektronisk schema för detta projekt om du vill köpa ett kretskort eller göra det du behöver inte oroa dig för schemat, om du vill ansluta det på brödbrädet kan du använda det här schemat för att göra det. Jag bar dig att det kommer att bli ganska rörigt på den här brödbrädan, det finns många anslutningar och små komponenter, så om du kan, är det mycket bättre att använda ett kretskort. Om du har några problem med PCB, eller om ditt projekt inte fungerar kan du felsöka det med denna schema. Du kan hitta. SCH -fil i nästa steg.

Steg 6: PCB som proffs

PCB som proffs
PCB som proffs

Det är förmodligen den bästa delen av det här projektet för mig. Jag gjorde många PCB hemma, men försökte aldrig beställa det hos en professionell tillverkare. Det var ett bra beslut, det sparar mycket tid, och dessa brädor är bara mycket bättre, de har lödmask, de är lättare att lödda, ser bättre ut och om du vill göra något som du vill sälja finns det ingen möjlighet att du kommer att göra PCB hemma så jag är ett steg närmare att skapa något som jag kommer att kunna producera i framtiden, åtminstone jag vet hur jag gör och beställer PCB. Du kan njuta av vackra bilder av dessa brädor ovan, och här är länk till PCBWay.com

Jag har några reservbrädor så om du vill köpa dem av mig kan du köpa dem på tindie:

Jag säljer på Tindie
Jag säljer på Tindie

Steg 7: Lödning, anslutning …

Lödning, anslutning …
Lödning, anslutning …
Lödning, anslutning …
Lödning, anslutning …

Vi har ett bra kretskort men för att få det att fungera måste vi löda komponenter på det. Oroa dig inte, det är väldigt enkelt! Jag använde bara THT -komponenter så det finns ingen super exakt lödning. Komponenterna är stora och lätta att löda. De är också lätta att köpa i alla elektroniska butiker. Eftersom detta kretskort bara är en sköld behöver du inte löd en mikrokontroller, vi ansluter bara skärmen till Arduino -kortet.

Om du inte vill göra ett kretskort kan du hitta ett schema ovan med alla anslutningar. Jag rekommenderar inte att ansluta detta på brödbrädan, det kommer att se riktigt rörigt ut, det finns många kablar. PCB är mycket mer professionellt och säkrare sätt att göra detta. Men om du inte har något annat alternativ är det bättre att ansluta på brödbräda än att inte ansluta alls.

När alla komponenter är lödda på kretskortet kan vi ansluta motorer och servo till den. Och låt oss hoppa till nästa steg! Men innan det, stanna en sekund och ta en titt på denna vackra kretskort med alla komponenter på den, jag älskar bara hur de elektroniska kretsarna ser ut! Ok, låt oss gå vidare:)

Steg 8: Arduino -kod

Arduino -kod
Arduino -kod

När skölden är klar är allt anslutet och monterat, vi kan ladda upp kod till Arduino. Du behöver inte ansluta skärmen till Arduino i det här steget. Du hittar programmet i bilagan nedan. Här är en snabb förklaring av hur det fungerar:

Den hämtar data från seriell bildskärm (bearbetningskod) och när det finns 1 gör den en prick när det finns 0 gör den inte. Efter varje mottagen data flyttas den i några steg. När en ny linjesignal tas emot går den tillbaka till utgångsläget, flyttar papperet i Y -axeln och gör en ny linje. Det är ett mycket enkelt program, om du inte förstår hur det fungerar, oroa dig inte bara ladda upp det till din Arduino så fungerar det!

Steg 9: Bearbetningskod

Bearbetningskod
Bearbetningskod
Bearbetningskod
Bearbetningskod

Bearbetningskoden läser bilden och skickar data till Arduino. Bilden måste ha visst storlek för att den ska vara på papperet. För mig är maxstorleken för A4 -papperet cirka 80 punkter x 50 punkter Om du ändrar stegen per varv får du fler punkter per rad men också mycket större utskriftstid. Det finns inte många knappar i det här programmet, jag ville inte göra det vackert, det fungerar bara. Om du vill förbättra det, gör det gärna!

Steg 10: I början var det en prick

I början var det en prick
I början var det en prick

Sista testet av Dotter!

Punkt punkt punkt…..

Dussintals prickar senare gick något fel! Vad exakt? Det ser ut som att Arduino återställde sig själv och glömde att det var många steg. Det började väldigt bra men någon gång har vi ett problem. Vad kan vara fel? Två dagars felsökning senare hittade jag en lösning för det. Det var ganska enkelt och självklart men jag tänkte inte på det i början. Vad är det? Vi kommer att veta i nästa steg.

Steg 11: Misslyckande är inte ett alternativ, det är en del av en process

Misslyckande är inte ett alternativ, det är en del av en process
Misslyckande är inte ett alternativ, det är en del av en process

Jag hatar att ge upp, så det gör jag aldrig. Jag började leta efter en lösning på mitt problem. När jag kopplade bort en kabel från min Arduino nyligen på natten kände jag att det är riktigt varmt. Då insåg jag vad som är ett problem. Eftersom jag lämnar Y -axelmotorerna påslagna (på spolen på dessa motorer) blir linjär stabilisator på min Arduino riktigt varm på grund av ganska stor konstant ström. Vad är lösningen för det? Stäng bara av spolarna medan vi inte behöver dem. Superenkel lösning för det här problemet, det är fantastiskt och jag är tillbaka på rätt spår för att avsluta detta projekt!

Steg 12: Seger

Image
Image
Seger
Seger
Seger
Seger

Är det segern? Mitt projekt fungerar, äntligen! Det tog mycket tid men äntligen är mitt projekt klart, det fungerar precis som jag ville att det skulle fungera. Nu känner jag ren lycka på grund av att jag avslutat det här projektet! Du kan se några av bilderna som jag skrev ut på den! Det finns mycket mer att skriva ut så håll utkik för att se några uppdateringar av det.

Steg 13: Slutet eller början?

Slutet eller början?
Slutet eller början?

Det är slutet på bygginstruktionen men inte slutet på det här projektet! Det är öppen källkod, allt jag delade här kan du använda för att bygga den här saken, om du kommer att lägga till några uppgraderingar får du gärna dela dem men kom ihåg att lägga en länk till denna instruerbara meddela mig också att du har förbättrat mitt projekt:) Det blir kul om någon gör det. Kanske en dag om jag hittar tid för det kommer jag att förbättra det och lägga upp en Dotter V2 men just nu är jag inte säker.

Glöm inte att följa mig på instruktioner om du vill vara uppdaterad med mina projekt, du kan också prenumerera på min YouTube -kanal eftersom jag lägger upp några häftiga videor om att göra och inte bara:

goo.gl/x6Y32E

och här är mina sociala mediekonton:

Facebook:

Instagram:

Twitter:

Tack så mycket för att du läser, jag hoppas att du får en bra dag!

Glad att göra!

P. S.

Om du verkligen gillar mitt projekt, vänligen rösta på det i tävlingarna: D

Epilog Challenge 9
Epilog Challenge 9
Epilog Challenge 9
Epilog Challenge 9

Tvåa i Epilog Challenge 9

Arduino Contest 2017
Arduino Contest 2017
Arduino Contest 2017
Arduino Contest 2017

Andra priset i Arduino -tävlingen 2017

Rekommenderad: