• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


Funktionsgenerator
#1
gelegentlich braucht man ja auch ein analoges signal...ausser musik Wink
da muss ein signalquelle her...
so etwa:
20hz..100khz , sinus, dreieck, rechteck

in frage kommen drei lösungen:
- mit spezial-ic : xr2206
- analog opamp/comparator , dreieck-rechteck modulator
- dds , zb mit mega48 als rechner
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#2
so. ein beispiel: analog Smile

[Bild: 18_fkt1a.gif]
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#3
@alfsch
Die oberen, roten "Kurven" hab ich doch schon in einem anderem Thread gesehen Heart Big Grin Big Grin

Und DDS wäre nur (bei 8Bit) :
0/255 bzw. 0/127 -> 127/255 für Rechteck bzw. mit Offset
von 0/255 (bzw. s.o.) hoch-, runterzählen mit konstanten Takt, Dreieck
-> Sägezahn ergibt sich halt ohne runterzählen, Sprung 255->0
Nette Tabelle mit 0-180° Sinus Werten (eventuell reichen 0-90°)

Als Endstufe würde sich Class D anbieten -> Amplitude dann über Spannungsversorgung stellen.

Ganz nett wäre noch ne Wobblefunktion, bei DDC kein Problem, wenn sie noch ne Rampe fürs Oszi generiert -> Perfekt !
"Ich hab Millionen von Ideen und alle enden mit Sicherheit tödlich."
 
#4
Ich seh Beobachters SODFA mit angehängter Verbeulungsapparatur Big Grin

....

Vielleicht sollten wir uns mal mit der Erzeugung eines wirklich hochreinen Sinus befassen.

Mein Bauch sagt mir, dass wir in dem Zusammenhang den Transconductance-OP "vergessen" haben Wink

 
#5
Zitat:Erzeugung eines wirklich hochreinen Sinus
das war früher ne wien-brücke, steht hier bei mir Tongue
heutzutage aber sinnlos, nimm ne soundkarte, sinus raus, 0,00..% klirr, das ist nichmal mit ner wien.brücke einfach zu erreichen...und hat praktisch jeder, der das hier lesen kann, ohnehin "umsonst" im rechner drin Rolleyes
meine gezeigten klirr-messungen sind alle so erzeugt, da es kaum besser+einfacher geht
die besten audio-messgeräte arbeiten genauso, zb ap2-system
http://ap.com/products/2700.htm
>>>
* Analog system THD+N, less than ?112 dB at 1 kHz, in a 20 kHz
measurement bandwidth. Typical worst case harmonic less than ?130 dB.
* Digital distortion and spurious products,
less than ?160 dB.
<<< -160db, nicht übel was? wenn man bedenkt, dass bei -150..160db das atomare/thermische rauschen liegt...
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#6
Zitat:Erzeugung eines wirklich hochreinen Sinus
Da gibt es was von

Lineaal Technolidschi Big Grin

AN67
Seite 62

An Ultralow Distortion, 10kHz Sine Wave Source for
Calibration of 16-Bit or Higher A/D Converters


10Khz Sinus Generator
 
#7
+ Schwebungssummer, Phasenschieber, LC-Generatoren.. es gibt haufenweise, klar.

Das Problem bei diesen Generatoren ist stets das Anfachen der Schwingung mit voller Verstärkung und dann das Zurückdrehen der Verstärkung, damit man keine Übersteuerungen erleidet.

Diese Amplitudenregelung, die Schwingkreisverluste und die Verstärkereigenschaften bringen den Klirr.

Darum meine Grund-Idee mit dem transconductance-OP. Diese wundervollen Bauteile (auch die Norton-Verstärker mit ihrem Strom- statt Spannungseingang) werden von den Entwicklern viel zu wenig beachtet. Und was nicht verlangt wird, wird auch nicht produziert. Unverstandene Technik, würde ich sagen.

Ein Sinusgenerator mit transconductance-OP könnte ähnlich aufregend sein wie ein HF-Generator mit einem Transduktor.

...wie sich die Begriffe ähneln... misstrau
 
#8
..and now for something different..

prinzip: dds loop für mega48:

; main loop
;
; r28,r29,r30 is the phase accumulator
; r24,r25,r26 is the adder value determining frequency
;
; add value to accumulator
; load byte from current table in RAM
; output byte to port
; repeat
;
LOOP1:
add r28,r24 ; 1
adc r29,r25 ; 1
adc r30,r26 ; 1
ld r0,Z ; 3
out PORTB,r0 ; 1
rjmp LOOP1 ; 2 => 8 cycles !!

bei 20mhz clock -> max. 2,5 M sampels out Big Grin
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#9
Meinst Du das, alfsch?

Also ist in Deinem Controller "DDS" dran oder drin, nehm ich mal an.

Ich versteh trotzdem Deine Rödel-Loop nicht. Die erzeugt doch nur alle 6,7s einen 8 Zyklen langen Impuls.
 
#10
SORRY!

Jetzt versteh ich Deinen Code. Du hast da noch irgendwas in R24-26 stehen.

Ok... genehmigt. Sehr gut. Weitermachen.
 
#11
Zitat:in Deinem Controller "DDS" dran oder drin
..fast Rolleyes
das IST der (soft-) dds überrascht
dran kommt nur noch -am port- ein dac, dac0800, 8bit dac , das wars dann:
kann sinus, dreieck, rechteck, puls, säge...was halt im lookup-table-ram steht Wink
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#12
Dann versteh ich schon wieder was nicht.... Sad

