Hallo, kann mir jemand sagen, wie die Impedanz von einem auf Input geschalteten GPIO-Pin ist?? Irgendwie habe ich gerade ein Brett vor dem Kopf... Wenn ich einen Eigang mit 3,3V ansteuere, kann ich die 1 problemlos auslesen, aber wenn ich eine Quelle mit 5V habe und einen Spannungsteiler hinbaue, kommt immer nur eine 0 an. Ist so ein Pin so ein Stromfresser? Oder habe ich -- wahrscheinlicher... -- das mit den Pull-ups und Pull-downs nicht verstanden? Also, um das mal noch bissel näher zu beschreiben, ich stecke die simpelste Standardbeschaltung eines astabilen Flipflops mit einem NE555 zusammen, so ungefähr auf 1 Hz. Wenn ich den NE555 mit den 3,3V vom GPIO bestücke und den Ausgangspin direkt zurück auf einen GPIO-Pin verdahte, funzt alles wie gewollt. Nun wollte ich wegen meiner eigentlichen Ideen den NE555 mit 5V bevolten und den Ausgangspin mit einem Spannungsteiler (also nix weiter als 2 Widerstände) auf 3,3V runterpegeln -- in der Annahme, dass ein GPIO-Pin recht hochohmig ist. Aber Pustekuchen! Jetzt stecken schon kOhm-Widerstände im Brett, und es kommt immer noch 0 bei raus. Wieviel Ampere frisst so ein GPIO-Eingang denn bitte?? LG Carsten PS: Auch wenn das nicht so wirklich korrekt ist, meine ich mit Impedanz das ganze Gedöns aus Ohm, Farad, Henry, also den komplexen Widerstand.
:
Bearbeitet durch User
Hallo, > Carsten P. schrieb: > kann mir jemand sagen, wie die Impedanz von einem auf Input geschalteten > GPIO-Pin ist?? Prozessoren gibt es wie Sand am Meer und bei den Eigenschaften der Pins gibt es sehr viele Varianten. Normal ist es eher recht hochohmig. Kann aber auch sein, dass GPIO-Pins Pullup-R oder Pulldown-R integriert haben oder auch ganz spezielle (exotische) Eigenschaften aufweisen. Wie das nun konkret beim RPi ist, weiß ich nicht. Ich denke aber, die sind recht normal. > Irgendwie habe ich gerade ein Brett vor dem Kopf... Wenn > ich einen Eigang mit 3,3V ansteuere, kann ich die 1 problemlos auslesen, > aber wenn ich eine Quelle mit 5V habe und einen Spannungsteiler hinbaue, > kommt immer nur eine 0 an. Und wo ist jetzt das Problem, zumindest mal statisch die Eingangsspannung zu messen? > Wenn ich den NE555 mit den 3,3V vom GPIO > bestücke und den Ausgangspin direkt zurück auf einen GPIO-Pin verdahte, > funzt alles wie gewollt. Um zu testen, ob ein Eingang einen rel. niedrigen Eingangswiderstand hat, schalte einfache einen Reihenwiderstand dazwischen (z.B. 1...10kOhm). Anhand der sich einstellen Spannungen kann man leicht abschätzen, ob und wieviel das GPIO-Pin an Strom zieht. Man kann es auch anders testen, z.B. indem man einen Widerstand (z.B. 10...100k) mal versuchsweise gegen 0V und +Vdd schaltet. Bei hochohmigen Eingängen stellen sich Eingangsspannungen nahe 0V bzw. +Vdd ein. > Nun wollte ich wegen meiner eigentlichen Ideen > den NE555 mit 5V bevolten und den Ausgangspin mit einem Spannungsteiler > (also nix weiter als 2 Widerstände) auf 3,3V runterpegeln -- in der > Annahme, dass ein GPIO-Pin recht hochohmig ist. Aber Pustekuchen! Jetzt > stecken schon kOhm-Widerstände im Brett, und es kommt immer noch 0 bei > raus. Wieviel Ampere frisst so ein GPIO-Eingang denn bitte?? Einfach mal ein Multimeter oder Oszi nehmen und messen. Kann doch nicht so schwer sein, oder? Gruß Uwi
:
Bearbeitet durch User
Hallo Uwe, ich habe extra [RPi2] ins Topic geschrieben, damit man weiß, dass ich einen Raspberry Pi 2 meine, aber okay. Jo, und was du gerade vorschlägst, habe ich gemacht. Es gibt ja einfache Einsteiger-Schaltungen für den Kollegen, wo einfach ein Taster mit Vcc und dem Eingangs-Pin beschaltet wird, ohne Vorwiderstand oder Teiler. Da habe ich mal mein Multimeter reingeklemmt und sage und schreibe 30 mA gemessen??? Das würde ja heißen, dass der Eingangspin gerade mal einen Widerstand von 100 Ohm hat? Das finde ich ziemlich... heftig... Wäre ja voll der Heizofen dann... Dann habe ich mir was anderes zusammengesteckt, habe den NE555 so gelassen wie beschrieben, also Ausgang auf das Sternchen bei GND -> -[ 1k ]- -> -|>|"- -> * -> -[ 1k ]- -> -|>|"- -> Vcc ( -|>|"- soll eine übliche rote 5mm-LED sein) Habe das Sternchen rausgeführt mit einem Vorwiderstand auf einen BC547 geschaltet, Kollektor auf Vcc, Emitter auf einen 1k-Widerstand und da wieder abgegriffen zwischen Emitter und Widerstand und auf den Pin vom RPi2, und der zieht die Spannung so in Grund und Boden... Langsam verstehe ich das nicht mehr. Kann mir vielleicht mal wer mit einem Link auf ein Skribble von so einem Eingang weiterhelfen? Die Doku zum RPi2 ist zwar ellenlang, aber so ganz eindeutig ist sie nicht, halt oft "wenn man so und so beschaltet und dann dies und das tut, kommt das dabei raus", aber keine konkreten Zahlen. Ich glaube aber nach wie vor, dass ich das mit den Pull-ups und -downs noch nicht so recht verstanden habe, wie das beim RPi geht. LG Carsten
Carsten P. schrieb: > ( -|>|"- soll eine übliche rote 5mm-LED sein) In Sperrrichtung geschalten? So würde ich jedenfalls deine ASCII-Art interpretieren. Das könnte dann auch erklären, warum kein Strom durchkommt. Carsten P. schrieb: > Habe das Sternchen rausgeführt mit einem Vorwiderstand auf einen BC547 > geschaltet, Kollektor auf Vcc, Emitter auf einen 1k-Widerstand und da > wieder abgegriffen zwischen Emitter und Widerstand und auf den Pin vom > RPi2, und der zieht die Spannung so in Grund und Boden... Mein Vorschlag: wenn du keine passende Software hast, um die Schaltung schnell mal nachvollziehbar zu zeichnen (man kann auch dafür z.B. LTSpice nutzen), dann zeichne sie doch einfach mal mit einem Stift auf ein Blatt Papier und stell ein Foto davon hier rein. Das wird die Sache sehr viel besser nachvollziehbar machen. Wenn der IO einen Emitter "in Grund und Boden" zieht, dann ist a) entweder der IO kaputt oder b) der IO doch auf Ausgang geschalten oder c) irgendwas in der Schaltung faul. Und um das zu prüfen, würde ein klarer Schaltplan helfen.
Hallo, > Carsten P. schrieb: > ich habe extra [RPi2] ins Topic geschrieben, damit man weiß, > dass ich einen Raspberry Pi 2 meine, aber okay. Darauf habe ich mich ja dann auch bezogen. Aber selbst innerhalb eines uC sind GPIO-Pins nicht alle gleich. Im Zweifel muss man immer genau die Datenblätter studieren. > wo einfach ein Taster mit Vcc und dem Eingangs-Pin beschaltet > wird, ohne Vorwiderstand oder Teiler. Da sollte man zumindest bei Bastelschaltungen vorsichtig sein. Zumindest ein kleiner Reihenwiderstand mit z.B. 100 Ohm schützt vor direktem Kurzschluss. So mancher uC nimmt einen Kurzschluss an Pins sehr übel. > habe ich mal mein Multimeter reingeklemmt und sage und schreibe 30 mA > gemessen??? Das würde ja heißen, dass der Eingangspin gerade mal einen > Widerstand von 100 Ohm hat? Das finde ich ziemlich... heftig... Wäre ja > voll der Heizofen dann... Nein, das ist ein sehr sichere Zeichen, dass das Pins nicht als Eingang, sondern noch als Ausgang parametriert ist. Eine weitere Variante wäre nur noch: Das Pin ist kaputt (hat innen einen Schluss nach Masse oder +Ub). Ich nehme mal erstes an. Nun kann es sein, dass du trotzdem an dem Pin einen Pegel einlesen kannst. Das ist unter Umständen möglich, wenn ein Pegel mit einem ausreichend leistungsstarken Treiber auf den Eingang geprügelt wird. Das ist natürlich keine Betriebsart, die irgendwo dokumentiert ist. Danke dem lieben Gott, wenn die Pins davon nicht abrauchen. Manche uC sind auch eher sehr robust. > RPi2, und der zieht die Spannung so in Grund und Boden... Ja, setze das Pin erst mal als Eingang. Oder prüfe erstmal. ob das Pin überhaupt als GPIO vorgesehen ist. Prüfe auch mal, wie sich das Pin im Resetzustand verhält. Wenn es ein normales GPIO ist, das sonst keine spezielle Primäre Funktion hat, dann sollte es im Reset auch hochohmig sein. > Ich glaube aber nach wie vor, dass ich das mit den Pull-ups und -downs > noch nicht so recht verstanden habe, wie das beim RPi geht. Was hast du nicht verstanden? Interne Pullup/Pulldown oder externe? Ich meine, du hast ein ganz anderes Problem, siehe oben. Gruß Öletronika
:
Bearbeitet durch User
Der NE555 hat einen TTL-Ausgang, d.h. schon bei kleiner Belastung sinkt die Spannung auf etwa VCC-2V ab. Nimm einen 7555 CMOS-Typ, dann sollte es klappen. Was ist so schwer daran, den Spannungsteiler auch zu benennen? Niemand kann riechen, welche Werte Du genommen hast. Typisch haben CMOS-Eingänge einen Leckstrom <1µA, Pullups ~50µA und für Ausgänge können 30mA Kurzschußstrom stimmen.
Carsten P. schrieb: > kann mir jemand sagen, wie die Impedanz von einem auf Input geschalteten > GPIO-Pin ist?? Üblicherweise gibt man den Leckstrom an, nicht die Impedanz. Der liegt je nach Controllertyp so zwischen 1 und 100 µA. D.h. der Pin saugt maximal 100 µA aus Deinem Spannungsteiler, oder drückt 100 µA rein. Entsprechend sollte der Querstrom durch den Spannungsteiler 1-2 Größenordnungen höher sein.
Einen RPi Pin mit 30mA belasten? WAHNSINN Mein Halbwissen: 8mA ist die Grundeinstellung In 2mA Stufen einstellbar, bis max(16mA?) Die Pins haben keinerlei Strombegrenzung/Schutzschaltung. Bei 30mA ist das also schon tief im Todesbereich. Man man man ... Alle Pins zusammen: maximal 50mA (?) Tipp: Erst kundig machen und dann messen. http://de.scribd.com/doc/101830961/GPIO-Pads-Control2 Und zum Eingangswiderstand: Die zuschaltbaren Pullup und Pulldown haben ca 60K Der Eingangswiderstand eines Pin wird ERHEBLICH größer sein.
Wie gewünscht die Schaltung. Paar Erklärungen: R3 und R4 sind bewusst so groß gewählt, weil ich keine hell strahlenden LEDs will, sondern nur eine visuelle Rückmeldung und Energie sparen. Die LEDs sind Standard-Ramsch-5mm-rot. R6 ist eigentlich nur ein Schutzwiderstand, falls der RPi abfackelt. Im Leerlauf messe ich zwischen GPIO_GEN0 und GND (ohne echte Verbindung zwischen der Schaltung und dem RPi) 0,00V und 3,15V. 3,15V sind laut Beschreibung locker im sicheren High-Bereich des RPi. PS: Die Schaltung ist natürich nicht durchgerechnet, sondern eher "durchgeschätzt". Ist ja keine Semesterarbeit, sondern nur ein simpler Test. Wenn ich den Emitter mit einem 3k3-Widerstand belaste (immer noch ohne echte Verbindung), sinkt die Spannung auf ~1,9V. So gut, so schön. Aber 3k3 ist ja wohl kaum "hochohmig"?? Ich benutze übrigens die libbcm2835.
:
Bearbeitet durch User
Das Problem hat sich erledigt. Der Wrapper um die libbcm2835, den ich benutze, hat eine Macke. Man sollte sich eben nie naiv auf die Ratschläge, Rechnungen oder den Code von anderen verlassen. Es war wirklich so, dass der Pin beim Initialisieren über den Konstruktor nicht auf IN geschaltet wurde, sondern noch auf OUT stand. Danke an denjenigen hier, der mich darauf gebracht hat, das nochmal abzufragen! Und zum Glück ist auch nichts abgeraucht, alle Pins noch heil. Hohe Widerstandswerte haben manchmal doch was Gutes :) LG
Carsten P. schrieb: > Das Problem hat sich erledigt. na prima Carsten P. schrieb: > Wenn ich den Emitter mit einem 3k3-Widerstand belaste (immer noch ohne > echte Verbindung), sinkt die Spannung auf ~1,9V. Tja, dann ist noch was anderes faul. 1,9V an 3k3 sind 570µA. Wenn die Spannung am Emitter bei der geringen Belastung so weit einbricht, dann muss im realen Aufbau etwas anders sein als in obigem Schaltbild. Hast du vielleicht am BC547 Kollektor und Emitter vertauscht? Einen gewissen Pulldown (wie z.B. den 3,3kOhm) wirst du übrigens brauchen. Mit der oben gezeigten Schaltung ohne Pulldown könntest du den RPi-Eingang nur auf High-Pegel ziehen. Soblad der NE555-Ausgang auf low geht, zieht nichts den RPi-Eingang aktiv auf low. Vielleicht läuft er bei der geringen Frequenz des NE555 auch irgendwann gegen GND, aber damit machst du dich davon abhängig, wie groß irgendwelche Leckströme grade sind.
Achim S. schrieb:7 > Tja, dann ist noch was anderes faul. 1,9V an 3k3 sind 570µA. Wenn die > Spannung am Emitter bei der geringen Belastung so weit einbricht, dann > muss im realen Aufbau etwas anders sein als in obigem Schaltbild. Hast > du vielleicht am BC547 Kollektor und Emitter vertauscht? Nein, ich habe bewusst den Basisvorwiderstand so groß gewählt, um überhaupt mal den Fehler zu finden, der ja, wie gesagt, nicht in der Hardware, sondern im Wrapper um den Treiber liegt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.