Inhoudsopgave:

Dotter - enorme op Arduino gebaseerde dot-matrixprinter - Ajarnpa
Dotter - enorme op Arduino gebaseerde dot-matrixprinter - Ajarnpa

Video: Dotter - enorme op Arduino gebaseerde dot-matrixprinter - Ajarnpa

Video: Dotter - enorme op Arduino gebaseerde dot-matrixprinter - Ajarnpa
Video: How to use Mosfet Optocoupled HW-532 to control up to 30V DC Motor Speed or load using Arduino 2024, Juli-
Anonim
Image
Image
Dotter - Enorme op Arduino gebaseerde dot-matrixprinter
Dotter - Enorme op Arduino gebaseerde dot-matrixprinter

Hallo, welkom in deze instructable:) Ik ben Nikodem Bartnik 18 jaar oude maker. Ik heb veel dingen gemaakt, robots, apparaten tijdens mijn 4 jaar maken. Maar dit project is waarschijnlijk het grootste als het om grootte gaat. Het is ook erg goed ontworpen vind ik, natuurlijk zijn er nog dingen die verbeterd kunnen worden, maar voor mij is het geweldig. Ik hou echt van dit project, vanwege hoe het werkt en wat het kan produceren (ik hou van deze pixel / stip zoals afbeeldingen), maar er is veel meer in dit project dan alleen de Dotter. Er is een verhaal over hoe ik het heb gemaakt, hoe ik er op een idee voor kwam en waarom mislukking een groot deel van dit project was. Ben je klaar? Waarschuwing, er kan veel te lezen zijn in deze instructables, maar maak je geen zorgen, hier is de video erover (je kunt hem ook hierboven vinden): LINK NAAR DE VIDEOLaten we beginnen!

Stap 1: Het verhaal van falen:(en hoe ik hier eigenlijk op een idee voor kwam

Het verhaal van falen:(en hoe ik hier eigenlijk op een idee voor kwam!
Het verhaal van falen:(en hoe ik hier eigenlijk op een idee voor kwam!
Het verhaal van falen:(en hoe ik hier eigenlijk op een idee voor kwam!
Het verhaal van falen:(en hoe ik hier eigenlijk op een idee voor kwam!
Het verhaal van falen:(en hoe ik hier eigenlijk op een idee voor kwam!
Het verhaal van falen:(en hoe ik hier eigenlijk op een idee voor kwam!

Je vraagt je misschien af waarom het faalverhaal als mijn project werkt? Omdat er in het begin geen Dotter was. Ik wilde misschien iets soortgelijks maken, maar veel geavanceerder - een 3D-printer. Het grootste verschil tussen de 3D-printer die ik wilde maken en bijna elke andere 3D-printer was dat in plaats van standaard nema17-stappenmotoren het een goedkope 28BYJ-48-motoren zal gebruiken die je voor ongeveer $ 1 kunt kopen (ja, één dollar voor een stappenmotor). Natuurlijk wist ik dat het zwakker en minder nauwkeurig zal zijn dan standaard stappenmotoren (als het gaat om de nauwkeurigheid is het niet zo eenvoudig, omdat de meeste motoren in 3D-printers 200 stappen per omwenteling hebben en 28BYJ48 ongeveer 2048 stappen per revolutie of zelfs meer hangt af van hoe je ze gebruikt, maar die motoren hebben meer kans om stappen te verliezen en versnellingen erin zijn niet de beste, dus het is moeilijk te zeggen of ze min of meer nauwkeurig zijn). Maar ik geloofde dat ze het zouden doen. En op dat moment zou je kunnen zeggen, wacht er is al een 3D-printer die die motoren gebruikt, ja ik weet dat er zelfs maar weinig zijn. De eerste is algemeen bekend, dat is Micro by M3D, een kleine en echt mooie 3D-printer (ik hou gewoon van dit eenvoudige ontwerp). Er is ook ToyRep, Cherry en waarschijnlijk nog veel meer waar ik niets vanaf weet. Dus een printer met die motoren bestaat al, maar wat ik anders en meer op mijn eigen manier wilde maken, was code. De meeste mensen gebruiken een aantal open source-firmwares voor 3D-printers, maar zoals je misschien weet als je mijn op Arduino gebaseerde Ludwik-drone-project hebt gezien, vind ik het leuk om dingen vanaf het begin te doen en daardoor te leren, dus ik wilde mijn eigen code voor deze printer maken. Ik heb al het lezen en interpreteren van Gcode van SD-kaart ontwikkeld, waarbij de motoren worden gedraaid volgens het lijnalgoritme van Gcode en Bresenham. Een behoorlijk groot deel van de code voor dit project was klaar. Maar tijdens het testen merkte ik dat die motoren veel oververhitten, en ze zijn zoooooo traag. Maar ik wilde het nog steeds maken, dus ontwierp ik er een frame voor in Fusion360 (je kunt de afbeelding ervan hierboven vinden). Een andere aanname in dit project was om transistors te gebruiken in plaats van stappenmotordrivers. Ik vond enkele voordelen van transistors ten opzichte van stepper-drivers:

  1. Ze zijn goedkoper
  2. Het is moeilijker om ze te breken, ik heb al een paar stepper-stuurprogramma's gebroken tijdens het bouwen van DIY Arduino Controlled Egg-Bot, want als je een motor loskoppelt van de driver tijdens het draaien, zal deze waarschijnlijk breken
  3. Drivers zijn eenvoudig te bedienen, daar kun je minder pinnen voor gebruiken, maar ik wilde Atmega32 gebruiken, het heeft genoeg pinnen om transistors te gebruiken, dus het was niet belangrijk voor mij. (Ik wilde atmega32 gebruiken in een 3D-printerproject, eindelijk in de dotter is het niet nodig om het te gebruiken, dus ik gebruik alleen Arduino Uno).
  4. Geluk is veel groter wanneer je zelf een stepper driver maakt met transistors dan deze simpelweg te kopen.
  5. Om te leren hoe ze werken door te experimenteren, gebruikte ik enkele transistors in mijn vorige projecten, maar oefening baart kunst en de beste manier om te leren is door te experimenteren. Trouwens is het niet zo vreemd dat we niet weten hoe de grootste uitvinding van de wereld werkt? We gebruiken elke dag transistors, iedereen heeft er miljoenen op zak, en de meeste mensen weten niet hoe een enkele transistor werkt:)

Gedurende deze tijd kreeg ik 2 nieuwe 3D-printers en terwijl ik erop aan het printen was, heb ik de afdruksnelheid constant verhoogd om zo snel mogelijk afdrukken te maken. Ik begon me te realiseren dat een 3D-printer met 28BYJ-48-motoren te traag zal zijn en waarschijnlijk niet het beste idee is. Misschien had ik dat eerder moeten beseffen, maar ik was zo gefocust op de code voor dit project en het leren hoe 3D-printers precies werken, dat ik dat op de een of andere manier niet kon zien. Dankzij de dingen die ik heb geleerd door dit ding te bouwen, heb ik geen spijt van de tijd die ik in dit project heb geïnvesteerd.

Opgeven is geen optie voor mij, en ik heb 5 steppers liggen dus ik begon te bedenken wat ik met die onderdelen kan doen. Terwijl ik oude dingen in mijn kledingkast aan het begraven was, vond ik mijn tekening van de lagere school gemaakt met behulp van de punttekentechniek, ook wel pointillisme genoemd (je kunt mijn tekening hierboven zien). Het is geen kunstwerk, het is niet eens goed:) Maar ik vond het een leuk idee om een afbeelding te maken van stippen. En hier dacht ik aan iets waar ik eerder over hoorde, een dot matrix printer, in Polen vind je dit type printer in elke kliniek waar ze een vreemd hard geluid maken:D. Het was voor mij duidelijk dat er iemand moet zijn die zoiets heeft gemaakt, en ik had gelijk. Robson Couto heeft al een Arduino-dot-matrixprinter gemaakt, maar om het te maken moet je perfecte componenten vinden die moeilijk kunnen zijn, maar we hebben een 2018 en 3D-printen wordt steeds populairder, dus waarom zou u geen eenvoudig te repliceren 3D-geprinte versie maken, maar het zou nog steeds vergelijkbaar zijn. Dus besloot ik om het groot of zelfs GROOT te maken! Om het mogelijk te maken om af te drukken op een groot papier dat iedereen kan kopen - rol papier van Ikea:) de afmetingen: 45cm x 30m. Perfect!

Een paar uur ontwerpen en mijn project was klaar om te printen, het is 60 cm lang dus te groot om op een standaard printer te printen, dus ik verdeel het in kleinere stukken die dankzij speciale connectoren gemakkelijk aan te sluiten zijn. Daarnaast hebben we een slede voor een markeerstift, enkele katrollen voor GT2-riem, rubberen wielen om het papier vast te houden (ook 3D-geprint met TPU-filament). Maar omdat we misschien niet altijd op zo'n groot papier willen printen heb ik een van de Y-as motoren beweegbaar gemaakt, zodat je hem makkelijk kunt aanpassen aan het formaat van het papier. Er zijn twee motoren op de Y-as en één op de X-as, om de pen op en neer te bewegen gebruik ik een micro-servo. Links naar de modellen en alles vind je in de volgende stappen.

Daarna ontwierp ik zoals altijd een PCB, maar deze keer in plaats van het thuis te maken, besloot ik het bij een professionele fabrikant te bestellen, om het perfect te maken, gemakkelijker te solderen en gewoon om wat tijd te besparen, ik hoorde veel goede meningen over PCBway dus ik besloot om mee te gaan. Ik ontdekte dat ze een studiebeursprogramma hebben waardoor je je boards gratis kunt maken, ik upload mijn project naar hun website en ze accepteren het! Heel erg bedankt PCBway voor het mogelijk maken van dit project:) Borden waren perfect, maar in plaats van een microcontroller op dit bord te plaatsen, besloot ik een Arduino-schild te maken zodat ik het gewoon kan gebruiken, het is ook eenvoudiger om daardoor te solderen.

De code van de dotter is geschreven in Arduino en voor het verzenden van de opdrachten van de computer naar de Dotter heb ik Processing gebruikt.

Dat is waarschijnlijk het hele verhaal van hoe dit project evolueert, en hoe het er nu uitziet, gefeliciteerd als je er bent:)

Maak je geen zorgen nu zal het gemakkelijker zijn, bouw gewoon instructies!

Ik hoop dat je geniet van dit verhaal van The Dotter project, zo ja, vergeet het dan niet te onthouden.

*op de renders hierboven zie je X-carrousel met 2 pennen, het was mijn eerste ontwerp, maar ik besloot om over te schakelen naar een kleinere versie met één pen om het lichter te maken. Maar versie met 2 pennen kan interessant zijn omdat je dan stippen in verschillende kleuren zou kunnen maken, er is zelfs plaats voor een tweede servo op de print dus dat is iets om over na te denken voor dotter V2:)

Stap 2: Wat hebben we nodig?

Wat hebben we nodig?
Wat hebben we nodig?
Wat hebben we nodig?
Wat hebben we nodig?
Wat hebben we nodig?
Wat hebben we nodig?
Wat hebben we nodig?
Wat hebben we nodig?

Wat hebben we nodig voor dit project, dat is een goede vraag! Hier is een lijst van alles met links indien mogelijk:

  1. 3D-geprinte onderdelen (links naar modellen in de volgende stap)
  2. Arduino GearBest | BangGood
  3. 28BYJ48 stappenmotoren (3 van hen) GearBest | BangGood
  4. Micro-servomotor GearBest | BangGood
  5. GT2-riem (ongeveer 1,5 meter) GearBest | BangGood
  6. Kabels GearBest | BangGood
  7. Lager GearBest | BangGood
  8. Twee aluminium staven van elk ongeveer 60 cm lang
  9. Een printplaat maken:

    1. PCB natuurlijk (je kunt ze bestellen, zelf maken of bij mij kopen, ik heb wat borden liggen die je hier kunt kopen:
    2. Transistors BC639 of vergelijkbaar (8 van hen) GearBest | BangGood
    3. Gelijkrichterdiode (8 van hen) GearBest | BangGood
    4. LED groen en rood GearBest | BangGood
    5. Sommige break-away headers GearBest | BangGood
    6. Arduino stapelbare headerkit GearBest | BangGood
    7. Sommige weerstanden GearBest | BangGood

Waarschijnlijk het moeilijkste om aan 3D-geprinte onderdelen te komen, vraag het aan je vrienden, op school of in een bibliotheek, ze hebben misschien een 3D-printer. Als je er een wilt kopen, kan ik je de CR10 (link om te kopen), CR10 mini (link om te kopen) of Anet A8 (link om te kopen) aanbevelen.

Stap 3: Zo groot als ik kan, zo eenvoudig als ik kan (3D-modellen)

Zo groot als ik kan, zo eenvoudig als ik kan (3D-modellen)
Zo groot als ik kan, zo eenvoudig als ik kan (3D-modellen)

Zoals ik al zei, was een groot deel van dit project de grootte, ik wilde het groot maken en tegelijkertijd eenvoudig houden. Om het op deze manier te maken, breng ik veel tijd door in Fusion360, gelukkig is dit programma ongelooflijk gebruiksvriendelijk en ik gebruik het graag, dus het was geen probleem voor mij. Om op de meeste 3D-printers te passen, heb ik het hoofdframe opgedeeld in 4 delen die gemakkelijk kunnen worden aangesloten dankzij speciale connectoren.

Katrollen voor GT2-riemen zijn ontworpen met deze tool (het is cool, bekijk het eens):

Ik heb de DXF-bestanden van die 2 katrollen alleen voor uw referentie toegevoegd, u hebt ze niet nodig om dit project te maken.

Geen van deze modellen heeft steunen nodig, katrollen hebben steunen ingebouwd, omdat het onmogelijk zou zijn om steunen aan de binnenkant van de katrol te verwijderen. Die modellen zijn vrij eenvoudig te printen, maar het kost wat tijd, omdat ze vrij groot zijn.

Wielen die het papier verplaatsen, moeten worden bedrukt met flexfilament om het beter te doen. Voor dit wiel heb ik een velg gemaakt die bedrukt moet worden met PLA en op dit wiel kun je een rubberen wiel plaatsen.

Stap 4: Montage

in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten

Dat is een makkelijke maar ook zeer aangename stap. Het enige wat u hoeft te doen is alle 3D-geprinte onderdelen met elkaar te verbinden, motoren en servo op hun plaats te zetten. Aan het einde moet je aluminium staven in het 3D-geprinte frame met wagen erop zetten.

Ik heb een schroef op de achterkant van de Y-motorhouder geprint die beweegbaar is om hem op zijn plaats te houden, maar het blijkt dat de onderkant van het frame te zacht is en buigt wanneer je de schroef vastdraait. Dus in plaats van deze schroef gebruik ik een rubberen band om dit onderdeel op zijn plaats te houden. Dat is niet de meest professionele manier om dit te maken, maar het werkt tenminste:)

Je kunt de grootte van de pen zien die ik voor dit project heb gebruikt (of misschien is het meer een marker). U moet dezelfde maat of zo dicht mogelijk gebruiken om het perfect te laten werken met X-wagen. Je moet ook een kraag op de pen monteren om de servo op en neer te laten bewegen, je kunt deze vastzetten door een schroef aan de zijkant vast te draaien.

Er valt niet veel uit te leggen, dus kijk maar eens naar de foto's hierboven en als je meer wilt weten, laat dan hieronder een reactie achter!

Stap 5: Elektronisch schema

Elektronisch schema
Elektronisch schema

Hierboven vindt u een elektronisch schema voor dit project als u een PCB wilt kopen of u hoeft zich geen zorgen te maken over het schema, als u het op het breadboard wilt aansluiten, kunt u dit schema gebruiken om dit te doen. Ik heb je verteld dat het behoorlijk rommelig zal zijn op dit breadboard, er zijn veel verbindingen en kleine componenten, dus als je kunt, is het gebruik van een PCB een veel betere optie. Als je problemen hebt met PCB, of als je project niet werkt, kun je het oplossen met dit schema. U kunt het. SCH-bestand in de volgende stap vinden.

Stap 6: PCB als een pro

PCB als een pro
PCB als een pro

Dat is waarschijnlijk het beste deel van dit project voor mij. Ik heb veel PCB's thuis gemaakt, maar nooit geprobeerd om het bij een professionele fabrikant te bestellen. Het was een geweldige beslissing, het bespaart veel tijd, en die borden zijn gewoon veel beter, ze hebben een soldeermasker, ze zijn gemakkelijker te solderen, zien er beter uit en als je iets wilt maken dat je wilt verkopen, kun je dat niet zal PCB's thuis maken, dus ik ben een stap dichter bij het creëren van iets dat ik in de toekomst kan produceren, ik weet tenminste hoe ik PCB's moet maken en bestellen. U kunt genieten van prachtige foto's van die borden hierboven, en hier is een link naar PCBWay.com

Ik heb wat reserve boards, dus als je ze van mij wilt kopen, kun je ze kopen op tindie:

Ik verkoop op Tindie
Ik verkoop op Tindie

Stap 7: Solderen, aansluiten…

Solderen, aansluiten…
Solderen, aansluiten…
Solderen, aansluiten…
Solderen, aansluiten…

We hebben een geweldige PCB, maar om hem te laten werken, moeten we er componenten op solderen. Maak je geen zorgen, dat is heel gemakkelijk! Ik heb alleen THT-componenten gebruikt, dus er is geen super precies solderen. Componenten zijn groot en gemakkelijk te solderen. Ze zijn ook gemakkelijk te kopen in elke elektronicawinkel. Omdat deze PCB slechts een schild is hoef je geen microcontroller te solderen, we zullen het schild gewoon op het Arduino-bord aansluiten.

Mocht je geen printje willen maken, dan kun je hierboven een schema vinden met alle aansluitingen. Ik raad het niet aan om dit op het breadboard aan te sluiten, het ziet er erg rommelig uit, er zijn veel kabels. PCB is een veel professionelere en veiligere manier om dit te doen. Maar als je geen andere optie hebt, is aansluiten op breadboard beter dan helemaal geen verbinding maken.

Als alle componenten op de print zijn gesoldeerd, kunnen we er motoren en servo op aansluiten. En laten we naar de volgende stap springen! Maar stop eerst even en bekijk deze prachtige PCB met alle componenten erop, ik vind het gewoon geweldig hoe die elektronische circuits eruit zien! Oké, laten we verder gaan:)

