Inhaltsverzeichnis:

Antreiben kleiner Motoren mit dem TB6612FNG - Gunook
Antreiben kleiner Motoren mit dem TB6612FNG - Gunook

Video: Antreiben kleiner Motoren mit dem TB6612FNG - Gunook

Video: Antreiben kleiner Motoren mit dem TB6612FNG - Gunook
Video: Absurd! 17-Jähriger revolutioniert Motoren und Turbinen! 2024, November
Anonim
Antreiben kleiner Motoren mit dem TB6612FNG
Antreiben kleiner Motoren mit dem TB6612FNG

Der TB6612FNG ist ein Dual-Motor-Treiber-IC von Toshiba. Es gibt viele Breakout-Boards dafür und es ist eine der beliebtesten Optionen, um kleine Motoren anzutreiben.

Es gibt viele Online-Ressourcen für die ersten Schritte mit dem TB6612FNG, aber ich habe mich entschieden, dies trotzdem zu schreiben, um das, was ich gefunden habe, besser zusammenzustellen.

Ich werde mich auf die Steuerlogik konzentrieren und auch die Sparkfun TB6612FNG-Motortreiberbibliothek in diesem anweisbaren ausführlich erklären.

Schritt 1: Erforderliche Teile

Folgendes werden wir heute verwenden:

1) Mikrometallmotoren

2) TB6612FNG-Motortreiber

3) Ein Arduino- und USB-Kabel

4) Stromquelle für die Motoren

5) Steckbrett

6) Überbrückungsdrähte

Schritt 2: Das Breakout-Board TB6612FNG

Das Breakout-Board TB6612FNG
Das Breakout-Board TB6612FNG

Wie bereits erwähnt, gibt es für den TB6612FNG jede Menge Breakout-Boards verschiedener Hersteller. Alle von ihnen haben mehr oder weniger die gleichen Komponenten und auch eine ähnliche Pinbelegung.

Kondensatoren sind zum Schutz vor Motorengeräuschen auf die Platine gelötet, sodass Sie diese Keramikkondensatoren nicht an die Motoren löten müssen.

Der IC kommt auch mit internen Dioden zum Schutz vor Gegen-EMK von den Motoren. Aber zusätzliche Sicherheitsvorkehrungen haben niemandem geschadet. Ich habe sie nicht hinzugefügt, weil meine Motoren nicht sehr groß sind und mir die Dioden knapp sind:|

Schritt 3: Pin-Outs

Pinbelegung
Pinbelegung

Das Breakout-Board TB6612FNG hat eine sehr praktische Pinbelegung. Alle Motorausgänge, Eingänge und Stromanschlüsse sind für maximale Benutzerfreundlichkeit schön gruppiert.

Ich habe eine Illustration der Pinbelegung und wie man sie anschließt, ich hoffe, dass es beim Anschließen all dieser Drähte nützlich ist:)

Schritt 4: Schaltpläne

Schema
Schema
Schema
Schema

Ich bin ziemlich neu im Umgang mit Fritzing. Ich finde die Schaltpläne von Fritzing ziemlich schwer zu verstehen, aber die Steckbrettansicht ist praktisch für Instructables. Fühlen Sie sich frei, Fragen zu stellen, wenn eine der Kabelverbindungen verwirrend aussieht.

Schritt 5: Verdrahten Sie es

Verkabeln
Verkabeln

Verdrahten Sie alles nach Schaltplan. Es gibt viele Drähte, überprüfen Sie nach jeder Verbindung.

Ich habe die folgenden Arduino Pins für die Motortreibereingänge verwendet:

Motortreiber -> Arduino Pin-Nummer

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Dinge, die in diesem Schritt schief gehen können: 1) Vertauschen Sie die Polarität nicht, während Sie Vm und GND von der Stromquelle anschließen. Sie könnten Ihren Motortreiber braten.

2) Stellen Sie sicher, dass Sie PWMA und PWMB mit den PWM-Pins des Arduino verbinden.

3) Denken Sie daran, den Arduino GND und den GND vom Motortreiber zu verbinden, wenn Sie für jeden eine andere Stromquelle verwenden.

Schritt 6: Herunterladen und Installieren der Bibliothek

Laden Sie die Bibliothek von der GitHub-Seite von Sparkfun herunter.

Nachdem Sie die ZIP-Datei heruntergeladen haben, öffnen Sie Ihre Arduino IDE.

Fügen Sie über Skizze > Bibliothek einschließen >. Zip-Bibliothek hinzufügen die heruntergeladene Bibliothek hinzu.

Nach erfolgreicher Installation sollte es unter Datei> Beispiele als "SparkFun TB6612FNG Motor Library" angezeigt werden.

Wenn Sie Schwierigkeiten beim Herunterladen und Installieren einer Arduino-Bibliothek haben, lesen Sie Schritt 5 dieser Anleitung.

Schritt 7: Ausführen des Beispielcodes

Nachdem wir nun unsere Bibliothek fertig haben, können wir den Beispielcode hochladen, um ihn zu testen.

1) Öffnen Sie das Beispiel 'MotorTestRun' aus der 'Sparkfun TB6612FNG Motor Driver Library', die in Ihren Bibliotheken aufgeführt ist.

Hinweis: Wenn Sie nicht die gleichen Pin-Nummern wie in Schritt 5 erwähnt verwenden, stellen Sie sicher, dass Sie die Pin-Definitionen entsprechend Ihrem Setup ändern.

2) Wählen Sie Ihr Board im Board-Manager aus

3) Laden Sie Ihren Code hoch und die Motoren sollten sich bewegen

Sobald Sie das hochladen, sollten sich die Motoren bewegen. Wenn dies nicht der Fall ist, überprüfen Sie Ihre Verkabelung erneut.

Schritt 8: Die Bibliothek erklärt

Jetzt erklären wir, wie Sie die Bibliothek für Ihren eigenen Code verwenden.

Beginnen Sie zunächst mit dem Importieren der Bibliothek und dem Initialisieren der Pins auf arduino

#enthalten

#define AIN1 2 #define AIN2 4 #define PWMA 5 #define BIN1 7 #define BIN2 8 #define PWMB 6#define STBY 9

Um Ihre Motorobjekte zu initialisieren, müssen Sie Offsets für jeden Motor einstellen. Stellen Sie sich vor, Sie führen einen Vorwärtsbefehl für Ihren Motor aus und er dreht sich rückwärts. Sie können es manuell neu verdrahten oder einfach den Offset von hier aus ändern. Raffinierter kleiner QoL-Hack von SparkFun hinzugefügt. Die Werte dieser Offsets sind entweder 1 oder -1.

Anschließend müssen Sie jeden der Motoren mit den folgenden Parametern initialisieren;

Motor = Motor (Pin 1, Pin 2, PWM-Pin, Offset, Standby-Pin)

const int offsetA = 1;

const int offsetB = 1; Motor motor1 = Motor (AIN1, AIN2, PWMA, OffsetA, STBY);

Damit sind Sie mit der Initialisierung der Bibliothek fertig. Keine weiteren Schritte in der setup()-Funktion, wir führen einfach den Code in der loop()-Funktion aus.

Die Motormethode hat die folgenden Funktionen. Bastle herum, um sie alle zu überprüfen.

1).drive(Wert, Zeit)

Motor_name = Name Ihres Motors objectvalue= 255 bis -255; negative Werte bewirken, dass sich der Motor rückwärts bewegt Zeit = Zeit in Millisekunden

2).bremse ()

Bremsfunktion nimmt keine Argumente an, bremst die Motoren.

3) Bremse (, <motor_name2)

Die Bremsfunktion verwendet Motorobjektnamen als Argumente. Bremst die an die Funktion übergebenen Motoren.

4) vorwärts (,, Zeit) vorwärts (,, Geschwindigkeit, Zeit)

Die Funktion akzeptiert den Namen von zwei Motorobjekten, optional PWM-Geschwindigkeit und Zeit in Millisekunden und lässt den Motor für die verstrichene Zeit in Vorwärtsrichtung laufen. Wenn der Geschwindigkeitswert negativ ist, fährt der Motor rückwärts. Die Standardgeschwindigkeit ist auf 255 eingestellt.

5) zurück(,, Zeit) zurück(,, Geschwindigkeit, Zeit)

Die Funktion akzeptiert den Namen von zwei Motorobjekten, optional PWM-Geschwindigkeit und Zeit in Millisekunden und lässt den Motor für die verstrichene Zeit in Vorwärtsrichtung laufen. Wenn der Geschwindigkeitswert negativ ist, fährt der Motor vorwärts. Die Standardgeschwindigkeit ist auf 255 eingestellt.

6) links (,, Geschwindigkeit) rechts (,, Geschwindigkeit)

Funktion akzeptiert zwei Motorobjektnamen und Geschwindigkeit. Die Reihenfolge der als Parameter übergebenen Motorobjekte ist wichtig. Um einzelne Motoren anzutreiben, verwenden Sie stattdessen.drive().

Empfohlen: