Wenn ein IC einen externen Widerstand für das Timing hat, kann dieser durch eine analoge Spannung von einem anderen IC ersetzt werden?

Insbesondere möchte ich die Abtastrate eines ISP1820 mit einem analogen Ausgang von einem Arduino steuern. Ich weiß, ich könnte einen digitalen Topf hineinwerfen, aber ich habe keinen, und das scheint unnötige Komplexität zu sein, wenn ich den Widerstand entfernen und den Arduino auf einen der Pins auf dem anderen Chip schauen und den anderen Pin berechnen könnte sollte sehen.

Oder könnte ich zwei Pins eines Transistors an den Tochterchip anschließen und den Arduino die Abtastrate steuern lassen, indem ich den Transistor bei einer bestimmten Frequenz umdrehe? Ich habe auch einen kleinen Haufen zufälliger Operationsverstärker, CMOS-Logikchips und 555er. Ich habe kein Problem damit, dass 1820 ein bisschen glitcht, also wäre eine klumpige Lösung akzeptabel.

Antworten (1)

Das ist ein ISD1820, das Sie haben, kein ISP1820.

Hier ist das Schema eines typischen Geräts, das mit einem ISD1820 hergestellt wurde:

Geben Sie hier die Bildbeschreibung ein

Die einfachste Möglichkeit, die Betriebsfrequenzen zu ändern, besteht darin, zwei Widerstände anzuschließen R Ö S C . Ein Ende jedes Widerstands an R Ö S C , der andere an einen digitalen IO-Pin auf dem Arduino.

Um eine bestimmte Frequenz auszuwählen, setzen Sie den Pin für diesen Widerstand auf Ausgang und Masse. Den anderen Ausgang stellen Sie auf INPUT. Dadurch bleibt der digitale IO-Pin schwebend, sodass er den ISD1820 nicht stört. Verwenden Sie nicht INPUT_PULLUP , da dies einen anderen Widerstand im Arduino aktiviert.

Dadurch erhalten Sie spezifische Widerstandswerte für bestimmte Abtastraten auf dem ISD1820. Sie können mehr Pins und Widerstände für mehr Abtastraten verwenden. Mit mehreren Widerständen können Sie sie in verschiedenen Kombinationen verbinden, um mehr Frequenzen zu erhalten.

Dadurch erhalten Sie keine unendlich variablen Frequenzen wie bei einem Potentiometer, aber vielleicht tut es das, was Sie brauchen.


Eine Skizze von dem, was ich beschrieben habe:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

  • Wenn Sie Digital9 auf OUTPUT und LOW und Digital10 auf INPUT einstellen, verwendet das ISD1820 die 6,4-kHz-Abtastrate (10-Sekunden-Aufnahme).
  • Wenn Sie Digital10 auf OUTPUT und LOW und Digital9 auf INPUT einstellen, verwendet das ISD1820 die 3,2-kHz-Abtastrate (20-Sekunden-Aufnahme).

Wenn Sie wirklich eine variable Abtastrate wünschen, können Sie dies versuchen:

schematisch

Simulieren Sie diese Schaltung

Verwenden Sie PWM (analogWrite) auf Pin D9 des Arduino. Ich denke, der ISD1820 nutzt den Entladestrom durch R Ö S C um die Frequenz einzustellen. Das Variieren des PWM-Tastverhältnisses ändert den Strom von R Ö S C .

Sie müssen wahrscheinlich mit den Komponentenwerten und der PWM-Rate spielen, damit es funktioniert. Die Werte sind eine wilde Vermutung, die möglicherweise nicht annähernd richtig ist - oder vielleicht genau richtig. Wer weiß. Die ISD1820-Datenblätter sind wirklich mies und geben null Details an R Ö S C .

Versuch es. Wenn es funktioniert, können Sie Ihre eigene Antwort mit den endgültigen Werten und dem von Ihnen verwendeten Code (PWM-Werte usw.) posten.

Wunderschön, vielen Dank! Und danke für die Gründlichkeit und Klarheit der Antwort. Und miserabel ist das richtige Wort, um mit den Datenblättern zu beginnen, aber trotzdem hätte ich gerne daran gedacht, mir dieses Diagramm genauer anzusehen. War ich verrückt zu glauben, dass der Widerstand über zwei Pins liegt? Ich kann mir vorstellen, dass es verschiedene Möglichkeiten gibt, dies zu tun ...
Lassen Sie mich wissen, wie es ausgeht und welche Lösung Sie verwendet haben.