Forum: Mikrocontroller und Digitale Elektronik ULN2008 kein vernünftiger high pegel


von groovie (Gast)


Angehängte Dateien:

Lesenswert?

hallo,

ich wollte nur eine led ansteuern. dazu habe ich einen uln2008 genommen. 
funktioniert. dann musste ich die schaltung ändern. wenn am uln2008 ein 
high am eingang anliegt dann wird ja der ausgang auf masse geschaltet. 
ich brauchte eine negation. also habe ich einen transistor 
dahintergeschaltet. siehe bild.

eigentlich sind 7 leds von static relais dran am uln2008
der uln2008 wird über einen pcf8574 i2c expander angesteuert. das 
problem nachdem die umfangreiche leiterplatte fertig und bestückt war. 
ich stelle fest, daß der pcf8574 bei power on reset alle eingänge auf 
high schaltet. das wiederum schaltet den uln2008 und zieht den ausgang 
auf masse. das schaltet das dahinterliegende static relais welches dann 
noch an plus liegt.

also wenn ich mein gerät einschalte gehen alle an den static relais 
angeschlossenen sachen an. nur kurz weil dann der µc alle ausgänge des 
pcf8574 auf null schaltet.

das wollte ich weghaben ohne die leiterplatte groß zu ändern.

also habe ich zwischen uln 2008 und den static relais einen hexinverter 
7406 geschaltet mit open collector und pullup widerstand. geht. sind 
aber nur 6 inverter drin also habe ich das siebte so wie im bild über 
einen transistor invertieren wollen.

nur die transistorstufe funzt alleine mit 5vf high und 0v low pegel. am 
uln dran gehts nicht mehr.

ich denke, daß der high pegel (gemessen auch nur ca 0.6v) zu wenig ist. 
ich habe aber keine idee wie ich den "normalisiere".

so was banales eigentlich, bin aber echt am verzweifeln.

gruß, uwe.

von Benedikt K. (benedikt)


Lesenswert?

Gibt es irgendwo ein Datenblatt vom ULN2008 ?

von Michael U. (amiga)


Lesenswert?

Hallo,

noch banaler wäre es eigentlich, in die Datenblätter der ICs zu 
schauen...

Der 2008 ist ein Treiber mit OpenCollektor-Ausgängen, der eine Last mit 
max. 500mA gegen GND schalten kann. Dafür wurde er entwickelt.

Folgerichtig gibt es keinen H-Pegle am 2008.
Wenn Du das unbedingt so machen mußt, dann passenden Basiswiderstand 
gegen + und der 2008-Ausgang wird ihn artig auf L ziehen können.

Der 7406 hat übrigens keine Freilaufdioden drin, falls Du die des 2008 
benutzt hast, muß Du den Relais jetzt selber welche spendieren.

Ich hätte da wohl lieber Inverter vor den 2008 reingebastelt...

Gruß aus Berlin
Michael

von Christian (Gast)


Lesenswert?

mhhh - ich kenne nur den ULN2003 und ULN2004 und die ziehen die 
ausgangspegel auf high, wenn am eingang high anliegt...

So komische high pegel von 0,x V hatte ich, als ich so nen Chip mal 
durch Überspannung oder Verpolung zerstört hatte.

Christian

von Gast (Gast)


Lesenswert?

Der ULN2008 hat wahrscheinlich einen Open Colektor Ausgang.

Abhilfe: Am Ausgang vom ULN2008 einen Pull-Up-Widerstand legen,

R ca. 20 mal R(Last).

von juppi (Gast)


Lesenswert?

Hallo

>auf masse. das schaltet das dahinterliegende static relais welches dann
>noch an plus liegt.

Sperre den Plus bei Reset und Einschalten des Gerätes.

sehr wenig Änderung weil kleine zusatzbaugruppe

MfG

von Benedikt K. (benedikt)


Lesenswert?

Christian wrote:
> mhhh - ich kenne nur den ULN2003 und ULN2004 und die ziehen die
> ausgangspegel auf high, wenn am eingang high anliegt...

Nein. Die ziehen den Ausgang auf Low. Ich denke auch das genau das hier 
das Problem ist, aber ohne Datenblatt kann man nur raten.

von crazy horse (Gast)


Lesenswert?

die ziehen gar nix auf high, höchstens die externe Last tut das. Glaub 
es einfach, ist so.
Der Ausgang kann nur STrom aufnehmen (sink-driver), ergo kannst du auch 
keinen weiteren npn damit ohne pullup ansteuern.

von Michael U. (amiga)


Lesenswert?

Hallo,

@Benedikt K.: so richtig erreichbar wohl nicht.
Meist wird er als ULN2003 "gehandelt", manchmal als ULN2803...

Von der grundsätzlichen Funktion also wohl identisch und die eventuellen 
Unterschiede dürften für obiges Problem keine Rolle spielen.

Gruß aus Berlin
Michael

von Benedikt K. (benedikt)


Lesenswert?

Wenn das also ein 2803 ist, dann ist das nicht viel mehr als ein NPN 
Transistor. Also nix Highpegel, nur Low, da Open Collector.

von Thomas (Gast)


Lesenswert?

>mhhh - ich kenne nur den ULN2003 und ULN2004 und die ziehen die
>ausgangspegel auf high, wenn am eingang high anliegt

falsch: der ULN2003 und 2004 sind einfache Transistor Arrays.
Bei High Pegel schalten die Transistoren durch (nach GMD).
Datenblatt lesen und verstehen hilft!

Thomas

von Groovie (Gast)


Lesenswert?

hallo,

danke der vielen antworten.

sorry, ich hatte mich vertippt. es ist kein uln 2008 sondern
ein uln2803.



den plus zu sperren klingt auch interresant während 
einschalt/resetvorgang.

probiert hate ich den basiswiderstand weg. als basiswiderstand(pullup) 
2200ohm
von plus an die basis.

ergebnis sehr unstabil. mal gehts mal nicht.

warum kommt eigentlich der 7406 damit klar? der brauch doch auch einen 
high pegel.

ich habe die anderen ausgänge direkt mit den eingängen des 7406 
verbunden. die ausgänge des 7406 gehen an pullup widerstand 4,7Kohm an 
plus 5V und an die leds(der static relais) über vorwiderstand 330ohm an 
plus 5v.

von groovie (Gast)


Lesenswert?

wenn das sozusagen nicht mehr ist als ein oc npn dann

könnte man doch einfach das machen ? siehe bild?

brauche ich doch nicht noch einen transistor anbringen

und den 7406 kann ich auch raushauen.


???

von groovie (Gast)


Angehängte Dateien:

Lesenswert?

mist, bild vergessen.

von groovie (Gast)


Angehängte Dateien:

Lesenswert?

sehe gerade, dann ist bei high pegel die led an, muss aber aus sein.


also doch transistor oder/und 7406 dran.



jetzt habe ich das probiert siehe bild


nach dem reset(mit high pegel am uln) ist sofort die led an.
ein low pegel am uln aendert auch nix.


dann habe ich die prüfspitze vom oszi zwischen R und basis T geklemmt.
da ist (bei high pegel noch an uln) die led sofort ausgegangen und ich 
konnte sie mit low pegel am uld prima einschalten. mache ich die 
prüfspitze ab gehts nicht mehr nur dauer AN. ich kann doch nicht die 
prüfspitze vom oszi mit in das gerät einbauen ? :-)

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Erm sorry aber das is totaler Kaese was Du da machst... schau Dir das 
Datenblatt an! Und was soll der externe Transistor? Wenn Du Dir ne LED 
schalten willst is das sowieso alles overkill.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Noch nen Tip: Hier duerfte es zahlreiche Artikel und auch Beitraege zum 
Thema geben. Ausserdem wurde doch oben schon mehrfach geschrieben dass 
Du mit nem 2803 nur gegen Masse schalten kannst.

von Kurt B. (kurt-b)


Lesenswert?

groovie wrote:
> sehe gerade, dann ist bei high pegel die led an, muss aber aus sein.
>
>
> also doch transistor oder/und 7406 dran.
>
>
>
> jetzt habe ich das probiert siehe bild
>
>
> nach dem reset(mit high pegel am uln) ist sofort die led an.
> ein low pegel am uln aendert auch nix.
>
>
> dann habe ich die prüfspitze vom oszi zwischen R und basis T geklemmt.
> da ist (bei high pegel noch an uln) die led sofort ausgegangen und ich
> konnte sie mit low pegel am uld prima einschalten. mache ich die
> prüfspitze ab gehts nicht mehr nur dauer AN. ich kann doch nicht die
> prüfspitze vom oszi mit in das gerät einbauen ? :-)

Warum denn vom Rücken durch die Brust.
Es ist doch der Baustein der den 2803 ansteuert der Bösewicht.
Was solls da noch bringen wenn du dahinter allerlei Klimmzüge machst.
Einfach verhindern das die LED Saft haben solange der I2C nicht ferfig 
gesetzt ist und schon ist der Spuk vorbei.

Ein kleine "Zeit" oder ein zusätzlicher Ausgang vom Prozessor welche die 
Versorgung für die LED schaltet reicht aus.

BC327 und zwei Widerst.


Kurt

von ... (Gast)


Lesenswert?

am besten du siehst dir das mal woanders an.
zb. bei ulrich,  da wird wohl auch ein uln verwendet.

http://www.ulrichradig.de/home/index.php/avr/usb-relaiskarte

von i5009 (Gast)


Lesenswert?

Ein Pull-down Widerstand (47k) am EINGANG des ULN2803 hält dessen 
Ausgang solange auf "nichtdurchgeschaltet", bis ein definierter 
HighPegel von der davorhängenden Elektronik ausgegeben wird - also für 
die Zeit des Resets.

von Kurt B. (kurt-b)


Lesenswert?

i5009 wrote:
> Ein Pull-down Widerstand (47k) am EINGANG des ULN2803 hält dessen
> Ausgang solange auf "nichtdurchgeschaltet", bis ein definierter
> HighPegel von der davorhängenden Elektronik ausgegeben wird - also für
> die Zeit des Resets.

Das "Problem" ist doch das eine satte Eins ankommt solange der I2C nicht 
gesetzt wurde.
Was soll da ein Ableitwiderstand bringen?
Ausserdem ist der ja sowieso schon vorhanden

3k von Gnd zur Basis des Powertransistors, von da ein 7,2k zur Basis des 
Treibertransistors.
Ein 2,7k bildet den Strombegrenzerwiederstand, die Kombination der 
Widerstände stellt die Schwellenspannung ein.

http://www.onsemi.com/pub_link/Collateral/ULN2803-D.PDF

Blatt 4


Kurt

von Sven P. (Gast)


Lesenswert?

Nur so zu meinem eigenen Verständnis: Welchen Sinn genau ergibt es, 
hinter ein Transistorarray noch einen Transistor zu schalten...?

von crazy horse (Gast)


Lesenswert?

und die allereinfachste Lösung: UDN2595 statt 2803 einsetzen. Pinout 
passt fast (nur 5V müssen noch dran).
Ausgang L-Aktiv, wenn Eingang aktiv L.
Und weg das ganze Gerassel drumherum :-)

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Oder stat den überteurten PCF bautein nen HC595 oder 4094 ...

von Kurt B. (kurt-b)


Lesenswert?

Sven Pauli wrote:
> Nur so zu meinem eigenen Verständnis: Welchen Sinn genau ergibt es,
> hinter ein Transistorarray noch einen Transistor zu schalten...?

Eigentlich keinen, es sei denn man will (muss) das Signal nochmal 
umdrehen.


Kurt

von Sven P. (Gast)


Lesenswert?

Kurt Bindl wrote:
> Sven Pauli wrote:
>> Nur so zu meinem eigenen Verständnis: Welchen Sinn genau ergibt es,
>> hinter ein Transistorarray noch einen Transistor zu schalten...?
>
> Eigentlich keinen, es sei denn man will (muss) das Signal nochmal
> umdrehen.

Wärs dann net irgendwie sinnvoller, das Signal am Eingang des Arrays 
umzudrehen? Sonst hab ich schon mein Array mit "Leistungs"-Transen und 
klemm dahinter noch eine Leistungstranse...?!

von Kurt B. (kurt-b)


Lesenswert?

> Wärs dann net irgendwie sinnvoller, das Signal am Eingang des Arrays
> umzudrehen? Sonst hab ich schon mein Array mit "Leistungs"-Transen und
> klemm dahinter noch eine Leistungstranse...?!

Sicherlich, noch dazu geht das per SW.

Kurt

von groovie (Gast)


Lesenswert?

natürlich wäre es am einfachsten eine neue leiterplatte zu machen und 
die signale gleich am anfang zu drehen.

aber sie ist groß und umfangreich.

das der eindruck entsteht es wird über i2c und einem uln nur eine led 
geschaltet kann sein. ich habe aber nur einen ausschnitt des problems 
beleuchtet der momentan relevant ist und vereinfacht.

ich wollte die leiterplatte nicht nocheinmal umdesignen und suche eine 
unkomlizierte lösung. daher ist es egal ob ein transistor noch einen 
transistor schalten soll.

