Sensor-, ADC-, SPI-Master-Platzierung – 1 Meter Abstand mit 4 MHz Geschwindigkeit

Ich habe einen Beschleunigungssensor, der 1 m von meinem Mikrocontroller entfernt sein muss. Ich kann wählen, ob ich den ADC in der Nähe des Sensors oder des Controllers platzieren möchte.

Ich verstehe, dass größere Entfernungen vom Sensor zu mehr Spannungsschwankungen vor dem ADC (Rauschen) beitragen. Größere Entfernungen vom Mikrocontroller erhöhen die SPI-Fehler und begrenzen meine Übertragungsrate.

Wenn ich die SPI-Übertragungen auf 4 MHz takten muss, wo sollte ich den ADC platzieren? Wird die Entfernung von 1 m meine Übertragungsrate einschränken? Trägt 1 m Vor-ADC-Draht zu erheblichem Rauschen bei?

Anmerkungen:

  • Der ADC hat einen Eingangsbereich von 0 – 5 V, mir sind Schritte im 10-mV-Bereich (1/500 des Bereichs) wichtig. Wenn meine Rauschspitzen darunter liegen, wird die Anwendung erfolgreich sein.
  • Die Drähte zwischen dem ADC und dem Sensor führen 3 Vout-Kanäle, Masse und 5 V.
  • Der Sensor, die Drähte und (je nach Platzierung) der ADC werden Stößen ausgesetzt, da die Anwendung die Stoßcharakterisierung ist. Der Aufprall wird durch einen Sturz mit einer geschätzten Spitzeng-Kraft von 150 g für 2 ms verursacht.

Accelerometer-Spezifikationen

Geben Sie hier die Bildbeschreibung ein

Update: Ich habe mich entschieden, den ADC in der Nähe des Pi (~ 6 Zoll) und den Sensor weit vom Pi (~ 0,75 m) entfernt zu betreiben, da das analoge Rauschen leichter zu beheben klang als die digitalen Fehler. Ich erhalte derzeit eine Grundlinie von ~ 61 mV vom Sensor mit einer Standardabweichung von 10 mV (basierend auf ADC-Messwerten). Der Peak-to-Trough-Rauschpegel beträgt etwa 60 mV. Dies ist ein anständiger Anfang, aber ich denke, ich muss einige Verbesserungen im Schaltungsdesign vornehmen. Ohne angeschlossenen Sensor erhalte ich beispielsweise eine Schwankung von etwa 100 mV auf der Skala von 1 Hz. Ich werde mein Vref- und Erdungsschema verbessern und sehen, ob ich etwas von diesem Rauschen entfernen kann. Bisher glaube ich nicht, dass mein Hauptproblem die Verkabelung ist, obwohl Einblicke willkommen sind. Auch diese nützliche Referenz gefunden: http://ww1.microchip.com/downloads/en/AppNotes/00688b.pdf

Aktualisieren:

Meine letzte Schaltung wurde von Anfang an drastisch verbessert, daher ist es schwierig, genau zu sagen, welche Änderungen für die Verbesserungen verantwortlich waren. Mein ursprüngliches Design enthielt keine Entkopplungskondensatoren, keine dedizierte Referenzspannung und hatte auch mehrere Erdungspfade. Ich habe schließlich eine Leiterplatte entworfen und für etwa 20 Dollar + Versand hergestellt bekommen. Mit diesem System ist ein 0,75 m langes 10-adriges IDC-Kabel, das die analoge Spannung zum ADC führt, und IDC-Anschlüsse hier mein Ergebnis:

Geben Sie hier die Bildbeschreibung ein

Die rechte Achse zeigt den ganzzahligen Ausgang des ADC. Die Standardabweichung dieser Varianz in y beträgt etwa 3 Einheiten (mV) und in z etwa 4,1 Einheiten. Peak-to-Tough beträgt etwa 20 Einheiten. Dies ist eine enorme Verbesserung gegenüber dem ersten Design und ich bin sehr glücklich. Entkopplungskondensatoren und eine Referenzspannung waren anscheinend kritisch. Es hat auch super Spaß gemacht, den gesamten Prozess der Herstellung eines Boards zu durchlaufen.

Ich kann die erhöhte Varianz für den z-Kanal nicht erklären. Es ist am weitesten von meinen Strom- / Erdungskabeln entfernt. Es ist die letzte Ader am Ende des Flachbandkabels, das könnte es also sein.

Müssen Sie die Abgasuntersuchung bestehen? Oder ist dieser Bastler in der Natur? Was bedeutet „Auswirkungen erleiden“?
Ah, der Sensor wird fallen gelassen und ich erwarte eine Spitzeng-Kraft von 150 g für 2 ms. Wenn der ADC in der Nähe des Sensors platziert wird, spürt er die gleichen Kräfte.
150g ?! Das klingt nach ein bisschen viel für empfindliche Elektronik.
Ich meine, ja, Elektronik kann das aushalten, aber normalerweise, indem sie in etwas eingeschlossen ist, das ziemlich viel der resultierenden Kräfte absorbiert
Es ist eine 3 mm Amplitude von 250 Hz Vibration. Verrücktes Zeug :)
Wie groß ist also die Bandbreite des Signals, das Sie beobachten möchten? 200kHz? Weniger? Was ist die Ausgabe Ihres Beschleunigungsmessers ? Diejenigen, mit denen ich gearbeitet habe, sind aktuelle Quellen, dh. relativ widerstandsfähig gegen lange Kabelwege
@GregoryKornblum hat die Mathe- Schande nicht gemacht , aber ja, verrückt
Vielleicht ist es ein Subwoofer :)
wroooom; meine anwendung "damals" war eigentlich medizinisch (mit einem industriellen vibrationssensor, der buchstäblich auf die knie geklebt wurde)
Danke für die Kommentare, alle. Der Zweck besteht darin, den Aufprall zu charakterisieren, sodass jede Absorption der Kräfte den Zweck zunichte machen würde! Obwohl ich wahrscheinlich den ADC isolieren werde. @MarcusMüller Mein Beschleunigungsmesser hat einen flachen Frequenzgang bis 6 kHz. Ich plane, im Bereich von 20 kHz zu sampeln. Insbesondere oszilliert das Signal nicht, daher weiß ich nicht genau, wie ein "Peak" in die Terminologie passt, die zur Beschreibung frequenzbasierter Signale verwendet wird. Ich schätze, dass die Breite meines Peaks in der Größenordnung von 3 ms liegt, und 20 Samples über diesen Peak sollten mir eine vernünftige Schätzung seiner Höhe geben. Kommentare willkommen
Zur Ausgabe habe ich ein Bild aus dem Datenblatt hinzugefügt. Insbesondere ist es ein Spannungsausgang (leider klingt es so) mit einer Empfindlichkeit von 0,62 mV/g. Ich werde es mit 5 V betreiben, also erwarte ich eher 1 mV / g.
Aber dann macht Ihre 4-MHz-Beschränkung überhaupt keinen Sinn! Sie können Ihren SPI-Bus mit einer viel niedrigeren Rate betreiben (ich würde annehmen, dass Ihr Mikrocontroller der SPI-Bus-Master ist und daher die vollständige Kontrolle über die Uhr hat) und ihn somit viel robuster und viel weniger fehleranfällig machen.
Andererseits denke ich, dass Ihre 6-kHz-Bandbreite zu niedrig sein könnte. Stellen Sie es sich folgendermaßen vor: ein Ereignis von Dauer T hat eine Bandbreite von Kreisverkehr 1 T + . Ich weiß nicht, was Sie genau über Ihre Wirkung analysieren wollen, aber ich könnte mir vorstellen, dass sich interessante physikalische Aspekte schneller ändern als 1 6000  S !
@MarcusMüller Zum SPI-Kurs. Hier ist meine Mathematik: 3 Kanäle * 20ksps * 24bit/read = 1,4 MHz. Ich habe versucht, etwas Spielraum zu lassen, obwohl das vielleicht verwirrender als nötig war.
Ah richtig, die drei Kanäle vergessen.
@MarcusMüller Ich hätte mir mehr Bandbreite gewünscht, leider war dies der schnellste Sensor in meinem Budget. Ich gebe zu, dies war auch eine der verwirrenderen Spezifikationen - der Versuch, die Zeitskala und die erforderliche Bandbreite festzulegen. Letztendlich ist es ausreichend, wenn ich die Spitzenbeschleunigung innerhalb von 10% charakterisieren kann. (Nochmals vielen Dank für Ihre Gedanken.)

Antworten (2)

Längere Kabelstrecken bedeuten kein Rauschen, es sei denn:

  1. Das Kabel nimmt RFI auf (abgeschirmte Kabel helfen, dies zu mindern)
  2. Es gibt zusätzliches Übersprechen durch gegenseitige Induktivität zwischen den Leitern des Kabels. (hängt wirklich von Kabel, Leitergröße und Entfernung und Verdrahtungsschema ab)
  3. Ihr Rückstrom von Analog- und Signalmasse hat eine gemeinsame Masse und erzeugt Gleichtaktrauschen (eine Masseebene hat im Vergleich zu einem Kabel einen geringen Widerstand).

Ich persönlich würde einfach anfangen, Kabel zu bauen, ein kurzes machen und das Rauschen testen. Testen Sie dann mit einem langen, ob das Rauschen mehr ist, als Sie brauchen, um sich mit den beschriebenen Effekten zu befassen und das Kabel neu zu konstruieren. Es kann auch vorteilhaft sein, die Spannungsreferenz und den LDO mit dem ADC am Ende des Kabels zu platzieren.

Ich werde am Wochenende ein paar Kabel bauen. Es gibt einige zusätzliche praktische Einschränkungen für die Flexibilität des Kabels, also muss ich sehen, welche Art von Schwankung ich am Ende bekomme.
Könnten Sie eine Sache klarstellen – der Vorschlag eines LDO bringt einen guten Punkt zur Sprache. Bei beiden Platzierungen meines ADC bewegt sich die Referenz- oder Signalspannung 1 m und ist daher anfällig für Rauschen. Stimmt es, dass das Rauschen aufgrund der Referenzspannungsschwankungen kleiner ist als das des Signals, weil die Durchschnittsspannung höher ist?
Der LDO und die Referenz garantieren, dass die Spannung zwischen Masse und Ausgang konstant ist. Wenn Sie es in das Kabel legen, wird die Quellenimpedanz erhöht, und die analoge Spannung und Referenz sind anfälliger für Rauschen. Ich vermute auch, dass das Gleichtakt-Masserauschen verringert würde, aber ich habe diese Theorie noch nicht getestet. Ich weiß, dass Sie allein vom Rauschstandpunkt aus ein besseres Ergebnis und möglicherweise ein Kabel weniger für die Referenz haben. Ich bin mir nicht sicher, was die Frage zum Referenzrauschen ist, aber Referenzen haben Rauschen und es trägt zu Ihrem ADC-Fehlerbudget bei.
Welchen Anteil das Referenzrauschen am Signal hat, kann ich nicht sagen, da man wissen muss, was das Signalrauschen ist.

Im Allgemeinen ist es besser, ADC so nah wie möglich an der analogen Quelle zu platzieren (danke, Jonas). Digitale Signale sind von vornherein störunempfindlicher als analoge. Nur als Beispiel: Die Kapazität zwischen 1 m Kabel und Stromnetz reicht aus, um einen Gleichtakt von einigen zehn Millivolt, manchmal 300 mV, einzuspeisen. Sind Sie sicher, dass Ihr CMRR gut genug ist? Man weiß nie.

Setzen Sie ADC also so nah wie möglich. Aber SPI über 1m (Kabel oder PCB) ist nicht trivial, darauf sollten Sie achten. Verwenden Sie zunächst Differenzsignale - Sie möchten keine Gleichtaktstörungen. Beachten Sie dann, dass differentielle Sender und Empfänger Verzögerungen haben. Manchmal ist die Verzögerung groß genug, um die empfangenen Daten gegen die Uhr zu verschieben. Wenn Sie also den ADC mit FPGA abtasten, ist dies kein Problem, aber in der CPU müssen Sie den richtigen Modus finden.

