Adjustable Timer - LBM4

Recent Post

Saturday 10 August 2019

Adjustable Timer

Adjustable Timer

A timer is a specialized type of clock used for measuring specific time intervals.

Here we are going to learn about Adjustable Timer using IC 555 and using Arduino in simple way.
Let’s get started.

Simple Adjustable Timer Circuit Using 555 IC

Using simple 555 timer we can design an adjustable timer switch. This circuit is flexible to adjust required time. You can get more details about IC 555 timer in the link given below:

Components Required:

  1. 555 timer
  2. Electrolytic capacitor – 470 uf
  3. ceramic capacitor – 0.1nF
  4. Resistors -120k ohm, 10k ohm
  5. Relay -12v
  6. Push button

Circuit Diagram:

circuit diagram for adjustable timer

Working Procedure:

Here 555 timer is operated in monostable mode.
  1. When the trigger input is applied,555 timer produces a pulse. This pulse width depends on R and C values.
  2. The above proposed circuit is a 1-10 minute timer.When Pot is minimum it gives 1 minute delay,where maximum value of pot can produce 10 minute. Time period can be calculated using formula  T=(R1+R2)*C1.seconds
  3. When  Pot is maximum R  is 120K+1.1M ≈ 1.2M (approximately) and C1=470 uf  T= 1.2M*470uF = 620 seconds≈10 minutes.This is the maximum time. For minimum time place the pot in least position.Then R= 120k. Hence time T=120k*470uf=6 2 seconds~1 minute (approximately).
  4. A 12v relay is used to drive the ac load connected at the output.
Thus relay will be on for required amount of time set by the user using port and then it is switched of automatically.

This circuit is used in such applications where the load is switched on for sometime and is off for rest of the time.

Adjustable ON OFF Timer(using 555 astable mode)

In this circuit a timer with cyclic on off operations is designed. This circuit uses very basic components like 555 timer and 4017 counter.

These on off intervals can be adjusted by varying the 555 timer output and number of counter outputs. Let us discuss in detail about this circuit.

Components Required:

  1. R1 and R2 – 47 KΩ
  2. R3 – 15K Ω
  3. VR1 – 1M Ω
  4. C1 100µF
  5. C2 0.01µF
  6. C3 0.1µF
  7. Diodes
  8. 555 Timer IC
  9. CD4017 IC
  10. BC 148 B Transistor
  11. 6 V/ 100 Ω SPST Relay

 Circuit Diagram:
circuit diagram

Working procedure:

When the power supply is given ,555 timer produces square wave at pin 3 as it is in astable mode.
  • It gives a pulse width according to value of pot. It can be calculated as
          T( high) =0.693*(R1+R2)*C 1
           T(low) =0.693*R1*C1
          This square wave is given to CD4017 IC decade counter which has 10 outputs                                 activated sequentially upon a given clock input.
  • The outputs of the decade counter drive the transistor into active mode so that relay coil will be energized. (Instead of 6v relay one can use 12v relay also but relay should be applied with 12v instead of 6v.)
  • Here the length of ON-time of the load is a multiple of 555 timer period output and number of outputs used in CD4017.
  • Suppose in this circuit 3 outputs of CD4017 are used.So,On time of load is 3 times of T (high) and off time is 9 times of T(high). 

Therefore, ON and OFF can be varied for desired duty cycles by appropriately connecting the pins of decade counter.

It is also possible to add a sensor or switch at reset input of decade counter for automatic turning off the load in emergency or needy (for an automatic operation) situations.

Adjustable Timer(using Arduino)

Arduino adjustable timer is simple circuit to generate timer for required time. This is used to switch on the loads for the certain time period and then they are automatically switched off.

Here arduino plays a key role in setting this time period.

Here a relay is used to switch the load for certain amount of time.

Circuit Diagram:

overal setup circuit diagram

Components Required:

  1. Arduino Board
  2. LCD
  3. Push buttons
  4. Relay

Working Procedure:

Initially when the circuit is switched LCD will display ” adjustable timer”.

Now using the two buttons set the timer. Button connected to 8th pin is used to set the timer in minutes and button connected to 10th pin is used to set the timer in hours.

Set the time by pressing these buttons.When the button is pressed , time is incremented every time.

Now click on start button to switch the load. 
When the time is completed load is switched off automatically. To set the timer next time click the reset button on the arduino and set the timer again.


#include <LiquidCrystal.h> LiquidCrystal lcd(7,6,5,4,3,2); const int set = 8; int relay=9; int hours=10; int start=11; int buttonState = 0; int b=0,h=0,t=0; int lastButtonState = 0; pinMode(hours,INPUT); void setup() { pinMode(set,INPUT); lcd.begin(16,2); pinMode(relay,OUTPUT); pinMode(start,INPUT); int timer( int b,int h) lcd.setCursor(0,0); lcd.print("Adjustable Timer"); } { lcd.print(0); if(b<=9) { lcd.setCursor(3,1); else{lcd.setCursor(3,1);lcd.print(b);} lcd.setCursor(4,1); lcd.print(b); } lcd.setCursor(0,1); lcd.setCursor(2,1); lcd.print(":"); if(h<=9) { else{lcd.setCursor(0,1);lcd.print(h);} lcd.print(0); lcd.setCursor(1,1); lcd.print(h); } } if (buttonState != lastButtonState) void loop() { buttonState = digitalRead(set); { lcd.print("Set time in min:"); if(buttonState == HIGH) { lcd.clear(); ++b; timer(b,h); if (digitalRead(hours)== HIGH) } lastButtonState = buttonState; } { lcd.clear(); lcd.print("Set time in hours"); ++h; timer(b,h); while(digitalRead(hours)==HIGH); } digitalWrite(relay,HIGH); if(digitalRead(start)==HIGH) { lcd.clear(); t=((h*60)+(b))*1000; lcd.print("Timer is set for"); timer(b,h); delay(t); } digitalWrite(relay,LOW); while(digitalRead(start) == HIGH ); }

Application Area:

Cooler controllers

Irrigation pump control

Exhaust fan switching

Industrial repetitive switching of loads

Load shedding and control

Automatic lubrication tools

Traffic lights control

Printing applications, etc.

No comments:

Post a Comment