Für die Ansteuerung einer Druckerpatrone muss ich mit einem ULN2003 die Pins für 5us auf 20V legen. Meine Beispielschaltung hat ein PC Netzteil für die TTL Logik und die Schrittmotoren, und ein zweites Netzteil für die 20V. Ich will aber ein sparsamer Mensch sein und denke mir, das PC Netzteil hat +12V und -12V, also 24V Differenz. Spannungsregler dran, und hurra 20V. Jetzt muss aber der ULN2003, der vorher so schön Masse mit dem ATMega geteilt hat, auf -12V geerdet werden. Wie steuere ich mit dem ATMega (GND, 5V) meinen ULN2003 (-12V, +12V)? Gibt's da einen Trick (oder einen anderen ULN), oder muss ich mit Optokopplern arbeiten? Wenn ja, wie setze ich auf der Optokopplerseite die Widerstände und wie berechne ich die? Für jede Hilfe dankbar. - Matthias PS: sorry, kriege das dritte Bild nicht gelöscht... .
Matthias M. schrieb: > oder muss ich mit > Optokopplern arbeiten? in dem von dir beschrieben Fall musst du das natürlich tun. .. ob das aber nun sparsam ist ist eine andere Frage. ... zudem ist ja die -12V Schiene nicht besonders belastbar. demnach gibt das bestimmt Probleme. evt. ist es sparsamer einen Stepup Schaltnetzteil zusammenzubasteln um von den 5V oder 12V auf die 20V zu kommen. .. ich weiss aber nicht wieviel Strom deine Druckköpfe ziehen wollen. Gruss Klaus
Matthias M. schrieb: > muss ich mit einem ULN2003 die > Pins für 5us auf 20V legen. Der ULN2003 hat eine Schaltzeit von 1..10us da sind 5us eher grenzwertig. Wenn Du die falschen Optokoppler nimmst kommen da nochmal 4-20 us hinzu. Bei hochohmiger Beschaltung der Optokoppler sind es dann noch mehr Verzögerungen. Gruß Anja
Laut Schaltplan geht die Ausgangsspannung des LM317 auf einen Elko und sonst nix. Ist das so gedacht??????
Pin 8 der ULN auf -12Volt legen ist, mit Verlaub, eine blöde Idee. Der µC gibt als Low um die 0 Volt aus, zwischen Eingang und Pin 8 des ULN liegen somit 12 Volt. Der ULN wird leiten.
spontan schrieb: > Pin 8 der ULN auf -12Volt legen ist, mit Verlaub, eine blöde Idee. ich nehme an, das er deswegen über Optokoppler nachgedacht hatte. k.
@spontan: richtig, da fehlt noch die Leitung zum Druckkopf. @Klaus: genau. Step-up ist auch ne gute Idee. Habe ich allerdings keine Erfahrungen mit. Ich bleibe sonst immer im 0..5V Bereich ;-) @Anja: oha, daran habe ich nicht gedacht. Danke. Ich denke, ich nehme erst einmal das zweite Netzteil, und ersetze es dann später durch einen Step-Up Regler. Allein schon wegen des Timings, wie Anja erwähnte.
Matthias M. schrieb: > @Klaus: genau. Step-up ist auch ne gute Idee. wieviel Strom benötigt man denn für nen Druckkopf ? Gruss Klaus
Wenn ich das mal wüsste. Steht nicht in den Specs, aber ich werde es messen.
>@spontan: richtig, da fehlt noch die Leitung zum Druckkopf.
Fast richtig. Du legst Pin 9 des ULN auf GND, das ist "BIG Mist".
Es sei denn, Du willst das Ding grillen. Schau Dir mal die
Innenbeschaltung an.
Oha, falscher Fehler! Das ist mein Referenzschaltplan nach dem ich bauen will, und dann so was. Aber ich glaube, ich weiss was los ist: der Stecker für die Tintenpatrone wurde später eingezeichnet. Die Leitung von 9/9/Druckerpatrone müsste rechts am Kondensator vorbei direkt an den Ausgang vom Spannungsregler gehen. Danke! Gut dass ich das noch nicht gebaut habe.
Also, der Druckkopf brauch maximal 300mA nach Herstellerangabe, also 0,3A x 20V = 6W. Das sollte mehr als drin sein. Ich sehe so 12W für -12V, also 24W bei 20V. Richtig gerechnet? Der Rest des Schaltplans ist immer noch grosser Mist, obwohl zumindest der Pin 9 Fehler behoben ist :-(
Nachtrag und Auflösung: Ihr habt's Euch vielleicht gedacht, ich habe den Schaltplan komplett verworfen und etwas eigenes gebaut. Statt dem ULN werkelt jetzt ein A6821 von Allegro. Der hat alles was ich im Schaltplan vermisst habe. Im Chip ist ein Schieberegister mit Strobe und Enable. Die Darlingtons sind in der Sapnnung komplett unabhängig von der Logikspannung. So habe ich jetzt Pins am Mikrocontroller gespart und aknn direkt die -12 auf 12V einsetzen um die 20V an der Druckerpatrone zu nutzen. Funktioniert perfekt! Danke, Matthias
Klaus De lisson schrieb: > klingt ja gut, das es eine Lösung gab. > Schaltplan ? > > Gruss Klaus Ach, ich Dummerchen, natürlich. Also zuerst der Schaltplan, dann die Platine,und dann noch einmal alles zusammengesteckt. Auf dem Papier kann man ein wenig die Schrift erahnen, die die Schaltung eben noch gedruckt hat, indem ich mit dem Kopf über das Papier gefahren bin.
Ja, ich bin mit dem Webinterface nicht zurecht gekommen. Und jetzt soll ich auch noch einen längeren Text eingeben, obwohl mir nichts mehr einfällt. Na gut, also, die Platine hat Header um damit Stepper Boards anzusteuern. Damit werden X, Y, Z1, und Z2 Achsen im 3D Drucker gesteuert. Ein Header ist i2c für's Display und die Tasten, und die kleinen 3-pin Header sind für die Endstops. Der Druckkopf fährt dann über dünne Lagen au Gips und bindet den Gips dann ab (hoffentlich). So, länger kann ich nicht. Fragen beantworte ich trotzdem gern.
Matthias M. schrieb: > Der Druckkopf fährt dann über dünne Lagen au Gips und bindet den Gips > dann ab (hoffentlich). ich lache gerade über das "hoffentlich"... weil es ja immer so ist, das man hofft. Ich denke mal so, dass du über den Druckkopf das wasser ausstösst, werde aber nicht weiter fragen um dein Geheimnis zu wahren. Gruss klaus de Lisson
Noe, da gibt es kein Geheimnis. Die Technologie wurde vor über 20 Jahren am MIT erfunden. Ich bau es mir halt als Hobbymaschine nach. Der Druckkopf muss so viel Wasser rausdrücken, bis der Gips merkt, dass er abbinden soll, aber das Wasser soll auch nicht durch Kapilarkräfte durch die Gegend gesaugt werden, denn dann gibt's keine scharfen Kanten, sondern nur nen Klumpen. Die Tropfen aus dem Druckkopf sind 16 Picoliter gross, also so ungefähr 0.13mm im Durchmesser (für heutige Drucker ist das riesengross - die habe 4 Picoliter und weniger). Es muss also alles recht genau werden. Wichtigster Faktor ist die Art des Gipses. Normalerweise soll Gips beim Umrühren nicht Klumpen und sich gut voll Wasser saugen. Hier ist's genau umgekehrt. Er soll eben nicht saugen. Wenn also jemand klebrigen klumpigen Gips kennt... . Matthias
So feuert man dann auf Düse n.
1 | void inkFire(int n) |
2 | {
|
3 | static unsigned char lut[] = { 3, 10, 2, 9, 0, 8, 1, 5, 6, 7, 4, 11, 15, 15, 15, 15 }; |
4 | int i; |
5 | n = lut[n&15]; |
6 | // shift the value in
|
7 | for (i=15; i>=0; i--) { |
8 | if (i==n) { |
9 | digitalWrite(inkData, 1); |
10 | } else { |
11 | digitalWrite(inkData, 0); |
12 | }
|
13 | digitalWrite(inkClock, 1); |
14 | digitalWrite(inkClock, 0); |
15 | }
|
16 | // fire what we shifted in
|
17 | digitalWrite(inkStrobe, 0); |
18 | digitalWrite(inkStrobe, 1); |
19 | noInterrupts(); |
20 | digitalWrite(inkEnable, 0); |
21 | delayMicroseconds(2); |
22 | digitalWrite(inkEnable, 1); |
23 | interrupts(); |
24 | }
|
LOL, das klingt ja lustig.Ist es dann sowas wie ein 3D Drucker ? Gruss klaus
Ja, genau. Im zweiten Anlauf bekommt er dann mehrere Druckköpfe und kann 3D Modelle in Farbe drucken. Dafür muss ich dann aber 5x300 Düsen ansteuern. Ich befürchte, das wird ein wenig viel für den Arduino... .
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.