mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ULN2803 an AVR: Pullup nötig?


Autor: Markus Oberschaetzl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi leute,

ich möchte einen ULN2803 Treiberbaustein an den AVR AT90S2313
anschalten, da ich einige LEDs ansteuern will die mehr als die 20mA
ziehen. Der Baustein bietet sich meiner Meinung auch deshalb an, da er
8 Treiber besitzt, andere weniger (brauche auch genau 8 Stück).

Ich brauche dazu sicher Pullup-Widerstände oder, um die Datenleitungen
zw. AVR und ULN gegen +5V zu ziehen, oder?


Wollte sicherheitshalber nachfragen, da  ich in Sachen "Bussen und
so" ein Neuling bin.

Besten Dank schon mal,

viele Grüße Markus.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
brauchst du nicht.

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum nimmst Du nicht LowCurrent-LEDs die brauchen nur 2mA.
Ferner kann jeder Port 40mA sourcen und 200mA sinken.
Siehe Datenblatt "Electrical Characteristics"

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wann ist denn überhaupt ein Pullup nötig? So allgemein gefragt!

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ben:
Woher nimmst Du diese Werte?

Ich lese aus dem Datenblatt des 2313 eigentlich, daß jeder Pin 20mA
(absolutes Maximum: 40mA) sinken und 3mA sourcen kann. Alle I/O-Pins
zusammen dürfen nicht mehr als 200mA sinken.

Markus

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas

Ich versuch mal ne einfache Antwort (Is nicht meine stärke.)

Pullupwiderstände (Oder auch Pulldown.Es gibt beide Varianten aber P-Up
ist häufiger vertreten) braucht man gewöhnlich wenn ein Ausgang nur
einen Transistor hat der den Ausgang gegen Masse zieht.

Das heißt das bei Leitendem Transistor der Ausgang gegen masse gezogen
wird und eine Saubere Elektrische "0" bildet.

Bei  gesperrtem Transistor liegt der ausgang dann aber "quasi" in der
Luft und bildet dann keinen Definierten Pegel.
Er ist dann also "Hochohmig"

Der Widerstand zur Versorgungsspannung sorgt dafür das in diesem Falle
das Potential gegen die Versorgungsspannug gezogen wird.

Er wirkt also wie eine Rückholfeder bei einem Relais die die Mechanik
immer sicher in Grundposition bringt wenn der Magnet nicht aktiv ist.
Dabei darf die Feder natürlich nicht stärker sein als der Magnet.

Das gleiche gilt für den Pullupwiderstand.
Ers sollte für Stabile verhältnisse sorgen.
Ist er zu kleine dann fließt nur ein unnötig hoher Strom der im
Widerstand in Wärme umgesetzt wird.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hoch sollte der Widerstand sein?

reichen 4700Ohm.

Wenn ich einen Pullupwiderstand jetzt auf eine Leitung lege, der sagen
wir mal zwischen uC und einem anderen Digitalen Baustein liegt, wie
kann ich dann noch digital 0 (0V) senden, wenn doch der Pullup ständig
das andere Bauteil auf logisch eins(5V) hält???

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Transistor ist im durchgeschaltetem Zustand viel niederohmiger als
der Widerstand und kann so den Pegel runterziehen.

Im Beispiel mit dem Relais ist der Elektromagnet stärker als die
Rückholfeder.

Wie groß der Widerstand sein soll darüber kann man vortrefflich
streiten.

Angesichts des möglichst niedrigen Stromverbrauchs sollte er so klein
wie nötig und so groß wie möglich sein plus einer Sicherheitsreserve.

Mit deinen 4.7KOhm biste schon ganz gut dabei.

Je nach schaltung kann man den Bereich irgendwo zwischen 1-10K Ohm
ansetzen.

Probiers erstmal mit den 4.7k das wären dann bei einer 0 ca 1mA an
Strom.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kommt auf den MC an, beim AVR ist definitiv kein Pullup nötig, da die
Ports als Ausgang totem-pole-Stufen haben, dementsprechend auch bei
H-Signal Strom liefern.
Anders sieht es beim 8051 aus, dort sind die Ausgänge nur als
open-collector/drain mit relativ hochohmigen internem pull-up
ausgeführt. Das reicht dann nicht, um an externe Bauteile bei H-Pegel
Strom zu liefern.

Autor: TOM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@all,

habe diesen etwas verstaubten Thread gefunden und hätte nun noch einige
Fragen.
Ich habe gerade ein Board gebaut das ein Evaluierungsboard mit der
Hardware verbinden soll.
Das Evaluierungsboard hat einen 80C517A als uC.
Da ich einige LED anseuern will und ausserdem noch ein Funksignal
abfrage habe ich als Treiberbausteine den ULN2803 verwendet.
Das Funksignal lese ich über Port 1 ein P1.0 u. 1.1 und zusätzlich ein
DCF-77 Sig an P1.3 und 1.5.
Ich habe jeweils einen ULN2803 an den Ports 1,4 und 5.
Jeder Portpin ist einzel mit einem 4,7kOhm Pullup Widerstand an Vcc
gezogen.
Verbind ich nun nur Port 1 mit der Hardware, kann ich die Signale ohne
Probleme auslesen etc.Habe hier auch schon Langzeitmessungen gemacht
ohne Probleme.
Verbinde ich nun Port 4+5 des uC mit den Pullup Widerstanden und der
Eingänge der ULN2803 kann ich fast keine Signale der Sensoren über Port
1.0+1.1 nehr erkennen.
Sind meine Pullups zu gross?
Gibt es hierzu Richtwerte?

Danke!!!!!  :-)

Thomas

Autor: Vladimir (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für ULN2803 brauchst du keine pullup Widerstande, und nicht vergessen uC 
Pins als Ausgang configurieren!

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Controller gibt entweder Hi- oder Lowpegel aus, genau das, was der 
ULN2803 will. Du braucht keine Pullups.
Zu pullups hat Ratgeber schon einen Roman geschrieben den ich recht 
passend finde.
Pullups / pulldowns werden nur dann gebraucht wenn ein Pegel fehlt.

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.