Operácie

555: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Balogh (diskusia | príspevky)
 
(16 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 1: Riadok 1:
== Časovač 555 ==
== Astabilný oscilátor s NE 555 ==
 
Jednoduchý modul s oscilátorom a prepínateľnou výstupnou frekvenciou. Jeho základom je jeden z najstarších, avšak dodnes vyrábaných, integrovaných obvodov NE 555.
Okrem dvoch pinov, ktoré sú použité na napájanie (+5V, GND) má jeden výstup (Output) na ktorom odoberáme výstupný signál.
 
[[Súbor:555-Foto.jpg|250px|left]]
* Napájanie: +5V
* Výstup: TTL kompatibilný, 5V, oscilátor alebo manuálne tlačidlom
* Frekvencie: 1 kHz, 50 Hz, 1 Hz, voliteľné prepojkou
* Oscilátor: NE 555 ([http://www.ti.com/lit/ds/symlink/lm555.pdf datasheet])
 
<BR>
<BR>
<BR>
<BR>
 
[[Súbor:555-SchemaZapojenia.png|center]]<BR>''Schéma zapojenia modulu.''
 
[[Súbor:555-ModulOvladanie.png|center]]<BR>''Nastavenie konfiguračných prepojok.''
 
Popis funkcie integrovaného obvodu NE 555 nájdete na rozličných miestach, napríklad aj na [https://en.wikipedia.org/wiki/555_timer_IC Wikipedii]. Funkcia obvodu je pekne [http://www.falstad.com/circuit/e-555int.html viditeľná v simulátore]. Okrem oscilátora je možné s obvodom zostaviť aj veľké množstvo ďalších obvodov - monostabilný multivibrátor, komparátor, okienkový komparátor atď.
 
Na základe informácie z ([http://www.ti.com/lit/ds/symlink/lm555.pdf datasheetu]) je vzťah pre výpočet periódy T výstupného signálu daný súčtom intervalov TH a TL.
Doba nabíjania kondenzátora, t.j. úroveň H je daná
 
TH = 0,693 (R1 + R2) C                      (1)
 
a doba vybíjania, t.j. úroveň L je
 
TL = 0,693 R2 C                            (2)
 
a teda celkov perióda T je
 
T = 0,693 × (R1 + 2×R2) × C                (3)
 
kde C je kapacita kondenzátora (F), R1 a R2 sú hodnoty rezistorov v Ohmoch.
 
Potom frekvencia oscilátora je prevrátená hodnota periódy:
f = 1/T                                    (4)
 
== Astable (oscilating) circuit ==


The oscilating circuit diagram is pretty simple, featuring the 555, and then a couple of resistors & capacitors that define the actual frequency of the oscillation. Pay attention to the pin numbers.
The oscilating circuit diagram is pretty simple, featuring the 555, and then a couple of resistors & capacitors that define the actual frequency of the oscillation. Pay attention to the pin numbers.
Riadok 17: Riadok 57:
C1 is measured in Farads, R1 & R2 are in Ohms, so for values in schematic:
C1 is measured in Farads, R1 & R2 are in Ohms, so for values in schematic:


T = 0,693 × ( 100 000 + 2 × 100 000) × 0.00001 = 0.99792 seconds (or 1.002 Hz)
T = 0,693 × ( 100 000 + 2 × 100 000) × 0.000001 = 0,2 seconds (or 4,8 Hz)
 
If you want a different frequency, you have to change the values of C1, R1 & R2. As an example - if change from a 1 µF capacitor to 10 µF, it will take 10x the time to charge, so your frequency will go down by a factor of 10.
 
 
 
=== Measuring the frequency ===
 
<source lang="c">
volatile long lasttime = 0; // volatile is necessary, since this value is changed in an interrupt
 
void setup()
{
  Serial.begin(9600);
  Serial.println("Measured time [ms]:");
 
  pinMode(3, INPUT);                    // make pin D3 (PD.3=INT1) input
  attachInterrupt( 1, onTick, RISING);  // set interrupt 1 (from pin 3) to call 'onTick'
                                        // when the signal rises.
}
 
 
void loop()
{
  /* Nothing to do here, everything happens in interrupt service routine onTick */
}
 
 
void onTick()  // print out how many milliseconds occurred between the last
                // clock tick and this one.
{
  long thistime=millis();
  char tmp[7];
  sprintf(tmp, "%6d", thistime-lasttime);
  Serial.print(tmp);
  Serial.print("\r");
//    Serial.println(thistime-lasttime);
  lasttime = thistime;
}
 
</source>
 
 
More components to add and use for MMP exercises:


If you want a different frequency, you would change the values of C1, R1 & R2. Changing the capicitor is the easiest to imagine -- if you go from a 10 µF capacitor to 1 µF, it will take 1/10 the time to charge, so your frequency will go up by a factor of 10.
[[Obrázok:555oscilatorSW.png|center]]

Aktuálna revízia z 11:27, 22. október 2019

Astabilný oscilátor s NE 555

Jednoduchý modul s oscilátorom a prepínateľnou výstupnou frekvenciou. Jeho základom je jeden z najstarších, avšak dodnes vyrábaných, integrovaných obvodov NE 555. Okrem dvoch pinov, ktoré sú použité na napájanie (+5V, GND) má jeden výstup (Output) na ktorom odoberáme výstupný signál.

  • Napájanie: +5V
  • Výstup: TTL kompatibilný, 5V, oscilátor alebo manuálne tlačidlom
  • Frekvencie: 1 kHz, 50 Hz, 1 Hz, voliteľné prepojkou
  • Oscilátor: NE 555 (datasheet)






Schéma zapojenia modulu.


Nastavenie konfiguračných prepojok.

Popis funkcie integrovaného obvodu NE 555 nájdete na rozličných miestach, napríklad aj na Wikipedii. Funkcia obvodu je pekne viditeľná v simulátore. Okrem oscilátora je možné s obvodom zostaviť aj veľké množstvo ďalších obvodov - monostabilný multivibrátor, komparátor, okienkový komparátor atď.

Na základe informácie z (datasheetu) je vzťah pre výpočet periódy T výstupného signálu daný súčtom intervalov TH a TL. Doba nabíjania kondenzátora, t.j. úroveň H je daná

TH = 0,693 (R1 + R2) C                      (1)

a doba vybíjania, t.j. úroveň L je

TL = 0,693 R2 C                             (2)

a teda celkov perióda T je

T = 0,693 × (R1 + 2×R2) × C                 (3)

kde C je kapacita kondenzátora (F), R1 a R2 sú hodnoty rezistorov v Ohmoch.

Potom frekvencia oscilátora je prevrátená hodnota periódy:

f = 1/T                                     (4)

Astable (oscilating) circuit

The oscilating circuit diagram is pretty simple, featuring the 555, and then a couple of resistors & capacitors that define the actual frequency of the oscillation. Pay attention to the pin numbers.


In reality, when you build it out, the circuit should look like this one:

TODO: image


You can calculate frequency using this formula:

T = 0,693 × (R1 + 2×R2) × C1

C1 is measured in Farads, R1 & R2 are in Ohms, so for values in schematic:

T = 0,693 × ( 100 000 + 2 × 100 000) × 0.000001 = 0,2 seconds (or 4,8 Hz)

If you want a different frequency, you have to change the values of C1, R1 & R2. As an example - if change from a 1 µF capacitor to 10 µF, it will take 10x the time to charge, so your frequency will go down by a factor of 10.


Measuring the frequency

volatile long lasttime = 0; // volatile is necessary, since this value is changed in an interrupt

void setup()
{
  Serial.begin(9600);
  Serial.println("Measured time [ms]:");

  pinMode(3, INPUT);                    // make pin D3 (PD.3=INT1) input 
  attachInterrupt( 1, onTick, RISING);  // set interrupt 1 (from pin 3) to call 'onTick'
                                        // when the signal rises.
}


void loop()
{
  /* Nothing to do here, everything happens in interrupt service routine onTick */
}


void onTick()   // print out how many milliseconds occurred between the last
                // clock tick and this one.
{
  long thistime=millis();
  char tmp[7];
  sprintf(tmp, "%6d", thistime-lasttime);
  Serial.print(tmp);
  Serial.print("\r");
//    Serial.println(thistime-lasttime);
   lasttime = thistime;
}


More components to add and use for MMP exercises: