Funktionsgenerator Schaltung gesucht

OP (Firma: RF-I) #767407
Lesenswert?

Hallo,

Ich suche zur zeit nach einen Funktonsgenerator zum selbstbauen, am 
liebsten mit einem Atmel controller.

Der generator sollte Dreick, Sinus, Rechteck und Sägezahn können.

Und das am liebsten in DDS.

Mit einer mindest ausgangsfrequenz von 1Mhz natürlich von 1Hz weg.

Mit Display wäre gut.

So wie der von ELV mit 10Mhz.

Ich danke euch vielmals.


P.S. Ich habe den von Andreas s. schon gesehn der hat leider eine zu 
niedrige ausgangs frequenz.
Gast #767423
Lesenswert?

AD9833 +2.3 V to +5.5 V, Low Power (20 mW), Programmable Waveform 
Generator in 10-Pin µSOIC Package

AD5930 Programmable Frequency Sweep and Output Burst Waveform Generator
AD5932 Programmable Single-Scan Waveform Generator

sollte reichen ;)

viel spass beim basteln .. sowas werd ich mir auch noch bauen in 
nächster zeit.. aber ich bin mir noch nicht ganz sicher wie ich das 
analoge rund-herum baue... da gibt's zu viele nice-to-have.. ;)
OP (Firma: RF-I) #768286
Lesenswert?

@ holger:

Ich meine ja zum steuern eines Signalgenerators soll der Atmega dienen.

@Düsentrieb:

Ich habe schon tage im Google gesucht leider nichts passendes gefunden.

Der von Jasper ist leider PC gesteuert und ich will ein eigenständiges 
gerät das ohne PC auskommt praktisch wäre natürlich wenn man es noch 
zusätzlich über PC steuern könnte.

@Gast:

Ich habe bei ELV schon nachgeschaut es ist auch ein Schaltplan vorhanden 
aber Leider keine Software. Und der Programmierte Prozessor kostet fast 
40€.

@Hans

Ich habe den Ad9833 schon lange im visier, der ist auch mein Faforit. 
Ich habe leider keine ahnung wie ich diesen so steuern kann mit einem 
Atmega.

@ Der Dude

Ich gebe dir recht das ist mein Problem das ansteuern.



Vieleicht hat jemand das ELV board und kann die Software aus dem uC 
copieren
Gast #768298
Lesenswert?

Der von Jasper ist leider PC gesteuert... na komm, da wirst du doch die 
paar änderungen in den code bekommen, um das - wie auch immer- zb mit 
ein paar tasten zu steuern
wenn du das nicht kannst, musst du zb das fertige kit von elv nehmen, 
nur dann muddu nich programmieren
oder warten, bis ich meinen baue, da nehm ich nen drehgeber zur eingabe 
+ lcd zum anzeigen
Gast #769719
Lesenswert?

Wenn ich meinen Elektronik Prof. zitieren darf:

Lieber was gescheit Analoges schaffen als digitalen "Müll"

[Nich unbedingt meine Meinung],

Aber einen einfacheren Funktionsgenerator
(bis ca  1 mhz) kriegt man imho auch analog hin , zumindest den recheck 
hab ich schon im Labor gebaut , den Rest hab ich mir für die ferien 
(Donnerstag  ist die Prüfungszeit zuende(wünscht mit glück bis dahin) 
)vorgenommen .
Kann ja den Baubericht ins Wiki stellen, wenn interesse besteht.

(Will aber eher auf einfacheit gehen , halt zum üben/basteln)
Na ja verbessern kann man immer ;-) ...
#771656
Lesenswert?

Ich noch mal eben...

Das Hauptproblem an der ganzen Sache ist das die Atmegas zwar super 
Pozessoren sind, aber für solche Awendungen eigentlich doch zu langsam 
sind.
Wenn man sich allerdings auf die reine Signalerzeugung ohne sonstige 
schnörkel im Programm konzentriert, schaffen die Dinger jeden 2. Takt 
eine Ausgangsänderung des Ports.
Der Atmega 8 verträgt ohne irgendwelche Probleme 40MHz !!!!! Takt.
Macht bei einer 8 bit breiten Signalform 78125 Hz Ausgangstakt.
Bei 7 bit 156250 Hz
Bei 6 bit 312500 Hz
Bei 5 bit 625000 Hz
Bei 4 bit 1250000 Hz

Und ab da machts dann keinen Sinn mehr.
#771682
Lesenswert?

Na ganz einfach!

Sinus:
Do
Portd = 0
Portd = 0
Portd = 0
Portd = 1
Portd = 1
Portd = 1
Portd = 2
Portd = 2
Portd = 3
Portd = 4
Portd = 5
Portd = 5
Portd = 6
Portd = 7
Portd = 9
Portd = 10
.
.
.
usw
.
.
.
Loop

In Bascom geschrieben

