Forum: Analoge Elektronik und Schaltungstechnik Frequenzerzeugung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Andreas S. (andreas-schei)


Lesenswert?

Hallo

Ich habe folgende Problemstellung:

Mittels 6-Bit Binärcode soll ein Wert zwischen 50 - 100 einstellbar sein 
und entsprechend eine Rechteck-Frequenz von 10-20KHz erzeugt werden 
(200Hz Schritte). Das ganze soll mit Logikbausteinen (keine 
Programmierung) aufgebaut sein. Gibt es eine einfache 
Frequenzvervielfachungs-Schaltung die diese Aufgabe erledigen könnte?

Andreas

von H. H. (Gast)


Lesenswert?

Klingt nach Holzweg.

von Rüdiger B. (rbruns)


Lesenswert?

DAC und VCO.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andreas S. schrieb:
> Mittels 6-Bit Binärcode soll ein Wert zwischen 50 - 100 einstellbar sein
Wozu der Umweg über 50..100? Welcher Binärwert soll dabei welchem 
Dezimalwert entsprechen? Was soll bei den "restlichen" undefinierten 
Binärwerten passieren?

> und entsprechend eine Rechteck-Frequenz von 10-20KHz erzeugt werden
Welcher Dezimalwert entspricht dabei welcher Frequenz? 50 = 10kHz? Oder 
100 = 10kHz?

So wie der Text da nämlich gerade steht, kann auch eine einzige 
beliebige konstante Frequenz erzeugt werden und völlig unabhängig vom 
Binärwert ausgegeben werden.

> Das ganze soll mit Logikbausteinen (keine Programmierung) aufgebaut sein.
In einem FPGA werden auch Logikbausteine aneinander geschaltet. Darfst 
du sowas nehmen?

> Gibt es eine einfache
> Frequenzvervielfachungs-Schaltung
Wozu sollte da ein Vervielfacher nötig sein? Sinnvollerweise nimmt man 
eine ausreichend hohe Taktfrequenz und teilt die herunter.

> diese Aufgabe erledigen könnte?
Was ist denn die eigentliche Aufgabe?

von Rainer W. (rawi)


Lesenswert?

Andreas S. schrieb:
> Mittels 6-Bit Binärcode soll ein Wert zwischen 50 - 100 einstellbar sein

Mit 6-Bit Binärcode kannst du nur Werte zwischen 0 und 63 einstellen. Um 
auf deinen Bereich 50 - 100 zu kommen, musst du umrechnen.

Wie soll diese Skalierung aussehen?
Willst du einen Rechner aus einzelnen Logikbausteinen aufbauen?

von Purzel H. (hacky)


Lesenswert?

Ein krass ueberzogener Quatsch. Etwas was am ehesten hinkommt waere ein 
DDS, der kann Frequenzen proportional zu einem digitalen Wert. So ein 
Baustein laeuft aber nicht ohne Programmierung.

Ein Neutroll, weniger wie eine Stunde alt.

von Michael B. (laberkopp)


Lesenswert?

Andreas S. schrieb:
> Gibt es eine einfache Frequenzvervielfachungs-Schaltung die diese
> Aufgabe erledigen könnte?

Nicht wirklich.

Einfach ist ein einzelnes IC, ein uC wie ATTiny1604, aber du kannst ja 
nicht programmieren.

Frequenzteiler sind ungeeignet weil das kleinste gemeinsame Vielfache 
von 10000, 10209, 10400, 10600.. 19800, 20000 irgendwo unerreichbar hoch 
liegt.

Also benötigt man eine PLL wie CD4046, einen rate multipler wie SN7497, 
einen Taktgeber der z.B. 5000 Hz produziert  (quartzstabil oder reicht 
RC?) und wegen 10-20kHz noch mindestens ein FlipFlop, also 4 IC. Und hat 
dann den Spass die PLL stabil zu bekommen. Analogtechnik-KnowHow ist 
gefordert.

Lern also endlich mal programmieren.

von Arno R. (arnor)


Lesenswert?

Andreas S. schrieb:
> Mittels 6-Bit Binärcode soll ein Wert zwischen 50 - 100 einstellbar sein
> und entsprechend eine Rechteck-Frequenz von 10-20KHz erzeugt werden
> (200Hz Schritte). Das ganze soll mit Logikbausteinen (keine
> Programmierung) aufgebaut sein.

Mit den 6 Bit adressierst du 50 Analogschalter, die jeweils einen 
entsprechenden Widerstand an einen 7555-RC-Oszillator schalten. ;-)

von Andi Y. (andiy)


Lesenswert?

1) DDS mit Logik ICs aufbauen. Dazu brauchst du einen 8bit Addierer und 
ein 8bit Latch. (z.B. 2 x 74HC283 und 1 x 74HC273). Und einen festen 
Takt mit 51.2 kHz.

2) PLL benutzen z.B. 74HC4046 und einen 8bit Teiler. Hier benötigst du 
eine feste Frequenz von 200 Hz, die dann von der PLL entsprechend des 
Teilfaktors multipliziert wird.

Auf jeden Fall brauchst du 7 Bits um 50..100 als Steuerwert vorzugeben.

von Re (r42)


Lesenswert?

Arno R. schrieb:
> Andreas S. schrieb:
>> Mittels 6-Bit Binärcode soll ein Wert zwischen 50 - 100 einstellbar sein
>
> Mit den 6 Bit adressierst du 50 Analogschalter, die jeweils einen
> entsprechenden Widerstand an einen 7555-RC-Oszillator schalten. ;-)

Nein, nur 6 Analogschalter, die jweils einen Widerstand parallel 
schalten, an dem von Dir zitierten RC-Oszillator.

Die Leitwerte (1/R_i) und damit die Frequenzen (F~1/R) addieren sich bei 
Parallelschaltung.

Dazu kommt noch ein Festrwiderstand parallel, damit das bei 10KHz 
anfängt.

Bei 6 Bit Auflösung könnte sich sogar die Genauigkeit i9n angemessenen 
Größenordnungen bewegen, wenn man es sorgfältig macht.

Aber ich würde trotzdem einen 8-Pin-ATTiny oder einen STM32 dafür 
nehmen.

my2ct (re)

von Andreas S. (andreas-schei)


Lesenswert?

Dank für die schnellen Rückmeldungen - war etwas unpräzise.
Muss einen Wert von 0-50 (50-100 an einer 7-Segemten Anzeige) in eine 
Frequenz von 10kHz-20kHz umwandeln mit eine Abstufung pro Schritt von 
200Hz:

Wert 0 = 10kHz
Wert 1 = 10.2kHz
....
....
Wert 49 = 20kHz

Jegliche programmierbaren Bausteine kommen leider nicht in Frage... 
würde das ganze etwas einfacher gestalten!

