Taula de continguts:

Conducció de motors petits amb el TB6612FNG: 8 passos
Conducció de motors petits amb el TB6612FNG: 8 passos

Vídeo: Conducció de motors petits amb el TB6612FNG: 8 passos

Vídeo: Conducció de motors petits amb el TB6612FNG: 8 passos
Vídeo: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, De novembre
Anonim
Conducció de motors petits amb el TB6612FNG
Conducció de motors petits amb el TB6612FNG

El TB6612FNG és un CI de controlador de motor dual de Toshiba. Hi ha un munt de taulers de sortida i és una de les opcions més populars per conduir motors petits.

Hi ha un munt de recursos en línia per començar a utilitzar TB6612FNG, però vaig decidir escriure això de totes maneres per compilar millor el que em vaig trobar.

Em centraré en la lògica de control i també explicaré detalladament la biblioteca de controladors de motor Sparkfun TB6612FNG en aquest instructiu.

Pas 1: requereixen parts

Això és el que farem servir avui:

1) Motors de micro metall

2) Controlador de motor TB6612FNG

3) Un cable Arduino i USB

4) Font d'alimentació per als motors

5) Taula de pa

6) cables de pont

Pas 2: el tauler TB6612FNG Breakout

La placa TB6612FNG Breakout
La placa TB6612FNG Breakout

Com he esmentat abans, hi ha un munt de taulers de diferents fabricants per al TB6612FNG. Tots ells tenen més o menys els mateixos components i també un pinout similar.

Els condensadors es solden a la placa per protegir-se del soroll dels motors, de manera que no haureu de soldar aquests condensadors de ceràmica als motors.

El CI també inclou díodes interns per protegir-se dels CEM posteriors dels motors. Però tenir mesures de seguretat addicionals no fa mal a ningú. No els he afegit perquè els meus motors no són molt grans i em falten díodes: |

Pas 3: fixar els passos

Pin Outs
Pin Outs

El tauler de sortida TB6612FNG té un pinout molt convenient. Totes les sortides, entrades i connexions de potència del motor estan ben agrupades per a una màxima facilitat d'ús.

Vaig fer una il·lustració dels pinouts i com connectar-los, espero que sigui útil quan connecteu tots aquests cables:)

Pas 4: Esquemes

Esquemes
Esquemes
Esquemes
Esquemes

Sóc bastant nou en l’ús de Fritzing. Em semblen bastant difícils d’entendre els esquemes del circuit de Fritzing, però la vista de la taula de treball és convenient per a Instructables. No dubteu a fer cap pregunta si alguna de les connexions de cable sembla confusa.

Pas 5: cablejar-lo

Cablejant-lo
Cablejant-lo

Connecteu-ho tot segons els esquemes. Hi ha molts cables, assegureu-vos de comprovar-ho després de cada connexió.

He utilitzat els pins Arduino següents per a les entrades del controlador del motor:

Controlador de motor -> Número de pin Arduino

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Coses que poden sortir malament en aquest pas: 1) No invertiu la polaritat mentre connecteu el Vm i el GND des de la font d'alimentació. És possible que fregiu el conductor del motor.

2) Assegureu-vos de connectar els PWMA i PWMB als pins PWM de l’arduino.

3) Recordeu connectar l'Arduino GND i el GND des del controlador del motor si utilitzeu una font d'alimentació diferent per a cadascun.

Pas 6: descarregar i instal·lar la biblioteca

Baixeu-vos la biblioteca des de la pàgina GitHub de Sparkfun.

Un cop hàgiu descarregat el fitxer zip, obriu el vostre IDE Arduino.

Des de Sketch> Include Library> Add. Zip Library, afegiu la biblioteca que heu baixat.

Un cop instal·lat correctament, hauria d'aparèixer a Fitxer> Exemples, com a "SparkFun TB6612FNG Motor Library"

Si teniu dificultats per descarregar i instal·lar una biblioteca Arduino, consulteu el pas 5 d'aquesta instrucció.

Pas 7: Execució del codi d'exemple

Ara que tenim la nostra biblioteca a punt, podem penjar el codi d'exemple per provar-ho.

1) Obriu l'exemple "MotorTestRun" de la "Biblioteca de controladors de motor Sparkfun TB6612FNG" que apareix a les vostres biblioteques.

Nota: Si no utilitzeu els mateixos números de pin que es van esmentar al pas 5, assegureu-vos de canviar les definicions de pin segons la vostra configuració.

2) Seleccioneu la vostra junta directiva

3) Pengeu el codi i els motors haurien de començar a moure’s

Un cop carregueu els motors, haurien de començar a moure’s. Si no ho són, reviseu el cablejat.

Pas 8: explicació de la biblioteca

Ara expliqueu com utilitzar la biblioteca per al vostre propi fragment de codi.

Primer comenceu per importar la biblioteca i inicialitzar els pins a arduino

#incloure

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

Per inicialitzar els objectes del motor, heu d’establir compensacions per a cada motor. Imagineu-vos si feu una ordre cap endavant al motor i gira a la inversa. Podeu canviar-lo manualment o simplement canviar el desplaçament des d’aquí. SpikeFun ha afegit un petit i astut QoL hack. Els valors d’aquests desplaçaments són 1 o -1.

A continuació, haureu d'inicialitzar cadascun dels motors amb els paràmetres següents;

Motor = motor (pin 1, pin 2, pin PWM, offset, pin d'espera)

const int offsetA = 1;

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

I amb això, heu acabat d’inicialitzar la biblioteca. No hi ha més passos a la funció setup (), només executem el codi a la funció loop ().

El mètode motor té les funcions següents. Tinker per comprovar-los tots.

1).drive (valor, temps)

Motor_name = nom del motor objectvalue = 255 a -255; els valors negatius faran que el motor es mogui en temps invers = temps en mil·lisegons

2).brake ()

La funció de fre no accepta cap argument, frena els motors.

3) fre (, <motor_name2)

La funció de fre pren els noms dels objectes motors com a arguments. Frena els motors passats a la funció.

4) endavant (,, temps) endavant (,, velocitat, temps)

La funció accepta el nom de dos objectes del motor, opcionalment la velocitat i el temps de PWM en mil·lisegons i fa funcionar el motor en direcció cap endavant durant el temps transcorregut. Si el valor de la velocitat és negatiu, el motor anirà cap enrere. La velocitat per defecte s'estableix en 255.

5) enrere (,, temps) enrere (,, velocitat, temps)

La funció accepta el nom de dos objectes del motor, opcionalment la velocitat i el temps de PWM en mil·lisegons i fa funcionar el motor en direcció cap endavant durant el temps transcorregut. Si el valor de la velocitat és negatiu, el motor avançarà. La velocitat per defecte s'estableix en 255.

6) esquerra (,, velocitat) dreta (,, velocitat)

La funció accepta dos noms d'objectes motors i velocitat. L'ordre dels objectes motors passats com a paràmetres és important. Per conduir motors simples, utilitzeu.drive ().

Recomanat: