Schlagwort-Archive: Frequenzgenerator

Ein simpler Rechteckgenerator mit dem Arduino

Mit der Arduino tone() Anweisung lassen sich Töne / Rechteckfrequenzen auf einem beliebigen digitalen Pin ausgeben. Damit ist es sehr einfach einen Rechteckgenerator zu realisieren.

// Simpler Rechteckgenerator an Pin 10
//
// Matthias Busse Version 1.0

unsigned int frequenz=10000;

void setup() {
  tone(10,frequenz);
}

void loop() {
}

Es lassen sich Frequenzen von 31 Hz bis 65535 Hz erzeugen. Weiterlesen

Arduino Nano Frequenzzaehler

Der Frequenzgenerator und Frequenzzähler

Ich habe mit einem wahren Kabelgrab den Rechteckgenerator LTC1799 an mein 5V Netzteil mit einem 7805 angeschlossen.

Dem Rechteckausgang habe ich zu etwas mehr Leistung verholfen mit einem 7400 IC bei dem alle 4 NAND parallel geschaltet sind und so für einen niedrigen Ausgangswiderstand sorgen.

Diese Ausgangs Rechteckfrequenz geht auf meinen neuen Arduino Nano USB. Hier wird die Frequenz ermittelt und auf einem 16×2 LCD Display angezeigt. Die Beschreibung mit dem Uno gibt es hier. Weiterlesen

DDS AD9850

Ein DDS Sinus Frequenzgenerator einstellbar von 1Hz bis 40MHz mit dem AD9850 und dem Arduino Uno

Mit der fertigen AD 9850 DDS Platine (z.B. von ebay für unter 10 Euro) und dem Arduino Uno lässt sich ziemlich einfach ein einstellbarer Sinus Frequenzgenerator aufbauen. Dieser ist dann durchstimmbar von 1 Hz bis 40 MHz in 1 Hz Schritten. Weiterlesen

Unterschiedliche Signalformen mit dem R2R DA-Wandler ausgeben. Dreieck, Impuls, Sägezahn direkt mit dem Arduino Uno.

Hier werden Sägezahn Kurven mit steigender und mit fallender Flanke erzeugt, eine Dreieckskurve und eine Impulsausgabe mit ggf. einer langen Auszeit. Es werden der Arduino Uno und der 4-bit DA-Wandler verwendet.

Wie im vorherigen Artikel beschrieben wird das byte Feld mit Werten beschrieben.

Wenn nun eine Sägezahnspannung mit kontinuierlich steigender Flanke ausgegeben werden soll, kann folgendes Feld mit 16 Stützwerten verwendet werden.

Weiterlesen

Ein Sinus Signal mit dem R2R DA-Wandler am Arduino Uno ausgeben.

Ein Sinus Signal wird mit dem DA Wandler erzeugt und ausgegeben.

Dazu werden als erstes die Sinus Stützwerte berechnet. Für schnelle Frequenzen müssen wir wenig Stützwerte verwenden. Wenn die Frequenz niedriger wird, können mehr Stützwerte genommen werden.

Bei dem 4-Bit DA-Wandler sind 16 Ausgangsspannungen einstellbar, von 0 bis 15 Binär.
Das entspricht einer Spannung von 0 bis 4,7V. Weiterlesen

Ein Rechtecksignal mit hoher Frequenz direkt aus dem Arduino Uno ausgeben

Mit der schon vorher besprochenen Funktion lassen sich hohe Rechteck Frequenzen erreichen.

while(k==10) {
  PORTB=B00111100; // 15
  asm("nop\n nop\n");
  PORTB=B00000000; // 0
}

Weiterlesen

Ein Rechteck Signal mit einstellbarer Frequenz ausgeben

Nachdem ich nun die Obergrenze des Rechtecksignals getestet habe, will ich mir jetzt mal die unteren Frequenzen ansehen. Da bieten sich die delay(ms) und delayMicroseconds(us) Funktionen an.

Ein Prozessortakt dauert bei 16 MHz Takt 62,5 Nano Sekunden. Meine while schleife mit den nops und Portausgaben benötigt 6 Takte. delayMicroseconds() lässt sich in 1 Mikrosekunden Stufen einstellen bis hin zu 16383, was hier einer Frequenz von ca. 31 Hz entspricht. Weiterlesen