এইচ-ব্রিজ ১: TIP120 এবং TIP125 ডার্লিংটন ট্রানজিস্টর ব্যবহার করে একটি ব্রেডবোর্ডে একটি এইচ-ব্রিজ মোটর ড্রাইভার তৈরি করা
এই টিউটোরিয়ালটি আপনাকে একটি ব্রেডবোর্ডে TIP120 এবং TIP125 ডার্লিংটন ট্রানজিস্টর ব্যবহার করে একটি H-ব্রিজ মোটর ড্রাইভার তৈরি করতে গাইড করবে। এই সেটআপটি একটি DC মোটরের দিক এবং গতি নিয়ন্ত্রণের জন্য আদর্শ, যা বিভিন্ন রোবোটিক্স এবং অটোমেশন প্রকল্পের জন্য অপরিহার্য। এই টিউটোরিয়ালের শেষে, আপনি একটি মোটরকে ঘড়ির কাঁটার দিকে এবং বিপরীত দিকে ঘোরানোর পাশাপাশি গতি মডুলেশন নিয়ন্ত্রণ করতে সক্ষম হবেন।
এই গাইডে, আমরা মোটর নিয়ন্ত্রণের জন্য একটি আর্ডুইনো ব্যবহার করব। এইচ-ব্রিজ কনফিগারেশনটি ট্রানজিস্টরগুলিতে পাঠানো ইনপুট সিগন্যালগুলি নিয়ন্ত্রণ করে মোটরের দিক পরিবর্তন করার অনুমতি দেয়। এটি অনেক অ্যাপ্লিকেশনের জন্য একটি গুরুত্বপূর্ণ দিক, যেমন রোবোটিক আর্ম বা মোবাইল রোবট যা সঠিক মোটর নিয়ন্ত্রণের প্রয়োজন। আরও স্পষ্টতার জন্য, দয়া করে ভিডিওটি দেখুন (ভিডিওতে 00:00)।
হার্ডওয়্যার ব্যাখ্যা করা
এই প্রকল্পের প্রধান উপাদানগুলির মধ্যে TIP120 এবং TIP125 ট্রানজিস্টর অন্তর্ভুক্ত রয়েছে, যা মোটরের কার্যক্রম নিয়ন্ত্রণ করতে সুইচ হিসাবে ব্যবহৃত হয়। TIP120 একটি NPN ডার্লিংটন ট্রানজিস্টর, এবং TIP125 একটি PNP ডার্লিংটন ট্রানজিস্টর। একসাথে, তারা H-ব্রিজ কনফিগারেশন গঠন করে, যা আমাদের মোটরের মাধ্যমে প্রবাহিত বর্তমানের দিক নিয়ন্ত্রণ করতে দেয়।
এই সেটআপে, PWM (পালস প্রস্থ মডুলেশন) সংকেতটি মোটরের গতি নিয়ন্ত্রণ করতে ব্যবহৃত হয়। ট্রানজিস্টরগুলি দ্রুত অন এবং অফ হয় যাতে একটি গড় ভোল্টেজ তৈরি হয় যা মোটরের গতি নির্ধারণ করে। EN পিনগুলি ট্রানজিস্টরগুলিকে সক্ষম বা অক্ষম করে, নিশ্চিত করে যে মোটর শুধুমাত্র প্রয়োজন হলে কাজ করে।
ডেটাশিটের বিস্তারিত
| উৎপাদক | টেক্সাস ইন্সট্রুমেন্টস |
|---|---|
| পার্ট নম্বর | TIP120 |
| লজিক/আইও ভোল্টেজ | ৫-১৫ ভ |
| সরবরাহ ভোল্টেজ | ৬০ ভ |
| আউটপুট কারেন্ট (প্রতি চ্যানেল) | ৫ এ |
| পিক কারেন্ট (প্রতি চ্যানেল) | ৩০ এ |
| পিডব্লিউএম ফ্রিকোয়েন্সি নির্দেশিকা | ১ কেজি হার সর্বাধিক |
| ইনপুট লজিক থ্রেশহোল্ডস | ২.৫ ভি (উচ্চ), ০.৮ ভি (নিম্ন) |
| ভোল্টেজ ড্রপ / আরডিএস(অন)/ স্যাচুরেশন | ১.২ ভি |
| তাপীয় সীমা | ১৭৫ °সে |
| প্যাকেজ | TO-220 |
| নোট / ভ্যারিয়েন্টস | TIP125 হিসাবে উপলব্ধ |
- উচ্চ বর্তমান অ্যাপ্লিকেশনের জন্য সঠিক তাপ নিষ্কাশন নিশ্চিত করুন।
- মোটরের গতি কার্যকরভাবে নিয়ন্ত্রণ করতে PWM সংকেত ব্যবহার করুন।
- ট্রানজিস্টরের অভিমুখ যাচাই করুন যাতে সার্কিটের ক্ষতি না হয়।
- ভোল্টেজ রেটিংগুলোর প্রতি মনোযোগ দিন যাতে সীমা অতিক্রম না হয়।
- ভোল্টেজ সরবরাহ স্থির করতে ডিকাপলিং ক্যাপাসিটর ব্যবহার করুন।
তারের নির্দেশাবলী

H-ব্রিজ মোটর ড্রাইভারটি সংযোগ করতে, প্রথমে TIP120 এবং TIP125 থেকে VCC পিনটি আপনার Arduino-তে 5V সরবরাহের সাথে সংযুক্ত করুন। GND পিনটি গ্রাউন্ডে সংযুক্ত করুন। PWM নিয়ন্ত্রণ পিনগুলি,PWM1এবংPWM2, আর্ডুইনোর ডিজিটাল পিন ৯ এবং ৩ এর সাথে সংযুক্ত হওয়া উচিত, যথাক্রমে। সক্ষম পিনগুলি,EN1এবংEN2, ডিজিটাল পিন ৮ এবং ২-এ সংযুক্ত হবে।
পরবর্তী, আপনার মোটরের টার্মিনালগুলি TIP120 এবং TIP125 ট্রানজিস্টরের কালেক্টর পিনগুলির সাথে সংযুক্ত করুন। নিশ্চিত করুন যে মোটরটি আপনার পাওয়ার সাপ্লাইয়ের সাথে সামঞ্জস্যপূর্ণ। যদি ফ্লাইব্যাক সুরক্ষার জন্য ডায়োডের মতো অতিরিক্ত উপাদান ব্যবহার করেন, তবে মোটরের টার্মিনালের সাথে সমান্তরালে সেগুলি স্থাপন করুন যাতে ব্যাক ইএমএফ থেকে ক্ষতি প্রতিরোধ করা যায়। যদি আপনি বিভিন্ন আর্ডুইনো মডেল ব্যবহার করেন, তবে PWM এবং সক্ষম সংকেতের জন্য পিন ম্যাপিং যাচাই করুন।
কোড উদাহরণ ও পদক্ষেপ নির্দেশিকা
const int PWM1= 9; //pin with ~
const int EN1= 8;
const int PWM2= 3; //pin with ~
const int EN2= 2;
সেটআপে, আমরা PWM সংকেত এবং সক্ষম পিনগুলির জন্য নিয়ন্ত্রণ পিনগুলি সংজ্ঞায়িত করি।pinModeএই ফাংশনটি মোটর চালানোর জন্য ট্রানজিস্টর নিয়ন্ত্রণ করতে এই পিনগুলোকে আউটপুট হিসেবে সেট করে।
void loop() {
Motor(CW, 50); //in CW at 50% speed
delay(5000);
stop(); // stops the motor
delay(2000);
}
এই লুপ ফাংশনটি মোটরের কার্যক্রম প্রদর্শন করে। এটি প্রথমে মোটরটিকে ৫০% গতিতে ৫ সেকেন্ডের জন্য ঘড়ির কাঁটার দিকে চালায়, তারপর ২ সেকেন্ডের জন্য থামে।Motorফাংশনটি দিক এবং গতি প্যারামিটার সহ কল করা হয়, যা সেই ইনপুটগুলির ভিত্তিতে মোটরের আচরণ নিয়ন্ত্রণ করে।
void Motor(boolean direction, int speed=0) {
int speedPWM = map(speed, 0, 100, 0, 255);
if(direction) {
analogWrite(PWM1, speedPWM); // Set speed for CW
} else {
analogWrite(PWM2, speedPWM); // Set speed for CCW
}
}
শব্দMotorফাংশনটি একটি বুলিয়ান দিক এবং একটি পূর্ণসংখ্যা গতি গ্রহণ করে। এটি গতি শতাংশকে একটি PWM মানে মানচিত্রিত করে এবং ব্যবহার করেanalogWriteমোটর নিয়ন্ত্রণের জন্য উপযুক্ত পিন সেট করা। এই ফাংশনটি মোটরের দিক এবং গতিকে গতিশীলভাবে পরিবর্তন করার জন্য অত্যন্ত গুরুত্বপূর্ণ।
প্রদর্শনী / কী আশা করবেন
তারের সংযোগ এবং কোড আপলোড করার পর, আপনাকে দেখতে হবে যে মোটর ৫০% গতিতে ৫ সেকেন্ডের জন্য ঘড়ির কাঁটার দিকে ঘুরছে, তারপর থেমে যাবে। কিছু সময় পরে, এটি ৮০% গতিতে ৫ সেকেন্ডের জন্য ঘড়ির কাঁটার বিপরীতে ঘুরবে। সাধারণ ভুলগুলির মধ্যে রয়েছে ভুল তারের সংযোগ এবং ভোল্টেজ রেটিং অতিক্রম করা, যা ট্রানজিস্টর বা মোটরের ক্ষতি করতে পারে।
ভিডিও টাইমস্ট্যাম্পস
- ০০:০০- পরিচিতি
- ০১:৩০- হার্ডওয়্যার পর্যালোচনা
- ০৩:১৫- তারের নির্দেশাবলী
- ০৫:০০- কোড ওয়াকথ্রু
- ০৮:৪৫- প্রদর্শনী
/*
This code is for:
Building an H-Bridge Motor driver using TIP120 and TIP125 on a breadboard and full PCB Design with Arduino
https://youtu.be/6ugrL5ziPn8
This code has been downloaded from Robojax.com
You can access the resources page and download the Gerber file to produce
the PCB or a fully assembled PCB from PCBX.com
Visit https://robojax.com/tutorial_view.php?id=392
to control a DC motor using TIP120 and TIP125 as an
H bridge
Written by Ahmad Shamshiri
26 Aug 2024
*/
const int PWM1= 9;//pin with ~
const int EN1= 8;
const int PWM2= 3;//pin with ~
const int EN2= 2;
const boolean CW =1;
const boolean CCW =0;
void Motor(boolean, int);//prototype
void brake();//prototype
void setup() {
Serial.begin(9600);
Serial.println("TIP120 H Bridge by Robojax");
pinMode(PWM1, OUTPUT);
pinMode(EN1, OUTPUT);
pinMode(PWM2, OUTPUT);
pinMode(EN2, OUTPUT);
}
void loop() {
Motor(CW, 50);//in CW at 50% speed
delay(5000);
stop();
delay(2000);
Motor(CCW, 80);//in CCW at 80% speed
delay(5000);
brake();
delay(2000);
for (int i=0; i<=100; i++)
{
Motor(CCW, i);
delay(25);
}
delay(5000);
brake();
delay(2000);
}
/*
stop()
stops the output
*/
void stop()
{
Serial.println ("=== Stop");
digitalWrite(PWM1, LOW);
digitalWrite(EN1, LOW);
digitalWrite(PWM2, LOW);
digitalWrite(EN2, LOW);
}
/*
brake()
*/
void brake()
{
Serial.println ("=== Brake");
digitalWrite(PWM1, HIGH);
digitalWrite(EN1, LOW);
digitalWrite(PWM2, HIGH);
digitalWrite(EN2, LOW);
}
void Motor(boolean direction, int speed=0)
{
int speedPWM = map(speed, 0, 100, 0, 255);
Serial.print("Speed: "); Serial.print (speedPWM);
Serial.print ("(");Serial.print (speed);Serial.print ("%)");
if(direction){
Serial.print(" dir: ");Serial.println ("CW");
analogWrite(PWM1, speedPWM);
digitalWrite(EN1, HIGH);
digitalWrite(PWM2, LOW);
digitalWrite(EN2, LOW);
}else{
Serial.print(" dir: ");Serial.println ("CCW");
digitalWrite(PWM1, LOW);
digitalWrite(EN1, LOW);
analogWrite(PWM2, speedPWM);
digitalWrite(EN2, HIGH);
}
}
সম্পদ ও রেফারেন্সসমূহ
-
বাহ্যিক
-
বাহ্যিক
-
বাহ্যিক
-
বাহ্যিক
ফাইলসমূহ📁
Gerber files
-
H-Bridge-TIP120-TIP125 Gerber file for PCBXIncludes H-Bridge-TIP120-TIP125.zip, H-Bridge-TIP120-TIP125-BOM.xls and H-Bridge-TIP120-TIP125-coor.xls files to place order easily.
H-Bridge-TIP120-TIP125 Gerber file.zip0.05 MB