Chapter-9 : The 555 IC Timer

Example : 9.1 - Page No 295

In [3]:
# Given data
C=.01 # in micro F
C=C*10**-6 # in  F
R_A= 2 # in kohm
R_A=R_A*10**3 # in ohm
R_B= 100 # in kohm
R_B=R_B*10**3 # in ohm
T_High= 0.693*(R_A+R_B)*C # in seconds
T_Low= 0.693*R_B*C # in seconds
T=T_High+T_Low # in seconds
f=1/T # in Hz
print "Frequency of oscillations = %0.1f Hz" %f
DutyCycle= T_High/T*100 # in percent
print "Duty cycle = %0.1f %%" %DutyCycle 
Frequency of oscillations = 714.4 Hz
Duty cycle = 50.5 %

Example : 9.2 - Page No 295

In [5]:
# Given data
C=1 # in micro F
C=C*10**-6 # in  F
C1=0.01 # in micro F
C1=C1*10**-6 # in  F
R_A=4.7 # in kohm
R_B=1 # in kohm
R_A=R_A*10**3 # in ohm
R_B=R_B*10**3 # in ohm
T_on= 0.693*(R_A+R_B)*C # in seconds
T_on=T_on*10**3 # in ms
print "Positive pulse width = %0.2f mili seconds" %T_on
T_off= 0.693*R_B*C # in seconds
T_off=T_off*10**3 # in ms
print "Negative pulse width = %0.3f mili seconds" %T_off
f=1.4/((R_A+2*R_B)*C) # in Hz
print "Free running Frequency = %0.f Hz" %f
DutyCycle= (R_A+R_B)/(R_A+2*R_B)*100# in percent
print "Duty cycle = %0.f %%" %DutyCycle
Positive pulse width = 3.95 mili seconds
Negative pulse width = 0.693 mili seconds
Free running Frequency = 209 Hz
Duty cycle = 85 %

Example : 9.3 - Page No 296

In [19]:
# Given data
C=0.01 # in micro F
C=C*10**-6 # in  F
f=1 # in kHz
f=f*10**3 # in Hz
# R_A= R_B
# T_on = T_off = T/2
# Frequency is given by equation f= 1.44/((R_A+R_B)*C)
R_A= 1.44/(2*f*C) # in ohm
R_A=R_A*10**-3 # in k ohm
R_B= R_A 

print "The value of required resistors =",int(round(R_A)),"k ohm (68 ohm standart value)" 
The value of required resistors = 72 k ohm (68 ohm standart value)

Example : 9.4 - Page No 296

In [20]:
# Given data
f=700 # in Hz
# R_A= R_B
# T_on = T_off = T/2
# Frequency is given by equation f= 1.44/((R_A+R_B)*C)
C=0.01 # in micro F  (assumed value)
C=C*10**-6 # in  F
R_A= 1.44/(2*f*C) # in ohm
R_A=R_A*10**-3 # in k ohm
R_A=int(round(R_A) )
R_B= R_A 
print "The value of required resistors   =",(R_A),"k ohm (100 ohm standart value)" 
The value of required resistors   = 103 k ohm (100 ohm standart value)

Example : 9.5 - Page No 296

In [28]:
# Given data
f=800 # in Hz
D=60 # in percent
# Formula D= (R_A+R_B)/(R_A+2*R_B)*100 = 60
# R_A + R_B = 0.6*R_A + 1.2*R_B
# R_B= 2*R_A
C=0.01 # in micro F  (assumed value)
C=C*10**-6 # in  F
# Frequency is given by equation f= 1.44/((R_A+R_B)*C)
R_A= 1.44/(5*C*f) # in ohm
R_A=R_A*10**-3 # in kohm
R_B=2*R_A # in kohm
print "The value of C   = %0.2f micro F" %(C*10**6)
print "The value of R_A = %0.f kohm" %R_A
print "The value of R_B = %0.f kohm" %R_B
The value of C   = 0.01 micro F
The value of R_A = 36 kohm
The value of R_B = 72 kohm

Example : 9.6 - Page No 297

In [29]:
# Given data
C=.05 # in micro F
C=C*10**-6 # in  F
R= 12 # in kohm
R=R*10**3 # in ohm
V_CC= 5 # in volt
V_BE= 0.7 # in volt
V_D1= V_BE # in volt
I_C= (V_CC-V_BE)/R # in A
f_o= (3*I_C)/(V_CC*C) # in Hz
f_o=f_o*10**-3 # in kHz
print "Frequency of free running ramp generator circuit = %0.1f kHz" %f_o
Frequency of free running ramp generator circuit = 4.3 kHz

Example : 9.7 - Page No 300

In [30]:
# Given data
C=.1 # in micro F
C=C*10**-6 # in  F
R_A= 20 # in kohm
R_A=R_A*10**3 # in ohm
PulseWidth= 1.1*R_A*C # in seconds
print "The output pulse width = %0.1f mili seconds" %(PulseWidth*10**3)
The output pulse width = 2.2 mili seconds

Example : 9.9 - Page No 300

In [40]:
from __future__ import division
# Given data
C=.02 # in micro F
C=C*10**-6 # in  F
f=2 # frequency of the outpur trigger in kHz
f=f*10**3 # in Hz
T=1/f # in seconds
# In a divide-by-5 circuit , n=5, so the pulse width, t_p= [0.2 + (n-1)]*T = [0.2 + (5-1)]*T = 4.2*T
t_p=4.2*T # in soconds
# Formula t_p = 1.1*R_A*C
R_A= t_p/(1.1*C) # in ohm
R_A=R_A*10**-3 # in kohm
print "The value of R_A = %0.2f k ohm (Standard value 100 kohm)" %R_A
The value of R_A = 95.45 k ohm (Standard value 100 kohm)