Sensorentkopplung und Rauschunterdrückung

Ich habe ein Arduino UNO - Board und wollte ein einfaches "Sensorschild" entwerfen - da alle einfachen Sensoren 3 Pins (nämlich SIG-5V-GND) haben und es praktisch ist, eine Reihe von ihnen direkt anzuschließen - und das ist wo es hässlich wurde.

Unten sehen Sie mein sehr einfaches Design,

Geben Sie hier die Bildbeschreibung ein

Wie Sie sich vorstellen können, ist „viel“ Lärm im Gange (mit 1 IR-Bereich und 3 Ultraschallsensoren). Ich habe es geschafft, einige der Fehllesungen auf der Softwareseite zu reduzieren, aber es ist klar, dass ich auch einige Hardwareänderungen vornehmen muss.

Viele Leute, die ähnliche Probleme hatten, raten, jeden zusätzlichen IC mit einer 100-nF-Kappe zu koppeln.

Meine Frage ist;

  • Sollte ich jede Leitung mit einer eigenen 100-nF-Kappe entkoppeln, oder gibt es eine sauberere Lösung?
  • Außerdem sind diese Sensoren mit einem 15-20 cm langen Kabel mit meinem Arduino verbunden (physikalische Designeinschränkungen). Sollte ich aus diesem Grund auch zusätzliche Maßnahmen ergreifen?

EDIT: Sensoren, die ich verwende

Analoges Rauschen oder digitales Rauschen? Welche Signalfrequenz?
@ pjc50 digitales Rauschen, ich pinge meine Sonar ungefähr 20 Mal pro Sekunde. Sie geben manchmal falsche 0-Messwerte aus (diese falschen Messwerte nehmen zu, wenn ich mehrere Sensoren anschließe). Außerdem liefern meine analogen UV-Sensoren ab und zu auch übertriebene Ergebnisse!
Sie könnten einen Bulk-Kondensator von etwa 10 uF an den Eingang anschließen und dann einen 100-nF-Entkopplungskondensator direkt neben jedem IC hinzufügen. Das würde Ihnen eine klare Stromschiene geben, an der Sie arbeiten können. Sie könnten auch eine Masseebene auf der unteren Ebene erstellen, wenn Sie mit einem doppelseitigen Design arbeiten, was die Signalintegrität erheblich verbessert.
@abdullahkahraman danke, wenn Sie dies als Antwort posten könnten, würde ich es gerne markieren. Was denken Sie auch über das lange Kabel, sollte ich zusätzliche Vorsichtsmaßnahmen treffen?
@IsmailKuruca Ich kann mehr darüber sagen, wenn Sie Informationen zu Ihren Sensoren geben.
@abdullahkahraman hat Links für die von mir verwendeten Sensoren hinzugefügt.
Es sieht so aus, als hätten Sie wirklich versucht, die Sensoren an A0 bis A5 nicht direkt mit Strom zu versorgen. 5 V sind in Ordnung, aber überschwemmen das 0-V-Kupfer auf dieser PCB-Schicht, selbst wenn es einseitig ist. Vielleicht auch mit einem Vorwiderstand in die 5 V einbrechen, der beim Versorgen der Sensoren nicht zu viel Spannung abfällt (<10 Ohm für eine Schätzung des ersten Durchgangs) und die Sensorseite der 5 V mit Keramik 10 uF und 1 nF parallel entkoppeln.

Antworten (1)

Ihre Sensoren sind eigentlich Leiterplatten, die den Sensorausgang verarbeiten und Ihnen leicht verständliche und umsetzbare Signale geben. Ich habe nachgesehen, und diese Platinen enthalten ihre Massen- und Entkopplungskondensatoren.

Eine Sache, die verbessert werden muss, ist die Erdungsqualität. Dazu müssen Sie die Impedanz der Massebahnen verbessern. Bei niedrigen Frequenzen wird die Erdungsimpedanz vom Widerstand dominiert, wenn die Frequenz jedoch hoch wird, tritt die Induktivität ein und dominiert die Impedanz.

Eine Möglichkeit, die Erdungsimpedanz bei hohen Frequenzen niedrig zu halten, sind Bypass-Kondensatoren, die sehr nahe an den Versorgungspins platziert werden. Da Sie bereits ca. 20 cm Kabel haben, können Sie für die Hochfrequenz auf Ihrem Board nicht viel tun. Aber zumindest können Sie das Rauschen von der Platine isolieren, wie unten angegeben.

Mir fallen ein paar Dinge ein, die das Gesamtrauschen reduzieren:

Fügen Sie einen Bulk-Kondensator hinzu:

Legen Sie einen Elektrolytkondensator mit einem Wert von etwa 10 uF bis 220 uF über GNDund +5V. Dadurch erhalten Sie eine sauberere Leistung und Platz für Einschaltströme. Da Kondensatoren einen relativ niedrigen Serienwiderstand haben, können sie höhere Ströme liefern, natürlich begrenzt durch ihre Lagerung. Außerdem filtert der Anschluss eines 100-nF-Keramikkondensators an diesen Bulk-Kondensator Hochfrequenzinhalte heraus und entkoppelt die „Sensorabschirmung“ von Arduino.

Fügen Sie den Sensoren Entkopplungskondensatoren hinzu:

Sensoren können digitale Schaltkreise enthalten, die dank Rechteckwellen hochfrequente Inhalte erzeugen können. Sie können diesen Sensoren aufgrund der bereits langen Drähte keine niederohmigen Strompfade geben, Sie können jedoch den Hochfrequenzinhalt begrenzen, der von diesen Sensoren auf Ihre Platine kommt.

Sie können einige 100-nF-Keramikkondensatoren zwischen Vcc und GND dieser Sensoren hinzufügen, und der von den Sensoren kommende Hochfrequenzinhalt wird mit Hilfe der Kondensatoren gegen GND kurzgeschlossen. Mit anderen Worten, Sie werden Ihre Sensoren von Ihrem Board entkoppeln . Machen Sie diese Kondensatoren so nah wie möglich an den Stromversorgungsstiften jedes Sensors. Sie können einen gemeinsamen Kondensator für sehr nahe Sensoren verwenden.

Lassen Sie die Bodenspur an Gewicht zunehmen:

Wenn eine Spur ticker wird, sinkt ihr Widerstand. Machen Sie die Bodenspur so dick wie Sie können. Oder machen Sie besser, wie Andy akavorgeschlagen, eine Bodenfüllung oder eine Grundebene, je nachdem, wie Ihre CAD-Software es nennt.

Außerdem gibt es nichts, was Sie davon abhält, die Vcc-Spur dicker und niederohmiger zu machen.

Ein kleines Detail besteht darin, diese langen Kabel so zu verdrehen, dass sie alle in der Nähe des GND-Kabels sind.