Stap 8: Arduino-code

Arduino-code
Arduino-code

Als het schild klaar is, alles is aangesloten en geassembleerd, kunnen we code uploaden naar de Arduino. Bij deze stap hoeft u het schild niet op de Arduino aan te sluiten. U vindt het programma in de bijlage hieronder. Hier is een korte uitleg over hoe het werkt:

Het haalt de gegevens van de seriële monitor (verwerkingscode) en wanneer er 1 is, maakt het een punt als er 0 is, doet het dat niet. Na elke ontvangen gegevens wordt een aantal stappen verplaatst. Wanneer een nieuw lijnsignaal wordt ontvangen, gaat het terug naar zijn startpositie, verplaats het papier in de Y-as en maak een nieuwe lijn. Dat is een heel eenvoudig programma, als je niet snapt hoe het werkt, maak je geen zorgen, upload het gewoon naar je Arduino en het zal werken!

Stap 9: Code verwerken

Verwerkingscode
Verwerkingscode
Verwerkingscode
Verwerkingscode

Verwerkingscode leest de afbeelding en stuurt de gegevens naar de Arduino. Afbeelding moet de bepaalde grootte hebben om op het papier te komen. Voor mij is het maximale formaat voor het A4-papier ongeveer 80 dots x 50 dots. Als u de stappen per omwenteling verandert, krijgt u meer punten per regel, maar ook een veel grotere afdruktijd. Er zijn niet veel knoppen in dit programma, ik wilde het niet mooi maken, het werkt gewoon. Als je het wilt verbeteren, doe het dan gerust!