Ich versteh:

ld r0,Z ; 3
out PORTB,r0 ; 1

so, dass Du das Z-Flag auf dem Port ausgibst, also einen 1-Bit-Datenstrom erzeugst. Wie steuerst Du damit einen DAC an? Sad
 
#13
no, Z is pointer aufs ram, die kurvenform-daten;
out port.. gibt byte auf port aus;
8bit parallel.
äh, vergessen: is spezieller trick, da direkt mit den pointer-registern gerechnet wird, 24 bit phasen-akku, aber nur das hi-byte wird zur indir.adr. genutzt
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#14
Da hatte ich wohl zu sehr Intel gedacht.... Rolleyes

...für mich sah das nämlich nach der Sigmadelta-Modulation aus und nicht nach DDS. Wink

...gut dass wir mal drüber gesprochen haben.

 
#15
Zitat:Original geschrieben von Basstler

@alfsch
Die oberen, roten "Kurven" hab ich doch schon in einem anderem Thread gesehen Heart Big Grin Big Grin

Und DDS wäre nur (bei 8Bit) :
0/255 bzw. 0/127 -> 127/255 für Rechteck bzw. mit Offset
von 0/255 (bzw. s.o.) hoch-, runterzählen mit konstanten Takt, Dreieck
-> Sägezahn ergibt sich halt ohne runterzählen, Sprung 255->0
Nette Tabelle mit 0-180° Sinus Werten (eventuell reichen 0-90°)

Als Endstufe würde sich Class D anbieten -> Amplitude dann über Spannungsversorgung stellen.

Ganz nett wäre noch ne Wobblefunktion, bei DDC kein Problem, wenn sie noch ne Rampe fürs Oszi generiert -> Perfekt !

für HF funktioniert das schon recht gut, ich hab so ein Teil mal als eine art bausatz bekommen. Die rampe gibt der prozessor zusätzlich aus, von 0-5V. Wobbelbereich ist frei festlegbar, und als marker wird einfach ein wert mehrfach ausgegeben. Dadurch erscheint er als heller Punkt.
Bei NF ist das problem die notwendige lange Wobbelzeit, um größere fehler durch einschwingvorgänge der gleichrichtung zu minimieren.
10 sek. sind mindestens nötig für den NF-Bereich 20Hz bis 20KHz, schneller gibt schon Fehler. Die Frequenz sollte doppelt exponentiell steigen, so hat das Rhode und Schwarz auch gemacht. Da bleibt genügend zeit bei den tiefen frequenzen für ausreichend abtastpunkte und -genauigkeit. problematisch ist die Darstellung auf dem oszi, aber mit einem Prozessor kann man bestimmt auch in einem Speicher schreiben, der ständig ausgelesen wird. Wird dann halt eher eine Art C64 mit Meßeingang.
Oder gleich in den PC, das spart den Oszi.
 
#16
Da ist es wieder, das "Keiner-hört-Gucker-zu-Phänomen".

Ich sag was und weise drauf hin und rede das Forum fusselig. Und wieder hört keiner auf mich! motz Wie damals mit dem Transduktor. Rolleyes

Und dann fängt es an, in mir zu gären. Wochenlang. Monatelang. Und irgendwann... in einem Jahr oder so.. überfall ich wieder ein unschuldiges Forum á la Jogis Röhrenforum, nur dann vielleicht ein Forum voll mit Klempnern, und will mit den dortigen Fachleuten irgendwas mit transconductance-OPVs entwickeln.

Würdet Ihr meine Bauchgefühl-Anregungen stattdessen gleich aufnehmen, wäre es WESENTLICH friedlicher im Internet... misstrau

 
#17
Zitat:Da ist es wieder, das "Keiner-hört-Gucker-zu-Phänomen".
ähhhh, da entgeht mir jetzt der zusammenhang mit dem funktionsgenerator irgendwie Rolleyes

...ansonsten höre ich ja artig zu Wink
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#18
Zitat:Original geschrieben von alfsch
kann sinus, dreieck, rechteck, puls, säge...was halt im lookup-table-ram steht Wink

Man brauch nur für den Sinus ne LookUp...der Rest ist linear -> einfach den Counter nutzen, spart Speicher.

BTW:
Die Qualität vom Sinus bei DDS ist nur von der Größe des EEProms und der angewandten PWM (oder DAC) abhängig, eventuell noch Geschwindigkeit vom µC.
Mit nem DSP den Sinus in Äschtzeit berechnen und "geschickt" ausgeben würde die Analogen alle übertreffen.
"Ich hab Millionen von Ideen und alle enden mit Sicherheit tödlich."
 
#19
Mhh also nen kompletten Funktionsgenerator mit XR 2206 ja hatte ich mal nen schönen Schaltpan von müsste ich mal suchen und einscannen.
wer den dann haben will soll mich einfach anschreiben da da auf jedenfall nen Copyright drauf ist wenn ich mich richtig erinnere Funkschau vor ca. 10 Jahren.
IC´s sollte ich auch noch so 2 bis 3 haben Smile
 
#20
na, 2206 schaltung steht ja schon im datenblatt..
http://www.elexs.de/sinus1.htm
http://www.loetstelle.net/projekte/xr220...206neu.php
    Don't worry about getting older.  You're still gonna do dump stuff...only slower