www.mikrocontroller.net

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


Autor: groovie (Gast)
Datum:
Angehängte Dateien:
  • preview image for ww.JPG
    ww.JPG
    13,8 KB, 2178 Downloads

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es irgendwo ein Datenblatt vom ULN2008 ?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: juppi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Groovie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: groovie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.


???

Autor: groovie (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
mist, bild vergessen.

Autor: groovie (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 ? :-)

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kurt Bindl (kurt-b)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: i5009 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kurt Bindl (kurt-b)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven P. (haku) Benutzerseite
Datum:

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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder stat den überteurten PCF bautein nen HC595 oder 4094 ...

Autor: Kurt Bindl (kurt-b)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...?!

Autor: Kurt Bindl (kurt-b)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: groovie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

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

Autor: juppi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Groovie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg T. (brause)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: groovie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.