Stap 10: In het begin was er een punt

In het begin was er een punt
In het begin was er een punt

Laatste test van de Dotter!

Punt punt punt…..

Tientallen puntjes later ging er iets mis! Wat precies? Het lijkt erop dat Arduino zichzelf reset en het aantal stappen is vergeten. Het begon heel goed, maar op een gegeven moment hebben we een probleem. Wat kan er mis zijn? Twee dagen debuggen later vond ik daar een oplossing voor. Het was een beetje eenvoudig en duidelijk, maar ik dacht er in het begin niet over na. Wat is het? We zullen het weten in de volgende stap.

Stap 11: Falen is geen optie, het is onderdeel van een proces

Falen is geen optie, het is onderdeel van een proces
Falen is geen optie, het is onderdeel van een proces

Ik heb een hekel aan opgeven, dus dat doe ik nooit. Ik begon te zoeken naar een oplossing voor mijn probleem. Tijdens het loskoppelen van een kabel van mijn Arduino de laatste tijd 's nachts voelde ik dat het erg heet is. Toen realiseerde ik me wat een probleem is. Omdat ik de Y-asmotoren aan laat staan (op de spoel van die motoren), wordt de lineaire stabilisator op mijn Arduino erg heet vanwege de vrij grote constante stroom. Wat is daar de oplossing voor? Zet die spoelen maar uit nu we ze niet nodig hebben. Super eenvoudige oplossing voor dit probleem, dat is geweldig en ik ben weer op de goede weg om dit project af te maken!