Das runterteilen ist schwierig da kein "guter" gemeinsamer Teiler 
vorhanden ist.

: Bearbeitet durch User
von Re (r42)


Lesenswert?

Andreas S. schrieb:
> Wert 0 = 10kHz
> Wert 1 = 10.2kHz

Standardfrage: Welche Genauigkeit ist denn gefordert?

von H. H. (Gast)


Lesenswert?

Hausaufgabe.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andreas S. schrieb:
> Wert 0 = 10kHz
> Wert 1 = 10.2kHz
> ....
> ....
> Wert 49 = 20kHz
Denk nochmal darüber nach: welche Frequenz wäre denn der Wert 48? Und 
der Wert 75?

Du merkst: du hast da den bekannten Zaunpfahlfehler.

von Arno R. (arnor)


Lesenswert?

Re schrieb:
> Nein, nur 6 Analogschalter, die jweils einen Widerstand parallel
> schalten, an dem von Dir zitierten RC-Oszillator.

Ich kann es zwar mathematisch nicht beweisen, aber ich denke, daß man 
mit 6 Widerstandswerten nicht exakt die geforderten Frequenzschritte 
bekommen kann. Wenn es doch gehen sollte, um so besser. Dann würde mich 
mal die mathematische Herleitung bzw. der Beweis interessieren.

von Re (r42)


Lesenswert?

> Andreas S. schrieb:
>> Wert 0 = 10kHz
>> Wert 1 = 10.2kHz
>> ....
>> ....
>> Wert 49 = 20kHz

Lothar M. schrieb:
> Denk nochmal darüber nach: welche Frequenz wäre denn der Wert 48? Und
> der Wert 75?

??? Man kann dem TO ja Formulierungsdefizite vorwerfen, ebenso wie 
Rechenschwäche (bei 200Hz-Raster würde 20kHz dem Wert 50 entsprechen), 
aber das prinzipielle Mapping auf 6-Bit-Input hat er doch nun 
hinreichend und eindeutig klargelegt.

Bis auf die Nebelkerze mit "50..100", die nirgendwo wieder aufgegriffen 
wird, und die auch nur dann eine Bedeutung hätte, wenn man auf DDS oder 
PLL-Vervielfachung hinaus wollen würde - was er weder gesagt noch 
bestätigt hat.


H. H. schrieb:
> Hausaufgabe.

Wegen dem Nudging in Richtung DDS/PLL?


(re)

von H. H. (Gast)


Lesenswert?

Re schrieb:
> H. H. schrieb:
>> Hausaufgabe.
>
> Wegen dem Nudging in Richtung DDS/PLL?

Wegen mangelnden Realitätsbezugs.

von Michael B. (laberkopp)


Lesenswert?

Andreas S. schrieb:
> war etwas unpräzise.
> Muss einen Wert von 0-50 (50-100 an einer 7-Segemten Anzeige) in eine
> Frequenz von 10kHz-20kHz umwandeln

Ich liebe Salamischeiben - auf dem Brot.

Mit den nachgereichten Problemveränderungen hat niemand Lust, sich 
ständig neue Lösungen auszudenken.

Es wird jedenfalls mit Dalamischeibe um Salamischeibe komplexer und 
erfordert mehr Bauteile - ausser der Lösung mit uC, den muss man nir 
umprogrammieren.

Dazu gehst du AUF KEINE Nachfrage zur Präzisierung ein. Solche 
Kundschaft braucht niemand, das wird ein Fass ohne Boden.

Lern endlich programmieren !

von Mi N. (msx)


Lesenswert?

Andreas S. schrieb:
> Muss einen Wert von 0-50 (50-100 an einer 7-Segemten Anzeige) in eine
> Frequenz von 10kHz-20kHz umwandeln mit eine Abstufung pro Schritt von
> 200Hz:

Den digtialen Wert per DAC (R2R-Widerstandsnetzwerk o.ä.) in eine 
Spannung 0 - x,x V umwandeln und damit einen U/F-Umwandler betreiben.
Was nimmt man denn heute, wenn man XR2006/2007 nicht mehr bekommt?
CD4046 vielleicht?
Das Ganze ist doch schnell gelöst, wenn man nicht auf die Stinkstiefel 
achtet.

von Re (r42)


Lesenswert?

Arno R. schrieb:
> Dann würde mich
> mal die mathematische Herleitung bzw. der Beweis interessieren.

Nicht leichter als das, sagte Frederic:

8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ----

Die Frequenz eines RC-Oszillators ist

|  f = k * 1/(RC)

mit irgendeiner Konstante k. Oder anders formuliert:

|  f = K * (1/R)

mit einer anderen Konstante K wo auch C drinsteckt.

Bei Parallelschaltung von Widerständen addieren sich die Kehrwerte:

| 1/R = 1/R0 + 1/R1 + 1/R2 + 1/R3 + ...

Wähle (unter Einbeziehung der Analogschalterwiderstände)

 R0 = K/ 10000Hz   (Der ist immer da)

 R1 = K/ 200Hz  (niederwertigstes Bit)
 R2 = K/ 400Hz
 R3 = K/ 800Hz
 R4 = K/1600Hz
 R5 = K/3200Hz
 R6 = K/6400Hz (höchstwertigstes Bit)

Je nachdem welche dieser Widerstände an der Parallelschaltung 
teilnehmen, wird die Frequenz im 200Hz Raster erzeugt.

Und die Hausaufgabe ist gelöst.

8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ----


Rüdiger B. schrieb:
> DAC und VCO.

Das hier wäre dann der DAC-Teil Deiner Lösung, nur dass man auf das "V" 
in VCO verzichtet.


@TO: Welche Genauigkeit ist eigentlich gefordert?

(re)

von Axel S. (a-za-z0-9)


Lesenswert?

Andreas S. schrieb:
> Jegliche programmierbaren Bausteine kommen leider nicht in Frage...

Und warum? Kann dein Lehrer nicht programmieren und so die Lösung der 
Hausaufgabe nicht überprüfen? Eine Angabe zur erforderlichen 
Frequenzstabilität fehlt auch immer noch.

Ansonsten gilt in der Elektronik wie im normalen Leben auch: das Leben 
ist kein Wunschkonzert und Sonderwünsche kosten extra. Man kann viel ins 
Pflichtenheft schreiben, wenn der Tag lang ist. Man muß es dann aber 
auch bezahlen wollen.

von Norbert (der_norbert)


Lesenswert?

Andreas S. schrieb:
> Mittels 6-Bit Binärcode soll ein Wert zwischen 50 - 100 einstellbar sein
> und entsprechend eine Rechteck-Frequenz von 10-20KHz erzeugt werden
> (200Hz Schritte)

6bit -> 2^6 Zustände
10-20KHz in 200Hz Schritten -> signifikant mehr Zustände.

Aufgabe nicht lösbar.

von Wastl (hartundweichware)


Lesenswert?

Michael B. schrieb:
> Dazu gehst du AUF KEINE Nachfrage zur Präzisierung ein. Solche
> Kundschaft braucht niemand, das wird ein Fass ohne Boden.

Ich habe es mir schon lang abgewöhnt auf solche dummen und
skurrilen Aufgaben/Problemstellungen einzugehen. Keinerlei
vernünftiges (oder gar kein) Feedback vom TO ist eines der
Merkmale solcher Threads. Allermindestens sind sie Troll-
ähnlich bzw. -verdächtig. Manchmal lese ich noch für's
Amusemang mit. Vor allem ist es oft noch unterhaltsam wie
ernst und eifrig viele Scheuklappenträger auf solche Themen
eingehen. Viel vergeudete Zeit und Liebesmüh ....

von Andreas S. (andreas-schei)


Lesenswert?

O.k. bin hier als Neuling schon ein bisschen erstaunt über die nicht nur 
hilfreichen Rückmeldungen...

Die Genauigkeit müsste im Bereich von +-50Hz liegen.

Keine Lernaufgabe oder Hausaufgabe - eine nicht alltägliche 
Aufgabenstellung um zu verhindern das eine Manipulation mittels 
Programmierung im Einsatz stattfinden kann.

Danke trotzdem für die Antworten die einen konkreten Vorschlag zur 
Lösung des Problems aufzeigen...

von Arno R. (arnor)


Lesenswert?

Re schrieb:
> Nicht leichter als das...

Ja, so sieht´s wirklich leicht aus.
Danke.

von H. H. (Gast)


Lesenswert?

Holzweg, aber sowas von.

von Mi N. (msx)


Lesenswert?

Norbert schrieb:
> 6bit -> 2^6 Zustände

Maximal 64 Zustände, die aber nicht voll genutzt werden müssen. Hier zum 
Beispiel nur 0-50.

> 10-20KHz in 200Hz Schritten -> signifikant mehr Zustände.

Nee, 0,2 kHz pro Schritt ist doch klar geäußert.

> Aufgabe nicht lösbar.

Nur, wenn man absolut unwillig ist.
Schon wieder Freitag?

Andreas S. schrieb:
> Die Genauigkeit müsste im Bereich von +-50Hz liegen.

Problemlos erreichbar.

von Re (r42)


Lesenswert?

Axel S. schrieb:
> das Leben ist kein Wunschkonzert

... doch-doch, bei der Entwicklung individueller Elektronik ist das 
durchaus so, dass der Kunde sich etwas wünscht (a.k.a. "Requirements 
spezifiziert").

> ... und Sonderwünsche kosten extra.

und ja, deren Umsetzung dann auch entsprechend bezahlen muss.



Allerdings ...

Andreas S. schrieb:
> Das ganze soll mit Logikbausteinen (keine
> Programmierung) aufgebaut sein.

H. H. schrieb:
> Wegen mangelnden Realitätsbezugs.

... lassen sich die Specs im Sinne einer Hausaufgabe ohnehin nicht 
umsetzen, weil zur Frequenzerzeugung mindestens ein Nicht-Logikbaustein 
benötigt wird, nämlich zur Frequenzerzeugung und ggf. auch zum 
Phasenvergleich. Logigbaustein zum Oszillator umfunktionieren zählt ja 
wohl als "Analoge" Verwendung und nicht mehr als "logische Verknüpfung".



H. H. schrieb:
> Holzweg, aber sowas von.

Das ging nur um den von Arno gewünschten Beweis, dass man das so machen 
könnte, wenn man es denn wirklich wollte. Mit all seinen Nachteilen 
bezüglich Drift, Ungenauigkeit, Toleranzen, etc.

Dass ich persönlich für sowas nicht die digitale Domäne eines µC 
verlassen würde, wenn man die Bits dadrin schonmal erzeugt hat, hatte 
ich hoffentlich deutlich gemacht. Und dass die Wortwahl der Hausaufgabe 
"" wohl auf PLL oder DDS hinauswill, ist auch klar.



Andreas S. schrieb:
> Keine Lernaufgabe oder Hausaufgabe

Ja, dann, wir haben uns Mühe gegeben, dafür wollen wir auch bei Laune 
gehalten werden: Was ist denn nun der tatsächliche Anwendungsfall?


(re)

von H. H. (Gast)


Lesenswert?

Re schrieb:
> H. H. schrieb:
>> Holzweg, aber sowas von.
>
> Das ging nur um den von Arno gewünschten Beweis,

Ich meinte immer noch den TE.

von Michael B. (laberkopp)


Lesenswert?

Norbert schrieb:
> 6bit -> 2^6 Zustände

Also 64

> 10-20KHz in 200Hz Schritten -> signifikant mehr Zustände.

Nämlich 50

> Aufgabe nicht lösbar.

Eher du zu dumm.

von Michael B. (laberkopp)


Lesenswert?

Andreas S. schrieb:
> Keine Lernaufgabe oder Hausaufgabe - eine nicht alltägliche
> Aufgabenstellung um zu verhindern das eine Manipulation mittels
> Programmierung im Einsatz stattfinden kann.

Lockbits setzen ?

So einfach kann die Welt sein.

von Andreas S. (andreas-schei)


Lesenswert?

Re schrieb:
> Ja, dann, wir haben uns Mühe gegeben, dafür wollen wir auch bei Laune
> gehalten werden: Was ist denn nun der tatsächliche Anwendungsfall?

Es handelt sich um Schaltung zum Erzeugung eines Sinussignals deren 
Frequenz mit Rotationsdrehgebern eingestellt werden kann. Die erzeugte 
Frequenz wird zur Kontrolle auf einer 7-Segment Anzeige angezeigt.

Das ganze wird verwendet um eine Art Lautsprechertreiberstufe 
anzusteuern.

von Mario M. (thelonging)


Lesenswert?

Michael B. schrieb:
>> 10-20KHz in 200Hz Schritten -> signifikant mehr Zustände.
>
> Nämlich 50

Off by one error.

Andreas S. schrieb:
> Erzeugung eines Sinussignals

Ah, die nächste Salamischeibe.

von Re (r42)


Lesenswert?

Andreas S. schrieb:
> Es handelt sich um Schaltung zum Erzeugung eines Sinussignals ...

Hm...

von Andreas S. (andreas-schei)


Lesenswert?

Mario M. schrieb:
> Ah, die nächste Salamischeibe.

Diese ist schon verspiesen bzw. gelöst und funktionell - auch ich habe 
gerne Salami...

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> einen rate multipler wie SN7497
der macht jedenfalls gleichmäßige Frequenzstufen, aber das Rechteck 
sieht sehr unsauber aus. Hat 6 Bit Eingänge, das würde auch passen.
https://www.ti.com/product/de-de/SN7497
der wird tatsächlich noch gebaut?

> Die erzeugte Frequenz wird auf einer 7-Segment Anzeige angezeigt
Messung mit einem Frequenzzähler oder nur umgerechnete Anzeige des 
6-Bit-Werts?

von Re (r42)


Lesenswert?

Andreas S. schrieb:
> auch ich habe gerne Salami...

Habe ich schon zum Ausdruck gebracht, dass ich inzwischen etwas mehr 
Kontext erwartet hätte?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> eine Rechteck-Frequenz
> eines Sinussignals
was denn nun?

von Peter T. (Firma: schon lange insolvent) (wonderboy8051)


Lesenswert?

Die Aufgabe ist mit TTL IC relativ einfach lösbar. Es gibt 4 Bit 
Volladdierer, 74HCT583 im Dezimalsystem und 74HCT283 im Binärsystem. Man 
muss sich entscheiden, will man Dezimasystem  (BCD Binary Coded Digit) 
oder Binärsystem. Ich habe das vor ~33 Jahren 10-stellig im 
Dezimalsystem aufgebaut, damals mit sogenannten 2-Tast-Codierschaltern. 
Für jeweils zwei 4-Bit-Volladdierer ein 8-Bit-D-Flip-Flop 74HCT574 als 
Accumulatorregister.
Zur Funktionsweise : Stellt man an den Einängen eine Zahl z.B. "7" ein, 
wird diese mit jedem Taktimpuls aufaddiert 0, 7, 14, 21, 28...91, 98, 5, 
12
Diese Zahlenfolge addressiert ein Eprom in dem eine Sinustabelle 
gespeichert ist, damit wird ein DA-Wandler angesteuert.
Nur mal um einen Weg aufzuzeigen..

von Andi F. (chefdesigner)


Lesenswert?

Andreas S. schrieb:
> Rechteck-Frequenz

so rein formell werden keine Frequenzen erzeugt, sondern Spannungen mit 
der Eigenschaft einer Frequenz. Und dann kommt sofort die Frage nach den 
Pegel.

Oder sollen nur Werte in Matlab/Simulink erzeugt werden?

Dann nimmt man in der Tat die Frequenz X und multiplziert sie mit k.

von Norbert (der_norbert)


Lesenswert?

Mi N. schrieb:
>> 10-20KHz in 200Hz Schritten -> signifikant mehr Zustände.
> Nee, 0,2 kHz pro Schritt ist doch klar geäußert.
Anfang? Ende? Differenz?

Michael B. schrieb:
>> Aufgabe nicht lösbar.
> Eher du zu dumm.
Eher du zu lesefaul.

Also in meinem Buch liegen zwischen 10 und 20000 deutlich mehr als 
fünfzig 200er Stufen.

Aber es ist ja wohl wieder Interpretationsmontag.

von Andreas S. (andreas-schei)


Lesenswert?

Christoph db1uq K. schrieb:
> Messung mit einem Frequenzzähler oder nur umgerechnete Anzeige des
> 6-Bit-Werts?

Frequenzzähler mit 74HC390

Andreas S. schrieb:
> Es handelt sich um Schaltung zum Erzeugung eines Sinussignals deren
> Frequenz mit Rotationsdrehgebern eingestellt werden kann. Die erzeugte
> Frequenz wird zur Kontrolle auf einer 7-Segment Anzeige angezeigt.
>
> Das ganze wird verwendet um eine Art Lautsprechertreiberstufe
> anzusteuern.

Das Sinussignal 50-100Hz wird aus einer Rechteckfrequenz 10-20kHz 
erzeugt. Beim Einspeisen des Rechtecksignals 10-20kHz mittels 
Frequenzgenerators funktioniert dies einwandfrei. Auch das Einstellen 
des Zählers mittels Drehgeber ist funktionsfähig - mir fehlt "nur" das 
Zwischenstück...

von H. H. (Gast)


Lesenswert?

Andreas S. schrieb:
> in eine
> Frequenz von 10kHz-20kHz umwandeln

Norbert schrieb:
> Also in meinem Buch liegen zwischen 10 und 20000 deutlich mehr als
> fünfzig 200er Stufen.

Tja.

von Andi F. (chefdesigner)


Lesenswert?

Du musst die Aufgabe vollständig beschreiben, wenn dir einer helfen 
soll.

Rechteckfrequenzen kann man nicht einfach vervielfachen, weil ein 
Rechteck aus zu vielen Frequenzen besteht. Soetwas geht mit Mono-Flops 
und Annahmen über die Frequenzen.

Eingang auf MF, beides auf EXOR und das mehrfach hintereinander.

von Re (r42)


Lesenswert?

Andreas S. schrieb:
> Das Sinussignal 50-100Hz wird aus einer Rechteckfrequenz 10-20kHz
> erzeugt.

Dann schreit das nach DDS, so wie ...

Peter T. schrieb:
> Die Aufgabe ist mit TTL IC relativ einfach lösbar.

... es in seinem Beitrag angerissen hat.

Wird dann halt ein TTL-Grab. Oder man nimmt eins der zahllosen DDS-ICs 
oder -Module, die es für kleines Geld (und obendrauf schon mit deutlich 
saubererem Sinus-Ausgang) bereits zu kaufen gibt. Üblicherweise mit 
SPI-Interface. Notfalls könnte auch ein kleiner ATTiny sowas. Läuft aber 
alles auf das Gleiche hinaus, nur eben mit mehr oder weniger Aufwand.


Andreas S. schrieb:
> um zu verhindern das eine Manipulation mittels
> Programmierung im Einsatz stattfinden kann.

Michael B. schrieb:
> Lockbits setzen ?

Magst Du noch etwas darauf eingehen, was gegen diese Maßnahme spechen 
würde, damit wir nicht so im Trüben fischen?

(re)

von Re (r42)


Lesenswert?

Andi F. schrieb:
> Rechteckfrequenzen kann man nicht einfach vervielfachen

Doch, das macht man mit PLL, und da es nur um eine einzige Oktave geht, 
ist das auch nicht so tragisch.


Aber unnötig, weil der TE ja gar nicht vervielfachen will...

Andreas S. schrieb:
> Das Sinussignal 50-100Hz wird aus einer Rechteckfrequenz 10-20kHz
> erzeugt.

.. sondern herunterteilen, was er ja auch bereits schon gelöst hat.


Er will nur einen Frequenzgenerator mit Rechteckausgang bauen, bei dem 
er die Frequenz mit 6 Bits vorgeben will.

Wozu ist das Gesamtgebilde am Endeeigentlich gut?
Netznachbildung?

(re)

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Peter hat das DDS-Prinzip beschrieben, den kann man wie er es beschreibt 
auch mit TTL-Addierern bauen, macht heute nur niemand mehr, weil es die 
fertig zu kaufen gibt. Ich habe so etwas hier 2007 gezeigt:
Beitrag "Re: Frequenzerzeugung ohne DDS Overkill??"
Auch ein DDS macht gleichmäßige Frequenzstufen, wie der rate-multiplier.

von Norbert (der_norbert)


Lesenswert?

H. H. schrieb:
> Andreas S. schrieb:
>> in eine
>> Frequenz von 10kHz-20kHz umwandeln
>
> Norbert schrieb:
>> Also in meinem Buch liegen zwischen 10 und 20000 deutlich mehr als
>> fünfzig 200er Stufen.
>
> Tja.

Er schrieb jedoch:

Andreas S. schrieb:
> und entsprechend eine Rechteck-Frequenz von 10-20KHz erzeugt werden

Und hier kommt dein ›Tja‹ zurück.

von H. H. (Gast)


Lesenswert?

Norbert schrieb:
> Und hier kommt dein ›Tja‹ zurück.

Mach ruhig weiter...

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ein SN7497 reicht nicht, da er mit Null anfängt, und von da mit 
200Hz-Stufen bis 63 einstellbar wäre, was maximal 12,6 kHz ergibt. Die 
minimalen Schritte bis 20 kHz wären ca. 317 Hz (20000/63). 
Beispielsweise 333Hz, damit sind 1kHz je drei Schritte.

Man könnte zwei SN74167 wie im Datenblatt 6.Seite gezeigt 
zusammenschalten
https://pdf1.alldatasheet.com/datasheet-pdf/view/109191/TI/SN74167.html
aber der wird nicht mehr produziert.

Man kann auch zwei SN7497 zusammenschalten, dann machen die auch 64² 
Schritte. Im Datenblatt S.5 für drei Stück gezeigt, man braucht noch 
NOR-Gatter.

: Bearbeitet durch User
von Peter T. (Firma: schon lange insolvent) (wonderboy8051)


Angehängte Dateien:

Lesenswert?

Christoph db1uq K. schrieb:
> Man könnte zwei SN74167 wie im Datenblatt 6.Seite gezeigt
> zusammenschalten
> https://pdf1.alldatasheet.com/datasheet-pdf/view/109191/TI/SN74167.html
> aber der wird nicht mehr produziert.

Sollte in Hamburg noch zu kriegen sein.

Beitrag #7526038 wurde vom Autor gelöscht.
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ja klar gibt es die noch als Reste irgendwo. Ich habe auch mal eine 
ganze Stange 74167 auf dem Flohmarkt gekauft, liegt seither rum.

Jeder normale Entwickler würde heute z.B. einen DDS nehmen, AD9835 oder 
ähnliches (9833, 9850, 9851), mit einem Arduino über SPI eingestellt. 
Die TTL-Technik ist doch uralt (in den Sechzigern aufgekommen). Die DDS 
gibt es auf Modulplatinen aus China und könnten auch direkt den 
niederfrequenten Sinus ausgeben.
https://www.analog.com/en/parametricsearch/11018#/
die Übersicht der DDS von Analog Devices.

von Motopick (motopick)


Lesenswert?

> Jeder normale Entwickler würde heute z.B. einen DDS nehmen

Da "nur" etwas rechteckiges erzeugt werden soll, kaeme auch
ein NCO in Frage. Sitzt in manchen PICs.

von Michael B. (laberkopp)


Lesenswert?

Motopick schrieb:
> Sitzt in manchen PICs.

Kann man bei den Frequenzen auch in Software machen

Wobei ich mir nicht mehr sicher bin was der TO wirklich will, vermutlich 
nur seinen Spass haben mit Stöckchen und Affen.

von Maxim B. (max182)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Mittels 6-Bit Binärcode soll ein Wert zwischen 50 - 100 einstellbar sein
> und entsprechend eine Rechteck-Frequenz von 10-20KHz erzeugt werden
> (200Hz Schritte). Das ganze soll mit Logikbausteinen (keine
> Programmierung) aufgebaut sein. Gibt es eine einfache
> Frequenzvervielfachungs-Schaltung die diese Aufgabe erledigen könnte?

Du könntest nach diesem Prinzip machen. Über DD3.3 geht min. Frequenz, 
sie kann durch 6-bit Code fast verdoppelt werden. DD5 macht Impulse 
gleichmäßig.
Nur kannst du hier entweder genau 200 Hz-Schritte machen oder 10 kHz bis 
20 kHz Umfang, aber nicht beides gleichzeitig. Oder sollte der Code 
mindestens 7 bit haben (DD3.3 kann dafür benutzt werden).

: Bearbeitet durch User
von Motopick (motopick)


Lesenswert?

> vermutlich  nur seinen Spass haben mit Stöckchen und Affen.

Moeglicherweise.
Ich habe aber auch nicht uebermaessig Energie darauf verschwendet.
Nach der Ausgangslage kommt ein PIC ja sowieso nicht in Frage. :)

