Code zoeken

Project: RJT520 relais timer, 555, 6V tot 18V, 20A

Project: RJT520 relais timer, 555, 6V tot 18V, 20A

In deze tutorial bouwen we een relais-timer circuit met behulp van het RJT520 relais en een 555 timer IC die werkt binnen een spanningsbereik van 6V tot 18V. Dit project is ideaal voor het besturen van apparaten die een vertraging vereisen voordat ze aan of uit gaan, zoals lichten of apparaten. Het resultaat zal een functionele relais-timer zijn die tot 20A stroom kan verwerken, wat een breed scala aan toepassingen mogelijk maakt.

Relay Timer 555 6V to 18V 20A PCB 2

We zullen de 555 timer IC in monostabiele modus gebruiken om een vertragingstimer te maken. Wanneer geactiveerd, zal de timer het relais inschakelen voor een bepaalde duur voordat het wordt uitgeschakeld. Dit project is eenvoudig maar effectief, waardoor het een geweldige aanvulling is op je elektronica toolkit. Voor een meer visuele uitleg, zorg ervoor dat je de video bekijkt (in de video om 02:15).

Hardware Uitleg

De belangrijkste componenten van dit project zijn de RJT520 relais, de 555 timer IC en een voeding. De RJT520 relais is een hoogvermogen relais dat belastingen tot 20A kan schakelen, waardoor het geschikt is voor het aansturen van grotere apparaten. De 555 timer IC is een veelzijdig component dat in verschillende modi kan worden geconfigureerd, waaronder monostabiele modus, die we zullen gebruiken voor onze timer.

Relay Timer 555 6V to 18V 20A PCB  Gerber file 6

Het relais werkt door een elektromagneet te gebruiken om een set contacten mechanisch te schakelen. Wanneer de uitgang van de 555-timer hoog gaat, wordt de relaiswikkeling van stroom voorzien, waardoor de contacten sluiten en stroom naar de aangesloten belasting kan stromen. Deze opstelling is voordelig voor toepassingen die een afstandsbediening of automatisering vereisen.

Datasheet Gegevens

FabrikantRJT
OnderdeelnummerRJT520
Voedingsspanning6-18 V
Uitgangsstroom20 A max
Spoelstroom70 mA typ.
Schakelspanning250 V AC / 30 V DC
ContactconfiguratieSPDT
Bedrijfstemperatuur-40 tot 85 °C
PakketStandaard relaispakket

  • Zorg ervoor dat de relais de belastingstroom kan verwerken (maximaal 20 A).
  • Gebruik geschikte warmteafvoer als het relais bij hoge temperaturen werkt.
  • Controleer de spanningsniveaus om schade aan de 555-timer te voorkomen.
  • Gebruik decoupling condensatoren dicht bij de voedingspinnen van de 555-timer.
  • Controleer de relaiscontacten op slijtage en vervang ze indien nodig.
  • Wees voorzichtig met terug-EMF bij het schakelen van inductieve belastingen.

Bedradinginstructies

555 Relay Timer of 20A 0-10 minutest on breadboard wiring
555 Relay Timer of 20A 0-10 minutest on breadboard wiring

Om de RJT520 relais timer circuit aan te sluiten, begin met het verbinden van de 555 timer IC. Verbind pin 1 (GND) van de 555 timer met de aarde van je voeding. Verbind vervolgens pin 8 (VCC) met de positieve terminal van je voeding (6V tot 18V).

Relay Timer 555 6V to 18V 20A PCB  Gerber file 8

Verbind vervolgens pin 2 (TRIG) met je triggerschakelaar of ingangssignaal. Deze pin activeert de timer wanneer hij een lage puls ontvangt. Verbind pin 3 (OUT) van de 555-timer met één terminal van de relaisspoel en verbind de andere terminal van de spoel met de aarde. Vergeet niet een diode over de relaisspoel toe te voegen om de schakeling te beschermen tegen terugkerende EMF.

Voor de relaisuitgang, verbind een van de gemeenschappelijke terminals met de belasting die je wilt aansturen, en de andere terminal met de voedingsbron. Zorg ervoor dat je de andere terminal van de belasting terug verbindt met de gemeenschappelijke aarde. Configureer ten slotte de timingcomponenten (weerstand en condensator) die zijn aangesloten op pinnen 6 en 2 voor de gewenste vertraging.

Codevoorbeelden en Stappenplan

In de code zullen we belangrijke identificatoren definiëren zoalstriggerPinvoor de invoertrigger enrelayPinvoor de relaisuitgang. De setup-functie initialiseert deze pinnen, terwijl de loop-functie de triggerstatus bewaakt.

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
  }
}

Dit fragment initialiseert de pinnen en stelt het relais in om één seconde te activeren telkens wanneer de triggerpin een HIGH-signaal ontvangt. Zorg ervoor dat je de vertraging aanpast aan jouw specifieke timingvereisten.

void loop() {
  if (digitalRead(triggerPin) == HIGH) {
    digitalWrite(relayPin, HIGH); // Activate relay
    delay(1000);                  // Keep relay on for 1 second
    digitalWrite(relayPin, LOW);  // Deactivate relay
  }
}

Hier controleren we of detriggerPinis HOOG. Als dat zo is, schakelen we het relais in en houden het één seconde ingeschakeld met behulp van dedelay()functie. Pas de vertraging aan indien nodig voor uw toepassing.

Demonstratie / Wat te Verwachten

Bij succesvolle bedrading en programmering zou het relais moeten activeren wanneer de trigger wordt ingeschakeld. U kunt verschillende belastingen testen om ervoor te zorgen dat het relais correct werkt binnen zijn gespecificeerde specificaties. Veelvoorkomende valkuilen zijn onder andere onjuiste spanningsverbindingen en het niet beschermen tegen terugkoppeling van EMF, wat de schakeling kan beschadigen.

Videotijdstempels

  • 00:00- Inleiding
  • 02:15- Bedrading Uitleg
  • 05:30- Code Doorloop
  • 07:45- Demonstratie

Afbeeldingen

Relay Timer 555 6V to 18V 20A PCB 1
Relay Timer 555 6V to 18V 20A PCB 1
Relay Timer 555 6V to 18V 20A PCB 2
Relay Timer 555 6V to 18V 20A PCB 2
Relay Timer 555 6V to 18V 20A PCB 3
Relay Timer 555 6V to 18V 20A PCB 3
Relay Timer 555 6V to 18V 20A PCB Gerber file 4
Relay Timer 555 6V to 18V 20A PCB Gerber file 4
Relay Timer 555 6V to 18V 20A PCB Gerber file 5
Relay Timer 555 6V to 18V 20A PCB Gerber file 5
Relay Timer 555 6V to 18V 20A PCB  Gerber file 6
Relay Timer 555 6V to 18V 20A PCB Gerber file 6
Relay Timer 555 6V to 18V 20A PCB  Gerber file  7
Relay Timer 555 6V to 18V 20A PCB Gerber file 7
Relay Timer 555 6V to 18V 20A PCB  Gerber file 8
Relay Timer 555 6V to 18V 20A PCB Gerber file 8
Relay Timer 555 6V to 18V 20A PCB  Gerber file 9
Relay Timer 555 6V to 18V 20A PCB Gerber file 9
555 Relay Timer of 20A 0-10 minutest on breadboard wiring
555 Relay Timer of 20A 0-10 minutest on breadboard wiring
371-Arduino code for H-Bridge Project with TIP120/TIP125 Transistors
Taal: C++
/*
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); 
  }
 
}

Hulpmiddelen en referenties

Bestanden📁

Gerber files

  • 555 Relais Timer-Gerber-bestand voor PCBX
    inclusief de Gerber-bestanden 555 Relay Timer-Aug31.zip, 555 Relay Timer-BOM.xls en 555 Relay Timer-coor om een bestelling te plaatsen
    555 Relay Timer-Gerber File_3in1.zip 0.16 MB