Zuführen einer Sinuswelle mit höherer Spannung zum Arduino-Interrupt-Pin

Ich möchte Arduino verwenden, um Zyklen von einem Fahrradgenerator zu zählen. Dieser Generator hat eine variable Frequenz (die ich messen möchte), aber auch eine variable Spannung, die proportional zur Radgeschwindigkeit ist und typischerweise über 6 V liegt.

Was ich möchte, ist eine Möglichkeit, die Spannung der Welle zu begrenzen, damit ich den Anstieg einer Pin-Spannung ( attachInterrupt(pin, RISING)oder vielleicht pulseIn(pin, HIGH)) erkennen kann.

Mein Zweifel betrifft entweder die Spannungsbegrenzung (für die ich an einen 5-V-Zener denken würde), aber auch die Impedanz, da ich keinen Strom aus dem Generator ziehen möchte (der den Rest der Fahrradschaltung mit Strom versorgen muss).

Ist die Zener-Idee richtig? Welche anderen Komponenten sollte ich hinzufügen und wie sollten sie kombiniert werden?

Ich weiß, dass es einen sogenannten Schmidt-Trigger gibt, aber ich weiß nicht genau, wie ich ihn hier verwenden könnte (und ehrlich gesagt möchte ich lieber keinen IC verwenden, wenn er nicht benötigt wird).

Ich würde den Ausgang des Dynamos halbwellengleichrichten und dann eine präzise Niederstrom-Shunt-Referenz verwenden, um die Spannung auf etwas zu klemmen, das der Arduino aushalten kann (siehe meine vorläufige Antwort unten), aber wie planen Sie den Betrieb des Arduino? Und was ist die maximale Spitze-zu-Spitze-Spannung, die der Dynamo ausgibt?

Antworten (3)

Ihre Zener-Idee ist richtig, und da Sie sich Gedanken über das Laden des Dynamos machen, könnten Sie so etwas verwenden, bei dem der LM4040 weniger als 1 mA zieht:

Geben Sie hier die Bildbeschreibung ein

So wie ich es verstehe, verfügt die MCU des Arduino über interne Pullups, sodass der LM4040 die negative Halbwelle des Dynamos auf etwa 500 mV unter Masse klemmt, und R2R3 die negative Spannung am Interrupt-Pin auf etwa 250 Millivolt begrenzt, wodurch die Eingangsschutzdioden glücklich.

Ich plane, das Arduino mit wiederaufladbarem Akku über den Gleichstromstecker zu betreiben (damit ich die interne Regulierung und den Schutznutzen erhalte). Der Dynamo erzeugt etwa 6 V RMS nominal, abhängig von Frequenz- und Amplitudenschwankungen. Außerdem ist der Dynamoausgang nicht sinusförmig (wie ich bereits mit einem Oszilloskop überprüft habe), sondern hat einige kurze Spitzen von 40+ Volt, die ich derzeit mit einer Gleichrichterbrücke, einem 6-V-Zener und einem 6800-uF-Kondensator zum Schweigen bringe (aber diese sind für den Rest der Fahrradschaltung, nicht für den Arduino).
Ich habe gestern fast genau dasselbe gemacht. Nur, dass ich den Generator zu diesem Zeitpunkt bereits korrigiert habe, sodass ich nicht das Bedürfnis verspürte, R2 zu verwenden. Außerdem verwende ich anstelle der LM4040 eine einfache Zenerdiode. Es funktioniert gut, vielen Dank!

Es gibt eine schmutzige Methode, Wechselstrom an einen Mikrocontroller anzuschließen - verwenden Sie einfach einen Widerstand.

Ich habe zufällig das Atmega-Datenblatt geöffnet, es zeigt Ihnen, dass der Eingangspin so aussieht:
Arduino-Eingangs-Pin-Modell
Die beiden Dioden auf der linken Seite dienen dem ESD-Schutz, sie leiten jede Überspannung gegen Erde oder die 5-V-Schiene ab. Sie können diese Dioden missbrauchen, um Ihr Wechselstromsignal auf den Bereich von 0-5 V zu begrenzen.

Auswahl eines Widerstands: Verwenden Sie den größtmöglichen Wert, der den Stift zuverlässig ansteuert. Der Leckstrom beträgt 1 uA und die Kapazität 10 pF. Wenn Ihre Dynamofrequenz bei 1 kHz liegt, beträgt die Eingangsimpedanz etwa 1,5 MOhm. 1 µA Leckage wird auch im MOhm-Bereich zu einem Problem. Wenn Sie einen Widerstand in der Nähe von 100 kOhm wählen und die Spannung auf +10 V ansteigt, hat der Strom in den Schutzdioden eine Spitze von vielleicht 20 uA, was keinen Schaden anrichtet.

Dinge, die man beachten muss:

  • Dies funktioniert nur, wenn die Wechselspannung höher als 5 V ist. Wenn sie niedriger ist, versuchen Sie, das Komparatormodul zu verwenden, um sie mit einer 1-V-Referenz zu vergleichen, die Sie mit einem Widerstandsteiler herstellen.
  • Wenn das Arduino mit Wechselspannung betrieben wird, überlegen Sie genau, wo Sie die Wechselspannung und Masse anschließen. Ich mache es aktuell so:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

  • Je nach Massebezug der Wechselstromquelle müssen Sie möglicherweise etwas anderes tun.

All dies ist wirklich schmutzig und unprofessionell. Gut für einen schnellen Frequenzzähler oder Nulldurchgangsdetektor für eine Schaltung. Wenn Sie das Produkt verkaufen oder anderen zeigen wollen, sollten Sie auf jeden Fall eine Diodenklemme und einen Schmitt-Trigger verwenden.

Danke für Ihre Antwort, aber ich bin ein ziemlicher Anfänger in Sachen Elektronik: Wenn Sie "Diodenklemme" erwähnen, was meinen Sie genau? Was ist das für eine Diode und wie soll sie verwendet werden? Wikipedia schlägt vor, dass "Dioden -Clipper " etwas mehr so ​​sein könnte, wie ich dachte, oder?
Ich meine entweder einen Zener mit ausreichend niedriger Spannung, den Sie oben bereits verwenden, oder ein Diodenpaar, das die gleiche Aufgabe wie die internen erfüllt. Der Vorteil der Verwendung eigener externer Diode(n) besteht darin, dass Sie die Spannung dann mit Widerständen etwas herunterteilen können, sodass sie beispielsweise von 0,5 auf 4,5 V schwingt.

Ich persönlich würde mich für die Schmitt-Trigger- Idee entscheiden, weil sie schöne saubere Übergänge zu Ihrem digitalen Eingang liefert, was wirklich das ist, was Sie für Ihren Interrupt-Eingang wollen. Sie müssen auch keinen IC verwenden, um einen Schmitt-Trigger zu bauen, Sie können einen Schmitt-Trigger aus BJTs wie dem im Bild bauen.

Auch Wikipedia hatte eine gute Erklärung zu Schmitt-Triggern Geben Sie hier die Bildbeschreibung ein

Glauben Sie, ich könnte einen IC (z. B. den 4093) mit einer Art Pulldown- oder Pullup-Widerstand und dem Zener verwenden?
Ja, solange Sie einen Vorwiderstand der Zenerdiode haben, um das Signal auf weniger als Vdd zu klemmen. Die Schaltung, die ich im Bild gezeigt habe, ist schön, weil Sie sie mit dem 3906 und 3904 BJT und nur Widerständen bauen können, ohne dass zusätzliche ICs und Zener benötigt werden.