Forum: Analoge Elektronik und Schaltungstechnik Sicherer Betrieb eines ULN2803A am AVR


von Frank H. (horni)


Lesenswert?

Hallo Leute,

ich möchte einen ULN2803A nutzen, um verschiedene Lasten mit einem 
Mikrocontroller zu schalten. Der wohl einfachste Fall wäre wohl, dass 
ich die Ausgänge des AVR direkt an die Eingänge des ULN2803A hänge. In 
die Ausgänge kommt dann der GND Anschluss der Last und der GND Pin des 
ULN2803A kommt direkt ans GND des Boards. Das ist in meinen Augen der 
einfachste Fall.

Jetzt aber angenommen, ich möchte etwas "mehr" haben. Vor allem in 
Sachen Sicherheit (im Sinne von "geht nicht kaputt") und EMV.

Fangen wir mal bei der EMV an. Ich kann mir zwei Stellen vorstellen, wo 
Störungen erzeugt werden können. Ein Mal beim Common Grund Anschluss des 
ULN2803A und außerdem bei den Eingängen und Zuleitungen zum ULN2803A 
beim Schalten. Tritt da tatsächlich etwas auf oder irre ich mich?

Macht es Sinn, Pull-Down Widerstände zu verwenden, damit die Eingänge 
des ULN2803A zuverlässig auf GND gezogen werden, wenn ich den 
Ausgangs-Pin des AVR "abschalte"?

Evtl. Vorwiderstände an den Eingängen des ULN2803A um den Stromfluss vom 
AVR zum ULN2803A einzuschränken?

Gibt es noch irgendetwas anderes, was ich bedenken müsste?

von Markus (Gast)


Lesenswert?

Frank Horn schrieb:
> Fangen wir mal bei der EMV an. Ich kann mir zwei Stellen vorstellen, wo
> Störungen erzeugt werden können. Ein Mal beim Common Grund Anschluss des
> ULN2803A und außerdem bei den Eingängen und Zuleitungen zum ULN2803A
> beim Schalten. Tritt da tatsächlich etwas auf oder irre ich mich?

Wenn du es richtig aufbaust, mit passiert da nichts. Zeichne es mal auf.
Alternative wäre mit Optokoppler alles galvanisch zu trennen. Kommt aber 
auf die Last an, ob das auch notwendig ist.

Frank Horn schrieb:
> Macht es Sinn, Pull-Down Widerstände zu verwenden, damit die Eingänge
> des ULN2803A zuverlässig auf GND gezogen werden, wenn ich den
> Ausgangs-Pin des AVR "abschalte"?

Nein, die ULN haben schon Widerstände nach GND.

Frank Horn schrieb:
> Evtl. Vorwiderstände an den Eingängen des ULN2803A um den Stromfluss vom
> AVR zum ULN2803A einzuschränken?

Nein, denn damit schaltet u.U. der ULN nicht mehr vollständig durch.
Schau  dir mal das Schaltbild des ULN an.

Die Frage ist, was willst schalten? Wie häufig und wie schnell (PWM)?

von Ein Elektroniker (Gast)


Lesenswert?

Frank Horn schrieb:

> Macht es Sinn, Pull-Down Widerstände zu verwenden, damit die Eingänge
> des ULN2803A zuverlässig auf GND gezogen werden, wenn ich den
> Ausgangs-Pin des AVR "abschalte"?

Ein Blick in beide Datenblätter verrät sicherlich die Schaltpegel. Wenn 
die Transistoren keinen Basisstrom mehr bekommen, werden sie aber schon 
auch von selbst abschalten.

Der ULN2803A ist doch einfach nur ein Array aus Darlington-Transistoren, 
mehr nicht.

Früher, als ein µC mal alleine 30€ kostete, da konnte man sich mal 
überlegen, diesen etwas zu schützen. Aber bei einem PIC12F675, der knapp 
über einen Euro kostet, und steckbar sofort austauschbar ist, und ich 
ein paar davon in Reserve habe, denke ich nicht im Entferntesten mehr an 
sowas.

Notfalls kann man den ULN2803A auch noch über Optokoppler schalten, dann 
ist man ganz sicher vor Rückwirkungen. Das machte ich einmal nur 
testweise, geht auch.

von Frank H. (horni)


Angehängte Dateien:

Lesenswert?

Markus schrieb:
> Wenn du es richtig aufbaust, mit passiert da nichts. Zeichne es mal auf.

