Für ein (verrücktes) bevorstehendes Schulprojekt baue ich ein Klavier zu einem computergesteuerten Klavier um. Ich plane derzeit die Verwendung von Solenoiden, die unter dem Ende der Tasten montiert sind (Aktionsseite offensichtlich, wie Yamahas DiskClavier-System sowie das PianoDisc-System).
Ich plane, ein Arduino zu verwenden, um MIDI-Signale zu nehmen und alle Solenoide anzusteuern. Ich brauche PWM an den Solenoiden, damit ich die Geschwindigkeit steuern kann, mit der die Solenoide auf die Tasten schlagen, und dadurch die Lautstärke bestimmen kann. Das Problem ist, dass es keine leichte Aufgabe ist, mit PWM 88 Solenoide mit einem Arduino zu steuern.
Ich dachte, ich könnte einen generischen PWM-Generator verwenden, um die Signale zu erzeugen, und es gibt 16-Kanal-Servo-PWM-Generatorplatinen, die SEHR billig sind. Servos benötigen jedoch eine ganz bestimmte Art von Signal, das sich ziemlich von dem generischen PWM unterscheidet, das ich hier benötige. Weiß jemand, ob diese funktionieren, um generisches PWM zu erzeugen? (Link: http://www.ebay.com/itm/PCA9685-16-Channel-12-bit-PWM-Servo-motor-Driver-I2C-Module-For-Arduino-Robot-/272557014281?hash=item3f75a9fd09: g:6SIAAOSwax5Yozsi )
Kann ich nach Erhalt eines PWM-Signals einfach einen MOSFET und eine Diode (zum Schutz vor Rückschlagspannung) verwenden, um die Solenoide direkt anzusteuern?
Irgendwas, was ich hier komplett vermisse?
Jede Hilfe und Anleitung wird sehr geschätzt.
PS Ich weiß, ich bin ein bisschen verrückt, das zu versuchen.
Vergessen Sie Verrücktheit – gut für Sie, Nachforschungen und Experimente sind eine großartige Möglichkeit, etwas zu lernen.
Das von Ihnen identifizierte NXP PCA9685-Modul wird FETs ansteuern, wie Sie es beschreiben. Setzen Sie einen 1-K-Serienwiderstand zwischen jeden PCA9685-Ausgang und sein FET-Gate. Dies begrenzt den Strom zu/von der Gate-Kapazität während des Umschaltens des PWM-Ausgangs auf max. 5 mA, da der PWM-Ausgang andernfalls bei seiner ansteigenden Flanke in einen Kurzschluss getrieben wird.
Ich würde auch einen 10-K-Pulldown auf GND an jedem PWM-Ausgang zulassen oder einfügen. Das PCA9685-Datenblatt gibt an, dass die Ausgänge während des Zurücksetzens des IC auf Low gehen. Beim Einschalten möchten Sie nicht, dass Dutzende von Solenoiden klicken, weil es nicht sofort genug oder etwas anderes Unvorhergesehenes ist. Dies ist eine reine Vorsichtsmaßnahme, die es Ihnen ermöglicht, einen Pulldown auf den PCA9685 /OE-Pin zu legen und den Arduino auf logisch hoch treiben zu lassen, sobald sich die Versorgung stabilisiert und die Schaltung stabilisiert hat. Sollte nicht benötigt werden, aber besser einplanen und die Teile nicht in Ihr experimentelles Lash-up einbauen.
jonk
st2000
Benutzer98663
Willem Hill
Willem Hill
st2000
Benutzer98663