GPIO verfälschung der Werte druch Elektromagnetische Spannung

  • Hallo liebes Forum, dies ist mein erster Post hier ;)


    und da komme ich auch gleich zu meinem Problem.....


    Ich habe ein Raspberry Pi Modell B+ und nutze auf diesem Board die GPIO Pins 23 (Impuls geber) und 24 (der lesende Port) jetzt habe ich da 2 Kabel angeschlossen.


    Nun Habe ich ein Programm was wartet bis ein Impuls kommt und dann einen Counter hochzählt. Halte ich die Kabel zusammen funktioniert auch alles Super. Also meine Programmierung stimmt. so nun haben wir einen Schaltschrank wo eine SPS drin ist. Also was ich eiegntlich vor habe ist, es gibt eine Lichtschranke und die Zählt Kisten. Und diesen Counter möchte ich aber über das Netzwerk freigeben also kommt das Pi zum einsatz. Also die SPS bekommt das signal der Lichtschranke hier fange ich es ab und leite es in ein Relais weiter. Das Relais schaltet Synchron mit der Lichtschranke. Wenn das Relais ein Signal bekommt bekommen meine 2 Kabel also einmal Port 23 und Port 24 kontakt (die beiden Kabel habe ich in das Relais gesteckt.) in diesem Moment fliesen 3 volt von Port 23 auf Port 24 und der Zähler müsste um 1 Hochzählen. Jetzt zu meinem Problem. Da in dieser gegend viele Elekrische Geräte und Relais und SPS sind .... ist hier ein hohes Elektromagnetisches Feld. Also Wir sind uns zu 95 % sicher das es daran liegt.... Das Kabel womit das Relais und das Pi verbunden ist, ist ein Cat 6 Netzwerkkabel was wir noch extra auf einen Schutzleiter gelegt haben. wenn ich das Kabel nicht an das Relais anschliese zählt der Counter auch obwohl ich die 3 volt vom port 23 nicht freigebe... durch Programm start wird der Port 24 (der lesende Port) freigegeben. Wenn die Kabel nicht am Relais angeschlossen sind aber am Pi, zählt der Counter obwohl kein Impuls kommt also muss es aus der Umgebung die 3 Volt bekommen damit der Zähler ausgelöst wird.



    Ich hoffe ihr versteht mich und könnt mir helfen


    danke.

  • Hallo zrax,


    herzlich Willkommen in unserem Forum!


    Technisch gesehen hast Du eine Antenne an den Raspberry Pi angeschlossen, die Dir so ziemlich alle Impulse der Region aufsummiert.


    Du musst Da einen Widerstand (ca. 10 kOhm) einbauen. Am Besten schaust Du Dir mal an, wie das andere gemacht haben. Mit den Stichworten

    Code
    Raspberry Pi Taster


    wirst Du andere Schaltungen finden, die zum Erfolg geführt haben.


    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

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    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.

    Edited once, last by Andreas ().

  • Bitte sprich nicht von Ports, es ist schon verwirrend genug, dass verschiedene Programme unterschiedliche Bezeichnungen für die GPIOs benutzen. Wenn Du die GPIOs mit der vom Broadcomchip vorgegebenen Nummerierung verwendest nutze GPIO. Nimmst Du die Nummerierung der Pins der Stiftleiste nutze Pin, z.B. Pin1 für die 3,3V, Pin2 für 5V ... Hast Du ein anderes Programm am Wickel schreib es dazu, wie z.B. wiringPi GPIO ...


    Andreas hat natürlich recht mit dem Pulldown (oder Pullup), da erst dadurch der GPIO einen eindeutigen Pegel erhält. Entweder aktivierst Du die internen Widerstände, was ich persönlich nicht empfehle, weil das dann bei der verwendeten Hardware und Software berücksichtigt werden muss oder Du nimmst externe, bei denen man dann auch mit den Werten "spielen" kann. Zudem solltest Du Leitungen auch Kapazitiv entstören, da reicht oft schon ein 100nF (Die schon längst in meinem Shop sein sollten, der dank der DHL-Führung aber aussieht wie ein gerupftes Huhn :@ ) gegen Masse.

  • PulUp oder PullDown- Wiederstände können das eine ode andere Problem lösen. Bei hartnäckigen Störungen würde ich den Eingang über Optokopler ansteuern. Der Eingang darf natürlich massemäßig nicht mit der Pi-Mase verbunden sein. Dann kann der Eingang nicht mehr als Antenne wirken.

  • Hallo ich nochmal ;) ich habe das jetzt mit einem 10 k Ohm widerstand versucht.... es geht schon besser aber manchmal kommt halt doch noch was durch .... könnt ihr mir erstmal bitte erklären wie das funktioniert mit dem Widerstand ? weil wenn es die anderen Spannungen blockt wie kann es dann sein das meine 3v durch kommen?


    Also meine Frage ist jetzt : mache ich was falsch? oder was muss ich noch machen damit die Werte nicht verfälscht werden :(



    habe nochmal ein kleines Bild gemacht wie ungefähr der aufbau ist ^^

  • Moin :) Wie soll ich den Pin mit Widerstand auf Masse legen?
    Muss das jetzt ein besondere Widerstand sein oder geht da Jeder 10 k Ohm Widerstand ? weil ich habe jetzt einfach irgendeinen genommen

    Edited once, last by zrax ().

  • Das Schaltbild ist sehr verwirrend. Ein Relais über einen 10 KOhm R direkt an einen GPIO kann gar nicht funktionieren. Wenn Störungen auftreten, dann braucht man schon den kompletten Stromlaufplan um die Ursache zu entdecken. In dem Fall reden wir bestimmt an einander vorbei.