Forum: Mikrocontroller und Digitale Elektronik Optokoppler und ULN2003


von Matthias M. (matthias_m69)


Angehängte Dateien:

Lesenswert?

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... .

von Klaus D. (kolisson)


Lesenswert?

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

von Anja (Gast)


Lesenswert?

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

von spontan (Gast)


Lesenswert?

Laut Schaltplan geht die Ausgangsspannung des LM317 auf einen Elko und 
sonst nix. Ist das so gedacht??????

von spontan (Gast)


Lesenswert?

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.

von Klaus D. (kolisson)


Lesenswert?

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.

von Matthias M. (matthias_m69)


Lesenswert?

@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.

von Klaus D. (kolisson)


Lesenswert?

Matthias M. schrieb:
> @Klaus: genau. Step-up ist auch ne gute Idee.

wieviel Strom benötigt man denn für nen Druckkopf ?

Gruss Klaus

von Matthias M. (matthias_m69)


Lesenswert?

Wenn ich das mal wüsste. Steht nicht in den Specs, aber ich werde es 
messen.

von spontan (Gast)


Lesenswert?

>@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.

von Matthias M. (matthias_m69)


Lesenswert?

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.

von Matthias M. (matthias_m69)


Lesenswert?

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  :-(

von Matthias M. (matthias_m69)


Lesenswert?

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

von Klaus D. (kolisson)


Lesenswert?

klingt ja gut, das es eine Lösung gab.
Schaltplan ?

Gruss Klaus

von Matthias M. (matthias_m69)


Lesenswert?

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.

von Matthias M. (matthias_m69)


Angehängte Dateien:

Lesenswert?

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.

von Klaus D. (kolisson)


Lesenswert?

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

von Matthias M. (matthias_m69)


Lesenswert?

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

von Matthias M. (matthias_m69)


Lesenswert?

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
}

von Klaus D. (kolisson)


Lesenswert?

LOL,
das klingt ja lustig.Ist es dann sowas wie ein 3D Drucker ?

Gruss klaus

von Matthias M. (matthias_m69)


Lesenswert?

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
Noch kein Account? Hier anmelden.