Forum: Mikrocontroller und Digitale Elektronik Funktionsgenerator Schaltung gesucht


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 Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht 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.

von holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>am liebsten mit einem Atmel controller.
>Mit einer mindest ausgangsfrequenz von 1Mhz natürlich von 1Hz weg.

Träum weiter.

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Gast (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Hans (Gast)


Bewertung
0 lesenswert
nicht 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.. ;)

von Der Dude (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Genau. Das Signal erzeugen ist einfach. Aber es dann ordentlich von 0.1 
Hz...10 Mhz weiterzuverarbeiten (Amplitude, Offset etc) ist die 
eigentliche Herausforderung.

von 6632 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Einen BUF634 hintendran, der koennt zumindest 50 Ohm.

von Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht 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

von 6632 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Naja. Steht doch im Datenblatt, was man dem 9833 reinschieben muss. Als 
standalone Geraet, braucht man noch einen Display und Eingabeelemente.

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht 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

von Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht lesenswert
@ Düsentrieb

hört sich gut an.

hast schon was dazu entwickelt????

würde mich evt. Revangieren. Bin recht gut im Layouten

von Stephan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ei da schau her, erster Treffer bei Google

http://www.elektronik-kompendium.de/public/glahe/ad9833.htm

von Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht lesenswert
kenn ich schon will am liebsten was mit Atmega oder Atiny

von Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht lesenswert
habe meine priorität geändert ab 100KHz reicht eigentlich

von jack (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Aha, endlich von überzogenen Vorstellungen runter.
Hier ein FG, der nur einen 2313 braucht:

http://www.myplace.nu/avr/minidds/index.htm

von Der Dude (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Link steht doch weiter oben schon.

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
#thomas , mit nem zb mega48, bei 20mhz takt, 8clk für den dds loop --> 
max. 2 Msampels out, geht also locker > 200khz sinus(im prinzip bis 
1mhz)

von ... (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>>Viel drumherum für ein winziges Bauteil: Damit der DDS-Chip AD9833 im Labor 
sinnvolle Dienste leistet, ist einiges an Peripherie-Aufwand nötig.

gesehen? dazu rund ad9833 8,40€+porto

von JÜrgen G. (Firma: 4CKnowLedge) (psicom) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
wie wär wenn jemand mal in die Codesammlung geht und DDS eingibt?

Kommen sogar ganze zwei Treffer!!! duckundwech

von Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht lesenswert
ich such doch nur nen schaltplan

von funkenschlosser (Gast)


Bewertung
0 lesenswert
nicht lesenswert
hey geh ma auf die elktronikerseite.de da gibst pläne braucht sehr 
wenige bauteile und ich selbst habe ihn schon mal aufgebaut und benutzt 
kann mich nit beschweren

von krys_derHardcoder (Gast)


Bewertung
0 lesenswert
nicht 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 ;-) ...

von krys_derHardcoder (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ach so aufbau dann natürlich entweder mit OPs oder analog mit 
entsprechender Differentverstärkerschaltung.
[vielecht mit quarzstabilisierung ?]

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
#thomas ,
>ab 100KHz reicht
meinste "bis" oder?

wenn du willst, bauen wir so n ding..

(meine teile reichelt kommen nächste woche,
bes. der dac0800 fehlt mir noch)

von Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht lesenswert
Der Generator sollte mindestens 100Khz Schaffen ohne groß zu verzerren

Schreib mir mal ne E-mail oder hast du ICQ??????????ßü

von Andrew_R (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo, das ist gar kein Problem!

Ich habe gerade so´n Ding gebaut und verkaufe den Prototyp gerade bei 
EBAY
Artikelnummer 150212712072...

Gruß Andreas

von Andreas R. (andrewr)


Bewertung
0 lesenswert
nicht 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.

von Frank B. (frank_b) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Jeden 2. Takt ?

wie sieht denn da die Schleife aus ?

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
#thomas ,
meld dich doch einfach im forum
http://damp.byethost33.com
an, machen wir ein thema "dds funtionsenerator" auf;
forum is praktischer, bilder usw...

von Andreas R. (andrewr)


Bewertung
0 lesenswert
nicht 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.

von Frank B. (frank_b) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Was anderes hätte mich auch gewundert :-)

von Andreas R. (andrewr)


Bewertung
0 lesenswert
nicht 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

von Andreas R. (andrewr)


Bewertung
0 lesenswert
nicht lesenswert
Na, wer von euch hat da eben bei EBAY auf mein Schnuckelchen geboten???
:-)

von Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht lesenswert
Normalerweiße sollte ein Atmega 32 es schon schaffen das display und die 
Frequenz zu steuern oder??? Bei 16Mhz geht schon was weiter.

von Andreas R. (andrewr)


Bewertung
0 lesenswert
nicht 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.

von xyz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
@  funkenschlosser

elektronikerseite.de geht nicht

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht 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

von Andreas R. (andrewr)


Bewertung
0 lesenswert
nicht lesenswert
Also, wie schon erwähnt, ich verkaufe gerade bei Ebay so ein Gerät
 Artikelnummer: 150212712072
Im zweifelsfall würde ich auch die nakten Platinen verkaufen wenn jemand 
Intresse dran hat...
Oder euch die Schaltung zum nachbau erklären...

von Andreas R. (andrewr)


Bewertung
0 lesenswert
nicht 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.

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht 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 )

von willi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
hab ich hier irgendwas übersehen und werde gelüncht wenn ich MAX038 
sage?

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht 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.

von Andreas R. (andrewr)


Bewertung
0 lesenswert
nicht 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...

von Thomas S. (Firma: RF-I) (rasieel)


Bewertung
0 lesenswert
nicht lesenswert
@ Düsentrieb

Hast du kontaktdaten?????

Kannst mir auch übers forum ne E-mail schreiben in höchst interresiert

von Düsentrieb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
hab dir auf
http://damp.byethost33.com/
geschrieben...
(hier kickt mich der login immer wieder raus...daher nur "gast", kann 
hier keine mail schreiben :-(

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.