Innholdsfortegnelse:
- Trinn 1: Deler påkrevd
- Trinn 2: TB6612FNG Breakout Board
- Trinn 3: Fest ut
- Trinn 4: Skjemaer
- Trinn 5: Koble den til
- Trinn 6: Last ned og installer biblioteket
- Trinn 7: Kjøre eksempelkoden
- Trinn 8: Biblioteket forklart
Video: Kjøring av små motorer med TB6612FNG: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
TB6612FNG er en dual -motor driver IC fra Toshiba. Det er mange breakout boards der ute for det, og det er et av de mest populære valgene å kjøre små motorer.
Det er mange elektroniske ressurser for å komme i gang med TB6612FNG, men jeg bestemte meg for å skrive dette uansett for å bedre kompilere det jeg kom over.
Jeg vil fokusere på kontrolllogikken og også forklare Sparkfun TB6612FNG -motordriverbiblioteket i detalj i denne instruerbare.
Trinn 1: Deler påkrevd
Her er hva vi skal bruke i dag:
1) Micro Metal -motorer
2) TB6612FNG -motorfører
3) En Arduino- og USB -kabel
4) Strømkilde for motorene
5) Brødbrett
6) Stikkledere
Trinn 2: TB6612FNG Breakout Board
Som jeg nevnte før, er det mange breakout -plater fra forskjellige produsenter for TB6612FNG. Alle har mer eller mindre de samme komponentene på dem og også lignende pinout.
Kondensatorer er loddet på brettet for å beskytte mot støy fra motorene, så du trenger ikke å lodde de keramiske kondensatorene til motorene.
IC kommer også med interne dioder for å beskytte mot bakre EMF fra motorene. Men å ha ekstra sikkerhetstiltak skader ingen. Jeg la ikke til dem fordi motorene mine ikke er veldig store og jeg mangler dioder: |
Trinn 3: Fest ut
Utbruddskortet TB6612FNG har en veldig overbevisende pinout. Alle motorutganger, innganger og strømtilkoblinger er pent gruppert for maksimal brukervennlighet.
Jeg laget en illustrasjon av pinoutene og hvordan jeg kobler dem, jeg håper det kommer godt med når du kobler til alle disse ledningene:)
Trinn 4: Skjemaer
Jeg er ganske ny på å bruke Fritzing. Jeg synes kretsskjemaene fra Fritzing er ganske vanskelige å forstå, men visningen på brødbrettet er praktisk for Instructables. Still gjerne spørsmål hvis noen av ledningstilkoblingene ser forvirrende ut.
Trinn 5: Koble den til
Koble alt opp i henhold til skjemaer. Det er mange ledninger. Sørg for å dobbeltsjekke etter hver tilkobling.
Jeg brukte følgende Arduino Pins for inngangene til motorføreren:
Motordriver -> Arduino PIN -nummer
1) PWMA -> 5
2) INA1 -> 2
3) INA2 -> 4
4) PWMB -> 6
5) INB1 -> 7
6) INB2 -> 8
Ting som kan gå galt i dette trinnet: 1) Ikke snu polariteten mens du kobler Vm og GND fra strømkilden. Du kan steke bilføreren din.
2) Sørg for å koble PWMA og PWMB til PWM -pinner på arduinoen.
3) Husk å koble Arduino GND og GND fra motordriveren hvis du bruker en annen strømkilde for hver.
Trinn 6: Last ned og installer biblioteket
Last ned biblioteket fra Sparkfun's GitHub -side.
Når du har lastet ned zip -filen, åpner du Arduino IDE.
Fra Sketch> Include Library> Add. Zip Library, legg til biblioteket du lastet ned.
Når den er installert, bør den vises i Fil> Eksempler, som 'SparkFun TB6612FNG Motor Library'
Hvis du har problemer med å laste ned og installere et Arduino -bibliotek, kan du se trinn 5 i denne instruksen.
Trinn 7: Kjøre eksempelkoden
Nå som vi har biblioteket vårt klart, kan vi laste opp eksempelkoden for å teste den.
1) Åpne "MotorTestRun" -eksemplet fra "Sparkfun TB6612FNG Motor Driver Library" oppført på bibliotekene dine.
Merk: Hvis du ikke bruker de samme PIN -numrene som nevnt i trinn 5, må du endre pinnedefinisjonene til i henhold til oppsettet ditt.
2) Velg brettet ditt fra styrelederen
3) Last opp koden din, og motorene skal begynne å bevege seg
Når du har lastet opp motorene, skal motorene begynne å bevege seg. Hvis de ikke er det, sjekk ledningene igjen.
Trinn 8: Biblioteket forklart
Nå for å forklare hvordan du bruker biblioteket til ditt eget stykke kode.
Begynn først med å importere biblioteket og initialisere pinnene på arduino
#inkludere
#define AIN1 2 #define AIN2 4 #define PWMA 5 #define BIN1 7 #define BIN2 8 #define PWMB 6 #define STBY 9
For å initialisere motorobjektene må du sette forskyvninger for hver motor. Tenk om du gjør en kommando forover på motoren din, og den snurrer omvendt. Du kan koble den til manuelt, eller du kan bare endre forskyvningen herfra. Nifty little QoL hack lagt til av SparkFun. Verdiene for disse forskyvningene er enten 1 eller -1.
Du må deretter initialisere hver av motorene med følgende parametere;
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);
Og med dette er du ferdig med å initialisere biblioteket. Ingen flere trinn i setup () -funksjonen, vi kjører bare koden i loop () -funksjonen.
Motormetoden har følgende funksjoner. Tinker rundt for å sjekke dem alle ut.
1).drive (verdi, tid)
Motor_name = navnet på motorobjektet ditt = 255 til -255; negative verdier vil få motoren til å bevege seg i reversstid = tid i millisekunder
2). Brems ()
Bremsefunksjonen tar ingen argumenter, bremser motorene.
3) brems (, <motornavn2)
Bremsefunksjon tar motorobjektnavn som argumenter. Bremser motorene som gikk inn i funksjonen.
4) fremover (,, tid) fremover (,, hastighet, tid)
Funksjonen godtar navnet på to motorobjekter, eventuelt PWM -hastighet og tid i millisekunder og kjører motoren fremover i den forløpne tiden. Hvis hastighetsverdien er negativ, går motoren bakover. Standardhastigheten er satt til 255.
5) tilbake (,, tid) tilbake (,, hastighet, tid)
Funksjonen godtar navnet på to motorobjekter, eventuelt PWM -hastighet og tid i millisekunder og kjører motoren fremover i den forløpne tiden. Hvis verdien av hastigheten er negativ, går motoren fremover. Standardhastigheten er satt til 255.
6) venstre (,, hastighet) høyre (,, hastighet)
Funksjonen godtar to motorobjektnavn og hastighet. Rekkefølgen på motorobjektene som passeres som parametere er viktig. Hvis du vil kjøre enkeltmotorer, bruker du.drive () i stedet.
Anbefalt:
Kjøring av LED Strips Tutorial (600W): 6 trinn
Running LED Strips Tutorial (600W Capable): Hei alle sammen, her er hvordan jeg opprettet en driver som kan produsere veldig kul lyseffekt med en LED -stripe. Det kontrolleres av Arduino UNO. Det er veldig bra for alle som vil vite hvordan de skal koble sterkere forbrukere til ellers svake Arduino -utganger. Par
DC -motor kjøring ved hjelp av H Bridge: 9 trinn
DC -motor kjører med H Bridge: Hei folkens! I denne instruksen vil jeg vise deg hvordan du bygger en H -bro - en enkel elektronisk krets som lar oss bruke spenning for å laste i begge retninger. Det brukes ofte i robotikkapplikasjon for å kontrollere DC -motorer. Ved å bruke H Brid
Kjøring av en trinnmotor uten mikrokontroller: 7 trinn
Kjøring av en trinnmotor uten en mikrokontroller.: I denne instruksjonsbilen vil jeg kjøre en 28-BYJ-48 trinnsmotor, med et UNL2003 darlington array-kort, noen ganger kalt x113647, uten en mikrokontroller. Den vil ha start/stopp, fremover/ bakover og hastighetskontroll.Motoren er en unipolar trinnmotor med
Simulator kjøring med Arduino: 7 trinn
Simulator kjøring med Arduino: min kjøresimulator på soverommet mitt
NODEMCU LUA ESP8266 Kjøring av en M5450B7 LED -skjermdriver IC: 5 trinn (med bilder)
NODEMCU LUA ESP8266 Kjøring av en M5450B7 LED -skjermdriver IC: M5450B7 er en 40 -pins DIP LED -skjermdriver IC. Det ser ganske dyrt ut, men det er relativt enkelt å kontrollere og programmere. Det er 34 utgangspinner som kan ha en LED tilkoblet til hver enkelt. Enheten synker strøm i stedet for å levere den, så c