Search Code

TB6612FNG અને Arduino સાથે DC મોટર્સને નિયંત્રિત કરવું

TB6612FNG અને Arduino સાથે DC મોટર્સને નિયંત્રિત કરવું

આ ટ્યુટોરિયલમાં, આપણે TB6612FNG મોટર ડ્રાઇવર મોડ્યુલનો ઉપયોગ કરીને DC મોટર્સની ગતિ અને દિશાને કેવી રીતે નિયંત્રિત કરવી તે શીખીશું. આ સેટઅપ આપણને બે મોટર્સને સ્વતંત્ર રીતે ચલાવવાની મંજૂરી આપશે, જે પૈડાવાળા રોબોટ્સ અથવા યાંત્રિક પ્રોજેક્ટ્સ બનાવવાનો વ્યવહારુ માર્ગ પ્રદાન કરશે. વધુમાં, આપણે દરેક મોટરની ગતિને ચોક્કસ રીતે નિયંત્રિત કરવા માટે પલ્સ વિડ્થ મોડ્યુલેશન (PWM) નો ઉપયોગ કેવી રીતે કરવો તે શોધીશું, જે તમારા પ્રોજેક્ટની હિલચાલ ક્ષમતાઓને વધારશે.

TB6612FNG_motor_driver-0

આ માર્ગદર્શિકા દરમિયાન, આપણે Arduino બોર્ડ સાથે TB6612FNG બ્રેકઆઉટ બોર્ડ અને બે DC ગિયર મોટર્સનો ઉપયોગ કરીશું. TB6612FNG એ L298N જેવા જૂના બાયપોલર ડ્રાઇવરો કરતાં મોટો સુધારો છે કારણ કે તે ઉચ્ચ-કાર્યક્ષમતાવાળા MOSFET નો ઉપયોગ કરે છે. આ ખાસ કરીને બેટરી-સંચાલિત એપ્લિકેશનોમાં ઉપયોગી છે જ્યાં ટકાઉપણું અને પાવર કાર્યક્ષમતા જરૂરી છે, કારણ કે આ ડ્રાઇવર વધુ પડતી ગરમી અથવા મોટા હીટસિંકની જરૂર વિના મોટર્સને વધુ પાવર પહોંચાડે છે.

સેટઅપ અને પ્રોગ્રામિંગ વિશે વધુ સ્પષ્ટતા માટે, સંબંધિત વિડિયો (વિડિયોમાં 00:00 પર) ચકાસવાનું ભૂલશો નહીં.

હાર્ડવેર સમજાવ્યું

આ પ્રોજેક્ટના મુખ્ય ઘટકોમાં TB6612FNG મોટર ડ્રાઇવર, માઇક્રોકંટ્રોલર (Arduino) અને બે DC મોટર્સનો સમાવેશ થાય છે. TB6612FNG ડ્રાઇવર Arduino માંથી ઓછા-કરંટ લોજિક સિગ્નલો લે છે અને તેનો ઉપયોગ બેટરીમાંથી મોટર્સ સુધી ઉચ્ચ-કરંટ પાવર સ્વિચ કરવા માટે કરે છે. તેમાં સામાન્ય રીતે લોજિક પાવર, મોટર પાવર, દિશા નિયંત્રણ (AIN1, AIN2, BIN1, BIN2) અને ગતિ નિયંત્રણ (PWMA, PWMB) માટે સમર્પિત પિન હોય છે.

TB6612FNG_motor_driver-3

DC મોટર્સ ડ્રાઇવરના આઉટપુટ પિન (A01/A02 અને B01/B02) માંથી મોડ્યુલેટેડ પાવર મેળવે છે અને ફરે છે. સ્ટેન્ડબાય પિન (STBY) માસ્ટર સ્વિચ તરીકે કાર્ય કરે છે, જે મોટર્સને અક્ષમ કરવાનો અને ચિપને ઓછી-પાવર સ્લીપ સ્થિતિમાં મૂકવાનો ઝડપી માર્ગ પ્રદાન કરે છે. દરેક ઘટક ડ્રાઇવ સિસ્ટમ સરળતાથી અને કાર્યક્ષમ રીતે કાર્ય કરે તેની ખાતરી કરવામાં નિર્ણાયક ભૂમિકા ભજવે છે.

ડેટાશીટ વિગતો

ઉત્પાદક

Toshiba (IC) / વિવિધ (મોડ્યુલ)

ભાગ નંબર

TB6612FNG

લોજિક/IO વોલ્ટેજ

2.7 V થી 5.5 V

સપ્લાય વોલ્ટેજ (VM)

2.7 V થી 15 V

આઉટપુટ કરંટ (પ્રતિ ચેનલ)

1.2 A સતત

પીક કરંટ (પ્રતિ ચેનલ)

3.2 A

PWM આવર્તન માર્ગદર્શન

100 kHz સુધી

ઇનપુટ લોજિક થ્રેશોલ્ડ

ઉચ્ચ: > 2.0V, નીચું: < 0.8V (5V VCC પર)

વોલ્ટેજ ડ્રોપ / RDS(on) / સેચ્યુરેશન

0.5 Ω (સામાન્ય)

થર્મલ મર્યાદાઓ

થર્મલ શટડાઉન સર્કિટ બિલ્ટ-ઇન

પેકેજ

SSOP24 / બ્રેકઆઉટ બોર્ડ

નોંધો / વેરિઅન્ટ્સ

L298N ને ખૂબ ઊંચી કાર્યક્ષમતા સાથે બદલે છે.

 

  • યોગ્ય વોલ્ટેજ સ્તરોની ખાતરી કરો (VCC ને તમારા Arduino ના 5V અથવા ESP32 ના 3.3V સાથે મેચ કરો).

  • VM (મોટર પાવર) પિન માટે અલગ બેટરી પાવર સપ્લાય પ્રદાન કરો.

  • અસ્થિર વર્તન અટકાવવા માટે બધા ગ્રાઉન્ડ્સ (બેટરી, Arduino અને મોડ્યુલ) એકસાથે જોડવા સાવચેત રહો.

  • શોર્ટ સર્કિટ અટકાવવા માટે પાવર ચાલુ કરતા પહેલા કનેક્શન્સ ચકાસો.

  • હંમેશા STBY પિનને HIGH ખેંચો, નહીં તો મોટર્સ ચાલશે નહીં.

વાયરિંગ સૂચનાઓ

બધા ઘટકો માટે પાવર અને ગ્રાઉન્ડ જોડીને શરૂ કરો. તમારા Arduino માંથી ગ્રાઉન્ડને તમારા બ્રેડબોર્ડની નેગેટિવ રેલ સાથે જોડો. પછી, તમારી બાહ્ય બેટરીના પોઝિટિવ લીડને મોટર ડ્રાઇવર પરના VM પિન સાથે અને Arduino ના 5V પિનને ડ્રાઇવર પરના VCC પિન સાથે જોડો.

આગળ, લોજિક ઇનપુટ્સ વાયર કરો: AIN1 ને Arduino પર ડિજિટલ પિન 2 સાથે, AIN2 ને ડિજિટલ પિન 4 સાથે અને PWMA ને PWM-સક્ષમ પિન, જેમ કે ડિજિટલ પિન 5 સાથે જોડો. બીજી મોટર માટે, BIN1 ને 7 સાથે, BIN2 ને 8 સાથે અને PWMB ને પિન 6 સાથે જોડો. STBY પિનને ડિજિટલ પિન 9 સાથે જોડવાનું સુનિશ્ચિત કરો.

મોટર્સના આઉટપુટ માટે, તમારી પ્રથમ DC મોટરના બે ટર્મિનલને A01 અને A02 સાથે જોડો. તમારી બીજી DC મોટરને B01 અને B02 સાથે જોડો. બધા ગ્રાઉન્ડ્સ સામાન્ય ગ્રાઉન્ડ રેલ પર શેર કરેલા છે તે બે વાર તપાસો.

TB6612FNG_motor_driver-1

કોડ ઉદાહરણો અને વોકથ્રુ

ચાલો પ્રોજેક્ટમાં ઉપયોગમાં લેવાતા કેટલાક મુખ્ય ઓળખકર્તાઓ અને કોડ સ્નિપેટ્સ પર એક નજર કરીએ. કોડનો પ્રથમ ભાગ દિશા નિયંત્રણ, ગતિ અને સ્ટેન્ડબાય માટે પિન શરૂ કરે છે:

const int AIN1 = 2;const int AIN2 = 4;const int PWMA = 5;const int STBY = 9;

અહીં, AIN1 અને AIN2 મોટર A ની દિશા નિયંત્રિત કરવા માટે સોંપવામાં આવ્યા છે, જ્યારે PWMA નો ઉપયોગ PWM દ્વારા ગતિ નિયંત્રણ માટે થશે. STBY Arduino ને ચિપ જગાડવા અથવા સૂવા મૂકવાની મંજૂરી આપે છે.

