I use the classical Timer 555 to blink one LED.
I used 2 22K Ohm resistors for Ra and Rb and a 47uF capacitor (A 100uF would have been easier for computation). this give me an output frequency of 0.46/s and a duty cyle of 0.66.
/*
LED Blinker:
timer
Timer 555, 1 LEDs Blinking Schematic:
=====================================
1. Pin1 to ground
2. Connect a 0.01uF capacitor between pins 5 and 1.
3. Connect a 0.47uF capacitor between pins 1 and 6.
Negative lead of the capacitor to pin 1.
4. Connect a 22k Ohm resistor between pin 6 and 7.
5. Connect a 22kOhm pins 7 and 8.
6. Connect a pins 4 and 8 to each other (red) and pins
7. Connect a 2 and 6 to each other (yellow).
8. Connect an LED+ to pin3 LED- to ground
8. Connect Pin8(Vcc) to Power
1. Initial State
C has no changer vC == 0
vC = THRESHOLD + TRIGGER == LOW (Connected)
=> v OUTPUT HIGH == Vcc
2. Since TRIGGER == LOW -> C is charging and vC is increasing
vC = (Vcc - V0) * (1- e-t / [(RA+RB)*C])
3. vC == 2/3 Vcc
=> THRESHOLD = HIGH => OUTPUT = LOW
timeToAccumlate = 1.1*(RA+RB)*C seconds
4. C is discharging via Rb into DISCHARGE.
vC = 2/3*Vcc* ( e-t /(RB*C))
timeToDischarge = 0.7*RB*C seconds
5. When vC == TRIGGER ==1/3Vcc => TRIGGER = LOW => OUTPUT = HIGH
Goto step 2
*/
function print(s) {
console.log(s)
}
var capacitor = 47/1000/1000/1000 // 0.47uF
var capacitor = 47/1000/1000/1000*10 // 4.7uF
var capacitor = 47/1000/1000/1000*100 // 47uF
//var capacitor = 47/1000/1000/1000*1000 // 470uF
//var capacitor = 10/1000/1000/1000*100 // 10uF
var vcc = 5
var vcc13 = 1/3 * vcc
var vcc23 = 2/3 * vcc
var Ra = 8.2 * 1000 // kOmh
var Rb = 68 * 1000 // kOmh
var Ra = 22 * 1000 // kOmh
var Rb = 22 * 1000 // kOmh
var frequencyOfOutput = (1 / ( 0.7 * ( Ra + 2 * Rb) * capacitor)) / 10
var dutyCycle = (0.7 * (Ra + Rb) * capacitor) / (0.7 * ( Ra + 2*Rb ) * capacitor)
var dutyCycleSimplified = (Ra+ Rb) / (Ra + 2*Rb)
print("frequencyOfOutput:"+frequencyOfOutput+" per seconds")
print("dutyCycle:"+dutyCycle)
print("dutyCycleSimplified:"+dutyCycleSimplified)


No comments:
Post a Comment