Stap 12: Overwinning

Image
Image
zege
zege
zege
zege

Is het de overwinning? Mijn project werkt, eindelijk! Het heeft me veel tijd gekost, maar eindelijk is mijn project klaar, het werkt precies zoals ik wilde dat het werkte. Nu voel ik puur geluk door het afronden van dit project! Je kunt enkele van de afbeeldingen zien die ik erop heb afgedrukt! Er is nog veel meer om af te drukken, dus houd ons in de gaten om wat updates daarvan te zien.

Stap 13: Het einde of het begin?

Het einde of het begin?
Het einde of het begin?

Dat is het einde van de bouwinstructie, maar niet het einde van dit project! Het is open source, alles wat ik hier heb gedeeld, kun je gebruiken om dit ding te bouwen, als je upgrades toevoegt, voel je vrij om ze te delen, maar vergeet niet om een link naar deze instructable te plaatsen, laat me ook weten dat je mijn project hebt verbeterd:) Dat zal cool zijn als iemand dat doet. Misschien zal ik ooit, als ik daar tijd voor vind, het verbeteren en een Dotter V2 posten, maar op dit moment weet ik het niet zeker.

Vergeet niet om me te volgen op instructables als je op de hoogte wilt blijven van mijn projecten, je kunt je ook abonneren op mijn YouTube-kanaal omdat ik hier een aantal coole video's post over het maken en niet alleen:

goo.gl/x6Y32E

en hier zijn mijn sociale media-accounts:

Facebook:

Instagram:

Twitter:

Heel erg bedankt voor het lezen, ik wens je een fijne dag!

Veel plezier met maken!

PS

Als je mijn project echt leuk vindt, stem er dan op in de wedstrijden:D

Epilog-uitdaging 9
Epilog-uitdaging 9
Epilog-uitdaging 9
Epilog-uitdaging 9

Tweede plaats in de Epilog Challenge 9

Arduino-wedstrijd 2017
Arduino-wedstrijd 2017
Arduino-wedstrijd 2017
Arduino-wedstrijd 2017

Tweede prijs in de Arduino-wedstrijd 2017

Aanbevolen: