Schulprojekt - Plotter
09. March 2015 14:13
Hallo an alle,

es geht hier zwar nicht direkt um 3D-Druck, aber Ihr alle könnt mir mit Eurem Wissen wahrscheinlich trotzdem weiter helfen!
Ich gehe in die 10. Klasse und habe den NWT-Zug gewählt (Naturwissenschaft und Technik). Vor der Oberstufe muss jetzt jeder für ein halbes Jahr (bis Juni) in 4er-Gruppen ein selbstgewähltes Projekt bearbeiten.
Ich hab mir mit 3 Freunden vorgenommen einen Zeichen-/Drawing-/Stiftplotter zu bauen. Weil das so ja etwas zu einfach wäre, wollen wir so viele Teile wie möglich aus alten Scannern/Druckern verwenden und natürlich so wenig Geld wie möglich ausgeben (eigentlich wären es max. 20€ pro Gruppe aber wir konnten mit unserem Lehrer verhandeln, dass wir im Ernstfall auch ein bisschen mehr ausgeben dürfen). Wir wollen deshalb auch versuchen mit materiellen "Spenden" durchzukommen. Die eigentliche Projektphase beginnt zwar erst nächste Woche Mittwoch, ich hab aber schon ein wenig recherchiert und alte Scanner und Drucker auseinander gebaut.

Und dazu hätte ich jetzt ein paar Fragen:

- Ich hab schnell bemerkt, dass die meisten (/alle?!) Drucker ja mit normalen DC Motoren laufen. Wäre das überhaupt eine Option für uns? So wie ich das im Internet und auch hier im Forum verstanden habe, ist die Steuerung von den Dingern garnicht so einfach (eher sogar extrem schwer)?!

- Allerdings laufen die ganzen Scanner mit Steppern. Bloß bin ich mir hier nicht so ganz sicher: ein Stepper den ich ausbauen konnte hatte eine Übersetzung von 14:1 (über Zahnräder). Der müsste dann im Endeffekt ja super langsam sein, oder? Und reicht die Power von dem überhaupt aus?
(Datenblatt: [www.alldatasheet.com] )

- Nächstes Problem wär dann eigentlich nur noch die Elektronik. Bzw. Verknüpfung von Arduino und Motoren: Wir dachten uns wir könnten die Gbrl Firmware nehmen und da einfach ein bisschen dran rummodden. Aber die gibts ja nur als hex-File confused smiley. Und 2 Stepper und 1 Servo geht bei der auch nicht...
Hat irgendjemand eine Idee, welche Firmware am geschicktesten wär? Marlin, Repetier,... wär ja mit Kanonen auf Spatzen geschossen. (Wär gut, wenn sie mit einem Arduino UNO kompatibel ist und 2 Stepper(-treiber) und einen Servo (für den Stift) steuern kann)

Vielen Dank für Eure Hilfe!
Frieder

Und übrigens: Ich werde diesen Thread auch als Quelle in dem Abschluss-Bericht erwähnen, sofern ich hier Informationen heraus nehme! Ich möchte nicht, dass das hier wie eine "illegale" Aktion rüberkommt! Und Eure Hilfe soll ja auch gewürdigt werden!!!

2-mal bearbeitet. Zuletzt am 09.03.15 14:17.
Re: Schulprojekt - Plotter
09. March 2015 14:15
---Nicht beachten---

2-mal bearbeitet. Zuletzt am 09.03.15 14:18.
Re: Schulprojekt - Plotter
09. March 2015 17:26
Quote
Wulle
eigentlich wären es max. 20€ pro Gruppe

ambitioniert thumbs up

Quote
Wulle
Und reicht die Power von dem überhaupt aus? (Datenblatt: [www.alldatasheet.com] )

Auch ohne Zahnräder (schneller) könnte es so gerade reichen. Die Frage ist, wie leichtgängig Euch das Verfahren gelingt ...

Quote
Wulle
Aber die gibts ja nur als hex-File confused smiley.

GBRL oder GRBL? Letzere gibt es definitiv nicht nur als HEX - mal richtig suchen winking smiley. Wenn ein Servo nicht geht, dann evtl. ein Elektromagnet? Der erfordert nur Ein/Aus.

LG, Willy


3D gedruckter Messerschärfer +++ RADDS für den Arduino-Due +++ Meine Drucker
VDX
Re: Schulprojekt - Plotter
09. March 2015 18:28
... meinen ersten XY-Plotter habe ich mir mit kleinen Schrittmotoren aus alten 5 1/4"-Festplatten, einer Relais-Spule zum Anheben des Stiftes und einer 6502 EMUF-Platine als Controller gebaut. EMUF = Einplatinen Mikrocontroller mit Universeller Festprogrammierung - ein Elektor-Projekt aus den 80-er Jahren.

Als Motortreiber könnt ihr versuchen, zwei POLOLU's oder Stepsticks zu finden, die sind recht günstig - die kleineren Arduino-Clones gibts ab 10€ Neupreis.

Ich denke, ich habe noch ein paar kleine Schrittmotoren im Keller rumliegen, die ihr fürs Porto haben könnt ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Schulprojekt - Plotter
10. March 2015 09:03
Der günstigste mir bekannte Controller ist derzeit der Arduino Nano. Gibt's für 3 - 5 Euro auf eBay. Die Teacup Firmware passt da bequem drauf.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Schulprojekt - Plotter
12. March 2015 08:58
Ich habe mal 5 Nanos aus China geordert. Ich würde einen zur Verfügung stellen. Dann sollte der TeaCup nichts im Wege stehen.

PS: Dann braucht ihr aber noch einen "USB Serial Converter" zum bespielen des Nanos. Es sei denn ich spiele euch TeaCup schon drauf. Aber ich glaube das würde nix bringen....

Grüsse
Felix

1-mal bearbeitet. Zuletzt am 12.03.15 09:01.
Re: Schulprojekt - Plotter
12. March 2015 09:24
Vielen Dank für eure Beiträge!

Wir haben heute auch nochmal mit unserem Lehrer gesprochen: Ursprünglich war die Aufgabe ja so viel wie möglich aus den Scannern zu benutzen. Er versteht allerdings auch unser Problem mit den Motoren. Und da unser Projekt anderweitig anderweitig umfangreicher wird (Wir wollen unsere Handschrift durch ein Programm in gcode umwandeln) konnten wir "verhandeln", dass wir den Plotter auch aus gekauften oder sonstigen vorhandenen Teilen bauen dürfen.
Ich habe hier noch Nema 17 Stepper-Motoren von einem alten 3D-Drucker die ich dann wahrscheinlich benutzen kann und werde.

Quote

Wenn ein Servo nicht geht, dann evtl. ein Elektromagnet? Der erfordert nur Ein/Aus.

Gute Idee! Auf Amazon hab ich einen mit 5.6 lbs also knapp 2.5 Kilo Haltevermögen gefunden. Ich denke den werde ich mal bestellen. Ob ich ihn nachher auch wirklich einbaue kann man ja schauen.

Quote

Ich denke, ich habe noch ein paar kleine Schrittmotoren im Keller rumliegen, die ihr fürs Porto haben könnt ...

Ich gehe mal davon aus Du meinst diese winzigen Stepper, die man auch in den heutigen CD-Laufwerken findet?
Wir sollten halt mindestens ein Din A4 Blatt beschreiben können, von dem her wären die eher ungeeignet. Trotzdem Vielen Dank für dein Angebot!

Die Idee mit dem Nano und Teacup gefällt uns sehr gut! 2 Stepper und 1 Magnet gehen damit ja wahrscheinlich problemlos.

@felko Dein Angebot hört sich auch wirklich gut an! Du kannst dich ja mal per PN melden.

Viele Grüße
Frieder

1-mal bearbeitet. Zuletzt am 12.03.15 09:24.
Re: Schulprojekt - Plotter
12. March 2015 09:48
Oh, verdamt ich habe kein Nano sondern "Pro Mini"

Aber ich habe mal ebend im Git nachgeschaut und glaube das da auch die Teacup drauf läuft. Vielleicht kann das Traumflug noch bestätigen.

Grüsse
Felix
VDX
Re: Schulprojekt - Plotter
12. March 2015 10:17
Quote
Wulle
...
Quote

Ich denke, ich habe noch ein paar kleine Schrittmotoren im Keller rumliegen, die ihr fürs Porto haben könnt ...

Ich gehe mal davon aus Du meinst diese winzigen Stepper, die man auch in den heutigen CD-Laufwerken findet?
Wir sollten halt mindestens ein Din A4 Blatt beschreiben können, von dem her wären die eher ungeeignet. Trotzdem Vielen Dank für dein Angebot!

... nein, das sind diverse Schrittmotoren in NEMA-17, NEMA-24 oder mit Rundgehäuse - meist aus alten Nadel-Druckern oder XY-Schreibern, aber auch aus IBM-Kartenlesern o.ä. ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Schulprojekt - Plotter
12. March 2015 11:29
Moin Frieder,

Da ich selber noch zur Schule gehe und auch Projekte gemacht habe, will ich euch gerne unterstützen. Ich hätte einen Arduino Due und auch wohl Stepper Driver für euch... einzig beim Arduino Due müsstet ihr ne neue Buchsensteckerleiste anlöten. Auch Druckteile könnt ihr von mir bekommen. Bei Interesse schickt mir gerne ne PN.



1-mal bearbeitet. Zuletzt am 14.03.15 07:31.


Grüße Philipp

exiguus v1.4 Bautagebuch

Mein Blog inkl. Newsletter
Re: Schulprojekt - Plotter
30. April 2015 14:42
Hallo zusammen,

das Projekt schreitet langsam aber sicher voran, allerdings kommt jetzt gerade ein ziemlich großes Problem auf uns zu:

Das an/abheben des Stifts.
Geplant war ursprünglich, das ganze mit einem Servo zu machen.
Dann kam die Idee mit dem Magneten: Darauf hin haben wir uns zwei Hub Magneten besorgt.
Diese lassen sich zwar relativ einfach ansteuern, allerdings haben diese so wenig Power, dass wir bezweifeln, dass sie einen Stift mit Halterung etc. anheben können.

Deshalb wollen wir nun nochmal auf die Sache mit dem Servo zurück kommen.
Traumflug hat uns schon ein wenig mit der Firmware weiterhelfen können, zu noch mehr "Privatunterricht" konnten wir ihn leider nicht überreden.
Deshalb nun an die Allgemeinheit:

Wie kann man z.B. den M106 Befehl, den wir eigentlich für den Magneten benutzen wollten anders "belegen".
Ist das überhaupt so einfach möglich? Eine Servo-library gibt es ja eigentlich schon. Kann man diese nicht einfach "Includen" und dann mit den Servo-Befehlen über einen festgelegten Pin den Servo ansteuern?
Dieser wär für uns sehr einfach einzubauen, hätte genug Power und wir müssten ihn nicht über ein Relais/Transistoren etc. laufen lassen. Zudem kann man den Winkel auch noch bequem einstellen.

Kann bitte jemand weiterhelfen?

LG
Frieder
VDX
Re: Schulprojekt - Plotter
30. April 2015 16:49
Hi Frieder,

... nochmal zurück zu den Magneten - ich habe noch einiges an Hub- oder Topfmagneten da, die mit 24V angesteuert werden und ziemlich hohe Kräfte entwickeln können, von denen ich euch ein paar abtreten könnte.

Hier im Bild sind zwei Typen mit 25mm Durchmesser, 20mm Länge und 58 Gramm Gewicht ... ich habe aber auch kleinere mit 20mm Durchmesser und verschiedene größere mit entsprechend mehr Kraft aber auch höherem Gewicht da.



1-mal bearbeitet. Zuletzt am 30.04.15 16:49.


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Schulprojekt - Plotter
13. May 2015 10:11
Hallo zusammen,

das Projekt schreitet immer weiter voran.
Gerade sind wir am Konfigurieren der Firmware auf unser Platinenlayout.
Traumflug hat uns die letzten Tage schon sehr viel weitergeholfen. Jetzt wollte ich ihn mit dem Folgenden nicht noch mehr "belästigen"

Deshalb frage ich jetzt mal die Allgemeinheit:
Wir haben folgende Pinbelegung auf unserer Platine:



Zu Beginn dachten wir, die Firmware darauf anzupassen sei kein Problem. Aber wie es sich heraus stellte, ist es allein mit ein paar Pin-Änderungen nicht getan.
Ich habe hier zum Beispiel mal eine Fehlermeldung:

Arduino: 1.6.3 (Mac OS X), Platine: "Arduino Nano, ATmega328"

In file included from config.h:257:0,
                 from config_wrapper.h:12,
                 from dda.h:6,
                 from dda.c:1:
dda.c: In function 'dda_start':
config.h:272:25: error: 'DI03_WPORT' undeclared (first use in this function)
 #define X_DIR_PIN       DI03
                         ^
arduino.h:33:40: note: in definition of macro '_WRITE'
 #define  _WRITE(IO, v)   do { if (v) { IO ## _WPORT |= MASK(IO ## _PIN); } else { IO ## _WPORT &= ~MASK(IO ## _PIN); }; } while (0)
                                        ^
pinio.h:43:28: note: in expansion of macro 'WRITE'
  #define x_direction(dir)  WRITE(X_DIR_PIN, dir)
                            ^
pinio.h:43:34: note: in expansion of macro 'X_DIR_PIN'
  #define x_direction(dir)  WRITE(X_DIR_PIN, dir)
                                  ^
dda.c:503:3: note: in expansion of macro 'x_direction'
   x_direction(dda->x_direction);
   ^
config.h:272:25: note: each undeclared identifier is reported only once for each function it appears in
 #define X_DIR_PIN       DI03
                         ^
arduino.h:33:40: note: in definition of macro '_WRITE'
 #define  _WRITE(IO, v)   do { if (v) { IO ## _WPORT |= MASK(IO ## _PIN); } else { IO ## _WPORT &= ~MASK(IO ## _PIN); }; } while (0)
                                        ^
pinio.h:43:28: note: in expansion of macro 'WRITE'
  #define x_direction(dir)  WRITE(X_DIR_PIN, dir)
                            ^
pinio.h:43:34: note: in expansion of macro 'X_DIR_PIN'
  #define x_direction(dir)  WRITE(X_DIR_PIN, dir)
                                  ^
dda.c:503:3: note: in expansion of macro 'x_direction'
   x_direction(dda->x_direction);
   ^
config.h:272:25: error: 'DI03_PIN' undeclared (first use in this function)
 #define X_DIR_PIN       DI03
                         ^
arduino.h:21:30: note: in definition of macro 'MASK'
  #define  MASK(PIN)    (1 << PIN)
                              ^
arduino.h:52:25: note: in expansion of macro '_WRITE'
 #define  WRITE(IO, v)   _WRITE(IO, v)
                         ^
pinio.h:43:28: note: in expansion of macro 'WRITE'
  #define x_direction(dir)  WRITE(X_DIR_PIN, dir)
                            ^
pinio.h:43:34: note: in expansion of macro 'X_DIR_PIN'
  #define x_direction(dir)  WRITE(X_DIR_PIN, dir)
                                  ^
dda.c:503:3: note: in expansion of macro 'x_direction'
   x_direction(dda->x_direction);
   ^
config.h:282:25: error: 'DI06_WPORT' undeclared (first use in this function)
 #define Y_DIR_PIN       DI06
                         ^
arduino.h:33:40: note: in definition of macro '_WRITE'
 #define  _WRITE(IO, v)   do { if (v) { IO ## _WPORT |= MASK(IO ## _PIN); } else { IO ## _WPORT &= ~MASK(IO ## _PIN); }; } while (0)
                                        ^
pinio.h:73:28: note: in expansion of macro 'WRITE'
  #define y_direction(dir)  WRITE(Y_DIR_PIN, dir)
                            ^
pinio.h:73:34: note: in expansion of macro 'Y_DIR_PIN'
  #define y_direction(dir)  WRITE(Y_DIR_PIN, dir)
                                  ^
dda.c:504:3: note: in expansion of macro 'y_direction'
   y_direction(dda->y_direction);
   ^
config.h:282:25: error: 'DI06_PIN' undeclared (first use in this function)
 #define Y_DIR_PIN       DI06
                         ^
arduino.h:21:30: note: in definition of macro 'MASK'
  #define  MASK(PIN)    (1 << PIN)
                              ^
arduino.h:52:25: note: in expansion of macro '_WRITE'
 #define  WRITE(IO, v)   _WRITE(IO, v)
                         ^
pinio.h:73:28: note: in expansion of macro 'WRITE'
  #define y_direction(dir)  WRITE(Y_DIR_PIN, dir)
                            ^
pinio.h:73:34: note: in expansion of macro 'Y_DIR_PIN'
  #define y_direction(dir)  WRITE(Y_DIR_PIN, dir)
                                  ^
dda.c:504:3: note: in expansion of macro 'y_direction'
   y_direction(dda->y_direction);
   ^
dda.c: In function 'dda_step':
config.h:271:25: error: 'DI04_WPORT' undeclared (first use in this function)
 #define X_STEP_PIN      DI04
                         ^
arduino.h:33:40: note: in definition of macro '_WRITE'
 #define  _WRITE(IO, v)   do { if (v) { IO ## _WPORT |= MASK(IO ## _PIN); } else { IO ## _WPORT &= ~MASK(IO ## _PIN); }; } while (0)
                                        ^
pinio.h:40:26: note: in expansion of macro 'WRITE'
 #define _x_step(st)      WRITE(X_STEP_PIN, st)
                          ^
pinio.h:40:32: note: in expansion of macro 'X_STEP_PIN'
 #define _x_step(st)      WRITE(X_STEP_PIN, st)
                                ^
pinio.h:41:31: note: in expansion of macro '_x_step'
 #define x_step()              _x_step(1)
                               ^
dda.c:563:4: note: in expansion of macro 'x_step'
    x_step();
    ^
config.h:271:25: error: 'DI04_PIN' undeclared (first use in this function)
 #define X_STEP_PIN      DI04
                         ^
arduino.h:21:30: note: in definition of macro 'MASK'
  #define  MASK(PIN)    (1 << PIN)
                              ^
arduino.h:52:25: note: in expansion of macro '_WRITE'
 #define  WRITE(IO, v)   _WRITE(IO, v)
                         ^
pinio.h:40:26: note: in expansion of macro 'WRITE'
 #define _x_step(st)      WRITE(X_STEP_PIN, st)
                          ^
pinio.h:40:32: note: in expansion of macro 'X_STEP_PIN'
 #define _x_step(st)      WRITE(X_STEP_PIN, st)
                                ^
pinio.h:41:31: note: in expansion of macro '_x_step'
 #define x_step()              _x_step(1)
                               ^
dda.c:563:4: note: in expansion of macro 'x_step'
    x_step();
    ^
config.h:281:25: error: 'DI07_WPORT' undeclared (first use in this function)
 #define Y_STEP_PIN      DI07
                         ^
arduino.h:33:40: note: in definition of macro '_WRITE'
 #define  _WRITE(IO, v)   do { if (v) { IO ## _WPORT |= MASK(IO ## _PIN); } else { IO ## _WPORT &= ~MASK(IO ## _PIN); }; } while (0)
                                        ^
pinio.h:70:26: note: in expansion of macro 'WRITE'
 #define _y_step(st)      WRITE(Y_STEP_PIN, st)
                          ^
pinio.h:70:32: note: in expansion of macro 'Y_STEP_PIN'
 #define _y_step(st)      WRITE(Y_STEP_PIN, st)
                                ^
pinio.h:71:31: note: in expansion of macro '_y_step'
 #define y_step()              _y_step(1)
                               ^
dda.c:581:4: note: in expansion of macro 'y_step'
    y_step();
    ^
config.h:281:25: error: 'DI07_PIN' undeclared (first use in this function)
 #define Y_STEP_PIN      DI07
                         ^
arduino.h:21:30: note: in definition of macro 'MASK'
  #define  MASK(PIN)    (1 << PIN)
                              ^
arduino.h:52:25: note: in expansion of macro '_WRITE'
 #define  WRITE(IO, v)   _WRITE(IO, v)
                         ^
pinio.h:70:26: note: in expansion of macro 'WRITE'
 #define _y_step(st)      WRITE(Y_STEP_PIN, st)
                          ^
pinio.h:70:32: note: in expansion of macro 'Y_STEP_PIN'
 #define _y_step(st)      WRITE(Y_STEP_PIN, st)
                                ^
pinio.h:71:31: note: in expansion of macro '_y_step'
 #define y_step()              _y_step(1)
                               ^
dda.c:581:4: note: in expansion of macro 'y_step'
    y_step();
    ^

Dabei habe ich nur in der config-Datei die Motor-Pins geändert.


Wäre sehr schön, wenn sich jemand bereiterklärt, mal "kurz" einen Blick drauf zu werfen!
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen