Forum: Mikrocontroller und Digitale Elektronik Auf externen Pullup verzichten durch internen ersetzen?


von Sven (Gast)


Lesenswert?

Hallo,

ich habe folgendes vor:
Ich habe eine Schaltung auf TTL-Pegel, deren Zustand ich einlesen 
möchte.
Standard ist die Schaltung auf 0V GND. Ich möchte den Zustand einlesen, 
wenn die Schaltung auf 5V umschaltet.

Die erste Idee war:
externer Pulldown-Widerstand an den Eingang des µCs und den Pin 
Abfragen, ob er HIGH wird.

Nun war mein Gedanke, ob ich auf den externen Pulldown Widerstand nicht 
verzichten könnte, den internen Pullup aktivieren und dann abfragen oder 
kann das Probleme machen?

VG
Sven

von Achim M. (minifloat)


Lesenswert?

Sven schrieb:
> externen Pulldown Widerstand nicht
> verzichten könnte, den internen Pullup aktivieren

Du willst einen Pulldown durch einen Pullup ersetzen, ohne die Logik 
zu invertieren? Das geht nicht.

Oder willst du nur bei nichtangeschlossener externer Schaltung für 
definierte Verhältnisse sorgen? Dann kannst du das gern so machen, falls 
keine Spezifikation für Nichtangeschlossensein der externen Schaltung 
existiert(scheint mir aber nicht so).

Die MSP430 von TI können, soweit ich weiß, auch interne Pulldowns 
schalten.
Welchen Controller benutzt du?

mfg mf

von Volker S. (volkerschulz)


Lesenswert?

Sven schrieb:
> [...]
> kann das Probleme machen?

Nicht wenn Du auch Deine Abfrage "invertierst". ;)

Volker

Edit: Da war jemand schneller als ich...

von Sven (Gast)


Lesenswert?

Achso ganz vergessen. Benutze einen 8-bit AVR (Tiny13).
Klar, die Abfrage muss dann invertiert erfolgen, logisch. Aber kann sich 
das auf die Schaltung auswirken die ich einlesen will? Oder ist das bei 
dem geringen Strom der über die Pullups rinnt gleichgültig?

von Achim M. (minifloat)


Lesenswert?

Volker Schulz schrieb:
> war jemand schneller

Nicht ganz richtig, u beleuchtest genaugenommen einen ganz anderen 
Aspekt.

Es gibt bei beiden Varianten 3 Fälle:
a) Externe Schaltung verbunden, 0V
b) Externe Schaltung verbunden, 5V
c) Externe Schaltung nicht verbunden

Bei 'Pullup'   kannst du b) und c) nicht unterscheiden.
Bei 'Pulldown' kannst du a) und c) nicht unterscheiden.

Nun kann der TO entscheiden, was besser ist. Oder eine "externe 
Schaltung vorhanden" - Überprüfung mit einbauen.

mfg mf

von Volker S. (volkerschulz)


Lesenswert?

Sven schrieb:
> [...] Oder ist das bei
> dem geringen Strom der über die Pullups rinnt gleichgültig?

Das wuerde ich doch mal stark annehmen. Definitiv koennen wir ohne Deine 
Schaltung zu kennen aber nur raten... ;)

Volker

von Sven (Gast)


Lesenswert?

Die Schaltung kenne ich im Detail selbst nicht.
Die Schaltung schaltet eine Kontrollleuchte im Auto Cockpit. Da ich 
wissen muss, wann die Leuchte angeht (um etwas zu schalten) , wollte ich 
dies abfragen.
Gemessen habe ich, wenn die Leuchte angeht 4,7V und aus 0,4V, als 
TTL-Pegel.
Aber danke, ich werde es mal mit internem Pullup versuchen.

von Achim M. (minifloat)


Lesenswert?

Ist die externe Schaltung überhaupt trennbar?

Wenn du eine schaltungserkennung per ADC haben willst:

Teile die Versorgungs-Spannung des Tiny13 reht hochohmig 1:1 und führe 
das an den ADC-Pin. Dieser ADC-Pin ist dann auch gleich der Sense-Pin 
für die 0V/5V.

Wenn du mit dem ADC hier ungefähr VCC/2 misst, dann ist die externe 
Schaltung wohl nicht dran. Ansonsten misst man hier wohl irgendwas um 
die 0V oder 5V.

Wenn nur bei 5V, nicht aber bei 0V was passieren soll, würde ich eher 
einen Pulldown spendieren. 68k oder irgendwas anderes in Größenordnung 
der internen Pullups(die dann aber aus bleiben!).

mfg mf

von Achim M. (minifloat)


Lesenswert?

Sven schrieb:
> im Auto Cockpit

Sven schrieb:
> Gemessen habe ich, wenn die Leuchte angeht 4,7V und aus 0,4V

Örks, im Auto...