Ich habe hier mal eine Beispiel-Zeichnung aufgezeichnet und angehängt. 
Etwa so, wie ich jetzt das Ding aufbauen würde. Attiny als 
Mikrocontroller. Einen relativ großen Elko oder Tantal davor, einen 
100nF Blockkondensator direkt an den Chip dran. Die Ausgänge des AVR 
direkt an die Eingänge des Transistor-Arrays. Und dessen Ausgänge dann 
über einen Widerstand an die LEDs.

Markus schrieb:
> Die Frage ist, was willst schalten? Wie häufig und wie schnell (PWM)?

Die Schaltung ist jetzt nur ein einfaches Beispiel. An der Stelle würde 
ich Lasten tatsächlich über einen OC mit nachgeschaltetem Mosfet 
schalten. Größere Sorgen machen mir jetzt einfache LEDs.

Sagen wir mal, ich habe ein LED-Display bestehend aus vier 7-Segment 
Anzeigen. Um dort Ziffern anzuzeigen, müsste ich für jedes Segment auf 
die Anode Spannung draufgeben und dann für die gewünschten Kathoden. 
Dann die erste Anode ausschalten und die zweite einschalten (klingt 
komisch, aber ich denke, jeder weiß, was gemeint ist) und dann die 
Kathoden des zweiten Segments entsprechend schalten.

Ja, ich weiß, das menschliche Auge macht so und so viele Bilder pro 
Sekunde und die LEDs sind eh träge, aber sagen wir mal, ich habe 100.000 
Pegelwechsel  pro Sekunde (ca. 10% des absoluten Maximums). Wobei ich da 
in einer realen Anwendung wohl eher Richtung 500 gehen würde.

von Falk B. (falk)


Lesenswert?

@ Frank Horn (horni)

>direkt an die Eingänge des Transistor-Arrays. Und dessen Ausgänge dann
>über einen Widerstand an die LEDs.

Eine ganz normale Schaltung, da muss man nichts extra absichern.

>Sagen wir mal, ich habe ein LED-Display bestehend aus vier 7-Segment
>Anzeigen. Um dort Ziffern anzuzeigen, müsste ich für jedes Segment auf
>komisch, aber ich denke, jeder weiß, was gemeint ist)

Nennt sich Multiplexen einer LED-Matrix.

>Sekunde und die LEDs sind eh träge, aber sagen wir mal, ich habe 100.000
>Pegelwechsel  pro Sekunde (ca. 10% des absoluten Maximums). Wobei ich da
>in einer realen Anwendung wohl eher Richtung 500 gehen würde.

Wo ist dann das Problem?

von Markus (Gast)


Lesenswert?

Frank Horn schrieb:
> Ich habe hier mal eine Beispiel-Zeichnung aufgezeichnet und angehängt.

Solche Beispiele gibt es zu hunterten. Es kommt aber auf deinen 
konkreten Einsatzzweck an.

Frank Horn schrieb:
> Einen relativ großen Elko oder Tantal davor, einen
> 100nF Blockkondensator direkt an den Chip dran.

Wie wird VCC erzeugt? (Batterie, Linear Spannungsregler, 
Schaltregler...)
Der grosse Elko braucht es i.d.R. nicht. Der 100nF Keramik-Kondensator 
hingengen ist Pflicht an jedem IC.

Frank Horn schrieb:
> An der Stelle würde
> ich Lasten tatsächlich über einen OC mit nachgeschaltetem Mosfet
> schalten.

Das ist dann aber ein andere Schaltung, als dein Beispiel:

Frank Horn schrieb:
> größere Sorgen machen mir jetzt einfache LEDs.

Warum. Man kann auch die LED mit Vorwiderstand direkt am Attiny 
anschliesen. Dazu braucht es noch kein ULN. Kommt auf den Strom der LED 
an.

Frank Horn schrieb:
> Sagen wir mal, ich habe ein LED-Display bestehend aus vier 7-Segment
> Anzeigen. Um dort Ziffern anzuzeigen, müsste ich für jedes Segment auf
> die Anode Spannung draufgeben und dann für die gewünschten Kathoden.
> Dann die erste Anode ausschalten und die zweite einschalten (klingt
> komisch, aber ich denke, jeder weiß, was gemeint ist) und dann die
> Kathoden des zweiten Segments entsprechend schalten

Multiplex heisst das Stichwort.

Frank Horn schrieb:
> Ja, ich weiß, das menschliche Auge macht so und so viele Bilder pro
> Sekunde und die LEDs sind eh träge,

Nein, die LED sind nicht träge. Aber das Auge.

Frank Horn schrieb:
> ich habe 100.000
> Pegelwechsel  pro Sekunde

Faktor 1000 weniger reicht auch.

Also, zeichne, wenn du genauere Angaben möchtest, es auf was du alles 
verbaust. Ansonsten ist das mehr ein Raten.

von Frank H. (horni)


Lesenswert?

Markus schrieb:
> Solche Beispiele gibt es zu hunterten. Es kommt aber auf deinen
> konkreten Einsatzzweck an.

Es geht mir nicht konkret um eine bestimmte Schaltung, sondern ums 
Lernen. Wie baue ich eine Schaltung auf, damit sie - um jeden Preis - 
tut was sie soll. Aber bleiben wir mal bei der Schaltung. Denn auch da 
gibt es schon Probleme.

Ich habe die Schaltung aus meiner Zeichnung auf einem Bread-Board 
aufgebaut. Dann ist mir ein sog. Slot Machine Jammer vor einer Weile in 
die Hände gefallen. Das Ding macht nichts anderes, als EM-Störungen zu 
erzeugen.

Ich halte das Ding noch relativ weit weg von der Schaltung entfernt, 
Zack, LEDs leuchten / blinken. Irgendwann hat der Attiny dann noch einen 
Restart gemacht und als ich noch näher gekommen bin, ist das Ding 
komplett verreckt. kA ob der Schrott ist oder einfach nur das Programm 
defekt ist.

Falk Brunner schrieb:
> Wo ist dann das Problem?

Wann genau fängt denn so eine Schaltung an zu strahlen und würde durch 
eine EMV-Prüfung fallen? Ich bin momentan davon ausgegangen, dass genau 
diese Veränderungen im Stromfluss die EMV-Störungen verursachen.

von Falk B. (falk)


Lesenswert?

@Frank Horn (horni)

>Es geht mir nicht konkret um eine bestimmte Schaltung, sondern ums
>Lernen.

Gut.

> Wie baue ich eine Schaltung auf, damit sie - um jeden Preis -

Klingt ei bisschen nach Volkssturm. Man muss es nicht immer übertreiben.

>Ich habe die Schaltung aus meiner Zeichnung auf einem Bread-Board
>aufgebaut. Dann ist mir ein sog. Slot Machine Jammer vor einer Weile in
>die Hände gefallen. Das Ding macht nichts anderes, als EM-Störungen zu
>erzeugen.

Na toll.

>Ich halte das Ding noch relativ weit weg von der Schaltung entfernt,
>Zack, LEDs leuchten / blinken. Irgendwann hat der Attiny dann noch einen
>Restart gemacht und als ich noch näher gekommen bin, ist das Ding
>komplett verreckt. kA ob der Schrott ist oder einfach nur das Programm
>defekt ist.

wahrscheinlich fehlt erstmal nur der Entkoppelkondensator. ;-)

>Wann genau fängt denn so eine Schaltung an zu strahlen und würde durch
>eine EMV-Prüfung fallen?

Mit dieser Frage muss man sich auf deinem Lernniveau zum Glück noch 
nicht beschäftigen. Die Antwort kann sowieso nur ein EMV-Profi geben, 
und selbst der wird es BESTENFALLS abschätzen, aber nicht GENAU 
vorhersagen können.

von Markus (Gast)


Lesenswert?

Frank Horn schrieb:
> Ich halte das Ding noch relativ weit weg von der Schaltung entfernt,
> Zack, LEDs leuchten / blinken. Irgendwann hat der Attiny dann noch einen
> Restart gemacht und als ich noch näher gekommen bin, ist das Ding
> komplett verreckt.

Wie sieht die Zuleitung aus zum uC? Wie lange ist die?
Wie lange sind denn die anderen Leitungen zum ULN, zu den LEDs?
Was ist es für eine Speisung?
Wie weit weg ist der Cx platziert?
Mach doch sonst mal ein Foto von dem Aufbau (aber Bildformate beachten)

Frank Horn schrieb:
> kA ob der Schrott ist oder einfach nur das Programm
> defekt ist.

Kannst ihn noch pogrammieren oder Auslesen? (Verify)
Dann weisst du es.

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.