Punkt ist, dass OP sagt, dass er eine 9-Bit-Auflösung (500 Schritte) benötigt; Nehmen wir an, das impliziert einen 10-Bit-ADC. Dann wissen wir, dass er einen SPI-Takt von 4 MHz hat – was eine maximale Abtastrate von 400 kHz impliziert, was eine maximale Signalbandbreite von 200 kHz impliziert. 200 kHz klingen ziemlich machbar für richtig abgeschirmte Mikrofonkabel über 1 m, tbh, bei Studio-Soundqualitäten (Audio-Leute sind seltsam – sie verwenden 24-Bit-ADCs), insbesondere wenn der Beschleunigungsmesser tatsächlich Strom moduliert, nicht Spannung.
so nah wie möglich an der analogen Quelle. Ich denke, dies könnte in der Antwort klarer sein.
Machbar – ja. Aber viel schwieriger und erfordert besseres Fachwissen. Ich denke, ich könnte es tun, aber ich würde es nicht tun, denn wenn ich aus irgendeinem Grund zu einer höheren Abtastrate wechseln muss (z. B. 20 MHz SPI), müsste ich plötzlich umdenken.
@GregoryKornblum Punkt ist, dass wir uns wahrscheinlich einig sind, dass "das Beste hier ist, den ADC nahe an der Signalquelle zu platzieren und dann einen robusten digitalen Transceiver zu bauen"; Ich bin nicht davon überzeugt, dass es viel einfacher ist, sicherzustellen, dass ein 4 MHz breites digitales Signal unbeschädigt ist, als eine gute Verkabelung mit einem Beschleunigungsmesser zu verwenden, der wahrscheinlich für die Verwendung mit 1 m Kabel ausgelegt ist – die, die ich kenne, wurden tatsächlich mit einem kleinen Koaxialstecker geliefert der vorspannungsversorgt war und auf den er das Signal ohne messbaren Verlust aufmodulierte.
@MarcusMüller, umformulieren, was Sie sagen: Man kann sowohl analoge als auch digitale Signale vermasseln. Ja das ist richtig. Dennoch gibt es für die digitale Kommunikation eine fertige Infrastruktur: CAT5-Kabel, RJ45-Stecker, Transceiver, ESD-Schutz, Isolierung. Analog würde einige Kabel in Videoqualität erfordern, die es auch gibt, aber meiner Meinung nach weniger verbreitet sind.
@GregoryKornblum ha! Ja, in der Tat, Schrauben sind überall zu finden :) Meine Erfahrung ist, dass die Beschleunigungsmesser OP wahrscheinlich (er erwähnt es nicht, oder ich bin blind) entweder IEPE sind , was Koaxkabel bereits praktisch vorschreibt (und diese sind in diesen Anwendungen nicht so ungewöhnlich) oder 2-4-mA-Stromquellensensoren für industrielle Steuerschaltungen; beide Fälle bedeuten, dass wir uns zu viele Sorgen machen würden
Hoffen wir, dass er uns sagt, was er entschieden hat und was dabei herausgekommen ist :)
Alles in allem war Ihre Diskussion sehr aufschlussreich und genau die Art von Fachwissen, nach der ich gesucht habe. Ich fasse zusammen, was ich (der Lernende) gehört habe. Ideales Design: Behalten Sie die Qualität des Signals bei (früh digitalisieren), da Sie Rauschen nicht mehr abschwächen können, nachdem es im Signal enthalten ist. Die digitale Übertragung über große Entfernungen kann mit der richtigen Ausrüstung robust sein. Dennoch kann mit entsprechenden Kabeln das Rauschen gemildert werden.
Mein Plan. Ich werde damit beginnen, den ADC 1 m von meinem Sensor entfernt zu platzieren (es könnte näher an 0,5 m liegen) und auswerten, mit welcher Art von Signalrauschen ich konfrontiert werde. Dies ist etwas, das ich mit meinen derzeitigen Fähigkeiten in der Lage bin, Fehler zu beheben. Es kann sein, dass dies zeigt, dass ich früher digitalisieren muss, was ich an diesem Punkt untersuchen werde. Insbesondere wenn ich das Erste über den Bau eines Transceivers für mein digitales Signal wüsste, würde ich vielleicht einen anderen Ansatz wählen - aber ich lerne immer noch, also denke ich, dass dies in jedem Fall informativ sein wird.
Vergessen Sie nicht, uns zu sagen, wie es endet.