આગળ, સેટઅપ ફંક્શન આ પિનને આઉટપુટ તરીકે ગોઠવે છે અને ચિપને સક્ષમ કરે છે:

void setup() {  pinMode(AIN1, OUTPUT);  pinMode(AIN2, OUTPUT);  pinMode(PWMA, OUTPUT);  pinMode(STBY, OUTPUT);    // મોટર ડ્રાઈવરને સક્ષમ કરો  digitalWrite(STBY, HIGH);}

pinMode() આદેશો પિનને આઉટપુટ મોડમાં સેટ કરે છે. STBY ને HIGH પર સેટ કરવાથી ખાતરી થાય છે કે TB6612FNG સક્રિય છે અને આદેશો મેળવવા માટે તૈયાર છે.

લૂપ ફંક્શનમાં, અમે મોટરને સંપૂર્ણ ઝડપે આગળ ફેરવવા, રોકવા અને પછી ઉલટી દિશામાં ફેરવવાનો આદેશ આપીએ છીએ:

void loop() {  // સંપૂર્ણ ઝડપે આગળ  digitalWrite(AIN1, HIGH);  digitalWrite(AIN2, LOW);  analogWrite(PWMA, 255);  delay(2000);  // રોકો (કોસ્ટ)  digitalWrite(AIN1, LOW);  digitalWrite(AIN2, LOW);  analogWrite(PWMA, 0);  delay(1000);}

અહીં, AIN1 ને HIGH અને AIN2 ને LOW પર સેટ કરવાથી આંતરિક H-બ્રિજને એક દિશામાં પ્રવાહ ધકેલવાનું કહેવાય છે. analogWrite(PWMA, 255) મહત્તમ ઝડપ લાગુ કરે છે. રોકવા માટે, અમે બંને દિશા પિનને LOW પર ખેંચીએ છીએ.

વધુ વિગતો અને ડ્યુઅલ મોટર નિયંત્રણ અને કસ્ટમ ફંક્શન ધરાવતા સંપૂર્ણ કોડ માટે, કૃપા કરીને લેખની નીચે લોડ કરેલા સંપૂર્ણ પ્રોગ્રામનો સંદર્ભ લો.

પ્રદર્શન / શું અપેક્ષા રાખવી

એકવાર વાયરિંગ પૂર્ણ થઈ જાય અને કોડ અપલોડ થઈ જાય, તો તમારે મોટરને બે સેકન્ડ માટે આગળ ફરતી, એક સેકન્ડ માટે થોભતી અને ચક્રનું પુનરાવર્તન કરતી જોવી જોઈએ (જો તમે ઉલટી દિશાનો લોજિક ઉમેર્યો હોય, તો તે પછી પાછળની દિશામાં ફરશે). ખાતરી કરો કે મોટર PWM સિગ્નલોને યોગ્ય રીતે પ્રતિસાદ આપે છે; જો તે ઉલટી દિશામાં ફરે છે જ્યારે તમે તેને આગળ જવાની અપેક્ષા રાખો છો, તો ફક્ત A01 અને A02 સાથે જોડાયેલા વાયરને બદલો (વિડિયોમાં 12:30 પર).

સામાન્ય ભૂલોમાં STBY પિનને HIGH પર ખેંચવાનું ભૂલી જવું, અથવા VM પિન પર સમર્પિત બેટરીને બદલે Arduino ના 5V પિનથી સીધા મોટર્સને પાવર આપવાનો પ્રયાસ કરવો શામેલ છે, જે ભારે લોડ હેઠળ Arduino ને રીસેટ થવાનું કારણ બની શકે છે. તમારા પાવર સ્ત્રોતો અને સામાન્ય ગ્રાઉન્ડ્સને બે વાર તપાસવાનું સુનિશ્ચિત કરો.

Images

TB6612FNG_motor_driver-4
TB6612FNG_motor_driver-4
TB6612FNG_motor_driver-3
TB6612FNG_motor_driver-3
TB6612FNG_motor_driver-2
TB6612FNG_motor_driver-2
TB6612FNG_motor_driver-1
TB6612FNG_motor_driver-1
TB6612FNG_motor_driver-0
TB6612FNG_motor_driver-0
No code attached.

Resources & references

No resources yet.

Files📁

Datasheet (pdf)