Indholdsfortegnelse:

Kørsel af små motorer med TB6612FNG: 8 trin
Kørsel af små motorer med TB6612FNG: 8 trin

Video: Kørsel af små motorer med TB6612FNG: 8 trin

Video: Kørsel af små motorer med TB6612FNG: 8 trin
Video: Test kørsel af verdens hurtigste dual motor el-SUV 2024, November
Anonim
Kørsel af små motorer med TB6612FNG
Kørsel af små motorer med TB6612FNG

TB6612FNG er en dobbeltmotor driver IC fra Toshiba. Der er masser af breakout boards derude til det, og det er et af de mest populære valg at køre små motorer.

Der er masser af online ressourcer til at komme i gang med TB6612FNG, men jeg besluttede at skrive dette alligevel for bedre at kompilere det, jeg stødte på.

Jeg vil fokusere på kontrollogikken og også forklare Sparkfun TB6612FNG -motordriverbiblioteket i detaljer i denne instruktive.

Trin 1: Påkrævede dele

Her er hvad vi skal bruge i dag:

1) Micro Metal motorer

2) TB6612FNG motor driver

3) Et Arduino- og USB -kabel

4) Strømkilde til motorerne

5) Brødbræt

6) Jumper -tråde

Trin 2: TB6612FNG Breakout Board

TB6612FNG Breakout Board
TB6612FNG Breakout Board

Som jeg nævnte før, er der masser af breakout boards fra forskellige producenter til TB6612FNG. Alle har mere eller mindre de samme komponenter på dem og også lignende pinout.

Kondensatorer er loddet på kortet for at beskytte mod støj fra motorerne, så du behøver ikke at lodde de keramiske kondensatorer til motorerne.

IC'en leveres også med interne dioder til beskyttelse mod EMF fra motorerne. Men at have ekstra sikkerhedsforanstaltninger skader ingen. Jeg tilføjede dem ikke, fordi mine motorer ikke er særlig store, og jeg mangler dioder: |

Trin 3: Pin Outs

Pin Outs
Pin Outs

TB6612FNG breakout board har en meget overbevisende pinout. Alle motorudgange, indgange og strømforbindelser er pænt grupperet for maksimal brugervenlighed.

Jeg lavede en illustration af pinouts og hvordan man forbinder dem, jeg håber det kommer til nytte når man tilslutter alle disse ledninger:)

Trin 4: Skemaer

Skemaer
Skemaer
Skemaer
Skemaer

Jeg er ret ny til at bruge Fritzing. Jeg finder kredsløbsskemaerne fra Fritzing ret vanskelige at forstå, men visningen på brødbrættet er praktisk for Instructables. Stil gerne spørgsmål, hvis nogen af ledningsforbindelserne ser forvirrende ud.

Trin 5: Tilslut det

Kabelføring
Kabelføring

Tilslut alt efter skemaer. Der er mange ledninger, sørg for at dobbelttjekke efter hver forbindelse.

Jeg brugte følgende Arduino Pins til motordriverindgange:

Motorfører -> Arduino pin -nummer

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Ting, der kan gå galt i dette trin: 1) Vend ikke polariteten, mens du forbinder Vm og GND fra strømkilden. Du kan stege din bilist.

2) Sørg for at tilslutte PWMA og PWMB til PWM ben på arduinoen.

3) Husk at tilslutte Arduino GND og GND fra motordriveren, hvis du bruger en anden strømkilde til hver.

Trin 6: Download og installation af biblioteket

Download biblioteket fra Sparkfun's GitHub -side.

Når du har downloadet zip -filen, skal du åbne din Arduino IDE.

Fra Skitse> Inkluder bibliotek> Tilføj. Zip -bibliotek, tilføj det bibliotek, du har downloadet.

Når den er installeret, skal den vises i Filer> Eksempler som 'SparkFun TB6612FNG Motor Library'

Hvis du har problemer med at downloade og installere et Arduino -bibliotek, kan du tjekke trin 5 i denne instruks.

Trin 7: Kørsel af eksempelkoden

Nu hvor vi har vores bibliotek klar, kan vi uploade eksempelkoden for at teste den.

1) Åbn 'MotorTestRun' -eksemplet fra 'Sparkfun TB6612FNG Motor Driver Library', der er angivet på dine biblioteker.

Bemærk: Hvis du ikke bruger de samme pin -numre som nævnt i trin 5, skal du sørge for at ændre stiftdefinitionerne til i henhold til din opsætning.

2) Vælg din bestyrelse fra bestyrelseslederen

3) Upload din kode, og motorerne skal begynde at bevæge sig

Når du har uploadet motorerne, skal de begynde at bevæge sig. Hvis de ikke er det, skal du kontrollere dine ledninger igen.

Trin 8: Biblioteket forklaret

Nu for at forklare, hvordan du bruger biblioteket til dit eget stykke kode.

Begynd først med at importere biblioteket og initialisere stifterne på arduino

#omfatte

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

For at initialisere dine motorobjekter skal du udligne forskydninger for hver motor. Tænk, hvis du laver en kommando fremad på din motor, og den drejer omvendt. Du kan manuelt rewire det, eller du kan bare ændre forskydningen herfra. Nifty little QoL hack tilføjet af SparkFun. Værdierne for disse forskydninger er enten 1 eller -1.

Du skal derefter initialisere hver af motorerne med følgende parametre;

Motor = Motor (Pin 1, Pin 2, PWM pin, offset, Standby pin)

const int offsetA = 1;

const int offsetB = 1; Motormotor1 = Motor (AIN1, AIN2, PWMA, offsetA, STBY);

Og med dette er du færdig med at initialisere biblioteket. Ikke flere trin i setup () -funktionen, vi kører bare koden i loop () -funktionen.

Motormetoden har følgende funktioner. Tinker rundt for at tjekke dem alle ud.

1).drive (værdi, tid)

Motornavn = navn på din motor objektværdi = 255 til -255; negative værdier får motoren til at bevæge sig i reversetime = tid i millisekunder

2). Bremse ()

Bremsefunktionen tager ingen argumenter, bremser motorerne.

3) bremse (, <motornavn2)

Bremsefunktionen tager motorobjektnavne som argumenter. Bremser motorerne ind i funktionen.

4) frem (,, tid) frem (,, hastighed, tid)

Funktionen accepterer to motorobjekts navn, eventuelt PWM -hastighed og tid i millisekunder og kører motoren fremad i den forløbne tid. Hvis hastighedsværdien er negativ, går motoren baglæns. Standardhastigheden er indstillet til 255.

5) tilbage (,, tid) tilbage (,, hastighed, tid)

Funktionen accepterer to motorobjekts navn, eventuelt PWM -hastighed og tid i millisekunder og kører motoren fremad i den forløbne tid. Hvis værdien af hastigheden er negativ, går motoren fremad. Standardhastigheden er indstillet til 255.

6) venstre (,, hastighed) højre (,, hastighed)

Funktionen accepterer to motorobjektnavne og hastighed. Rækkefølgen af de motorobjekter, der passeres som parametre, er vigtig. Hvis du vil køre enkeltmotorer, skal du bruge.drive () i stedet.

Anbefalede: