Wir sind verwirrt über einen überraschenden Kommunikationsfehler zwischen unserer Controller-PCB und der Sensor-PCB.
Schaltplan für Sensorkommunikationsfehler:
Die Kommunikation schlägt fehl, es sei denn, wir tun eine oder mehrere der folgenden Maßnahmen. Dann funktioniert es einwandfrei:
Wir können nicht erklären, warum diese Korrekturen funktionieren. Wenn Sie die Abschirmung (1) erdfrei (getrennt) lassen, bedeutet dies, dass sie keinen Erdungspfad für Rauschen bietet. Der 1-µF-Kondensator (2) sollte einen Erdungspfad für Rauschen bereitstellen und die Spannung stabiler machen. Das Berühren des Sensors kann nur seine Kapazität ändern.
Wir haben versucht, die Ferritperle (FB) zu entfernen, falls eine LC-Oszillation auftrat, aber das hatte keinen Einfluss auf das Verhalten. Die Kondensatoren auf der Sensorplatine sind alle über Durchkontaktierungen mit einer Masseebene verbunden.
Könnte die Beseitigung von Rauschen durch Erdung der Abschirmung oder die Verwendung eines Kondensators die Kommunikation tatsächlich verschlechtern?
Warum würde das Berühren der Sensormasse das Problem beheben? Verändert das Hinzufügen von Kapazität den Weg des Rauschens?
Bearbeiten: Hier ist ein O-Scope-Bild des SDA-Datensignals auf der Sensorseite. Es ist ein wenig langsam auf die Anstiegszeit. Ich kann jedoch keinen Unterschied in der Wellenform feststellen, wenn ich die 4 obigen Korrekturen durchführe: /
Bearbeiten 2: Hier sind Teilenummern und Datenblätter.
Regler:
Sensor:
Bearbeiten 3:
Ich hatte gedacht, dass das Erdungsproblem zu einem Kommunikationsfehler führt. Beim Durchlaufen des Codes im Controller stellte ich jedoch fest, dass der Sensor das vom Controller gesendete Adress- / Schreibbyte immer noch "bestätigen" kann. Es "bestätigt" einfach nicht das Adress- / Lesebyte und sendet dann alle 1s anstelle von Sensordaten zurück. Ich denke, das bedeutet, dass der Kommunikationsteil gut funktioniert, aber irgendwie stört das Erdungsproblem die interne Verarbeitung des Sensors, sodass er keinen stabilen Messwert erhalten kann.
Eine sehr gut gestellte Frage.
Sie suchen an der falschen Stelle; Lärm ist nicht dein Problem. Dies ist ein Erdungsproblem. Wenn Ihre Sensorschaltung wie beim Senden hochfrequenten Strom zieht, bedeutet die Impedanz der Stromleitung, dass die Spannung der Schaltung am Sensorende deutlich von der am Mikrocontrollerende abweicht. Dies bedeutet, dass Ihre Masse auf unterschiedlichen Spannungspegeln liegt. Sie können dieses Problem verringern, indem Sie Lasten an den Enden der Übertragungsleitung entfernen oder reduzieren oder die Erdverbindung verbessern, wie Sie es demonstriert haben.
Da die Masse auf der Seite des Mikrocontrollers nicht die gleiche Momentanspannung hat wie die Masse auf Ihrem Sensorende, ist die Verwendung eines Spannungssignals für die Kommunikation mit der Stromversorgungsmasse als Signalreferenz nicht ideal. Aus diesem Grund verwenden viele Sensordesigns mit Kabeln Strom statt Spannung oder fügen dem Kommunikationssignalkreis Paare mit Optokopplern hinzu, um dieses Problem zu vermeiden. Beide Ansätze würden Ihr Design kugelsicherer machen.
Viel Glück!
Diese negative Spitze sieht ziemlich stark aus, vielleicht 1,5 V oder so. Das liegt außerhalb der normal zulässigen Spannung für Mikrocontroller-Pins.
Schwer zu sagen, woher es kommt, aber meiner Meinung nach könnten Sie versuchen, einen kleinen Widerstand wie 100R in Reihe mit dem Signal hinzuzufügen, um die fallende Flanke etwas zu verlangsamen. Wenn der Pullup 10k beträgt, hindert dieser niedrige Wert ihn nicht daran, die Spannung herunterzuziehen, wenn es nötig ist.
Pan Vi
Leuchte
Pan Vi
Andi aka
SteveSch
Leuchte
Leuchte
Leuchte
Leuchte
Leuchte
Kevin Weiß
Bruce Abbott
Leuchte
Leuchte
Bruce Abbott
Leuchte