Schmittov preklápací obvod ako oscilátor

Zápisník experimentátora

Schmittov preklápací obvod umožňuje vytvoriť oscilátor pomocou malého množstva súčiastok. Stačí nám na to integrovaný obvod 74HC14, rezistor a kondenzátor. V tomto článku si vysvetlíme princíp fungovania oscilátora a budeme si vizualizovať priebeh napätí pomocou Arduina. Takto vyzerá schéma oscilátora. Na schéme je pripojené aj Arduino, aby bolo dobre vidno, kde sa nachádzajú kontrolné body merania.

Schmittov preklápací obvod funguje tak, že napätie na výstupe sa skokovito zmení v okamihu, ako napätie na vstupe prekročí určité napätie. Pri poklese napätia na vstupe ostáva napätie na výstupe stabilné až do okamihu, ako napätie na vstupe poklesne pod určité napätie. Toto napätie je vždy výrazne nižšie ako napätie pri náraste a táto vlastnosť vstupu sa nazýva hysterézia. Vďaka nej nie je vstup citlivý na šum.

Hysterézia nám poslúži aj pri vytvorení oscilátora. Integrovaný obvod na výstupe súčasne robí aj negáciu signálu. Ak obvod zapojíme podľa schémy a doplníme do neho nasledujúce súčiastky, začne oscilovať:

  • Kondenzátor medzi vstup a GND.
  • Rezistor medzi vstup a výstup.

Osciluje preto, lebo pri pripojení napájania k integrovanému obvodu bude na vstupe napätie blízke GND a na výstupe napätie blízke VCC. Pretože vstup a výstup sú prepojené pomocou rezistora, začne cezeň tiecť prúd, ktorý postupne nabije kondenzátor. Kondenzátor sa nabije po definované napätie a v tom okamihu sa výstup preklopí na napätie blízke GND. Kondenzátor sa začne cez rezistor zase vybíjať a to až po definované napätie, kedy sa výstup zase preklopí.

Napätie na vstupe sa mení medzi týmito dvomi hodnotami. Ak na výstup pripojíme LED diódu s rezistorom, môžeme celý dej pekne sledovať. Hodnoty súčiastok musia byť dosť veľké, aby sme mohli oscilovanie sledovať voľným okom. Napríklad pri hodnotách R=150k a C=10u je oscilácia približne každú sekundu. Vzorec je približne 1 / (R x C). Príklad zapojenia integrovaného obvodu nájdete na nasledovnom obrázku. Druhý kondenzátor na obrázku slúži na blokovanie špičiek napätia a má hodnotu 0.1 uF.

Ku obvodu som pripojil Arduino, aby sme mohli vizualizovať pomocou analógového merania napätia na kontrolných bodoch. Kontrolné body sa nachádzajú na vstupe a na výstupe. Zapojenie je na nasledovnom obrázku.

Arduino meria napätie na pinoch A0 a A1 a odosiela výsledky na sériový port.

const double vref = 5.0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  double a0 = analogRead(A0) * vref / 1023.0;
  double a1 = analogRead(A1) * vref / 1023.0;

  Serial.print(a0);
  Serial.print(",");
  Serial.print(a1);
  Serial.println("");
}

Výsledky merania možno takto vizualizovať.

Zdrojový kód

Zdrojový kód sa nachádza na serveri GitHub.


07.01.2018


Menu