Lesen Sie mit Arduino eine AC-Signalfrequenz von 2–100 Hz bei 80 mV bis 12 V

Ich habe einen Sensor ( NRG #40 Anemometer ), der ein Wechselstromsignal mit einer Frequenz zwischen 2 Hz und ~ 100 Hz mit einer Amplitude von 80 mV bis 12 V Spitze-Spitze erzeugt. Das zu lesende Signal ist die Frequenz (Nulldurchgang?), die Amplitude ist nicht relevant.

Das Signal wird von einem Arduino Uno gelesen. Um die Sinuswelle (vom Sensor) in eine Rechteckwelle (geeignet für den MCU-Eingang) umzuwandeln, dachte ich an die Verwendung eines 74HC14N Hex invertierenden Schmitt-Triggers. Der Anwendungshinweis zum Sensor schlägt vor, Überspannungsschutz, Tiefpassfilter und einen Begrenzer hinzuzufügen. Ich betreibe den Schmitt-Trigger mit 3,3 V.

Blockdiagramm der Signalkonditionierung vom Hersteller

Leider ist mein Schmitt-Trigger-Ausgang immer hoch, was bedeutet, dass das Eingangssignal niedrig ist und nicht registriert wird.

  • Wie kann ich das Eingangssignal auf einen gültigen Pegel für den Schmitt-Trigger bringen?
  • Wie kann ich das Eingangssignal mit Gleichstrom auf etwa 1,65 V vorspannen und es so begrenzen, dass es 3,3 V und 0 V nicht durchlässt?
  • Ich dachte, ich ignoriere den Überspannungsschutz und den Tiefpassfilter für den Testaufbau, ist das in Ordnung?
Für den üblichen Verdächtigen, für den das Offensichtliche nicht offensichtlich ist, ist dies eine Elektronikfrage , KEINE "Arduino-Frage".
@ChrisStratton soll ich das Arduino-Tag entfernen?
Sie sollten es nicht brauchen, aber Tatsache ist, dass wir hier einen so genannten „Moderator“ haben, der sich ernsthaft schlecht benimmt, der aufhört zu lesen und Fragen migriert, wenn er dieses Tag sieht, unabhängig davon, worum es in der Frage tatsächlich geht.
@ChrisStratton danke für die schnelle Antwort und die Hintergrundinfos, werde das Tag behalten. Ich denke, es gibt den richtigen Kontext.

Antworten (1)

Das Diagramm ist eine Art allgemeines Konzept - es erwähnt die Verwendung eines Komparators, der funktioniert, und nicht eines ST-Wechselrichters, der dies nicht tut. Selbst wenn Sie es auf den (eher variablen) Mittelpunkt des Wechselrichters vorspannen, ist die Hysterese zu groß.

Unten ist eine geeignete Schaltung. R4 und die Schottky-Dioden D1/D2 klemmen den Eingang auf etwa +/- einige hundert mV. C1 und R11 sind die Tiefpassfilter. R10 ist der Pullup, der von den meisten Komparatoren wie dem gezeigten LM393 benötigt wird. R1/R2 erzeugen ein bisschen Hysterese. R9 spannt den Eingang um etwa die Hälfte der Hysterese nach oben (da die Hysterese aufgrund des 0/5-V-Ausgangs des Komparators einseitig ist und nicht wegen eines symmetrischen Ausgangs um Masse.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Hinweis: In dieser Schaltung ist keine Berücksichtigung des Blitzschutzes enthalten, da dies außerhalb des Bereichs der Signalverarbeitung liegt. Weitere Informationen finden Sie zum Beispiel unter diesem Link. Es sollte bei einer realen Installation nicht vernachlässigt werden.

Vielen Dank, das sieht super aus! Ich werde die Komponenten besorgen und ausprobieren. Dies basiert auf 5 V und funktioniert, da der Uno 5 V und 3,3 V hat. Im endgültigen Design möchte ich einen Arduino (Arduino Zero) verwenden, der nur 3,3 V hat. Ich habe die Schaltung im Simulator mit 3,3 V betrieben und es sah gut aus. Würden Sie vorschlagen, irgendwelche Komponenten für 3,3 V zu ersetzen?
Es sollte mit einer 3,3-V-Versorgung einwandfrei funktionieren.
Was passiert, wenn am äußeren Windsensorkabel mit hochohmigem unsymmetrischem Komparator 10 VAC CM-Leitungsrauschen vorhanden sind? Wenn Sie ein langes Kabel zum Sensor verwenden, machen Sie es abgeschirmt oder verdrillt und benötigen möglicherweise einen Lastwiderstand, um das Wechselstrombrummen in der Nähe von Strom zu reduzieren.
Es ist eine Quelle mit niedriger Impedanz und schwebend, daher ist ein hohes Z kein Problem, und die Frequenz ist nach dem harten passiven Klemmen begrenzt, sodass sie sehr störfest sein sollte. Sinnvoll ist ein geschirmtes Kabel. Das Kabel ist im Vergleich zu einer Wellenlänge, die es durch den LPF schaffen kann, sehr kurz.
Konnte die Schaltung testen und die Frequenz erfolgreich ablesen. Leider habe ich in meinem örtlichen Elektrofachgeschäft keinen BAT54 oder ähnliches gefunden und konnte daher den Eingang nicht klemmen. Ich erhalte saubere Messwerte, habe aber in meiner aktuellen Version ein paar Off-Messwerte (einige kHz). Meine Vermutung ist, dass es am fehlenden D1/D2 liegt. Werde berichten, sobald ich die Komponenten erhalten habe.
1N5819 ist in diesem Fall ein guter Sub, vielleicht besser
Ich habe gerade einen BAT54S-7-F bekommen und ihn der Schaltung hinzugefügt. Circuit registriert die Frequenz gut, sieht aber hin und wieder etwas höherfrequenten Jitter. Kann dies offensichtlich auf der Softwareseite filtern, dachte aber, dass es auch eine Hardwarelösung geben könnte. Sollen R11 und C1 sie nicht filtern? (Siehe Messwerte wie viele ~12Hz und dann plötzlich 86kHz / 12kHz und dann wieder normal)
86 kHz? Kannst du da ein Oszilloskop anschließen und sehen, was los ist? R1/C1 sollte verhindern, dass mehr als vielleicht 10 kHz durchkommen. Ich habe im Schaltplan keinen Entkopplungskondensator gezeigt, aber natürlich sollten Sie einen ganz in der Nähe des Komparators über den Stromanschlüssen haben. So etwas wie 0,1uF-1uF/16V Keramik.