Forum: Mikrocontroller und Digitale Elektronik Schaltung schaltet falsch


von Felix V. (led35)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein kleines Problem.
Ich habe den Angehängten Schaltplan entworfen, dabei gibt es aber ein 
Problem.
An die PIN_01 - PIN_07 möchte ich die Pins eines Arduinos anschließen. 
Außerdem sollen an die PWM-Pins auch die PWM-Pins des Arduinos.

Wenn ich nun versuche die Schaltung anzusteuern, dann kann ich nur wenn 
Ground des Arduinos und der Schaltung verbunden sind die Farbe über das 
PWM-Signal ändern. Ich kann aber nicht das Segment auswählen. Wenn ich 
die Ground Verbindung wieder löse, dann hat dies zur Folge, dass ich die 
Farbe nicht mehr auswählen kann aber das Segment (wenn auch inkorrekt).

Ich weiß nicht wie ich das Problem lösen soll, da ich noch keine 
wirkliche Erfahrung habe.

Habt ihr vielleicht einen Tipp wie ich mein kleines Problem lösen kann ?
Könntet ihr vllt. mir auch erklären, warum es nicht geht ?

Dankeschön an alle Helfenden und ein Schönes Weihnachten an alle :-).

von Harald W. (wilhelms)


Lesenswert?

Felix V. schrieb:


> Habt ihr vielleicht einen Tipp wie ich mein kleines Problem lösen kann ?

NPN-Transistoren nehmen und deren Emitter auf Masse legen.

> Könntet ihr vllt. mir auch erklären, warum es nicht geht ?

Miss doch mal die Basis-Emitterspannung direkt an den Beinchen
Deiner PNP-Transistoren.

von ArnoR (Gast)


Lesenswert?

Felix V. schrieb:
> Könntet ihr vllt. mir auch erklären, warum es nicht geht ?

Der Arduino müsste mit seinen Ausgängen die Signale PIN_01, PIN_02 usw. 
bis etwa 11,5V anheben, um die pnp-Segment-Transistoren auszuschalten. 
Das geht natürlich nicht. Du brauchst eine andere Ansteuerung: 
Arduino->npn->pnp. Such mal nach HighSide-Treiber

von Felix V. (led35)


Lesenswert?

Was ich noch vergessen habe anzufügen, ist:

Wenn ich ein 5 Volt Netzteil (Labornetzteil) nehme und die 5 Volt an die 
PWM-Signal-Pins halte, sowie GND mit den PIN_01- PIN_07 verbinde geht 
alles wie gewollt, aber sobald der Mikrocontroller dazu kommt spinnt die 
Schaltung ...

von ArnoR (Gast)


Lesenswert?

Felix V. schrieb:
> Wenn ich ein 5 Volt Netzteil (Labornetzteil)

Das ist der Punkt. Mit 5V geht es natürlich, mit 12V nicht, siehe 
Erklärung über deinem Post. Übrigens wäre eine Strombegrenzung für die 
LEDs nicht verkehrt.

von Felix V. (led35)


Lesenswert?

Das sind LED-Stripes die haben schon Vorwiderstände, aber ich schalte 
doch den BD680 mit dem Arduino, welcher auch 5 Volt hat.

Da müsste der BD680 bei +5V zu machen und bei Masse auf oder steh ich 
komplett auf der Leitung ?

von ArnoR (Gast)


Lesenswert?

Felix V. schrieb:
> Da müsste der BD680 bei +5V zu machen und bei Masse auf

Ja, aber nicht bei 12V-Versorgung.

von Harald W. (wilhelms)


Lesenswert?

Felix V. schrieb:

> steh ich komplett auf der Leitung ?

Beachte doch mal den Tip aus der ersten Antwort bei 12V-Versorgung.

von Felix V. (led35)


Lesenswert?

Die Versorgung beleibt bei dem Anschluss des Labornetzteils trotzdem 12 
Volt nur das dieses Netzteil von 5 Volt simuliert sozusagen die 
Ausgangspegel des Mikrocontrollers.

Vllt. stehe ich noch mehr als gedacht auf der Leitung, kann mir mal 
bitte jemand eine Beispielschaltung geben ?

von hinz (Gast)


Lesenswert?

Felix V. schrieb:
> Die Versorgung beleibt bei dem Anschluss des Labornetzteils trotzdem 12
> Volt nur das dieses Netzteil von 5 Volt simuliert sozusagen die
> Ausgangspegel des Mikrocontrollers.

Während in den Ausgangspin des µC Strom fließen kann, geht das bei 
deinem Labornetzteil nicht.

von Felix V. (led35)


Lesenswert?

Wäre es dann nicht mit einer Diode gelöst ?

von (prx) A. K. (prx)


Lesenswert?

Je nach Innenschaltung und Mindeststromverbrauch des Arduinos hast du 
mit dieser Schaltung eine Chance, ihn mit einer Versorgungsspannung weit 
über den maximal zulässigen 6V zu grillen. Weil rückwärts über die 7 
Ausgänge und die Schutzdioden mit Strom versorgt.

In grad mal einer Viertelstunde gleich 2x das gleiche Problem. 
Interessant.

von Felix V. (led35)


Lesenswert?

Den Post mit der Diode bitte ignorieren, da ja somit auch das Signal 
gesperrt wird...

von hinz (Gast)


Lesenswert?

Felix V. schrieb:
> Wäre es dann nicht mit einer Diode gelöst ?

Nein.

von hinz (Gast)


Lesenswert?

A. K. schrieb:
> In grad mal einer Viertelstunde gleich 2x das gleiche Problem.

Das kommt tausende mal pro Jahr vor...

von Felix V. (led35)


Lesenswert?

Genau das passiert auch bei mir, wie wäre denn jetzt ein richtiger 
Schaltplan ?

von (prx) A. K. (prx)


Lesenswert?

hinz schrieb:
> Das kommt tausende mal pro Jahr vor...

Hier im Forum in Schaltungen von verschiedenen Leuten?

von (prx) A. K. (prx)


Lesenswert?

Um die Transistor-Gruppe beizubehalten, kann man NPN-Schalter zwischen 
die Pins und die Ansteuerung der BD680 hängen. Oder alle zusammen in 
einem ULN2003 oder ULN2803. An/aus ist dann zwar andersrum, aber das 
betrifft nur die Software.

: Bearbeitet durch User
von Felix V. (led35)


Lesenswert?

Wird der ULN2003 dann auch mit 5 Volt betrieben ?

von hinz (Gast)


Lesenswert?

A. K. schrieb:
> hinz schrieb:
>> Das kommt tausende mal pro Jahr vor...
>
> Hier im Forum in Schaltungen von verschiedenen Leuten?

Es werden immer die gleichen Fehler gemacht.

Und gelegentlich konzentriert sich das eben auch hier.

von hinz (Gast)


Lesenswert?

Felix V. schrieb:
> Wird der ULN2003 dann auch mit 5 Volt betrieben ?

Der braucht keine Versorgungsspannung.

von (prx) A. K. (prx)


Lesenswert?

hinz schrieb:
>> Wird der ULN2003 dann auch mit 5 Volt betrieben ?
>
> Der braucht keine Versorgungsspannung.

Und in dieser Schaltung kann man dessen Diodenanschluss offen lassen. 
Den braucht man idR nur für induktive Lasten wie Relais. An 5V sollte er 
jedenfalls nicht. Wenn man unbedingt will, dann an 12V.

: Bearbeitet durch User
von Felix V. (led35)


Angehängte Dateien:

Lesenswert?

Ist der Schaltplan so funktionstüchtig ?

von ArnoR (Gast)


Lesenswert?

Felix V. schrieb:
> Ist der Schaltplan so funktionstüchtig ?

Nein. Du schnallst das mit den 5V des Arduino und den 12V der 
LED-Versorgung irgendwie nicht.

von ArnoR (Gast)


Lesenswert?

ArnoR schrieb:
> Nein. Du schnallst das mit den 5V des Arduino und den 12V der
> LED-Versorgung irgendwie nicht.

Nehme alles zurück, hatte den ULN für den Arduino gehalten. Ist auf 
meinem winzigen Monitor kaum zu erkennen. Sorry.

von Felix V. (led35)


Lesenswert?

Naja wie wäre es denn dann richtig ?
Kann mal bitte jemand erklären was ich wie ändern muss ?

von Felix V. (led35)


Lesenswert?

ArnoR schrieb:

> Nehme alles zurück, hatte den ULN für den Arduino gehalten. Ist auf
> meinem winzigen Monitor kaum zu erkennen. Sorry.

Kein Problem, hätte ich hinschreiben müssen.
Aber stimmt der jetzt so ?

von Teo D. (teoderix)


Lesenswert?

Felix V. schrieb:
> Naja wie wäre es denn dann richtig ?

Die BD680 mit 12V zu schalten.

von Felix V. (led35)


Lesenswert?

Das ändert der ULN2003 doch aber auch nicht, der schleift doch nur GND 
durch oder?

von Stefan F. (Gast)


Lesenswert?

Felix V. schrieb:
> Genau das passiert auch bei mir, wie wäre denn jetzt ein richtiger
> Schaltplan ?

http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf 
Kapitel 3.4.3.1

Und dann würde ich noch das Kapitel 2.2 empfehlen, für die 
grundlegendsten Grundlagen.

von (prx) A. K. (prx)


Lesenswert?

Um auch noch zur Verwirrung beizutragen: Für mich sieht es jetzt richtig 
aus. Arno hatte was verwechselt, was er ja auch korrigierte.

: Bearbeitet durch User
von Felix V. (led35)


Lesenswert?

Vielen vielen Dank,

ich probiere die Schaltung mit dem ULN2003 mal aus. Danach werde ich 
eine Rückmeldung in dem Post geben.

An alle ein schönes Weihnachtsfest und guten Rutsch.
Sorry für Grundlagenerklärungen, nur sowas lernt man nicht in der 
Oberstufe.

von Stefan F. (Gast)


Lesenswert?

Felix V. schrieb:
> Das ändert der ULN2003 doch aber auch nicht, der schleift doch nur
> GND durch oder?

Der Schaltungsvorschlag mit dem ULN2003 entspricht im Grunde dem Kapitel 
in meinem Buch. Schau Dir beides an, die parallelen sollten erkennbar 
sein.

Der Ausgang des ULN2003 kann bei High Pegel locker auf 12V hoch gezogen 
werden. Seine Ausgangstransistoren vertragen sogar noch viel mehr 
Spannung.

Der Ausgang des Mikrocontrollers kann das nicht, der macht bei VCC+0,7V 
(also etwa 5,7V) Schluss, wegen seiner ESD Schutzdioden.
https://ai2-s2-public.s3.amazonaws.com/figures/2017-08-08/59db1ff8eff571c29d50373dadbeb1fe3a171c28/1-Figure1-1.png

von HildeK (Gast)


Lesenswert?

Felix V. schrieb:
> Genau das passiert auch bei mir, wie wäre denn jetzt ein richtiger
> Schaltplan ?

Da gibt es mehrere Möglichkeiten. Ich gehe von 5V Logiksignalen aus.
Da du den BD680, Darlington, verwendest, brauchst du nur wenig 
Basisstrom - bzw. wie viel Strom spendierst du den LEDs?

1.) Man könnte die Widerstände R9-R15 hochohmiger machen und dann 
jeweils noch einen BE-Widerstand an die BD680 legen, so dass bei 5V an 
den Pinnen PIN_01-05 die BE-Spannung von rund 1V nicht überschritten 
wird, also ein Spannungsteiler. Bei LOW musst aber dann die UBE > 1.5V 
... 2V werden können. Also: R15=10k z.B., R15a = 1k8. Könnte aber 
grenzwertig werden.
Außerdem solle man noch einen Widerstand spendieren zwischen PIN_xx und 
GND, so ausgelegt, dass ohne angeschlossenen PIN_xx an dem Punkt max. 
5.5V liegen. Damit verhindert man, dass die ESD-Schutzdioden im 
PIN_xx-Ausgang den Strom auf die Versorgung des Prozessors ableiten 
müssen.

2.) man könnte in Reihe zu R9-R15 eine 8V2 Z-Diode schalten. Ein 
BE-Widerstand (10k) wäre trotzdem sinnvoll.

3.) je Kanal einen weiteren kleinen Transistor / MosFET (oder ULNxxxx), 
wie schon genannt. Die Variante invertiert zwar, aber du schreibst ja 
auch die SW selber. Auch hier wieder: einen Widerstand zwischen B und E 
des BD680 sollte man spendieren.

Bei größeren Strömen für die LEDs würde ich den BD680 durch einen 
pMOSFET ersetzen, dann ist die Variante 1 am leichtesten umzusetzen. Den 
Teiler benötigst du trotzdem, der kann aber noch hochohmiger werden und 
die Schutzdioden reichen für den Strom durch den Teiler aus.

von Felix V. (led35)


Lesenswert?

Ihr seid die Besten es funzt endlich :-)

Damit habt ihr mir ein tolles Weihnachtsgeschenk gemacht und auch vielen 
vielen Dank für eure Geduld.

@Stefanus F.

Ist im übrigen ein wirklich toll erklärtes Buch, selbst für komplette 
Anfänger und Schüler.

von Stefan F. (Gast)


Lesenswert?

Felix V. schrieb:
> Ist im übrigen ein wirklich toll erklärtes Buch, selbst für komplette
> Anfänger und Schüler.

Danke, ich freue mich über Feedback.

von Dietrich L. (dietrichl)


Lesenswert?

Stefanus F. schrieb:
> 
http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf
> Kapitel 3.4.3.1

Da fehlt meiner Meinung nach noch ein kleine Ergänzung oder zumindest 
ein Hinweis:

Wenn der PNP-Transistor vollständig und schnell abschalten soll, wird 
noch ein Basisableitwiderstand zwischen Basis und Emitter des 
PNP-Transistors BC327 benötigt.
Andernfalls steuert im abgeschaltetem Zustand der Kollektor-Reststrom 
des NPN-Transistors BC337 den PNP etwas an und wird von ihn entsprechend 
verstärkt. Ob dieser Strom am Ausgang dann stört hängt natürlich von der 
Last ab.
Und wenn man schnell abschalten muss (z.B. beim schnellen multiplexen) 
ist dieser Widerstand auch notwendig oder zumindest sinnvoll, um die 
Basis schneller auszuräumen.

von Stefan F. (Gast)


Lesenswert?

Wenn man zu viele Hinweise hin schreibt, überfordert es die Zielgruppe. 
Irgendwo in der Nähe dieses Kapitels habe ich darauf hingewiesen, dass 
diese Schaltungen nur für geringe Frequenzen geeignet sind und dass man 
für PWM besser richtige Treiber verwenden soll.

von HildeK (Gast)


Lesenswert?

Felix V. schrieb:
> Ihr seid die Besten es funzt endlich :-)
>
> Damit habt ihr mir ein tolles Weihnachtsgeschenk gemacht und auch vielen
> vielen Dank für eure Geduld.

Ein Weihnachtsgeschenk könntest du uns auch machen: den Plan, wie die 
funktionierende Schaltung jetzt aussieht :-).

von Felix V. (led35)


Lesenswert?

Aber klar doch, das ist die oben hinterlegte Schaltung 02.

Frohes Fest

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.