Arduino TB6612FNG Aansluitgids
Release status: Tutorial
Description | Arduino TB6612FNG Aansluitgids
|
License | |
Author | |
Contributors | |
Based-on | [[]]
|
Categories | |
CAD Models | |
External Link |
Inleiding
De TB6612FNG is een eenvoudige en betaalbare manier om motoren te besturen. De TB6612FNG kan twee DC-motoren aandrijven met een constante stroomsterkte van maximaal 1,2 A. In het IC vind je twee standaard H-bruggen op een chip waarmee je niet alleen de richting en snelheid van je motoren kunt regelen, maar ook kunt stoppen en remmen. In deze Tutorial wordt gedetailleerd beschreven hoe u het TB6612FNG breakout-bord gebruikt.
Aansluitingen
Laten we de pin-out voor de TB6612FNG-breakoutprint bespreken. We hebben in principe drie soorten pinnen: stroom, invoer en uitvoer, en ze zijn allemaal gelabeld op de bovenkant van het printje.(zie afbeelding)
POWER
- Vmotor Dit is de spanning voor de motoren, niet voor het logische niveau. Houd deze spanning tussen 4,5V en 13,5V. Deze voeding kan veel lawaai maken, dus als je een systeem hebt met analoge metingen of andere RF-geluidsgevoelige onderdelen, moet je de voedingen mogelijk gescheiden (of gefilterd!) houden.
- Vcc dit is de spanning voor de logische niveaus. Stel de spanningslogica in die u op uw microcontroller gaat gebruiken. Bijvoorbeeld voor Arduino's is 5V waarschijnlijk wat je zoekt. Kan 2,7V tot 5,5V zijn, dus goed voor 3V(STM32)- of 5V(ARDUINO)-logica
- GND Dit is de gedeelde logica en motoraarde. Alle GND's zijn verbonden
Logische invoer
Dit zijn allemaal 'Vcc logisch niveau'-ingangen
- INA1, INA2 dit zijn de twee ingangen naar de Motor A H-bruggen
- PWMA dit is de PWM-ingang voor de Motor A H-bruggen. Als u geen PWM-besturing nodig heeft, sluit u deze aan op logisch hoog.
- INB1, INB2 dit zijn de twee ingangen naar de Motor B H-bruggen
- PWMB dit is de PWM-ingang voor de Motor B H-bruggen. Als u geen PWM-besturing nodig heeft, sluit u deze aan op logisch hoog.
- STBY dit is de standby-pin voor het snel uitschakelen van beide motoren, omhoog getrokken naar Vcc via een weerstand van 10K. Verbind met aarde om uit te schakelen.
In1 | In2 | PWM | Out1 | Out2 | Mode |
---|---|---|---|---|---|
H | H | H/L | L | L | Short brake |
L | H | H | L | H | CCW |
L | H | L | L | L | Short brake |
H | L | H | H | L | CW |
H | L | L | L | L | Short brake |
L | L | H | OFF | OFF | Stop |
Motor uitvoer
Dit zijn vermogensuitgangen op 'Vmotor-niveau'
- Motor A(A') - dit zijn de twee uitgangen voor motor A, bestuurd door INA1, INA2 en PWMA
- Motor B(B') - dit zijn de twee uitgangen voor motor B, bestuurd door INB1, INB2 en PWMB
LET-OP: STBY hoog moet zijn om de motoren te laten draaien.
Stappenmotor
In dit voorbeeld gaan we een standaard NEMA17 bipolaire stappenmotor aansluiten en gebruiken met een aanbevolen motorspanning van 12 V en 200 stappen per rotatie.
We sluiten hem aan op een UNO, maar je kunt elke gewenste microcontroller gebruiken!
Aansluiten
- Vmotor naar 12V (rode draad)
- Vcc naar 5V (oranje draad)
- GND naar aarde
- AIN2 naar Digitaal 4
- AIN1 tot digitaal 5
- BIN1 tot digitaal 6
- BIN2 naar Digitaal 7
- PWMA en PWMB naar Vcc (oranje draad)
Sluit vervolgens één stappenmotorspoel aan op Motor A (rood en geel) en de tweede spoel op Motor B (groen en grijs/bruin). Als je een andere motor hebt, moet je een beetje experimenteren om erachter te komen welke draden welke spoel zijn. Controleer alle documentatie die u heeft! Je kunt een multimeter gebruiken om tussen draden te meten, degenen met een kleine weerstand ertussen zijn bijvoorbeeld een paar met een spoel. Als de motor trilt maar niet draait, controleer dan of alle draden zijn aangesloten en probeer een paar om te draaien of de draadparen opnieuw te controleren.
Als u een unipolaire motor heeft, is er een 5e of 6e draad die de 'gewone' draad is. Sluit deze draden aan op de GND-pinnen tussen de uitgangen Motor A en B op de breakout.
Sketch
We gebruiken de ingebouwde Arduino Stepper-bibliotheek, maar je kunt de AIN1/AIN2/BIN1/BIN2-pinnen handmatig omschakelen met je eigen favoriete microcontroller-instellingen
#include <Stepper.h>
// change this to the number of steps on your motor
#define STEPS 200
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 4, 5, 6, 7);
void setup()
{
Serial.begin(9600);
Serial.println("Stepper test!");
// set the speed of the motor to 30 RPMs
stepper.setSpeed(60);
}
void loop()
{
Serial.println("Forward");
stepper.step(STEPS);
Serial.println("Backward");
stepper.step(-STEPS);
}