Von einem analogen Hallgeber, neben einer rotierenden Welle mit Magnet, erhalte ich eine annähernde Sinuswelle von 100 mVSS, zwischen 1 und 50 Hz. Das Nutzsignal ist der temperaturabhängigen halben 5V-Versorgungsspannung beaufschlagt. Diesem Nutzsignal ist aber auch ein sehr hochfrequentes Rauschen und Spratzen von im Mittel 50 mV und in den Spitzen bis 200 mV überlagert. Welche Vorgehensweise der ADC Messung und Weiterverarbeitung, zur Ermittlung der Frequenz (+-10%), würdet ihr vorschlagen? Die Elektronik ist vorgegeben und nicht veränderbar.
:
Bearbeitet durch User
Ein numerischer Filter mit gleitenden Durchschnitt. Die halbwegs konstante Abtastrate isz wohl vom ADC vorgegeben, die Länge des Filters lässt sich auch experimentell ermitteln. Die Frequenz ergibt sich dann durch die Nulldurchgänge oder Steigungsumkehr.
Maximilian schrieb: > Diesem Nutzsignal ist aber auch ein sehr hochfrequentes Rauschen und > Spratzen von im Mittel 50 mV und in den Spitzen bis 200 mV überlagert. DA würde ich mich mal drum kümmern. Wie hast du das gemessen?
Irgendwann im Studium hab ich mal was von adaptiven Filtern mit LMS-Verfahren gelernt, dieser könnte das Signussignal "lernen" und reproduzieren, d.h. die Parameter Frequenz & Amplitude herausfinden, die du ja vermutlich wissen willst.
Moin, Naja, bevor ich schon eine konkrete Filterrealisierung angebe, wuerde ich doch eher mal vage bleiben, angesichts der vagen Datenlage. Sicherlich wirds gut sein, wenn man eh schon weiss, dass nur Signale zwischen 1..50Hz "interessant" sind, dass man, nachdem man eine seinen Anforderungen und der HW angepasste Abtastrate ueberlegt hat, dann die Samples erstmal durch ein entsprechendes Bandfilter schickt und hoffen kann, dass das die Stoerungen ausreichend daempft. Danach koennt man z.b. nur noch die Vorzeichen der Samples auswerten (evtl. vereinfacht diese Aussicht die Realisierung des Bandfilters auch schon etwas) und gucken, ob man damit genuegend genau und ausreisssicher auf die Frequenz schliessen kann. Wenn nicht, koennte man eine digitale PLL aufbauen/programmieren, die auf die gefilterten Samples "locked". Dann wird man schon recht gut aus den Werten fuer den NCO die Frequenz haben... Gruss WK
Maximilian schrieb: > zwischen 1 und 50 > ... > zur Ermittlung der Frequenz (+-10%) Da Nebenbedingungen unbekannt: Signal filtern und eine Minute lang die Maxima zählen sollte reichen ;-)
Bis jetzt ist nicht viel gekommen. Die Erwähnung von 'Steigungsumkehr' durch Nick hat mich jedoch auf den Gedanken gebracht, dass das die Bildung des gleitenden Mittelwertes erübrigen würde. Ich bräuchte nur den vorherigen Messwert zum Vergleich und kann ableiten ob die Spannung hoch oder runter geht. Bei Wechsel dieser Veränderung endet/beginnt eine Periode. Aber wie viele Messungen mache ich pro Halbwelle? Ist es besser eine breite oder mehrere schmale gemittelte Messungen pro Abtastung zu machen? Eine Minute filtern ist zu lang. Nach 10 Sekunden spätestens muss eine Messung vorliegen.
:
Bearbeitet durch User
Maximilian schrieb: > Die Elektronik ist vorgegeben und nicht veränderbar. Dann hat die hoffentlich wenigstens ein Anti Aliasing Filter für den ADC, der dann auch zur benutzten Abtastrate passt. Ansonsten misst du eh Mist, das kann kein digitales Filter mehr aufräumen.
Maximilian schrieb: > Sinuswelle von 100 mVSS Da würde ich doch mal zu einer Vorverstärkung raten. Hat der Hallgeber einen Namen? Was empfielt dessen Datenblatt?
Moin, Maximilian schrieb: > Bis jetzt ist nicht viel gekommen. Was erwartest du? Dass irgendwer genau deine Stoersignale kennt? > Die Erwähnung von > 'Steigungsumkehr' > durch Nick hat mich jedoch auf den Gedanken gebracht, dass das die > Bildung des gleitenden Mittelwertes erübrigen würde. Ich bräuchte nur > den vorherigen Messwert zum Vergleich und kann ableiten ob die Spannung > hoch oder runter geht. Steigungsumkehr = Vorzeichenwechsel der 1. Ableitung. 1. Ableitung = Differenzierer. Differenzierer = macht Probleme bei hohen Frequenzen, die du durch die Stoerungen sicher in deinem Signal hast. > Bei Wechsel dieser Veränderung endet/beginnt eine > Periode. Oder ein Stoerimpuls... > Aber wie viele Messungen mache ich pro Halbwelle? So viele, wie deine HW und Signalverarbeigung zulaesst, wenn du nicht Energie sparen musst. Sonst kriegst du kein Geld fuer CPU-Idle zurueck. >Ist es besser eine > breite oder mehrere schmale Messungen pro Abtastung mit Mittelwert zu > machen? Ich wuerde die Signalverarbeitung permanent durchlaufen lassen. Gruss WK
Maximilian schrieb: > Ich bräuchte nur > den vorherigen Messwert zum Vergleich und kann ableiten ob die Spannung > hoch oder runter geht. Das klappt leider nicht. Die Spannung steigt und ist nahe dem Scheitelwert des eigentlichen Signals. Dann kommt ein Spike daher und du hast zwei fallende Flanken kurz nacheinander. Um den Filter kommst du nicht rum. Sicher, Bandpass wäre besser. Aber ich würde es erst mal einfach probieren.
AMPLITUDE = 100 STÖRUNG = 2*AMPLITUDE FREQ = 29.56 SPS = 20000 SAMPLES = 20000 * Mit drei verschiedenen Filtern. * Mit FFT.
Maximilian schrieb: > Eine Minute filtern ist zu lang. Nach 10 Sekunden spätestens muss eine > Messung vorliegen. Interessant zu erfahren, dann warte eben nur 10 Sekunden ;-) Während sich Einige hier bemühen, alles möglichst kompliziert zu machen, würde ich vom Signal per digitalem Komparator die Perieden bestimmen und auswerten. Supersimpel aber sicherlich nicht zielführend, wenn man sich tagelang über dieses 'Problem' austauschen möchte.
Maximilian schrieb: > Bis jetzt ist nicht viel gekommen. Von dir auch nicht. Nochmal: WIE hast du die Störungen gemessen und woher kommen ggf. höherfrequente Magnetfelder in deinem Aufbau? Was ist das für ein Hall-Sensor (Typenbezeichnung)? 100 mVSS ist nicht die Welt. Hat der Magnet evtl. durch zu hohe Temperatur Feldstärke eingebüßt? Bandbreitenbegrenzung des Signals ist auf jeden Fall nötig, aber erstmal versucht man, die Störungen an der Quelle zu reduzieren.
:
Bearbeitet durch User
Maximilian schrieb: > Von einem analogen Hallgeber, neben einer rotierenden Welle mit Magnet, > erhalte ich eine annähernde Sinuswelle ... > Die Elektronik ist vorgegeben und nicht veränderbar. Vermutlich wäre es sehr viel einfacher, für ein weitgehend störungsfreies Signal an der Quelle zu sorgen. Da wurde etwas zusammengepfuscht, und dir die A.schkarte zugeschoben... Ich habe vor vielen Jahren mal Messungen an einer Turbine messtechnisch begleitet. Da war sogar die exake Phasenlage des Synchronsignals entscheidend für den Erfolg. Entsprechend gründlich wurde bereits beim Geber das Sognal konditioniert, und eine PLL sorgte dann für eine stabile Referenz der Messungen. Um die fehlende Tauglichkeit des Aufbaus mit dem du nun konfroniert bist nachzuweisen, würde ich einige Messsungen der Signalqualität machen. Dabei könnte z.B. herauskommen, dass es mit überschaubarem Aufwand unmöglich ist, daraus stabile Werte herauszulesen. Mit dem vorgegeben und der Auswertung dessen, müsste man dann auch eine schlechte Qualität einer davon abgeleiteten Referenz akzeptieren.
Mi N. schrieb: > würde ich vom Signal per digitalem Komparator die Perieden bestimmen und > auswerten. 2500mV Offset + 100mVpp Signal + 200mV Störung, das wäre aber … hmmm … ambitioniert. Zumindest ohne reichlich Signalkonditionierung vorab.
:
Bearbeitet durch User
Norbert schrieb: > 2500mV Offset + 100mVpp Signal + 200mV Störung, das wäre aber … hmmm … > ambitioniert. Zumindest ohne reichlich Signalkonditionierung vorab. Wie ein Signal nach TP-Filterung aussehen kann, hast Du ja schon gezeigt. Da sehe ich kein Problem, die Periodendauer per Hysterese zu erkennen. Wie das Signal vom TO aussieht, weiß er wohl nur selber.
Mi N. schrieb: > Wie das Signal vom TO aussieht, Schmutzig! Sehr, sehr schmutzig. ;-) Eigentlich mehr Schmutz als Nutz… PS. Mit 'ner FFT über einen Zeitraum von 10 Sekunden bekommt man es schon sehr schön genau. Und jede einzelne FFT dauert ziemlich genau 20ms. Könnte man also bis zu 50 mal pro Sekunde überlappend anwenden.
Norbert schrieb: >> Wie das Signal vom TO aussieht, > > Schmutzig! Sehr, sehr schmutzig. ;-) > Eigentlich mehr Schmutz als Nutz… Na gut, Dir und Deiner Glaskugel glaube ich das! Gegen Spratzen hilft übrigens eine Spratzenlaus, die sich davon ernährt und daraus dunkle Punkte macht.
Norbert schrieb: > Schmutzig! Sehr, sehr schmutzig. ;-) Interessant, was manche Leute für Ergebnisse herausbekommen, selbst wenn das KI-generierte Trollposting wesentliche Angaben unterschlägt, z.B. die verwendete Samplerate oder die Angabe, worauf sich eigentlich die Prozentangabe des zulässigen Fehlers bezieht... Das ist natürlich Absicht, weil die Hauptaufgabe des Postings die Generierung von nutzlosem Traffic ist.
Mi N. schrieb: > Na gut, Dir und Deiner Glaskugel glaube ich das! Glauben heißt: Nicht wissen. Aber schon im Eingangsbeitrag steht unmissverständlich: Maximilian schrieb: > Sinuswelle von 100 mVSS, > hochfrequentes Rauschen … in den Spitzen bis 200 mV überlagert Ein Störsignal doppelt so stark wie das Nutzsignal. Das würde ich jederzeit schmutzig nennen.
Ob S. schrieb: > Das ist natürlich Absicht, weil die Hauptaufgabe des Postings die > Generierung von nutzlosem Traffic ist. Hat ja gut geklappt. ;-)
Hallo, an alle Beteiligten, es wird nach der Ermittlung einer FREQUENZ gefragt... seit wann brauche ich dazu einen 12 Bit ADC ???? Oder habe ich ALLES falsch verstanden ??? Ach ja, ist dort ein übles Schaltnetzteil in Arbeit ? Grüße aus MeckPomm
Paulus T. schrieb: > Oder habe ich ALLES falsch verstanden ??? Ja! Außerdem hast du nicht alles gelesen.
Sind die Störungen evtl. dem Messaufbau zuzuordnen und in Wirklichkeit nicht vorhanden? Z.B. langer Masseclip am Tastkopf? Zum Messverfahren: wieviel RAM hast Du denn übrig? Neben mathematischen Verfahren könntest Du einfach für 2500 Werte alle 10us per DMA in einen Buffer wandeln und „offline“ nach den Maxima suchen. Kann ja in der Hauptschleife passieren wo Rechenzeit ggf. keine Rolle spielt. Nach der Ermittlung gleich wieder mit einem neuen Zyklus starten.
Könnte der TO einfach mal das Signal oszilloskopieren und gnädigerweise hier posten?
Meinen letzten Post ignorieren, hatte untere Grenzfrequenz übersehen.
Nick schrieb: > Könnte der TO einfach mal das Signal oszilloskopieren und gnädigerweise > hier posten? Und dazu das Spektrum ...
Nick schrieb: > Könnte der TO einfach mal das Signal oszilloskopieren und gnädigerweise > hier posten? Der TO ist anscheinend weg und meldet sich nicht mehr.
Maximilian schrieb: > Welche Vorgehensweise der ADC Messung und > Weiterverarbeitung, zur Ermittlung der Frequenz (+-10%), würdet ihr > vorschlagen? Mit einem STM32F4x das Signal zu digitalisieren und eine FFT zu bilden, ist jetzt nicht so ein Hexenwerk. Wenn man darin geübt ist, geradezu einfach, für einen ganz Neuen im Thema schon ganz schön verwirrend. Finden sich aber viele Beispiele zum Abkupfern. Stichwort YAEC in YT.
Gunnar F. schrieb: > Mit einem STM32F4x das Signal zu digitalisieren und eine FFT zu bilden, Was soll denn der ganze Aufwand? Weiter oben hatte Norbert ein hypothetisches Signal erzeugt und mit einfachen Mittel gefiltert: blaue Kurve. Spratzen hat er zwar vergessen, aber das gefilterte Signal mit einer kleinen Hysterese von 100 (ohne Dimension) eindeutig zu erkennen, wäre doch kein Problem. Wenn die Nulllinie driften sollte, könnte man die Hysterese anhand von Maxima und Minima nachführen, oder man fügt noch einen Hochpass <= 0,1 Hz ein. Aber das wird überhaupt nicht notwendig sein. Alles zusammen: Kinderkram.
Mi N. schrieb: > Spratzen hat er zwar vergessen, Ja, da fehlte mir dann doch die Vorstellungskraft. ;-)
Udo S. schrieb: > Der TO ist anscheinend weg und meldet sich nicht mehr. Der sucht noch nach der Samplerate vom ADC. Die Samplerate wäre ja auch egal, wenn er einen F-U-Wandler einbaut, aber bei der Anforderung: Maximilian schrieb: > Die Elektronik ist vorgegeben und nicht veränderbar. ¯\_(ツ)_/¯
Rick schrieb: > Die Samplerate wäre ja auch egal, wenn er einen F-U-Wandler einbaut ... Blöde nur, dass so ein F-U-Wandler ein sauberes Signal braucht und nicht irgendwelchen Dreck mit einem SNR von 6dB ... -6dB (?). Damit wären wir dann wieder bei der Suche nach der Quelle für die Störungen oder wenigstens bei einem anständigen Filter, falls Signal und Störungen spektral ausreichend gut trennbar sind.
:
Bearbeitet durch User
Cartman E. schrieb: > Vermutlich wäre es sehr viel einfacher, für ein weitgehend > störungsfreies Signal an der Quelle zu sorgen Ein edler Gedanke - im Industrieumfed oft nicht machbar. Die Maschinen stören alles was magnetisch empfangen kann. Da kannst du Abschirmen bis der Arzt kommt. Man sieht den Dreck immer. Norbert schrieb: > Mit 'ner FFT über einen Zeitraum von 10 Sekunden bekommt man es > schon sehr schön genau. Und jede einzelne FFT dauert ziemlich genau > 20ms. Das taugt aber meistens nicht zu einer Auswertung für solche magnetischen Geber, weil deren Information SOFORT benötigt wird, weil die Regelung sie braucht. Mit schon mehr als 50ms - 100ms hat man ein Problem. Ich habe gerade ein ähnliches Thema und muss wenigstens 10khZ rauschfrei verarbeiten, brauche also einen schnellen Filter. Beitrag "Daten-Filterung per uC - Erklärung des Amplitudenverlaufs"
Kai D. schrieb: > Das taugt aber meistens nicht zu einer Auswertung für solche > magnetischen Geber, weil deren Information SOFORT benötigt wird, weil > die Regelung sie braucht. Mit schon mehr als 50ms - 100ms hat man ein > Problem. Von einer Regelung lese ich im Eröffnungspost aber nicht das Geringste. (Und mit der von ihm beschriebenen Signal-Qualität wäre das sowieso ein hochgradig fragwürdiges Unterfangen)
Maximilian schrieb: > Von einem analogen Hallgeber, neben einer rotierenden Welle mit Magnet, > erhalte ich eine annähernde Sinuswelle von 100 mVSS, zwischen 1 und 50 > Hz. Wie schnell muss das Ergebnis feststehen? Das Beste für solche Fälle ist aus technischer Sicht ein modifiziertes Kalman-Filter mit variablen Parametern, das sich nachregelt. Praktisch wird die Motordrehzahl wie mit einer dymamisches PLL nachverfolgt. Das ist aber rechenaufwändig. Etwas einfacher und dafür gröber ist eine FFT oder ein Görtzel. Ist aber mithinter extrem langsam und kommt mit Delay.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.


