Forum: Analoge Elektronik und Schaltungstechnik Signalquelle für mehrere tonfrequente Signale


von Mick L. (Gast)


Lesenswert?

Guten Abend,

Ich benötige eine Schaltung, welche mir insgesamt 8 einzeln einstellbare 
Rechtecksignale im tonfrequenten Bereich (50-500Hz) mit einer relativ 
hohen Genauigkeit(~500ppm) liefert. LC Oszillatoren oder ne 555 
Schaltung fallen damit schon mal flach.
Ich habe auch überlegt es mit einem µC zu erzeugen, jedoch hat keiner 
der Modelle mit denen ich bereits gearbeitet habe genügend seperate 
Timer um jedes Signal unabhängig einstellen zu können. 8 einzelne PLLs 
aufzubauen scheint mir ein wenig Overkill zu sein.

Von daher meine Frage: Mit welchem Schaltungskonzept gehe ich am besten 
an die Sache heran. Beispielschaltungen wären hilfreich, mir würde aber 
auch eine gute Idee helfen.

Vielen Dank für eure Mühe!
Mick

von Edi M. (Gast)


Lesenswert?

Im Forum wurden mehrere Tongeneratoren auf digitaler Basis vorgestellt. 
Die suche darfst Du selber benutzen.

Der klassische Ansatz ist eine Sinus-DDS mit sehr starker Filterung, um 
die Phasensprünge zu beseitigen. Für beliebige Frequenzen sind ab da 
dann die Grundfrequenzen für eine weitere DDS mit beliebiger Wellenform 
machbar. Deine Wellenform ist dann wahrscheinlich ein Rechteck variabler 
Pulsbreite.

von Gerhard O. (gerhard_)


Lesenswert?

Der I2C steuerbare Si5351B kann bis zu 8 Kanäle gleichzeitig ausgeben. 
Falls die untere Grenzfrequenz (2.5kHz) noch zu groß ist, einfach den 
betreffenden Ausgang mit einem HC390 durch 100 oder 50 teilen. Die 
Auflösung ist direkt an den Ausgängen um die 0.01 Hz. Die Zeitbasis ist 
ein 25 MHZ Quarz und kann digital durch Register Zugriff in einem engen 
Bereich zur Kalibrierung präzise eingestellt werden. Auch die Phasenlage 
zueinander kann fest gelegt werden.

http://www.silabs.com/documents/public/data-sheets/Si5351-B.pdf

Steuer Software zum Testen:
https://github.com/etherkit/Si5351Arduino


mfg,
Gerhard

: Bearbeitet durch User
von Edi M. (Gast)


Lesenswert?

Die Einstellbarkeit von 0,01Hz könnte zu grob sein und zudem sagt das 
nichts über den Jitter. 500pm am Ausgang sind schon recht gut und das 
wird sich durch Teiler an den Ausgängen nicht verbessern.

Sowas baut man mit Präzisionsschmitt-Triggern.

von Mick L. (Gast)


Lesenswert?

Danke schonmal, Ziel ist jede Frequenz einzeln präzise einstellen zu 
können, die Pulsbreite ist für meine Anwendung relativ egal.
Bei der Suche bin ich auf wenig brauchbares für meine Anwendung 
gestoßen, der Schaltungsaufwand wäre einfach zu groß würde ich so einen 
Tongenerator 8 mal aufbauen.
Hab auch schon daran gedacht es einen atmega 8 oder so machen zu lassen, 
der hat meines Wissens aber bloß 3 Timer, von denen ich nur 2 benutzen 
kann.
Kennt jemand einen besseren µC, welcher das am besten ohne große 
zusatzbeschaltung kann?

von Edi M. (Gast)


Lesenswert?

Stehen die 8 Frequenzen in einer Beziehung zu einander? Gfs sind es 
ganzahlige Teiler der Quetzfrequenz ?

von Mick L. (Gast)


Lesenswert?

Der Si5351B ist interressant, die Genauigkeit nach dem Teilen wäre aber 
leider zu gering. Gibt es vielleicht einen vergleichbaren IC mit einer 
nierdrigeren unteren Grenzfrequenz?
Wenn ich mit Schmitt Triggern nen Oszillator aufbaue bin ich doch 
deutlich ungenauer als mit einem µC, oder sehe ich das falsch?

von Mick L. (Gast)


Lesenswert?

Nein, die Frequenzen stehen leider in keiner Beziehung zueinander, und 
müssen zwingend einzeln verstimmbar sein, sonst hätte ich es mit einem 
Quarz und mehreren Frequenzteilern gelöst.

von Mick L. (Gast)


Lesenswert?

