Inhaltsverzeichnis:

Der PrintBot: 6 Schritte (mit Bildern)
Der PrintBot: 6 Schritte (mit Bildern)

Video: Der PrintBot: 6 Schritte (mit Bildern)

Video: Der PrintBot: 6 Schritte (mit Bildern)
Video: Printrbot Printrbelt 2024, Juli
Anonim
Der PrintBot
Der PrintBot
Der PrintBot
Der PrintBot

Der PrintBot ist ein auf iRobotCreate montierter Nadeldrucker. Der PrintBot druckt mit Talkumpuder auf jedem Untergrund. Die Verwendung des Roboters für die Basis ermöglicht es dem Roboter, eine praktisch unbegrenzte Größe zu drucken. Denken Sie an Fußballfelder oder Basketballplätze. Vielleicht sollten die Rivalen nächstes Jahr nach einem Schwarm dieses Thanksgiving-Wochenendes Ausschau halten. Der Roboter ermöglicht auch die Mobilität des Druckers, sodass er zum Drucken zu einem Ort reisen und dann zu einem anderen weitergehen kann. Drahtlos ist im Lieferumfang enthalten, sodass auch eine Fernbedienung möglich ist. Straßenkunst und Werbung ist auch ein Zielmarkt für dieses Gerät.

Schritt 1: IRobot erstellen

IRobot erstellen
IRobot erstellen
IRobot erstellen
IRobot erstellen

Der iRobot Create ist dem Roomba von iRobot sehr ähnlich, jedoch ohne das interne Vakuum. Dies ermöglicht es uns, eine größere Nutzlast hinzuzufügen und gibt uns bequeme Befestigungslöcher. iRobot bietet auch eine komplette Programmierschnittstelle zum Create, die die Steuerung des Roboters sehr einfach macht. Die Schnittstelle ist ein einfacher Satz von Befehlen und Parametern, die seriell an den Roboter gesendet werden. Lesen Sie die Open Interface-Spezifikationen für weitere Informationen. Für unsere einfache Verwendung benötigen wir nur wenige Befehle. Bei der Initialisierung muss der Befehl 128 gesendet werden, um dem Roboter mitzuteilen, dass er mit der Annahme einer externen Steuerung beginnen soll. Als nächstes muss ein Modus ausgewählt werden. Für die volle Kontrolle senden wir den 132-Befehl an das Create. Beachten Sie, dass Sie alle Daten als ganze Zahlen und nicht als regulären ASCII-Text an Create senden müssen. Jeder Befehls-Opcode ist ein Byte, der Wert dieses Bytes ist der ganzzahlige Wert 128 oder was auch immer. Wenn Sie in ASCII- oder Ansi-Text übertragen würden, wäre jedes Zeichen in 128 ein Byte. Zum Testen oder Steuern über den PC empfehlen wir Realterm, da es alles sehr einfach macht. Sie müssen auch die Baudrate auf 57600 einstellen, wie in der Open Interface-Dokumentation angegeben. Nachdem Create initialisiert wurde, verwenden wir den Befehl 137, um den Roboter vorwärts zu fahren. Wait Distance, 156 wird verwendet, um den Roboter nach einer bestimmten Distanz zu stoppen. Die Skriptbefehle 152 und 153 setzen alles zusammen und erstellen ein einfaches Skript, das immer wieder ausgeführt werden kann. Stattdessen haben wir ein programmierbares System-on-a-Chip (PSoC) von Cypress in Kombination mit einem sehr kleinen x86-PC namens eBox 2300 verwendet. Der Roboter verfügt über eine 18-V-Batterie, mit der wir alle unsere Peripheriegeräte mit Strom versorgen.

Schritt 2: Demontage des Druckers und Motorsteuerung

Demontage des Druckers und Motorsteuerung
Demontage des Druckers und Motorsteuerung
Demontage des Druckers und Motorsteuerung
Demontage des Druckers und Motorsteuerung
Demontage des Druckers und Motorsteuerung
Demontage des Druckers und Motorsteuerung

Wir haben einen alten Epson-Tintenstrahldrucker für die horizontale Bewegung des Druckers und der Druckkopfhalterung verwendet. Das erste, was hier zu tun war, war, den Drucker vorsichtig zu zerlegen. Dazu mussten alle unwesentlichen Komponenten entfernt werden, bis nur noch die Schienenbaugruppe, der Motor, der Druckkopfhalter und der Antriebsriemen übrig waren. Achten Sie darauf, diesen Riemen oder seinen Antriebsmotor nicht zu beschädigen. Es ist vielleicht auch cleverer, mit einem Voltmeter herumzustöbern, bevor man alle Powerboards herausreißt, aber dafür waren wir etwas zu aufgeregt. Beachten Sie, dass Sie keine Seiteneinzugsbaugruppe, die eigentlichen Druckköpfe oder Patronen oder Leiterplatten benötigen. Nachdem alles zerlegt ist, müssen wir herausfinden, wie dieser Motor angetrieben wird. Da wir vor dem Testen alles auseinander gerissen haben, mussten wir die richtige Spannung finden, um den Motor zu versorgen. Sie können versuchen, die Spezifikationen des Motors online zu finden, wenn Sie eine Modellnummer finden, aber ohne diese an eine Gleichstromversorgung anschließen und die Spannung zum Motor langsam erhöhen. Wir hatten Glück und fanden heraus, dass unser Motor mit 12-42V betrieben werden konnte, aber zur Sicherheit haben wir ihn wie beschrieben manuell getestet. Wir haben schnell festgestellt, dass selbst bei 12V der Motor viel zu schnell läuft. Die Lösung hier ist die Pulse-Width-Modulation (PWM). Im Grunde schaltet dies den Motor sehr schnell ein und aus, um den Motor mit einer langsameren Geschwindigkeit zu drehen. Unsere Batterie liefert 18 V, um das Leben zu vereinfachen, werden wir den Motor gleich laufen lassen. Wenn Sie Gleichstrommotoren verwenden, die in Stromkreisen umkehren müssen, werden Sie beim Umkehren des Motors einen großen Rückstrom in Ihrem Stromkreis feststellen. Im Wesentlichen fungiert Ihr Motor als Generator, während er stoppt und reversiert. Um Ihren Controller davor zu schützen, können Sie eine sogenannte H-Bridge verwenden. Dies sind im Wesentlichen 4-Transistoren, die in H-Form angeordnet sind. Wir haben ein Produkt von Acroname verwendet. Stellen Sie sicher, dass der von Ihnen gewählte Treiber den für Ihren Motor benötigten Strom verarbeiten kann. Unser Motor war für 1A Dauer ausgelegt, sodass der 3A-Controller viel Kopffreiheit hatte. Diese Platine ermöglicht es uns auch, die Richtung des Motors einfach durch Ansteuern eines Eingangs hoch oder niedrig zu steuern sowie den Motor auf die gleiche Weise zu bremsen (den Motor anzuhalten und in Position zu halten).

Schritt 3: Der Druckkopf

Der Druckkopf
Der Druckkopf

Es wurde so viel von der ursprünglichen Druckkopfeinheit entfernt, wie möglich. Wir blieben mit einer Plastikbox zurück, die es einfach machte, unseren Druckkopf anzubringen. Ein kleiner 5-V-Gleichstrommotor wurde mit einem Bohrer befestigt. Der Bohrer wurde so gewählt, dass er möglichst den gleichen Durchmesser wie ein Trichter hat. Dadurch kann der Bohrer den gesamten Auslass des Trichters füllen. Wenn sich der Meißel dreht, tritt Pulver in die Rillen ein und rotiert den Meißel hinunter zum Ausgang. Durch Drehen des Bits um eine Umdrehung könnten wir ein Pixel mit konstanter Größe erzeugen. Damit alles richtig sitzt, ist eine sorgfältige Abstimmung erforderlich. Anfangs hatten wir Probleme damit, dass das Pulver einfach überall sprühte, aber durch das Hinzufügen eines zweiten Trichters und das Anheben des Bohrers ergab der längere Fall, während er auf den Trichter beschränkt war, ein sauberes Pixel.

Da dieser Motor nur ein- oder ausgeschaltet werden muss, war hier keine H-Brücke notwendig. Stattdessen haben wir einen einfachen Transistor in Reihe mit der Masseverbindung des Motors verwendet. Das Gate des Transistors wurde von einem digitalen Ausgang unseres Mikrocontrollers gesteuert, genauso wie die digitalen Eingänge der H-Brücke. Die kleine Platine neben dem Gleichstrommotor ist ein Infrarot-Schwarzweißsensor. Diese Platine gibt einfach ein digitales High- oder Low-Signal aus, wenn der Sensor schwarz bzw. weiß sieht. In Kombination mit dem Schwarz-Weiß-Codiererstreifen können wir jederzeit die Position des Druckkopfs kennen, indem wir die Schwarz-Weiß-Übergänge zählen.

Schritt 4: Der Mikrocontroller

Der Mikrocontroller
Der Mikrocontroller

Das Cypress PSoC integriert alle einzelnen Teile der Hardware. Ein Cypress-Entwicklungsboard bot eine einfache Schnittstelle für die Arbeit mit dem PSoC und den Anschluss von Peripheriegeräten. Der PSoC ist ein programmierbarer Chip, sodass wir tatsächlich physische Hardware wie ein FPGA im Chip erstellen können. Cypress PSoC Designer verfügt über vorgefertigte Module für gängige Komponenten wie PWM-Generatoren, digitale Ein- und Ausgänge und serielle RS-232-Com-Ports.

Das Entwicklungsboard verfügt außerdem über ein integriertes Proto-Board, das eine einfache Montage unserer Motorcontroller ermöglicht. Der Code auf dem PSoC bringt alles zusammen. Es wartet auf einen seriellen Befehl. Dies ist als einzelne Zeile aus 0 und 1 formatiert, die angibt, dass für jedes Pixel gedruckt werden soll oder nicht. Der Code durchläuft dann jedes Pixel und startet den Antriebsmotor. Ein flankensensitiver Interrupt am Eingang des Schwarz/Weiß-Sensors löst bei jedem Pixel eine Wetter- oder Nichtdruckauswertung aus. Wenn ein Pixel eingeschaltet ist, wird der Bremsausgang hoch getrieben, ein Timer wird gestartet. Eine Unterbrechung des Zeitgebers wartet 0,5 Sekunden lang und treibt dann den Ausgabegerätausgang hoch, wodurch der Transistor eingeschaltet und der Bohrer rotiert wird, wird der Zeitgeberzähler zurückgesetzt. Nach einer weiteren halben Sekunde bewirkt ein Interrupt, dass der Motor stoppt und der Antriebsmotor sich wieder bewegt. Wenn die Bedingung zum Drucken falsch ist, passiert einfach nichts, bis der Encoder eine weitere schwarz-weiß-Kante liest. Dadurch kann sich der Druckkopf reibungslos bewegen, bis er zum Drucken anhalten muss. Wenn das Ende einer Zeile erreicht ist ("\r\n"), wird ein "\n" an die serielle Schnittstelle gesendet, um dem PC anzuzeigen, dass er für eine neue Zeile bereit ist. Auch die Richtungssteuerung an der H-Brücke ist umgekehrt. Der Create erhält das Signal, sich 5 mm vorwärts zu bewegen. Dies geschieht über einen weiteren digitalen Ausgang, der mit einem digitalen Eingang am DSub25-Anschluss des Create verbunden ist. Beide Geräte verwenden eine Standard-5-V-TTL-Logik, sodass eine vollständige serielle Schnittstelle nicht erforderlich ist.

Schritt 5: Der PC

Der PC
Der PC
Der PC
Der PC

Um ein völlig unabhängiges Gerät zu erstellen, wurde ein kleiner x86-PC namens eBox 2300 verwendet. Für maximale Flexibilität wurde auf der eBox ein benutzerdefinierter Build von Windows CE Embedded installiert. In C wurde eine Anwendung entwickelt, um eine 8-Bit-Graustufen-Bitmap von einem USB-Laufwerk zu lesen. Die Anwendung hat dann das Bild erneut abgetastet und dann eine Zeile nach der anderen über den seriellen COM-Port an das PSoC ausgegeben.

Der Einsatz der eBox könnte viele Weiterentwicklungen ermöglichen. Ein Webserver könnte das Hochladen von Bildern aus der Ferne über integriertes WLAN ermöglichen. Fernsteuerung könnte unter anderem implementiert werden. Eine weitere Bildverarbeitung, möglicherweise sogar ein richtiger Druckertreiber, könnte erstellt werden, damit das Gerät aus Anwendungen wie Notepad drucken kann. Eine letzte Sache, die wir fast vermisst haben, war die Macht. Das Create liefert 18V. Aber die meisten unserer Geräte laufen mit 5V. Ein DC-DC-Netzteil von Texas Instruments wurde verwendet, um die Spannung aktiv umzuwandeln, ohne die Energie in Wärme zu verschwenden, wodurch die Batterielebensdauer verlängert wurde. Über eine Stunde Druckzeit konnten wir realisieren. Eine kundenspezifische Platine machte die Montage dieses Geräts und die erforderlichen Widerstände und Kondensatoren einfach.

Schritt 6: Das ist es

Das ist es
Das ist es
Das ist es
Das ist es
Das ist es
Das ist es

Nun, das war es für unseren PrintBot, der im Herbst 07 für Dr. Hamblens ECE 4180 Embedded Design-Kurs an der Georgia Tech erstellt wurde. Hier sind einige Bilder, die wir mit unserem Roboter gedruckt haben. Wir hoffen, dass Ihnen unser Projekt gefällt und es vielleicht zu weiteren Erkundungen anregt! Vielen Dank an den PosterBot und alle anderen iRobot Create Instructables für ihre Inspiration und Anleitung.

Empfohlen: