প্রকল্প: RJT520 রিলে টাইমার, 555, 6V থেকে 18V, 20A
এই টিউটোরিয়ালে, আমরা RJT520 রিলে এবং 555 টাইমার আইসি ব্যবহার করে একটি রিলে টাইমার সার্কিট তৈরি করব যা 6V থেকে 18V ভোল্টেজের মধ্যে কাজ করে। এই প্রকল্পটি এমন ডিভাইসগুলি নিয়ন্ত্রণ করার জন্য আদর্শ যা চালু বা বন্ধ হওয়ার আগে একটি বিলম্ব প্রয়োজন, যেমন আলো বা যন্ত্রপাতি। ফলস্বরূপ একটি কার্যকরী রিলে টাইমার হবে যা 20A পর্যন্ত কারেন্ট পরিচালনা করতে সক্ষম, যা বিস্তৃত অ্যাপ্লিকেশনের জন্য অনুমতি দেয়।

আমরা 555 টাইমার আইসি মনোস্টেবল মোডে ব্যবহার করব একটি ডিলে টাইমার তৈরি করতে। যখন ট্রিগার করা হবে, টাইমারটি একটি নির্দিষ্ট সময়ের জন্য রিলে সক্রিয় করবে তার পরে এটি বন্ধ করে দেবে। এই প্রকল্পটি সহজ কিন্তু কার্যকর, যা আপনার ইলেকট্রনিক্স টুলকিটে একটি দুর্দান্ত সংযোজন। আরও ভিজ্যুয়াল ব্যাখ্যার জন্য, ভিডিওটি দেখুন (ভিডিওতে :15)।
হার্ডওয়্যার ব্যাখ্যা করা
এই প্রকল্পের প্রধান উপাদানগুলির মধ্যে RJT520 রিলে, 555 টাইমার আইসি এবং একটি পাওয়ার সাপ্লাই অন্তর্ভুক্ত রয়েছে। RJT520 রিলে একটি উচ্চ-শক্তির রিলে যা 20A পর্যন্ত লোড সুইচ করতে পারে, যা এটি বড় ডিভাইস নিয়ন্ত্রণের জন্য উপযুক্ত করে। 555 টাইমার আইসি একটি বহুমুখী উপাদান যা বিভিন্ন মোডে কনফিগার করা যেতে পারে, যার মধ্যে মনোস্টেবল মোড রয়েছে, যা আমরা আমাদের টাইমারের জন্য ব্যবহার করব।

রিলে একটি ইলেকট্রোম্যাগনেট ব্যবহার করে একটি সেট কন্টাক্ট মেকানিক্যালভাবে সুইচ করে কাজ করে। যখন 555 টাইমার আউটপুট উচ্চ হয়, এটি রিলে কয়েলকে শক্তি দেয়, কন্টাক্টগুলি বন্ধ করে এবং সংযুক্ত লোডে কারেন্ট প্রবাহিত হতে দেয়। এই সেটআপটি দূরবর্তী অপারেশন বা স্বয়ংক্রিয়তার প্রয়োজনীয়তা সম্পন্ন অ্যাপ্লিকেশনগুলির জন্য উপকারী।
ডেটাশিটের বিস্তারিত
| উৎপাদক | RJT |
|---|---|
| পার্ট নম্বর | RJT520 |
| সরবরাহ ভোল্টেজ | ৬-১৮ ভ |
| আউটপুট বর্তমান | ২০ এ ম্যাক্স |
| কয়েল কারেন্ট | ৭০ মি.এ. সাধারণত। |
| সুইচিং ভোল্টেজ | ২৫০ ভি এসি / ৩০ ভি ডিসি |
| যোগাযোগ কনফিগারেশন | SPDT |
| অপারেটিং তাপমাত্রা | -40 থেকে 85 °C |
| প্যাকেজ | স্ট্যান্ডার্ড রিলে প্যাকেজ |
- নিশ্চিত করুন যে রিলে লোড কারেন্ট (সর্বাধিক ২০ এ) পরিচালনা করতে পারে।
- যদি রিলে উচ্চ তাপমাত্রায় কাজ করে তবে উপযুক্ত তাপ নিষ্কাশন ব্যবহার করুন।
- 555 টাইমার ক্ষতি এড়াতে ভোল্টেজ স্তরগুলি যাচাই করুন।
- ৫৫৫ টাইমার পাওয়ার পিনগুলোর কাছে ডিকাপলিং ক্যাপাসিটর ব্যবহার করুন।
- রিলে যোগাযোগের জন্য পরিধান পরীক্ষা করুন এবং প্রয়োজন হলে প্রতিস্থাপন করুন।
- ইন্ডাকটিভ লোড সুইচ করার সময় ব্যাক ইএমএফ সম্পর্কে সতর্ক থাকুন।
তারের নির্দেশাবলী

RJT520 রিলে টাইমার সার্কিটটি সংযোগ করতে, 555 টাইমার আইসি সংযোগ করার মাধ্যমে শুরু করুন। 555 টাইমারের পিন 1 (GND) আপনার পাওয়ার সাপ্লাইয়ের গ্রাউন্ডের সাথে সংযোগ করুন। তারপর, পিন 8 (VCC) আপনার পাওয়ার সাপ্লাইয়ের পজিটিভ টার্মিনালের সাথে সংযোগ করুন (6V থেকে 18V)।

পরবর্তী, তার পিন ২ (ট্রিগার) আপনার ট্রিগার সুইচ বা ইনপুট সিগনালে সংযুক্ত করুন। এই পিনটি একটি নিম্ন পালস পেলে টাইমারটি সক্রিয় করবে। ৫৫৫ টাইমারের পিন ৩ (আউট) রিলে কয়েলের একটি টার্মিনালে সংযুক্ত করুন, এবং কয়েলের অন্য টার্মিনালটি গ্রাউন্ডে সংযুক্ত করুন। সার্কিটকে ব্যাক ইএমএফ থেকে রক্ষা করতে রিলে কয়েলের উপর একটি ডায়োড যোগ করতে ভুলবেন না।
রিলে আউটপুটের জন্য, একটি সাধারণ টার্মিনাল লোডের সাথে সংযুক্ত করুন যা আপনি নিয়ন্ত্রণ করতে চান এবং অন্য টার্মিনাল পাওয়ার সোর্সের সাথে সংযুক্ত করুন। নিশ্চিত করুন যে লোডের অন্য টার্মিনালটি সাধারণ গ্রাউন্ডের সাথে পুনরায় সংযুক্ত রয়েছে। অবশেষে, আপনার কাঙ্ক্ষিত বিলম্বের জন্য পিন ৬ এবং ২ এর সাথে সংযুক্ত টাইমিং উপাদান (রেজিস্টর এবং ক্যাপাসিটার) কনফিগার করুন।
কোড উদাহরণ ও পদক্ষেপ নির্দেশিকা
কোডে, আমরা মূল শনাক্তকারী যেমন সংজ্ঞায়িত করবtriggerPinইনপুট ট্রিগার এবংrelayPinরিলে আউটপুটের জন্য। সেটআপ ফাংশন এই পিনগুলোকে প্রাথমিকভাবে সেট করে, যখন লুপ ফাংশন ট্রিগার অবস্থাটি পর্যবেক্ষণ করে।
const int triggerPin = 2; // Input trigger pin
const int relayPin = 3; // Relay control pin
void setup() {
pinMode(triggerPin, INPUT);
pinMode(relayPin, OUTPUT);
}
void loop() {
if (digitalRead(triggerPin) == HIGH) {
digitalWrite(relayPin, HIGH); // Activate relay
delay(1000); // Keep relay on for 1 second
digitalWrite(relayPin, LOW); // Deactivate relay
}
}
এই অংশটি পিনগুলি শুরু করে এবং রিলে সেট করে যাতে ট্রিগার পিন একটি HIGH সংকেত পেলে এক সেকেন্ডের জন্য সক্রিয় হয়। আপনার নির্দিষ্ট সময়ের প্রয়োজনীয়তার জন্য বিলম্বটি সামঞ্জস্য করতে নিশ্চিত হন।
void loop() {
if (digitalRead(triggerPin) == HIGH) {
digitalWrite(relayPin, HIGH); // Activate relay
delay(1000); // Keep relay on for 1 second
digitalWrite(relayPin, LOW); // Deactivate relay
}
}
এখানে, আমরা পরীক্ষা করি যদিtriggerPinউচ্চ। যদি এটি হয়, আমরা রিলে চালু করি এবং এক সেকেন্ডের জন্য এটি সক্রিয় রাখি ব্যবহার করেdelay()ফাংশন। আপনার অ্যাপ্লিকেশনের জন্য প্রয়োজন অনুযায়ী বিলম্ব সমন্বয় করুন।
প্রদর্শনী / কী আশা করবেন
সফলভাবে তারযুক্ত এবং প্রোগ্রাম করার পর, ট্রিগার সক্রিয় হলে রিলে সক্রিয় হওয়া উচিত। আপনি বিভিন্ন লোড পরীক্ষা করতে পারেন যাতে নিশ্চিত হওয়া যায় যে রিলে তার রেট করা স্পেসিফিকেশন অনুযায়ী সঠিকভাবে কাজ করছে। সাধারণ ভুলগুলির মধ্যে রয়েছে ভুল ভোল্টেজ সংযোগ এবং ব্যাক ইএমএফ থেকে সুরক্ষা না দেওয়া, যা সার্কিটকে ক্ষতি করতে পারে।
ভিডিও টাইমস্ট্যাম্পস
- ০০:০০- পরিচিতি
- ০২:১৫- তারের ব্যাখ্যা
- ০৫:৩০- কোড ওয়াকথ্রু
- ০৭:৪৫- প্রদর্শনী
ছবি
/*
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);
}
}
সম্পদ ও রেফারেন্সসমূহ
-
বাহ্যিক555 Timer Book by Colin Mitchelltalkingelectronics.com
-
বাহ্যিক
-
বাহ্যিক
ফাইলসমূহ📁
Gerber files
-
555 Relay Timer-Gerber File for PCBXincluded the Gerber files 555 Relay Timer-Aug31.zip, 555 Relay Timer-BOM.xls and 555 Relay Timer-coor to place order
555 Relay Timer-Gerber File_3in1.zip0.16 MB