Aah, eventuell könnte man den Ausgang vom Si5351 mit einem Mischer und 
einem Bandpass herunterwandeln, und anschließend mit nem Schmitt Trigger 
zum Rechteck machen. Klingt das nach nem vernünftigen Ansatz?

von Gerhard O. (gerhard_)


Lesenswert?

E. M. schrieb:
> Die Einstellbarkeit von 0,01Hz könnte zu grob sein und zudem sagt
> das
> nichts über den Jitter. 500pm am Ausgang sind schon recht gut und das
> wird sich durch Teiler an den Ausgängen nicht verbessern.
>
> Sowas baut man mit Präzisionsschmitt-Triggern.


Der T.E. sagte nichts über die Auflösung auf. Mit dem Ausgangsteiler ist 
die Frequenzauflösung dann sowieso 0.0001 Hz und mit DDS vergleichbar.

Der Timing-Jitter am Ausgang wird mit 70ps angegeben. Mit dem 
Ausgangsteiler ist das im Idealfall also hundertfach weniger und nur in 
Extremfällen bei diesen Frequenzen von Bedeutung.

Scheint für $3.48 ein gutes Kosten zu Leistungsverhältnis mit minimalen 
HW-Aufwand zu sein.

von Gerhard O. (gerhard_)


Lesenswert?

Mick L. schrieb:
> Aah, eventuell könnte man den Ausgang vom Si5351 mit einem Mischer
> und
> einem Bandpass herunter wandeln, und anschließend mit nem Schmitt Trigger
> zum Rechteck machen. Klingt das nach nem vernünftigen Ansatz?

Teiler ist billiger und einfacher. Mit Mischer und den LP Filtern ist 
der Aufwand viel höher.

Beim Teiler aufpassen, dass das letzte Flip-Flop am Ausgang ist um ein 
50% Tastverhältnis zu erzielen. Da sowieso Rechteck Signale gewünscht 
wurden, ist also nichts diesbezüglich auszusetzen.

: Bearbeitet durch User
von Edi M. (Gast)


Lesenswert?

Gerhard O. schrieb:
> er Timing-Jitter am Ausgang wird mit 70ps angegeben
Das wäre in der Tat nicht schlecht! Stimme Ich zu.
Dann hat der sicher einen stabilisierten Quarz und eine PLL von einigen 
GHz drin.

Zu Micks Vorschlag: Ich denke auch, dass Mischen keine gute Idee ist.
Quarz, PLL, hoch so wie es geht und dann runterteilen.

von Gerhard O. (gerhard_)


Lesenswert?

Mick L. schrieb:
> Der Si5351B ist interressant, die Genauigkeit nach dem Teilen wäre
> aber
> leider zu gering. Gibt es vielleicht einen vergleichbaren IC mit einer
> nierdrigeren unteren Grenzfrequenz?
> Wenn ich mit Schmitt Triggern nen Oszillator aufbaue bin ich doch
> deutlich ungenauer als mit einem µC, oder sehe ich das falsch?

Mit der Si5351B Lösung ist dann der Ausgangsbereich 50.0000-500.0000 Hz 
mit 0.0001 Hz Auflösung gleichzeitig auf allen acht Ausgängen mit 
einstellbarer, definierter Phase zueinander.

Wie meinst Du das, "die Genauigkeit nach dem Teilen wäre aber leider zu 
gering"?

: Bearbeitet durch User
von Mick L. (Gast)


Lesenswert?

Vielen Dank! Das mit der ungenügenden Genauigkeit war ein Fehler. 
Genauigkeit ist absolut ausreichend, mir ist ein kleiner 
Leichtsinnsfehler beim Datenblatt lesen passiert^^

Als Teiler wäre denk ich ein 10 Bit Teiler optimal, 8 CD4060s wären 
denkbar. Gibts eventuell auch einen IC der mehrere 10 Bit teiler 
integriert hat, hab duch "mal schnell googeln" nichts brauchbares 
gefunden.

von Jacko (Gast)


Lesenswert?

Deine Anforderungen sind immer noch etwas schwammig formuliert.

Was du mit CD4060 herstellen kannst, sind erst mal nur Bruchteile
der Eingangsfrequenz im Verhältnis 1 : 2 : 4 : 8 ...

Das wären bei optimaler Eingangsfrequenz 500, 250, 125, 62,5 Hz.

Dem Si5351 kannst du per µC (wenn du ihn programmieren kannst) sagen,
welche Frequenzen er an welchem Port liefern soll.

Wenn du aber einen µC mit mehr als 8 Output-Pins schon programmieren
kannst, hast du auch einige Möglichkeiten, an 8 Pins verschiedene 
Frequenzen bereitzustellen.

- Was soll herauskommen?

- Was kannst du?

von Peter M. (Gast)


Lesenswert?

Mick L. schrieb:
> Kennt jemand einen besseren µC, welcher das am besten ohne große
> zusatzbeschaltung kann?

Und wer programmiert dir das Teil ?

von Joe F. (easylife)


Lesenswert?

Also wahnsinnig hohe Anforderungen stellt 500ppm bei 500 Hz eigentlich 
nicht.
Wenn ich das richtig sehe kannst du mit einer Ungenauigkeit oder einem 
Jitter von

(1/500) * (500/1000000) = 1us

leben.

D.h. wenn du einen uC hast, der einen Timer-Interrupt mit 1 MHz 
abfrühstücken kann, und in der Interruptroutine 8 Zähler vergleichen 
kann, bist du am Ziel.
Ich stelle mal die These auf, wenn man das geschickt in Assembler 
programmiert, bekommt man das mit einem uC so ab 48 MHz hin.
Was auf jeden Fall auch ginge: ein CPLD.

: Bearbeitet durch User
von Mani W. (e-doc)


Lesenswert?

Mick L. schrieb:
> Ich benötige eine Schaltung, welche mir insgesamt 8 einzeln einstellbare
> Rechtecksignale im tonfrequenten Bereich (50-500Hz) mit einer relativ
> hohen Genauigkeit(~500ppm) liefert.

LFO bauen mit Operationsverstärker:

Integrator mit Schmitt-Trigger erzeugt Dreieck- und Rechteckspannung,
jeweils 1 Dual OP notwendig pro Generator oder 1 Quad OP für jeweils
2 Tongeneratoren...

Werden diese Generatoren noch auf halbwegs konstanter Temperatur 
gehalten
durch eine Heizung (Widerstände, Temperaturfühler, OP), dann wäre die
Stabilität hoch genug, um auch langsame Schwebungen zu erzielen...

Mick L. schrieb:
> Nein, die Frequenzen stehen leider in keiner Beziehung zueinander, und
> müssen zwingend einzeln verstimmbar sein

Mich würde interessieren, was Du damit machst, wahrscheinlich eine
Klangkunst...

von Hp M. (nachtmix)


Lesenswert?

Mick L. schrieb:
> Ich habe auch überlegt es mit einem µC zu erzeugen, jedoch hat keiner
> der Modelle mit denen ich bereits gearbeitet habe genügend seperate
> Timer um jedes Signal unabhängig einstellen zu können

Wieso, willst du die 8 Frequenzen etwa gleichzeitig herstellen?
Ob das eine so gute Idee ist Rechtecke dafür zu verwenden?
Denn dann solltest du dir mal Gedanken darüber machen, wie du die 
Rechtecksignale zusammenführen willst, und was dabei herauskommt
Mittels XOR?
Das entspricht einer Multiplikation, und dann überleg dir mal, was die 
zahlreichen Oberwellen der Rechtecksignale machen, wenn man sie 
miteinander und mit den Grundschwingungen mischt.

Oder willst du sie mittels OR nur addieren?
Auch dieses Signalgemisch dürfe etwas anders aussehen, als es dir 
vorschwebt.


P.S.:

Mick L. schrieb:
> Hab auch schon daran gedacht es einen atmega 8 oder so machen zu lassen,
> der hat meines Wissens aber bloß 3 Timer, von denen ich nur 2 benutzen
> kann.

Dann nimmts du eben acht ATTinys, für weniger als 1€ pro Stück mit 
identischer Programmierung und gemeinsamen Quarzoszillator.
500ppm bei 500 Hz entsprechen 1µs und das sollte sich mit einer 10MHz 
Clock sogar ohne Timer in Software problemlos programmieren lassen.

: Bearbeitet durch User
von Possetitjel (Gast)


Lesenswert?

Joe F. schrieb:

> D.h. wenn du einen uC hast, der einen Timer-Interrupt
> mit 1 MHz abfrühstücken kann, und in der Interruptroutine
> 8 Zähler vergleichen kann, bist du am Ziel.

Ein Zählervergleich genügt. Man kann die Zeitpunkte der
Flankenwechsel vorausberechnen; die speichert man in
einer Warteschlange ab, dazu ggf. die passenden Bitmuster,
die ausgegeben werden müssen.

In der ISR testet man nur auf erreichten Zählerstand und
schreibt bei Bedarf das erste Element der Warteschlange
auf den Parallelport.

Asynchron, im Vordergrund, füllt man die Warteschlange
auf.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.