Ich versuche, eine Soundkarte zu verwenden, um ein Triggersignal an einen Arduino zu senden. Die von mir verwendete Software begrenzt jedoch den Ausgang der Soundkarte auf zwischen -1 und 1 V, was nicht ausreicht, um den digitalen Pin auf dem Arduino auszulösen.
Grundsätzlich möchte ich versuchen, dieses 1-V-Signal auf einfachste Weise auf ein 3,3-5-V-Signal zu verstärken, möglicherweise indem ich einen Transistor verwende, um die 5-V-Versorgung von Arduino an den digitalen Pin zu leiten.
Dies ist etwas zeitkritisch, und die einzigen Komponenten, die ich im Moment zur Verfügung habe, sind einige NPN-Transistoren (2N2222) und eine große Auswahl an Widerständen. Kann ich einen Transistorverstärker bauen, um die 5 V zu erhalten, die ich brauche? Ich bin neu in diesem Bereich, daher bin ich mir auch nicht sicher, wie / wo Widerstände in diese Schaltung eingebaut werden sollen. Jede Hilfe wäre sehr willkommen!
Bearbeiten: Nur zur Verdeutlichung, ich verwende die Soundkarte, um einen Ton auf einem Kanal darzustellen, und dieses Triggersignal in Form eines kurzen Impulses, um den Beginn des Tons vom Arduino / für andere experimentelle Synchronisationszwecke genau abzuschätzen
Es scheint, dass Sie einen nichtlinearen Verstärker benötigen, da der digitale Eingang nur ein logisches High (in der Nähe von Arduino + Versorgung) oder ein logisches Low (in der Nähe von Arduinos Masse) erkennt.
Dies wird durch eine allgemeine CMOS-Anforderung erschwert, einen Eingang sehr nahe an logisch niedrig oder sehr nahe an logisch hoch zu treiben - ein Verweilen nahe der Hälfte belastet das Logikgatter mit übermäßigem Durchschussstrom oder kann Schwingungen verursachen. Daher ist ein Verstärker mit ziemlich hoher Verstärkung oder ein Komparator erforderlich.
Eine weitere Komplikation betrifft die AC-Kopplung, die eine Soundkarte ausnahmslos verwendet: Ihr durchschnittlicher Ausgang wird immer null Volt betragen, selbst wenn Sie volle Amplitude +1 V oder volle -1 V programmieren. Ihre Schwellenwertschaltung kann also nur Amplitudenänderungen erkennen .
Simulieren Sie diese Schaltung – Schema erstellt mit CircuitLab Dieser invertierende Verstärker wird kleine Änderungen an seinem Eingang zu Änderungen des Logikpegels an seinem Ausgang ( Logikausgang ) für einen Mikrocontroller verstärken. Ohne Eingang oder zu kleinem Eingang wird die Basisvorspannung so eingerichtet, dass "Logikausgang" hoch ist und über R3 hochgezogen wird. Positive Impulse am Eingang schalten den Transistor ein und erzeugen am Ausgang nur für kurze Zeit (wahrscheinlich Millisekunden) ein logisches Low.
Die Masse des Audioausgangs muss gemeinsam mit der Masse des Mikrocontrollers verbunden sein. Da dies ein nichtlinearer Verstärker ist, ist die Ausgabe sehr verzerrt und würde unverständlich klingen. Ein kontinuierlicher Ton mit voller Amplitude am Eingang würde Impulse mit Logikpegel der gleichen Frequenz am Logikausgang erzeugen.
Dadurch wird der Transistor eingeschaltet, wenn die Audiospannung ca. 0,7 V, dies zieht den IO-Pin nach unten. Es wird nur auf den +ve gehenden Teil des Audiosignals getriggert.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Ich gehe davon aus, dass der Ausgang Ihrer Soundkarte kapazitiv gekoppelt ist ... wenn nicht, könnten Sie einen Kondensator (1 uF oder mehr) in Reihe mit dem Eingang schalten.
Der Arduino-Eingangspin sollte bei Signalen über etwa 0,7-0,8 V positiver Spitze umschalten. Wenn Sie niederfrequente Sinus-/Rechteckwellen verwenden, können Sie möglicherweise sowohl eine Präsenz- als auch eine Frequenzanzeige erhalten.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Sie können die folgende Schaltung verwenden. Da Sie keine Dioden zur Hand haben, wird die Basis-Emitter-Diode von Q1 verwendet, um die Basis von Q2 vor großen negativen Spannungen wie statischen oder Transienten zu schützen.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
jonk
Andi aka
Chris