Interne PullDown Widerstände unzuverlässig?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • oder man könnte auch sagen:

    watt is ne lange Draht an einem Empfänger (Eingang)?

    -> eine Antenne siehe Langdrahtantennen:
    http://1.bp.blogspot.com/-ZxMJoBp_5vQ/V…d_L_Antenna.jpg

    und diese empfängt nun mal aus der Luft alles was da so rumfliegt, bei Radio oder DVB-T wünschen wir uns empfang aus der Luft, beim PI eher weniger, da soll sich der Pegel auf der Leitung nur ändern unter unsere Bedingungen und da müssen wir nun mal andere Energien einsetzen als in der Luft so rumfliegt, deswegen die bessere Anbindung an Pegel mit kleineren R

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (17. April 2016 um 15:12)


  • watt is ne lange Draht an einem Empfänger (Eingang)?

    Erstmal ein dickes Danke! an Alle, die mir helfen auf den rechten Weg zu kommen (ich muss mit dem falschen Bein aufgestanden sein).

    Der 'lange Draht' kommt doch aber erst nach dem GPIO und leitet nix an GND (Endschalter offen, GPIO auf High) oder alles (Endschalter geschlossen, GPIO auf Low). Dann geht es darum was der Draht auf dem Weg zum offenen Schalter hin 'einfängt'? Darum, das benötigte Potential mit Draht (Antenne) zu definieren?


  • Der 'lange Draht' kommt doch aber erst nach dem GPIO und leitet nix an GND (Endschalter offen, GPIO auf High) oder alles (Endschalter geschlossen, GPIO auf Low). Dann geht es darum was der Draht auf dem Weg zum offenen Schalter hin 'einfängt'? Darum, das benötigte Potential mit Draht (Antenne) zu definieren?


    ...korrekt.
    Was passiert, wenn der pull-up/down am Ende des draht's wäre ?
    Jeder Leiter hat nen spezifischen Leitungswiderstand, abhängig vom Material und Durchmesser.
    Dh. auf dem Weg, (Leitungsende bis Eingang) kann was induziert werden.
    Die Störsignale mussen also genau da vernichtet werden, wo sie nicht erwünscht sind: Also direkt am Eingang.

    //Edit
    hatte mich >da< mal ausgetobt... :D

    Einmal editiert, zuletzt von root (17. April 2016 um 16:01)

  • Hallo Doing,

    wenn Du einen langen Draht (ohne weitere Bauteile wie ausreichenden Widerstand) an einen GPIO hängst - einem GND ist das egal -
    und auf INPUT schaltest, dann empfängst Du alle mögliche Störstrahlung. Dies bewirkt ständige Pegel-Wechsel von

    • HIGH nach LOW,
    • LOW nach HIGH
    • unbestimmt nach LOW
    • unbestimmt nach HIGH
    • HIGh nach unbestimmt
    • LOW nach unbestimmt

    HIGH bedeutet Spannung > 1,3 V, LOW bedeutet Spannung < 0,8 V. Unbestimmt ist dann alles dazwischen.

    Die Pegelwechsel von und nach unbestimmt sind dann die, die störend wirken, da diese anzeigen, dass Du die Thematik Pullup oder Pulldown schaltungsmäßig nicht ausreichend behandelt hast.
    Du kannst die Störimpulse zwar über Software erkennen und abfangen, aber - sorry - ein Widerstand für 5 ct. richtig dimensioniert und gesetzt und die Probleme sind beseitigt.

    Und mit dem richtigen Widerstand und ggf. noch einem Kondensator verschwinden dann alle Störimpulse - denn schließlich willst Du ja am GPIO-Eingang nur die Impulse messen, die auch tatsächlich den Zustand widerspiegeln, der sich aus einer für Dich direkt erkennbaren Zustandsänderung ergibt.

    Äh, ja, genau... Mach das einfach mal: Hänge ein langes Kabel (1m oder länger) vollkommen unmotiviert an einen GPIO. Setze den GPIO auf Eingang und frage die Pegelwechsel ab. Dann merkst Du direkt, dass da etwas vor sich geht, was wir Dir seit einiger Zeit versuchen, nahe zu bringen.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (17. April 2016 um 15:50)


  • Erstmal ein dickes Danke! an Alle, die mir helfen auf den rechten Weg zu kommen (ich muss mit dem falschen Bein aufgestanden sein).

    ne du schläfst immer noch, deine beiden langen Leitungungen (auch im Kopf) sind am GPIO, pullup oder pull down beliebig und wenn die R zu groß sind wackelt die Leitung weil sie aus der Luft empfängt

    Der 'lange Draht' kommt doch aber erst nach dem GPIO

    eben drum

    einmal Antenne ohne definierten Haltepunkt und zum anderen ein Kondensator der umgeladen werden will für low nach high oder umgekehrt, sonst sind eigentlich alle wesentlichen Erklärungen schon gegeben worden.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)


  • ne du schläfst immer noch, deine beiden langen Leitungungen (auch im Kopf) sind am GPIO...

    das war aber ein kleiner, spitzer... :D


    Äh, ja, genau... Mach das einfach mal: Hänge ein langes Kabel (1m oder länger) vollkommen unmotiviert an einen GPIO. Setze den GPIO auf Eingang und frage die Pegelwechsel ab. Dann merkst Du direkt, dass da etwas vor sich geht, was wir Dir seit einiger Zeit versuchen, nahe zu bringen.

    Das da was vorgeht und auch das Phänomen 'Antenne' hatte ich in meinen ersten Postings - meine ich - bereits erkannt und erwähnt. Mit ging es nur noch darum zu verstehen warum ich mit einem Poti herausfinden muss, was der passende Widerstand für meinen Aufbau ist und das habe ich ja nun auch (endlich) gerafft.

    Ich bedanke mich :thumbs1:

    Einmal editiert, zuletzt von doing (17. April 2016 um 16:13)

  • Aber bitte dran denken, die internen Widerstände abzuschalten.
    viel Erfolg

    Mach ich, danke!

    [Offtopic]

    Falls es jemanden interessiert: Ich habe eben noch etwas herumgetestet, um besser nachvollziehen zu können wann es zu den Störungen kommt. Der Slider wird über einen 2.8" TFT mit Pygame gesteuert und bietet drei Modi:

    - Timelapse
    - Dynamic
    - Freerun

    Im Timelapse Modus fährt der Slider ein definiertes Stückchen und schwenkt dabei den Remote Head in Pan und Tilt Achse, bleibt stehen und löst dann über RF den Shutter der Kamera (D-7100) aus. Beim auslösen flackern die LED.

    Im Dynamic Modus fährt der Slider eine definierte Strecke und schwenkt dabei den Remote Head in Pan und Tilt Achse. Am Anfang und am Ende der Bewegung wird der Shutter der Kamera ausgelöst. Beim auslösen flackern die LED.

    Im Freerun Modus wird der Slider in allen drei Achsen über einen PS4 Controller und Blauzahn gesteuert. Den Shutter kann ich über einen Button am Controller auslösen. Auch hier habe ich beim auslösen der Kamera das Flackern der LED und ansonsten ne richtig Klasse LED Lichtorgel.

    Es bleibt spannend...


    [Edit]

    Der RF Auslöser ist aus dem Kreis der Verdächtigen ausgeschieden. Es ist definitiv die Steuerspannung für die DC Motoren, die über die gleiche Steuerleitung wie die 3,3V für die Endschalter fließen und einstrahlen.


    [/Offtopic]

    Einmal editiert, zuletzt von doing (18. April 2016 um 11:39)


  • ... bleibt stehen und löst dann über RF den Shutter der Kamera (D-7100) aus. Beim auslösen flackern die LED.

    Was verstehst du unter "RF".
    Wenn sich Kamera über ihren Akku selbst versorgt, funkt's da aber gewaltig beim auslösen.
    Weis nicht, ob du dir das zutraust.
    Da gibt's nur noch eines.
    Pull-up/down's bis an die Grenzen runterschrauben.Besser wäre noch das ganze mit nem vernünftigen Oszi zu beobachten.
    Sehen würde man auf jeden Fall was.

  • Was verstehst du unter "RF".
    Wenn sich Kamera über ihren Akku selbst versorgt, funkt's da aber gewaltig beim auslösen.

    Ein simpeles 433 MHz RF Modul, Sender am Pi, Empfänger an einem TinyDuino mit LiPo Akku in einem kleinen Gehäuse. Das Ganze funktioniert Problemlos (Fokus und Shutter) und Ja, die Kamera versorgt sich selbst über den Standard Akku mit Strom, sonst würde sie ja keinen Bilder machen können...


  • Ein simpeles 433 MHz RF Modul, Sender am Pi, Empfänger an einem TinyDuino mit LiPo Akku in einem kleinen Gehäuse. Das Ganze funktioniert Problemlos (Fokus und Shutter) und Ja, die Kamera versorgt sich selbst über den Standard Akku mit Strom, sonst würde sie ja keinen Bilder machen können...


    ok.Wenn du keine Messgeräte etc. hast, kannst mit ner simplen Steckbrettschaltung feststellen ob das auslösen des Shutters die Störimpulse sind.
    Leg nen 5k6 gegen 3,3V und an den nen 56k gegen GND. Also ein Spannungsteiler.
    Den Mittelabgriff über nen Taster an GND, und den Mittelabgriff an nen freien GPIO der als Eingang geschaltet ist.
    An nem freien GPIO Ausgang hängst ne LED über nen Rv gegen 3,3V.
    Jetzt schreibst ein Progrämmchen, das den Eingang dauernt abfragt (pollen), und abhängig von dessen Zustand die LED an oder aus macht.Das ganze in ner Endlosschleife.
    Jetzt betägtigst den Taster, und löst dem CAM paarmal aus.
    Das gleich beim loslassen der Taste, und beobachte die geschaltete Led, ob die auch flackert.

    Btw: Wenn das ein starker Puls isr, kann der sowohl Ein- als auch Ausgänge beeinflussen.

  • Hi root,

    Danke, auch das werde ich gerne mal ausprobieren!

    Im Moment denke ich schon, dass es die 5m Steuerleitung ist, die als Antenne fungiert. Ziehe ich die Steuerleitung vom Pi ab und löse die Kamera aus, dann tut sich nichts bei den LED. Das Gleiche beim auslösen im 'Freerun' Mode über den PS4 Controller. Steuere ich - ohne die Steuerleitung - mit dem PS4 Controller einen vierten, direkt am Motor HAT angeschlossenen DC Motor, dann habe ich keine LED Lichtorgel. Sobald ich die Steuerleitung anschließe habe ich das Flackern der LED im PS4 Controller Betrieb wieder.

    [Edit]

    Ich habe den 433 MHz RF Auslöser für die Kamera mal aus dem Code kommentiert. Er ist es nicht, es sind die Einstrahlungen für die Motoren in die Steuerleitung. Ich dreh das dann mal um und mach mich an die Bestimmtung des Widerstandes...

    Einmal editiert, zuletzt von doing (18. April 2016 um 11:33)

  • Hi,

    erstmal vielen Dank an jar, das 'umbauen' auf GPIO In mit PullUp hat schon Wunder gewirkt. Dank dreamshader habe ich nun ein paar 10K Potis zwischen den GPIO und 3,3V gesetzt und damit etwas herumgespielt. Spannenderweise ging das über das Steuerkabel eingestreute Flackern der LED zurück je weiter ich den Poti heruntergedreht habe. Das beste Ergebnis habe ich (in TimeLapse, Dynamic und auch im Freerun Modus - der über den PS4 Controller gesteuert wird) mit einem gemessenen Widerstand des Potis von 0 Ohm!

    Dann sollte ich mir (dank der Umbauens von GPIO mit internem Pulldown auf Low auf GPIO ohne Pullirgendwas und externem PullUp auf 3,3V) doch den Widerstand ganz sparen können? Spricht was dagegen?

    Einmal editiert, zuletzt von doing (18. April 2016 um 15:47)

  • Hallo doing,

    ich weiss jetzt nicht, ob ich da was verpasst habe bzw. finde zwischendrin keine Skizze Deines Aufbaus ...
    Aber wenn Du jar's Rat befolgt hast und auf pullups umgestellt hast ... dann brauchst Du logischerweise das Poti (ersatzweise einen Widerstand) nicht (mehr).

    cu,
    -ds-


  • ich weiss jetzt nicht, ob ich da was verpasst habe bzw. finde zwischendrin keine Skizze Deines Aufbaus ...

    Hi dreamshader,

    es gab keine Skizze, ich habe das alles in Worten beschrieben, mea culpa.

    Ich habe auf jars Tipp hin alles wie beschrieben umgestellt. GPIO's mit externem PullUp auf 3,3V. Da ich wissen wollte, was die Steuerleitung für einen Einfluß hat habe ich dann deinen Tipp beherzigt und mal Potis dazwischen gebastelt (ich musste eh alles auseinanderbauen, da war das kein Hexenwerk mehr) und damit herumgespielt.

    Zumindest ist mir so der Einfluß der sechs 12V Adern für die Motorsteuerung auf die zwei Adern für die Endschalter bewußt geworden. Im Nachhinein ist klar, warum es umgedreht nicht gehen konnte, das wäre dann wohl ne Aufgabe für einzeln geschrimte Adern in der Steuerleitung gewesen, wenn überhaupt...

    Einmal editiert, zuletzt von doing (18. April 2016 um 19:39)

  • Hallo doing,

    wie hast Du denn den Widerstand gemessen? Während das Poti an eine Spannungsversorgung angeschlossen war? Oder hast Du den Poti im stromlosen Zustand und dann an den "richtigen" Pins gemessen?

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.


  • wie hast Du denn den Widerstand gemessen? Während das Poti an eine Spannungsversorgung angeschlossen war? Oder hast Du den Poti im stromlosen Zustand und dann an den "richtigen" Pins gemessen?

    Hi Andreas,

    ich hab den 10K Poti vom Breadboard abgezogen und dann an den 'richtigen' Pins gemessen.

    Da ich ja hier bin um zu lernen: ich schaue jetzt nochmal was der Pi bei internen PullUps meint.

  • Moinsen,


    ... Ich habe auf jars Tipp hin alles wie beschrieben umgestellt. GPIO's mit externem PullUp auf 3,3V. ...


    Und mit dem Wert des/der Pullups ... der passt auch?
    Um den rauszufinden wäre das Poti gedacht gewesen ...
    Aber wenn Du das schon so verdrahtet hast, und alles funktioniert wie es soll, dann ist das Poti resp. sein Stellvertreter in der Tat überflüssig.

    //EDIT meint: ich würde das mit den internen Widerständen aus den bereits anfangs aufgeführten Gründen lassen.

    cheers,
    -ds-


  • Aber wenn Du das schon so verdrahtet hast, und alles funktioniert wie es soll, dann ist das Poti resp. sein Stellvertreter in der Tat überflüssig.

    Hi dreamshader,

    ja klar, ich habe deinen Eingangspost nicht vergessen! Wie gesagt, die besten Ergebnisse habe ich ganz ohne irgendeinen PullUp bzw. mit dem 10K Poti auf 0 Ohm (also überflüssig). Meine LED's, die den Status der Endschalter anzeigen sollen, leuchten dauerhaft ohne Motorspannungsabhängiges Flackern. Bei geschlossenem Endschalter (GPIO auf GND) bricht der laufende Thread ab und verhindert, dass der Motor in den Stall läuft - das funktioniert soweit wie gewünscht. Mit den internen PullUps will ich nur mal eben spielen um zu sehen welchen Einfluß die auf das flackern der LED haben, rein Interessehalber.

    Am Ende werden die Potis rausfliiegen und ich muss auch keine SMD Widerstände verbauen, was mich freut!

    Danke nochmals!

  • Hi,

    so, ich bin noch etwas weiter: mit dem Poti (eingestellt auf 0 Ohm) funktionieren die Endschalter natürlich nicht mehr... Nehme ich den Poti raus und ersetze ihn mit einem Widerstand, 10 Ohm (was kleineres habe ich nicht), funktionieren die Endschalter wieder. Nehme ich den Widerstand (10 Ohm) heraus und schalte den internen PullUp dazu, funktioniert zur Abwechselung mal alles. Sieht aus, als ob das meine Lösung werden wird. Einwände?

    Ich weiß schon (dank euch) dass die internen PullUp minimal dimensioniert sind, aber mir scheinen die ja in dem Fall zu reichen. Seht es mir nach, wie jeder Wissende lesen kann ist Elektrotechnik Neuland für mich, ich mag aber lernen... und manchmal frage ich mich mit warum ich Software besser kann als Hardware...

    Einmal editiert, zuletzt von doing (18. April 2016 um 18:16)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!