allerdings muss man bei dem Signal den letzten Wert leider weglassen,
da der Sprung ebenfalls 2 takte braucht.
#771688
Lesenswert?

Eben, und wenn man dann noch versucht ein Display zu versorgen
und die Geschwindigkeit mit dem Prozessor zu Steuern ist bei 5Khz
mit viel geruckel aber schluss!
Also der Atmega macht nur das Signal sonst nichts!
Takt von aussen einstellbar
Und ein 2.Atmega zur Frequenzmessung mit Display - fertig
#771708
Lesenswert?

Nö, geht definitiv nicht!
Das Signal ist bei 8 bit aufgelöst in 256 Spannungswerte.
Würde der Prozessor bei jedem Takt eine Ausgangsänderung schaffen,
Hättest du eine Ausgangsfrequenz von Eingangstakt / 256.
Er schafft aber nur jeden 2. Takt eine Ausgangsänderung.
Also: Eingangsfrequenz / 512 = Ausgangsfrequenz.
Macht bei 16 MHz Takt 31250 Hz!
Mehr geht nicht, völlig egal welchen Atmega du nimmst.
Und wenn du dann noch Takte für was anderes "vertrödelst" ist schluss 
mit lustig!!!
Zumal du Sprünge in dein Ausgangssignal bekommst.
Gast #771715
Lesenswert?

naja...dds funktioniert etwas anders...
zb mega48, bei 20mhz takt, 8clk für den dds loop -->
max. 2 Msampels out, geht also locker > 200khz sinus
einstellungen natürlich nur per interrupt, der dds loop muss konstant 
laufen
#771731
Lesenswert?

# Düsentrieb

mir ist schon klar wie DDS funktioniert.
Ausgehend von einem Sägezahnsignal, kann ich mit einem 8bit Prozessor 
256 Spannugswerte darstellen macht bei 20MHz Takt schon mal nur noch 
78125Hz
den muss ich aber noch durch 2 teilen weil ich nur bei jedem 2. Takt 
eine Ausgangsänderung der Ports realisieren kann! Macht dann nur noch 
39062.5Hz!
Mehr geht nicht!!!
DDS lebt davon Werte des Signals auszulassen um die frequenz zu ändern, 
was unweigerlich ein verstärkte Stufenbildung im Signal zur Folge hat 
die man dann wieder mit Filtern "beheben" muss.
Mein Ziel war es jedoch alle Spannungswerte auch rauszugeben, und auf 
eine Nachfilterung zu verzichten!
Filter mal bitte ein Dreiecksignal ohne die Spitzen zu verrunden!!!
Bei nur 16 Werten des Signals (also DDS) kriege ich bei einem Systemtakt 
von 40 MHz auch eine Ausgangsfrequenz von 1.25Mhz hin.
Gast #771752
Lesenswert?

# Andreas im prinzip schon richtig, nur:
zb wenn du  normalen opamp ala tl072 als output verwendest, dann filtert 
der durch seine fgo "automatisch", dh bei zb 100khz sinus gehen bei 
meinem bsp , s.o. , etwa noch 20 sampels pro sinus-welle, dh du könntest 
"stufen" oder ecken im signal sehen - wenn der opamp die entsprechenden 
oberwellen > 1mhz auch zeigt - was er eben nicht macht, da seine fgo bei 
zb 500khz liegt; er verrundet also das signal...abgesehen davon, dass 
bei > 100khz leichte fehler bzgl oberwellen wohl keine rolle spielen. 
falls doch, muss natürlich ein anderer weg zur signalerzeugung verwendet 
werden, zb analoger dreieck/rechteck generator, damit kommst bis in den 
Mhz-bereich ohne probleme (ensprechende superschnelle opamps 
vorausgesetzt, zb Lm7121 )
Gast #771767
Lesenswert?

nee, du hast auf jeden fall gute chancen, als gewinner für "wer findet 
den teuersten chip" oder "was wird nicht mehr hergestellt" ...
maxim:
This product was manufactured for Maxim by an outside wafer foundry 
using a process that is no longer available.
#772801
Lesenswert?

So, ich hab mein Programm noch mal überarbeitet und hole jetzt bis 
2,5MHZ
aus dem Schnuckelchen raus. Allerdings ist die Signalform dann nicht 
mehr
wirklich schön und muss auf jeden Fall durch einen Filter!

#Düsentrieb
So sieht´s aus...
Bei Sinus alles nicht so problematisch.
Aber wie schon gesagt, filter mal ein Dreieck ohne die Spitzen 
abzurunden...
Ich hab mir jetzt mal den LM318L besorgt. Dem Mistvieh muss ich nur noch
seine Eigenschwingungen abgewöhnen... ;-) ansonsten ist der ekelig 
schnell
und hat eine Anstiegsgeschwindigkeit um die 100V/mikrosekunde...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren