Steuerung der Geschwindigkeit von 7 DC-Motoren von Arduino 101 mit PWM außerhalb des hörbaren Bereichs

Ich forsche an einer Möglichkeit, PWM für 7 unabhängige DC-Motortreiber zu erzeugen, die jeweils an einen 12-V-DC-Motor angeschlossen sind. Die Treiber nehmen ein PWM-Signal, ein Richtungssignal und eine 12-V-DC-Versorgung auf und steuern damit die Drehzahl der Motoren.

Derzeit verwendet das Design das 16-Kanal-12-Bit-PWM/Servo-Treiberboard von Adafruit, das auf dem PCA9685-IC basiert, um mehrere PWM-Signale von nur einem Arduino 101 (über den I2C-Bus) zu erzeugen. Das Problem bei diesem IC und darauf basierenden Boards ist, dass die maximal mögliche PWM-Frequenz, die es erzeugen kann (1600 Hz), ein hörbares Brummen der Motoren erzeugt, wenn sie aktiv sind.

Es wäre besser, eine PWM-Erzeugungsschaltung zu haben, die PWM bei ~ 25 kHz erzeugen kann, wo sie außerhalb des hörbaren Frequenzbereichs liegen würde. Die Schaltung muss von einem Arduino gesteuert werden, da dies die Plattform ist, für die vorhandene Software entwickelt wurde.

Gibt es vorgefertigte Leiterplatten oder integrierte Schaltkreise, die diese Funktionalität ermöglichen würden?

Sieben Motoren sollten mit Sorgfalt gesteuert werden - Ihr Arduino Vss wäre mit der Motortreibermasse verbunden (was häufig mit der 12-V-Motorversorgungsmasse gemeinsam ist). Transienten und große Erdströme können Probleme verursachen. Sie können diese Probleme vermeiden, indem Sie Arduino mit Treibern über Optokoppler verbinden.

Antworten (1)

Der Grund für die recht niedrige Frequenz des PCA9685 ist seine Hauptverwendung als LED-Treiber. Ich empfehle Ihnen, einen Motorcontroller-IC auszuwählen, der die Aufgabe erfüllen soll. Ich frage mich auch, wie Sie von einer 12-V-Versorgung sprechen, da ich das Datenblatt überprüft habe und auf den absoluten maximalen Eingang von 6 V hingewiesen wurde (siehe beigefügtes Bild).

Basierend auf einer schnellen Überprüfung ist die I2C-Schnittstelle bei Motorsteuerungen ziemlich ungewöhnlich, zumindest bei solchen mit mehreren Ausgängen. Es scheint einfacher zu sein, Treiber mit SPI-Schnittstelle zu finden.

Ich bin mir nicht sicher, ob vorgefertigte Module eine solche Funktionalität bieten (mit Ausnahme teurer Industriesteuerungen). Vielleicht findest du ja ein paar Hobbyfahrer.

Wie wäre es, so etwas zu implementieren: http://www.ti.com/lit/ds/symlink/tpic2050.pdf

Geben Sie hier die Bildbeschreibung ein

Haben Sie Erfahrung in der Herstellung von Leiterplatten? Wenn nein, ist es eine großartige Erfahrung, selbst einen zu entwerfen! :)
Vielen Dank für die Antwort und den Link zu diesem IC, ich werde versuchen, meine eigene Schaltung zu entwerfen. Ich erwähne den 12-V-Eingang, weil die Motor-H-Brückentreiber dies erhalten, nicht die PWM-Generatorschaltungen.