von Re (r42)


Lesenswert?

Maxim B. schrieb:
> Nur kannst du hier entweder genau 200 Hz-Schritte machen oder 10 kHz bis
> 20 kHz Umfang, aber nicht beides gleichzeitig. Oder sollte der Code
> mindestens 7 bit haben [...]

Doch: Intern muss der für DDS/PLL sowieso von 6 auf 7-Bit ge-offsettet 
werden. 2x 74HC283 tun den Job, wenn kein µC verwendet werden soll.

Die gewünschten Schritte im gewünschten Bereich erhält man dann bei DDS 
mit n-bit-Phasenakku, indem man die Taktfrequenz zu  *f_clock =  2^n x 
200Hz* wählt.



Sogar der gewaltige Phasenjitter bei 8-Bit kann vermutlich toleriert 
werden, weil hinterher ja noch durch 200 geteilt wird und so der 
effektive Jitter des 100Hz-Signals unter 0.03[rad] liegt.

Ansonsten kriegt der Phasenakku eben 12 Bits - ein TTL-Grab ist es 
ohnehin schon, wenn kein normaler DDS-Chip (z.B. AD9833) benutzt werden 
soll.

Oder man macht eben PLL.
Oder ein Design, in dem alles von vornherein aufeinander abgestimmt ist.



Michael B. schrieb:
> Wobei ich mir nicht mehr sicher bin was der TO wirklich will [...]

Ist ja auch eine öffentliche Diskussion und nicht nur persönlicher 
TO-Service.



Durch den Ausschluss von µC (obwohl das Argument "Manipulationsschutz" 
bereits entkräftet wurde) steigt der Aufwand ja gewaltig in die Höhe und 
die verwendbare Technologie tendiert zu obsoleten Komponenten.

Mag der TO vielleicht dazu noch etwas motivierendes sagen?


(re)

von Bauform B. (bauformb)


Lesenswert?

Christoph db1uq K. schrieb:
> Jeder normale Entwickler würde heute z.B. einen DDS nehmen, AD9835 oder
> ähnliches (9833, 9850, 9851), mit einem Arduino über SPI eingestellt.

Oder den AD9831 nehmen, weil der statt SPI ein klassisches 
Parallel-Interface hat. Die 6 Bit Sollwert parallel da rein zu 
schreiben, sollte mit Logikbausteinen machbar sein. Von den 8 internen 
Registern muss man nur 2 benutzen und davon eins nur einmalig nach Reset 
(schätze ich mal).

https://www.analog.com/en/products/ad9831.html?tab=documentation-pane-1#product-overview

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Re schrieb:
> Er will nur einen Frequenzgenerator mit Rechteckausgang bauen, bei dem
> er die Frequenz mit 6 Bits vorgeben will.
Wozu raten? Andreas hat doch schon mit einigen Salamischeiben 
beschrieben, was er will, denn

Andreas S. schrieb:
> Es handelt sich um Schaltung zum **Erzeugung eines Sinussignals**
> deren Frequenz mit Rotationsdrehgebern eingestellt werden kann.
> Die erzeugte Frequenz wird zur Kontrolle auf einer 7-Segment Anzeige
> angezeigt.
Diese ganze Aufgabe wird im echten Leben komplett von Eingabe per 
Drehencoder über die Anzeige bis zur Ausgabe mit 1 einzigen µC erledigt.

Andere Wege (wie der von dir Gewünschte) mögen aus einem individuellen 
Blickwinkel ebenfalls gangbar aussehen, sind aber letztlich reisige 
Umwege und eigentlich unsinnig.

Wenn ich einen Arduino nehme, dann kann ich die Aufgabe "mit Drehgeber 
auf einer Anzeige 50-100Hz einstellen und entsprechend dazu ein 50% 
Rechteck mit 10-20kHz (Anzeigewert * 200) ausgeben" locker in 2 Stunden 
erledigen.

Andreas S. schrieb:
> Das **Sinussignal 50-100Hz**
Ach so, deshalb die Anzeige 50 bis 100

> wird aus einer Rechteckfrequenz 10-20kHz erzeugt.
> Beim Einspeisen des Rechtecksignals 10-20kHz mittels Frequenzgenerators
> funktioniert dies einwandfrei. Auch das Einstellen des Zählers mittels
> Drehgeber ist funktionsfähig - mir fehlt "nur" das Zwischenstück...
Nein, realistisch betrachtet erkennst du den Irrweg, verbuchst das 
bisher Gebastelte als "Lehrgeld", schmeißt es einfach in die Tonne und 
machst das komplette Design mit einem µC.

Und ebenfalls nein, den kopiert oder manipuliert dir keiner einfach so. 
Zigmilliarden Anwendungen beweisen das. Es ist in jedem Fall einfacher, 
eine diskret aufgebaute Schaltung nachzubauen oder zu manipulieren.

Ich würde (nach anfänglicherr Verwirrung wegen des Mordsaufwands) 
nötigenfalls die Schaltung so "reverse engineeren" und nachbauen, dass 
das IC-Grab durch einen µC ersetzt wird, der direkt den 50..100Hz Sinus 
ausgibt.

Wenn mich aber mein Chef **mit viel Geld und Zusatzurlaub** zwingen 
würde, sowas zu machen und mir viel mehr Zeit als die obigen 2 Stunden 
zugesteht und es ihm auch völlig egal ist, was das Zeug hinterher 
kostet, dann würde ich eine diskrete DDS basteln:
1
                                       CLK
2
0=10kHz                                 |  
3
50=20kHz  ___                          _v__ 
4
0..50 ---|   |   50..100   ___        |    |
5
         | + |----/-------|   |       |12x |
6
50 ------|___|    7       | + |---/---|D-FF|-----o---/-- MSB = 10..20kHz
7
Offset                .---|___|  12   |____|     |   1
8
                      |                          |
9
                      '-------------/------------'
10
                                    12
Damit das MSB bei einem Eingangswert von 100 mit 20kHz toggelt, muss CLK 
bei einem 12 Bit-Addierer 820 kHz betragen.

: Bearbeitet durch Moderator
von Andreas S. (andreas-schei)


Lesenswert?

Bauform B. schrieb:
> Oder den AD9831 nehmen, weil der statt SPI ein klassisches
> Parallel-Interface hat. Die 6 Bit Sollwert parallel da rein zu
> schreiben, sollte mit Logikbausteinen machbar sein. Von den 8 internen
> Registern muss man nur 2 benutzen und davon eins nur einmalig nach Reset
> (schätze ich mal).
>
> 
https://www.analog.com/en/products/ad9831.html?tab=documentation-pane-1#product-overview

Dies ist so ziemlich das was ich gesucht habe, scheint mir einen Versuch 
Wert zu sein ein paar Stunden dafür zu investieren... Hat jemand mit dem 
AD9831 bereits Erfahrungen gesammelt?

von Re (r42)


Lesenswert?

Andreas S. schrieb:
> Hat jemand mit dem
> AD9831 bereits Erfahrungen gesammelt?

Ja.  Gibt es auf Breakoutboards zu kaufen, fertig mit 
Signalkonditionierung. Hat SPI-Interface. Einfach und problemlos.

Endlich.

(re)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Re schrieb:
> Hat SPI-Interface.
Laut DB besteht das "MCU-Interface" aus D0..D15, WR, A0..2.
Im ganzen DB findet sich kein "SPI".

von Michael B. (laberkopp)


Lesenswert?

Andreas S. schrieb:
> Dies ist so ziemlich das was ich gesucht habe,

Von Salami zu Mozzarella in unter 24 Stunden.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Der AD9850 hat auch eine parallele Schnittstelle, und es gibt 
tatsächlich ein Board damit, zum 9831 habe ich noch nichts gefunden:
https://www.nooelec.com/store/ad9850-module.html
€37.83 Der Chip ist auch kleiner, und damit vermutlich günstiger.

> Von Salami zu Mozzarella
"anstelle des Elefanten können auch Erdbeeren genommen werden"
Loriots Kochrezepte

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Norbert schrieb:
> Mi N. schrieb:
>>> 10-20KHz in 200Hz Schritten -> signifikant mehr Zustände.
>> Nee, 0,2 kHz pro Schritt ist doch klar geäußert.
> Anfang? Ende? Differenz?

10kHz
20kHz
200Hz

von Re (r42)


Lesenswert?

Lothar M. schrieb:
> Im ganzen DB findet sich kein "SPI".

Ooops, sorry, Du hast Recht, ich habe den mit AD9833 verwechselt.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

> statt SPI ein klassisches Parallel-Interface
Wie war man damals noch froh, dass Motorola auch PLL-Chips mit 
Parallelinterface anbot. Mikrocontroller waren noch sehr speziell und 
teuer.
http://www.bitsavers.org/components/motorola/_dataBooks/1988_Motorola_CMOS_NMOS_Special_Functions.pdf
Da konnte man auch noch eine Diodenmatrix am Stufenschalter anbringen 
und musste keine Eproms programmieren können.

von Re (r42)


Lesenswert?

Christoph db1uq K. schrieb:
> Wie war man damals noch froh, dass Motorola auch PLL-Chips mit
> Parallelinterface anbot. [1988]

Ja, das hat das Ausprobieren erheblich vereinfacht und den 8/16-Bit 
Datenbus mit Adressselektion hatte man ohnehin in den Computerboards 
immer dabei gehabt. Der AD9831 ist ziemlich gut zugeschnitten auf die 
Bedürfnisse der *Rechnerstrukturen[sic!]* von

damals.

von Bauform B. (bauformb)


Lesenswert?

Re schrieb:
> Der AD9831 ist ziemlich gut zugeschnitten auf die
> Bedürfnisse der *Rechnerstrukturen[sic!]* von
>
> damals.

Analog Devices zum AD9831: "The product is appropriate for new designs 
but newer alternatives may exist."

von Mi N. (msx)


Lesenswert?

Andreas S. schrieb:
> 
https://www.analog.com/en/products/ad9831.html?tab=documentation-pane-1#product-overview
>
> Dies ist so ziemlich das was ich gesucht habe, scheint mir einen Versuch
> Wert zu sein ein paar Stunden dafür zu investieren... Hat jemand mit dem
> AD9831 bereits Erfahrungen gesammelt?

Das weicht mittlerweile erheblich von Deinen eingangs genannten 
Anforderungen ab, aber wenn es Dir Spaß macht: nur zu!

Oben hatte ich mich vertippt und meinte den XR-2206. Dieser kann die 50 
- 100 Hz Sinus direkt erzeugen, braucht noch einen DAC davor und zwei 
Trimmpotis zum Abgleich der unteren Frequenz und des Umsetzungsfaktors 
(Spannweite).
Wenn es ohne Programmierung irgendwelcher Bauteile analog gelöst werden 
soll, ist es eine direkte und einfache Lösung.

Selber würde ich den Drehenkoder an einen µC anschließen, der die beiden 
Anzeigen direkt ansteuert und auch den Sinus erzeugt. ATmega48 im 
28-pol. DIL würde reichen. Ein AD9831 käme mir überhaupt nicht in den 
Sinn.

von Re (r42)


Lesenswert?

Mi N. schrieb:
> Das weicht mittlerweile erheblich von Deinen eingangs genannten
> Anforderungen ab [...]

Tja, für eine echte Problemlösung ist der allererste Schritt ja 
üblicherweise, erstmal (unter Mithilfe des TO) diese Anforderungen zu 
klären, Lücken zu füllen, Irrtümer zu berichtigen und die echten 
"harten" Erfordernisse von den weniger harten oder unwichtigen zu 
trennen.

Zielführend ist dabei auch die Angabe von Begründungen.
Gerne so kurz wie möglich gehalten, aber doch so lang wie nötig.

Sonst kreist man eben erstmal auf sehr weiten Orbits um die Lösung 
herum.
Oder baut unnötigerweise Dinosaurier.



Christoph db1uq K. schrieb:
> "anstelle des Elefanten können auch Erdbeeren genommen werden"

https://www.comedix.de/lexikon/db/erdbeere.php



Mi N. schrieb:
> Selber würde ich den Drehenkoder an einen µC anschließen, der die beiden
> Anzeigen direkt ansteuert und auch den Sinus erzeugt. ATmega48 im
> 28-pol. DIL würde reichen. Ein AD9831 käme mir überhaupt nicht in den
> Sinn.

Latürnich. BtDtGts.

(re)

von Axel S. (a-za-z0-9)


Lesenswert?

Mi N. schrieb:
> Oben hatte ich mich vertippt und meinte den XR-2206. Dieser kann die 50
> - 100 Hz Sinus direkt erzeugen, braucht noch einen DAC davor und zwei
> Trimmpotis zum Abgleich der unteren Frequenz und des Umsetzungsfaktors
> (Spannweite).
> Wenn es ohne Programmierung irgendwelcher Bauteile analog gelöst werden
> soll, ist es eine direkte und einfache Lösung.

So würde ich das eigentliche Problem auch lösen. Zumal die Frequenz des 
Sinus zwischen 50 und 100Hz ja ohnehin mit einem Drehencoder verändert 
werden soll. Da würde ich das mit dem Drehencoder sein lassen und gleich 
ein Poti nehmen. Und den Sinus mit XR2206 oder MAX038 erzeugen.

Wienbrücke oder Integrator-Schleife ginge auch, braucht aber Amplituden- 
Stabilisierung. Das wird bei den niedrigen Frequenzen häßlich.

Oder man bleibt bei dem ursprünglichen Konzept und erzeugt die 10 .. 
20kHz mit einem beliebigen Oszillator. Da ginge auch ein 555.

Wenn die genaue Frequenz erforderlich ist (genauer als eine Skala am 
Poti) kann man ja noch einen Frequenzzähler dazu packen.

von Motopick (motopick)


Lesenswert?

Lothar M. schrieb:
> Wenn mich aber mein Chef **mit viel Geld und Zusatzurlaub** zwingen
> würde, sowas zu machen und mir viel mehr Zeit als die obigen 2 Stunden
> zugesteht und es ihm auch völlig egal ist, was das Zeug hinterher
> kostet, dann würde ich eine diskrete DDS basteln:
>
1
>                                        CLK
2
> 0=10kHz                                 |
3
> 50=20kHz  ___                          _v__
4
> 0..50 ---|   |   50..100   ___        |    |
5
>          | + |----/-------|   |       |12x |
6
> 50 ------|___|    7       | + |---/---|D-FF|-----o---/-- MSB = 10..20kHz
7
> Offset                .---|___|  12   |____|     |   1
8
>                       |                          |
9
>                       '-------------/------------'
10
>                                     12
11
>
> Damit das MSB bei einem Eingangswert von 100 mit 20kHz toggelt, muss CLK
> bei einem 12 Bit-Addierer 820 kHz betragen.

Das ist keine DDS sondern hoechstens ein NCO.
Zu einer DDS gehoert zwingend eine LUT mit einem filterfaehigen
Inhalt, um den Jitter am Ausgang wegzufiltern.
Das Thema wurde hier ja schon oft genug diskutiert.


Wie jetzt der TO von einer "Rechteckquelle" mit diskreten
Frequenzen zu einem (Sinus-)Sweepgenerator kommt, ist mir
aber schleierhaft.

Vermutlich kann er weder "Analog", noch "Digital", noch
"Brogrammieren fuer Anfaenger - MCU".

Nur so jemand schafft solche geistigen Waenkelzuege.

Und es wird auch nie fertig werden, weil die weiteren
Kleinigkeiten (Stromversorgung, Ausgangstreiber, etc.) fehlen.

von Axel S. (a-za-z0-9)


Lesenswert?

Motopick schrieb:
> Wie jetzt der TO von einer "Rechteckquelle" mit diskreten
> Frequenzen zu einem (Sinus-)Sweepgenerator kommt

Kommt er nicht. Er hat nur versucht, einen Thread zu diesem Thema zu 
kapern.

von Motopick (motopick)


Lesenswert?

> Kommt er nicht. Er hat nur versucht, einen Thread zu diesem Thema zu
> kapern.
Ja, seinen eigenen.

> Das weicht mittlerweile erheblich von Deinen eingangs genannten
> Anforderungen ab

Da wird sowieso nie was fertig.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Schalter über (diskreten aus Rs) DA an VCO, danach SCF-LP und dessen 
Signaleingang über Teiler an den VCO. ferrtsch

Schau in die AppNotes von LTC.

von Rainer W. (rawi)


Lesenswert?

Axel S. schrieb:
> Wenn die genaue Frequenz erforderlich ist (genauer als eine Skala am
> Poti) kann man ja noch einen Frequenzzähler dazu packen.

Es geht nicht um Regelung der Frequenz mit einem Bediener in der 
Regelschleife, sondern um eine Steuerung in diskreten Stufen im 
200Hz-Raster.
Das ging doch aus dem Ausgangspost sehr deutlich hervor - was auch immer 
das Kernproblem mit analoger Elektronik/Schaltungstechnik zu tun hat.

Andreas S. schrieb:
> Mittels 6-Bit Binärcode ... (200Hz Schritte)

: Bearbeitet durch User
von Maxim B. (max182)


Lesenswert?

Man kann natürlich das alles mit 74 Serie machen... Wie ich die 
Schaltung gezeichnet habe plus 2x 283-Addierer... Aber wozu solch 
Aufwand? Man kann das viel einfacher und kostengünstiger mit AVR machen. 
ISR von Timer für 50 oder 100 kHz, Freq-Koeff. addieren, aus Flash 
Sinusfunktion holen und mit einfachen DA-Wandler mit 6 oder 8 
Widerständen oder ähnlich wie Schieberegister bei Horowitz oder gar mit 
PWM... AVR kann auch gleichzeitig Drehgeber und Tasten bedienen und auch 
eine Anzeige für Frequenz...

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Rainer W. schrieb:
> Es geht nicht um Regelung der Frequenz mit einem Bediener in der
> Regelschleife, sondern um eine Steuerung in diskreten Stufen im
> 200Hz-Raster.
> Das ging doch aus dem Ausgangspost sehr deutlich hervor

Entweder kennst du den TE persönlich oder hast eine bessere Glaskugel.

Aus den Ausgangspost ging genau nicht hervor, was eine Anforderung im 
Sinne des eigentlichen Problems und was eine Idee des TE zur 
Lösungsfindung ist.

Geht ja schon mit seiner anfänglichen Frage nach 6 Bit und der späteren 
Konkretisierung auf Drehencoder los. Wobei mir gerade auffällt, daß er 
vielleicht gar keinen (inkrementellen) Drehencoder gemeint hat, sondern 
so eine Art Drehschalter von 0-9. Genauso bin ich mir sicher, daß es 
keine Forderung nach diskreten Stufen gibt, sondern daß einzig das 
vorgesehene Display nunmal nur diskrete Stufen anzeigen kann.

Das ganze ist als XY-Problem bekannt: 
https://de.wikipedia.org/wiki/XY-Problem und wird auch hier im Artikel 
Netiquette thematisiert.

von Michael B. (laberkopp)


Lesenswert?

Maxim B. schrieb:
> Man kann das viel einfacher und kostengünstiger mit AVR machen.

Aber nicht, wenn man wie der TO nicht programmieren kann und sich auch 
weigert, noch jemals was zu erlernen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Michael B. schrieb:
> Dazu gehst du AUF KEINE Nachfrage zur Präzisierung ein. Solche
> Kundschaft braucht niemand, das wird ein Fass ohne Boden.
>
> Lern endlich programmieren !

Ich glaube, vor dem Programmieren erst einmal ist ->formulieren<- 
angesagt.
In keinem einzigen Beitrag hier sind die Randbedingungen für die 
Schritte, der Rahmen, die Progression und die zugehörigen Frequnenzen / 
sowie deren erlaubte Abweichung spezifiziert. Ohne das sind alle 
Ratschläge Ratespiel.

Scheint heute normal. Wir rennen mit 10% info ans Projekt und bauen mal, 
um später zu ändern. Macht ja Spass.

von Rainer W. (rawi)


Lesenswert?

Maxim B. schrieb:
> ... aus Flash Sinusfunktion holen und mit einfachen DA-Wandler mit 6 oder 8
> Widerständen oder ähnlich wie Schieberegister bei Horowitz oder gar mit
> PWM...

Hast du die Problembeschreibung überhaupt gelesen?
Was willst du da mit einer Flash Sinusfunktion oder einem DAC?

Andreas S. schrieb:
> ... soll ... eine Rechteck-Frequenz ... erzeugt werden

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Rainer W. schrieb:
> Maxim B. schrieb:
>> ... aus Flash Sinusfunktion holen und mit einfachen DA-Wandler mit 6 oder 8
>> Widerständen oder ähnlich wie Schieberegister bei Horowitz oder gar mit
>> PWM...
>
> Hast du die Problembeschreibung überhaupt gelesen?
> Was willst du da mit einer Flash Sinusfunktion oder einem DAC?

Du mußt das halbe Puzzle des TO aus Salami-Scheiben schon als Ganzes 
betrachten und darfst nicht aus einer Ecke auf das Bild schließen.

Er "braucht" das frequenzvariable Signal zur Steuerung eines digitalen 
Sinusgenerators. Konkret sollen aus 20kHz Rechteck 100Hz Sinus werden.

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Axel S. schrieb:
> Konkret sollen aus 20kHz Rechteck 100Hz Sinus werden.

Die Frage ist, welche Frequenzen das sind. Bei ganzzahligen Vielfachen 
wären das viel zu viele - bei unganzzahligen wahrscheinlich zu wenige 
Punkte.

Sowas baut man auch komplett anders ... mehr in Richtung dessen wie, 
eine MUL/DIV-gesteuerte PLL in einem FPGA arbeitet.

von Maxim B. (max182)


Lesenswert?

Michael B. schrieb:
> Aber nicht, wenn man wie der TO nicht programmieren kann

Irgendwann sollte man Programmieren sowieso lernen. Warum nicht gleich 
jetzt?

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.