der beste eingriffspunkt ist eine flachbandkabelverbindung von der 
steuerplatine zur gesteuerten platine. die verbindung ist dann 
vereinfacht gesagt vom uln zu den leds die an plus liegen.

das flachbandkabel soll unterbrochen werden und dazwischen soll eine 
platine die den job erledigt. denn noch "zehn" leitungen unten an die 
platte oder an die chips zu löten und zich kreuzverbindungen zu 
erstellen bin ich kein fan von.

wirklich interresant wäre vom µC explizit die "plus"-verbindung, die 
auch über das flachband kommt zu oder abzuschalten. allerdings müßte man 
dafür wirklich eine leitung vom port auf die zusatzplatine ziehen.

wie gesagt. ziemlich banal. der hexinverter machts problemlos. da ich 
leider 7 signale negieren muss fehlt mir eine idee für das 7. signal. 
noch einen hexinverter zu integrieren halte ich dann doch für zuviel. 
das muss doch auch irgendwie diskret gehen.

von Michael U. (amiga)


Lesenswert?

Hallo,

wenn Du das schon unbedingt so machen willst, warum nicht einfach einen 
2. ULN2803 dahinter? Ausgang an Eingang, Verbindung per PullUp so um 
1-5k nach + und fertig. Wenn Du für die Widerstände dann noch ein 8x3,3k 
SIL-Array nimmst ist nichtmal viel zu löten...

Gruß aus berlin
Michael

von crazy horse (Gast)


Lesenswert?

Warum liest du nicht richtig? Mit dem ULN2595 brauchst du fast nichts zu 
ändern, austauschen - gut ist.

von juppi (Gast)


Lesenswert?

Hallo

"Viel Lärm um Nichts"

ULN 2803 wenn nicht auf Sockel, danN setzen.

Jetzt kannste alles über die Fassung Adaptieren und Testen.
Wurde früher ständig gemacht, aber auch heute noch.

MfG

von Groovie (Gast)


Lesenswert?

das dumme, den habe ich als smd draufgelötet, den uln 2803.


hallo michael,

das klingt gut. das werde ich gleich mal testen. ist zwar pure 
verschwendung aber sehr simpel zu lösen.

crazyhorse, udn2595 auch gute idee. wo bekommt man den ? bei reichelt 
finde ich nix. gibts auch sowas von texasinstruments?

von crazy horse (Gast)


Lesenswert?

ne, aber bei mir :-)
Stammen noch aus der Zeit, als ich viel mit den 51gern gemacht habe, die 
internen pullups steuerten im Reset-Zustand des MC alle Lasten an - das 
ist nicht immer gewollt:-)
Heute setze ich sie hauptsächlich wegen der wesentlich geringeren 
Sättigungsspannung ein, ist eben kein Darlington im üblichen Sinn.
Sind mittlerweile schwierig zu bekommen, Allegro hat die Produktion 
eingestellt, soweit ich weiss ersatzlos.
Aber es gibt noch genug davon, und ich habe auch noch paar 100 Stk.

von Jörg T. (brause)


Lesenswert?

Hallo,

habe derzeit das gleiche Problem und bin noch auf den HC640 gestoßen, 
ist aber etwas mehr als ein Inverter (Bus-Transceiver). Vielleicht wäre 
das noch etwas.

Aber die Lösung einfach noch einen 2. ULN2803 zu nehmen, finde ich noch 
am praktischsten, zumal die natürlich auch billiger sind.

Die Spannung vom µC erst nach dem "Hochfahren" freizuschalten ist auch 
aufwendig und in meinen Augen nur ein Workaround. Die Schwäche des PCF 
zu kompensieren sollte nicht die Aufgabe des µC sein. Die Relaiskarte 
kann ja auch örtlich weiter entfernt sein und mit einer zusätzlichen 
Schaltleitung für das Versorgungsrelais ist das dann kein I2C/TWI mehr.

Eine andere Lösung (für mich) wäre noch statt des PCF einfach auch via 
I2C einen kleinen Atmega zu verwenden, der zudem noch billiger ist. Aber 
ich habe jetzte die PCF's gekauft und will damit rumspielen.

Grüße
Jörg

von groovie (Gast)


Lesenswert?

vielen dank allen erstmal fuer die beitraege.

hatte ziemlich viel zu tun, das projekt lag ein bischen auf eis ist 
abernoch aktuell. nachdem ich ein paar sachen ausprobiert habe melde ich 
mich hier wieder.

groovie

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.