Mach da lieber noch einen 10k-Widerstand in Serie zum Pin und so 10nF 
bis 47nF oder so parallel zu Pin und AVR-Masse(RC-Filter, vllt. sogar 
noch eine 5,1V Z-Diode parallel zum C dazu). Störungen sind im Auto 
Alltag.

Betriebsspannung des Tiny auch gut entkoppelt?

mfg mf

von Sven (Gast)


Lesenswert?

Ja, Betriebsspannung habe ich entkoppelt. Ok, ich werde es mal 
versuchen. Besten Dank für die Unterstützung.

von Volker S. (volkerschulz)


Lesenswert?

Sven schrieb:
> Die Schaltung kenne ich im Detail selbst nicht.
> Die Schaltung schaltet eine Kontrollleuchte im Auto Cockpit. Da ich
> wissen muss, wann die Leuchte angeht (um etwas zu schalten) , wollte ich
> dies abfragen.
> Gemessen habe ich, wenn die Leuchte angeht 4,7V und aus 0,4V, als
> TTL-Pegel.
> Aber danke, ich werde es mal mit internem Pullup versuchen.

Moooment, zwischen was und Leuchte (aus) misst Du denn 0,4V? Das klingt 
fuer mich nicht wirklich nach 5V // GND sondern nach 5V // hochohmig... 
Da bringt der interne Pullup dann nix. ;)

Volker

von Jobst M. (jobstens-de)


Lesenswert?

Sven schrieb:
> Gemessen habe ich, wenn die Leuchte angeht 4,7V und aus 0,4V, als
> TTL-Pegel.

Wie kommst Du auf die Idee, einen Pullup oder Pulldown zu benötigen?
Die Lampe erledigt das schon!

Mini Float schrieb:
> Mach da lieber noch einen 10k-Widerstand in Serie zum Pin und so 10nF
> bis 47nF oder so parallel zu Pin und AVR-Masse(RC-Filter, vllt. sogar
> noch eine 5,1V Z-Diode parallel zum C dazu).

So würde ich das auch tun. Und über Pullup/down würde ich erst mal gar 
nicht nachdenken.


Gruß

Jobst

von Volker S. (volkerschulz)


Lesenswert?

Jobst M. schrieb:
> Sven schrieb:
>> Gemessen habe ich, wenn die Leuchte angeht 4,7V und aus 0,4V, als
>> TTL-Pegel.
>
> Wie kommst Du auf die Idee, einen Pullup oder Pulldown zu benötigen?
> Die Lampe erledigt das schon!

Wenn die gemessenen 0,4V auch wirklich 0,4V zu Masse waren. Apropos 
Masse: AVR und das TTL-Signal muessen natuerlich auf der selben liegen. 
Ich erwaehne das nur weil ich in diesem Forum schon Pferde vor der 
Apotheke habe kotzen sehen und weil der Begriff "AVR-Masse" fiel.


> Mini Float schrieb:
>> Mach da lieber noch einen 10k-Widerstand in Serie zum Pin und so 10nF
>> bis 47nF oder so parallel zu Pin und AVR-Masse(RC-Filter, vllt. sogar
>> noch eine 5,1V Z-Diode parallel zum C dazu).
>
> So würde ich das auch tun. Und über Pullup/down würde ich erst mal gar
> nicht nachdenken.

Ich wuerde optokoppeln, dann wieder ueber den Pull-Up nachdenken aber 
ueber den Rest nicht. ;)

Volker

von Sven (Gast)


Lesenswert?

Also die 0,4V und 4,6V habe ich gegen (Fahrzeug-)Masse gemessen, wo ich 
später den AVR auch anschließen will.

von Volker S. (volkerschulz)


Lesenswert?

Sven schrieb:
> Also die 0,4V und 4,6V habe ich gegen (Fahrzeug-)Masse gemessen, wo ich
> später den AVR auch anschließen will.

Ich wundere mich halt ueber die 0,4V, weil Du schriebst:

Sven schrieb:
> [...]
> Standard ist die Schaltung auf 0V GND. Ich möchte den Zustand einlesen,
> wenn die Schaltung auf 5V umschaltet.
> [...]

Und 0,4V gegen GND ist halt nicht GND. ;)

Nun koennte es sich um echte TTL-Pegel gegen GND handeln, oder Deine 
Messpunkte (0,4 und GND) liegen tatsaechlich auf einer Masse aber so 
weit auseinander, dass Du irgendeine Spannung messen konntest oder aber 
der Pegel ist 5V und hochohmig, wobei die 0,4V dann eher ein 
Zufallsprodukt des Multimeters waeren. Dies gilt es herauszufinden, denn 
in letzterem Falle braeuchtest Du einen externen Pull-Down.

Bei der Gelegenheit koenntest Du natuerlich auch herausfinden wie 
belastbar die 5V sind und im Zweifel mit einem Optokoppler galvanisch 
trennen...

Volker

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.