DDS Generator 0 - 10 MHz

Hoch- u. Höchstfrequenztechnik

Moderator: Anatec

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

DDS Generator 0 - 10 MHz

Beitragvon Anatec » Montag 1. Mai 2006, 02:15

Ein DDS Generator Marke "Eigenenbau"
Das Thema stand mir schon lange an, da ich für mein SDR Projekt nach einem genauen, durchstimmbaren Oszillator suchte. So lag es nahe, die Sache mit einem modernen DDS Chip zu realisieren. In erster Linie ging es um das Grundlagenwissen zur Steuerung solch eines Chip's. In zweiter Linie sollte gleich was Nutzbringendes entstehen. Durch einen Bekannten der alte Radios sammelt kam die Anregung, einen AM modulierbaren Steuersender zu realisieren, mit dem man solch "Dampfradio" stilecht spielen lassen kann. Wie das so ist, weitete sich das ganze zu folgenden Eigenschaften aus:
1. Frequenzeinstellung durch einen PC
2. Steuerung über USB
3. Stromversorgung durch den USB
4. AMmodulation durch den PC

Als USB Chip arbeitet der FT232BM, der einen virtuellen seriellen Port zur Verfügung stellt und somit im einfachsten Fall mit der MSComm über VB programmierbar ist. Damit war das Thema WinXP und seine Port's auf einfache Weise gelöst.
Der PC errechnet das für den DDS notwendige Datenwort und schickt über den seriellen Port eine Serie von 8Bit Informationen die hinter dem FT232 von einem PIC 16F627 empfangen werden. Dieser formt die Information in ein 28Bit Wort um und schickt sie in den DDS Chip AD9833. Desweiteren erzeugt der PIC auf Abruf eine Antwort an den PC mit der eine Erkennung des benutzten Com Ports erfolgt. Wärend des Betriebs arbeiten die Komparatoren des PIC als Fensterdiskriminator, überwachen den Modulationsgrad und melden diese an den PC zurück. Das macht sich ganz gut, da der Modulator abhängig von der Sendefrequenz unterschiedliche Aussteuerungen benötigt und dem PC die Sendefrequenz bekannt ist, kann er den Modhub ausrechnen und richtig anzeigen. So kritisch ist das allerdings nicht, es hat sich herausgestellt, das der Modulator recht gutmütig auf Übersteuerung reagiert.
Hinter dem DDS Chip sitzt der notwendige Tiefpass als LC Variante und dem folgt der Modulator, ein durch einen BF245 geregelter MAX4012, der gleichzeitig Endstufe ist. Theoretisch könnte der MAX4012 bis über 100mW HF an 50 Ohm abgeben, damit würde allerdings die Stromergiebigkeit der USB Spannung an ihre Grenzen kommen. 25mW reichen für solch einen Prüfgenerator auch gut aus. Wenn man den in die Antennenbuchse eines Röhrenradios steckt, wird dieses schon hoffnungslos übersteuert.
Der NF Teil ist recht komfortabel aufgebaut. Das von der Soundkarte kommende Signal wird verlustfrei durchgeschleift. Ein Mischverstärker addiert das Stereosignal zu Mono. Dem folgt ein aktiver Bandpass 100Hz - 6kHz um ein "stilechtes" NF Signal zu erzeugen. Ein folgender Trennverstärker versorgt einerseits den Modulator und andererseits einen aktiven Vollweggleichrichter der den Fensterdiskriminator des PIC steuert.
Natürlich kann man den Generator auch mit anderen Quellen ansteueren, solange der Pegel regelbar ist und 1Vss nicht übersteigt.
In den Bildern ist der allererste Prototyp zu sehen, der noch aus einzelnen Modulen besteht. Inzwischen existiert ein Zweiter, den ein Bekannter nach Bauplan bestückt hat um den Nachweis der Fehlerfreiheit der Leiterplatte zu erbringen und um zu testen ob das Ding überhaupt von "Ungeübten" nachbaubar ist.
Schaltbild und Leiterplatte muß ich noch retuschieren, dann stelle ich sie auch noch online.
Ich möchte mich nochmal bei DIANU bedanken, der mir mit Anregungen aus seiner Praxis über die Hürden der VB Programmierung geholfen hat.

Bild

Bild

Bild

Das Steuerprogramm
http://www.people.freenet.de/anatec/Projekt12.exe

Sicher kann man vieles noch anders lösen. Leider kenne ich mich zB. mit dem Programmieren von dll's nicht aus, so mußte ich den Weg über die MSComm gehen. Falls jemand Interesse hat, das Teil nachzubauen oder rumzuprogrammieren, alle Unterlagen stehen natürlich kostenlos zur Verfügung. Wie geschrieben, mir ging es um eine praktikable Lösung einer DDS Ansteuerung um diese Chips vielfältig verwenden zu können.

73 Gerd H
Zuletzt geändert von Anatec am Sonntag 14. Mai 2006, 09:14, insgesamt 2-mal geändert.

Benutzeravatar
Dianu
Site Admin
Beiträge: 3649
Registriert: Sonntag 5. Februar 2006, 22:35
Wohnort: Westerwald
Kontaktdaten:

Re: DDS Generator 0 - 10 MHz

Beitragvon Dianu » Montag 1. Mai 2006, 18:03

Anatec hat geschrieben:Ich möchte mich nochmal bei DIANU bedanken, der mir mit Anregungen aus seiner Praxis über die Hürden der VB Programmierung geholfen hat.
Hallo Gerd, auch ich danke Dir fuer Deinen schoenen Beitrag in diesem Forum.
Diese Art von Gehaeuse, die Du da gewaehlt hast, gefaellt mir auch sehr gut, es hebt sich wohltuend von diesen Billig_Plastikkisten ab. Ja, innendrin koennte es noch etwas 'aufgeraeumter' aussehen, aber fuer 'Winzig-Serien' ist das so voellig in Ordnung, schliesslich soll es ja nicht gleich in Grossserie gehen.
Im C-Compiler ist das nur einen Mausklick entfernt, ob Du in eine *.exe oder eine *.dll kompilieren moechtest (der passende Header wird dann automatisch geholt), aber in die *.dll -Programmierung bin ich auch nie eingestiegen, weil sich die M$-Software auf den verschiedenen PC-Systemen trotz auch noch (allerdings diverser) M$-Betriebssysteme zu instabil verhaelt - fuer einen Mann einfach zu unuebersichtlich, sich um die vielen notwendigen zusaetzlichen Patche zu kuemmern.
Auch das Frontplattendesign gefaellt mir sehr gut: Sieht man dort jetzt auch Dein neues Logo? (mit 'HS')
Liebe Gruesse
Dianu

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Montag 1. Mai 2006, 21:13

Hallo Dianu,
ja das Gehäuse hat sich so ergeben :-). Sollte halt mal gut aussehen, HF dicht und preiswert. Kleiner Trick, Das gibt's beim "C" für 10€. Das habe ich in der Mitte durchgesägt und da die Frontplatte eh selbst gestaltet ist ergeben sich so zwei Gehäuse in der passenden Größe a 5€ + Frontplatte (Alucorrex von Bungard). Das Innenleben, wie geschrieben noch Einzelmodule. Mein Bekannter, der den zweiten Prototypen besitzt muß den eh mal zum fotografieren rausrücken, ich brauche Fotos für nen Bestückungsbauplan. Der ist schon auf einer einzigen Platte.
Das Logo isses, ja, den Stern habe ich mir bei "Stern Radio Berlin" gemobst. Die gibts seit 16 Jahren nicht mehr, ein kleines Andenken. Allerdings hatten sie drei Sterne im Logo. Ich habe aber extra mal nachgeschaut, Keiner der Stern Radios hatte ein ähnliches Logo. Nur die Form des Sternes ist ein schöne Erinnerung an "meine" Berliner Fa.

73 Gerd

Benutzeravatar
Dianu
Site Admin
Beiträge: 3649
Registriert: Sonntag 5. Februar 2006, 22:35
Wohnort: Westerwald
Kontaktdaten:

Beitragvon Dianu » Montag 1. Mai 2006, 22:19

Hallo Gerd,
die Alu-Profile sehen so aus wie die vom isel (jetzt proMa) - die gibts auch beim Reichelt unter EG 1 oder EFG 1A - vielleicht dort etwas preiswerter als beim C?
Ich faule Socke hab auch schon mal fuer die Art von Gehaeuse einfach nur eine Leiterplatte beim Beta-Layout mit den entsprechenden Ausbruechen fraesen lassen und dann mit Folie beklebt - fertig ;)
Liebe Gruesse

Dianu

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Montag 1. Mai 2006, 23:16

Hallo Dianu
danke, ein toller Tip mit Reichelt. Das EG1 isses! Für 7€ mei, da habe ich ein komplettes Gehäuse mit Frontplatte für 5€, billiger gehts net. Das habe ich bei denen immer übersehen, deren Fotos sind auch so dämlich. Da muß man wirklich auf die Maße schaun.

73 Gerd

edgar
Stamm-Mitglied
Beiträge: 6173
Registriert: Samstag 19. Februar 2005, 11:33

Beitragvon edgar » Samstag 6. Mai 2006, 00:58

Hallo 'Meister Gerd'

das Gehaeuse sieht nett aus.Die Genauigkeit mit der Du arbeitest ueberrascht mich nicht mehr. :lol:
Metallkisten sind einfach eine Klasse Sache !
in jeder Hinsicht gut,stabil,robust,elektrisch vorteilhaft emv gerecht und kann sich einfach sehen /verkaufen lassen.

wenn die Innereien so gut wie im Datenblatt beschrieben funktionieren kann man sich selbst mal so richtig loben !

''''bravissimo''''

PS ich setze spritzgussdosen (aus Canada) ein...finde sie bei RS-Components. Sehr leicht zu bearbeiten mit minibohrer und feile...und geoeltem handgelenk+ellbogen :D

Benutzeravatar
Dianu
Site Admin
Beiträge: 3649
Registriert: Sonntag 5. Februar 2006, 22:35
Wohnort: Westerwald
Kontaktdaten:

Beitragvon Dianu » Samstag 6. Mai 2006, 01:09

edgar hat geschrieben:PS ich setze spritzgussdosen (aus Canada) ein...finde sie bei RS-Components. Sehr leicht zu bearbeiten mit minibohrer und feile...und geoeltem handgelenk+ellbogen :D
Hallo Ed,
gibts in I auch Farnell? (Englaender).
(In D sind bei denen die Spritzguss-Alukaestchen besonders preiswert.)
Liebe Gruesse

Dianu

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Samstag 6. Mai 2006, 14:41

Das Blockschaltbild des Generators

Bild

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Sonntag 7. Mai 2006, 08:48

Schaltbilder:

USB Modul
http://www.people.freenet.de/anatec/DDS6.jpg

PIC, DDS, Modulator
http://www.people.freenet.de/anatec/DDS7.jpg

NF Modul
http://www.people.freenet.de/anatec/DDS8.jpg

wird fortgesetzt, immer mal nachschauen
Zuletzt geändert von Anatec am Sonntag 14. Mai 2006, 08:21, insgesamt 2-mal geändert.

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Dienstag 9. Mai 2006, 23:43

Zuletzt geändert von Anatec am Sonntag 14. Mai 2006, 08:25, insgesamt 2-mal geändert.

Benutzeravatar
Dianu
Site Admin
Beiträge: 3649
Registriert: Sonntag 5. Februar 2006, 22:35
Wohnort: Westerwald
Kontaktdaten:

Beitragvon Dianu » Mittwoch 10. Mai 2006, 11:50

Hallo,
das Layout mit den Massepolygonen gefaellt mir schon wesentlich besser.
Bei mir werden sogar noch neben den Quarzen 2 Vias mit Massekontakt positioniert. Da kommt dann eine Drahtschlaufe durch und wird auf dem Quarzgehaeuse angeloetet - man muss sich ja schliesslich von der Masse absetzen ... :lol:
Liebe Gruesse

Dianu

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Samstag 13. Mai 2006, 10:25

Hallo Dianu,
hast du mit der "Gehäuseerdung" der Quarze Erfahrungen gesammelt? Sollte das Vorteile in Bezug Störstrahlung bringen? Gibt's da was zum nachlesen? Ich sträube mich einwenig, die Miniquarze auch noch zu belöten. Man sieht das oft auf PC Platten. Auf der alten Variante hatte ich noch die großen HC18 Quarze. Auf der neuen LP habe ich die HC49U und der 25MHz Generator hat doch ein Massebein. Keine Ahnung, darüber habe ich mir noch nie Gedanken gemacht. Bei manchen Quarzen haben sie den Draht nur drübergelegt, bei anderen sind die direkt an der Platte angelötet. Welche Vorteile hat das?

73 Gerd H

Benutzeravatar
Dianu
Site Admin
Beiträge: 3649
Registriert: Sonntag 5. Februar 2006, 22:35
Wohnort: Westerwald
Kontaktdaten:

Beitragvon Dianu » Samstag 13. Mai 2006, 13:25

Anatec hat geschrieben:, bei anderen sind die direkt an der Platte angelötet. Welche Vorteile hat das?

73 Gerd H
Moin Gerd,
schwer zu sagen, da ich schon seit Jahrzehnten die Quarze anloete und keinen direkten Vergleich habe.
Mich haben zwei Sachen seinerzeit dazu bewogen:
1. Fa. Commodore (die ersten Homecomputer) haben ueber ihren 1MHz Quarz ein Weissblechgehaeuse geloetet, sogar mit abnehmbarem Deckel (jedenfalls bei den etwas teureren Geraeten).
2. Mein Selbstbau-Progger fuer 8048/8049 aus den 80ern wollte nicht ohne diese Massestrippe richtig funktionieren. (LoL: kann auch am Aufbau gelegen haben, zu den Zeiten gabs weder Eagle noch Massepolygone)
Bild 1
Bild 2
Bild 3 (aus dem pollenverseuchten Westerwald)
Liebe Gruesse

Dianu

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Samstag 13. Mai 2006, 19:22

Danke für die Antwort.
Mei, der Progger ist noch richtig Technik zum anfassen :D . Ich schlage mal vor, bei der nächsten Platte die ich fertige werde ich das mit der Erdung mal testen. Einfach mal schauen, ob die Schwingungen die sich so leise über die Platte verteilen mehr oder weniger werden. Ich berichte dann.
Auja, bei euch sind sie also alle, die Pollen. Ich habe mich schon gewundert wo sie alle hin sind. Mir persönlich tun sie ja nix, die mögen sicher keine Raucher. Meine Gutste hat schwer zu kämpfen, so ist das eben alles gerecht verteilt :wink:

73 Gerd

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Sonntag 14. Mai 2006, 09:00

Der NF Filter
eine kleine Besonderheit
Wie schon oben beschrieben, sollte ein MW Generator nicht höher als 6kHz modulieren.
Schon im Zeitalter der "alten" Röhrensender hatte man erkannt, das AM einen enormen Oberwellenanteil erzeugt und bedingt durch die zwei Seitenbänder sowieso die doppelte Bandbreite benötigt. Gerade im Bereich der Lang und Mittelwelle wurde es schnell eng und die damals recht leistungsfähigen Sender störten sich gegenseitig. Eine Frequenzvergabe nach Standort und Reichweite, wie heutzutage im UKW Bereich, war durch das geringe Wissen um die Ausbreitungsbedingungen nicht möglich. Aus diesem Grund wurden die Sender in der Bandbreite beschnitten um überhaupt zu Rande zu kommen.
Ich habe das aus mehreren Gründen nachgebildet.
1. erzeugt so ein Filter einen "Originalsound" der 30er Jahre
2. werden die von der Soundkarte erzeugten Oberwellen eliminiert
3. die auf der USB Versorgungsspannung vorhandenen Störungen im Bereich unter 100 Hz werden in Grenzen gehalten.

Ich habe mir zu diesem Zweck das sehr schöne Programm RFSimm99 besorgt
http://www.janson-soft.de/amateurfunk/rfsim99/rfsim99.htm
und damit den Filter erstellt. Das Ergebnis hat mich erstaunt. Die Berechnungen stimmen sehr gut mit der Praxis überein und es ist auch für den Laien schnell möglich einen Filter zu berechnen, zumal das Prog. sogar über OPV's oder Verstärker allgemein hinwegrechnet.

Hier mal mein NF Filter als Beispiel
http://www.people.freenet.de/anatec/Filter1.jpg
http://www.people.freenet.de/anatec/Filter2.jpg

73 Gerd H

edgar
Stamm-Mitglied
Beiträge: 6173
Registriert: Samstag 19. Februar 2005, 11:33

Beitragvon edgar » Dienstag 16. Mai 2006, 15:29

Tag,

Q loeten oder nicht ?
Wenn ja, dann schnell und gut....nicht so,dass es im Innenraum kocht.
Mag sein es ist nur Placebo...aber ein gutes Gefuehl hat man dabei.
Zeitweise habe ich Quarze mit elastischem Material beidseitig selbstklebend auf die Platine (Pins vorgebogen) gelegt & gedaempft befestigt. Die Q-plaettchen sind naemlich bei manchen Quarzen so duenn,dass man sich wundert,wie die blos halten koennen.

Am Ende ist aber das mechanisch Beste (Q-Gehaeuse verloeten) auch das elektrisch Beste.

Ciao

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Montag 22. Mai 2006, 02:06

Hi all,
ich werde das "neue Modell" mal testen. Ich sage mal, bei 49U Quarzen wird die mechanische Komponente kaum ins Gewicht fallen. Bei HF auf der Leiterplatte kann ich folgen. In meinem speziellem Fall habe ich noch keine Störungen auf der Platte bemerkt. Naja, kommt am Ende eh hinten raus, was der Quarz erzeugt und die 25 MHz Rechtecke haben ein Schirmbeinchen am Gehäuse. Ich werde die Quarze mal mit ner Schlaufe versehen. Bei der neuen LP kein Problem.

Bild


73 Gerd H

Dix

Beitragvon Dix » Donnerstag 30. November 2006, 08:39

Hallo Gerd,

Der DDS ist gut gelungen, congrates.

Wo gibt es eine Platine ?

73 aus München,

Dix(dl8xe)

edgar
Stamm-Mitglied
Beiträge: 6173
Registriert: Samstag 19. Februar 2005, 11:33

Beitragvon edgar » Dienstag 22. Januar 2008, 11:32

Hallo,

Thema DDS: wie sieht der AD9833 zwischen 1 und 10KHz aus ?

Ich benoetige ein Rechtecksignal um einen F/U Wandler anzusteuern.
Bisher benuetzte ich den ML2036....aber ich habe das Gefuehl...ich finde ihn nicht mehr.
Dieser alte chip war/ist fuer max. 50KHz gut...der 9833 fuer 10MHz.

Sicher kann ich ein 1 MHz Q_Oszillator einsetzen ....dann ist das Teil entschaerft.

Frage : sind 99Hz, 999Hz ,9999Hz effektiv machbar ? und wie sieht der Rechteckausgang dabei aus ?

Mal schauen ob hier jemand vorbeispaziert ;-)

Gruss & Dank x Antwort

Benutzeravatar
Dianu
Site Admin
Beiträge: 3649
Registriert: Sonntag 5. Februar 2006, 22:35
Wohnort: Westerwald
Kontaktdaten:

Beitragvon Dianu » Dienstag 22. Januar 2008, 12:00

aber sicher wird hier vorbeigeschaut :-)
schau mal oben aufs Logo - dort ist ein 9834 von mir verbaut, weil ich fuern Kunden Rechteck mit einstellbarem DC (dutycycle) brauchte. Der 9834 hat auch einen Dreick als Ausgang. Das war alles in 2002.
Die Frequenzen sind tatsaechlich so genau, man kanns 'bis in die Phase hinein' vorgeben (Phasenregister). Meist hats aber 'nur' Sinusausgang.
Sobald du mit Komparatoren oder so weiterverarbeitest kriegste zusaetzliche Frequenzgaenge mit rein - die kann man natuerlich auch noch per Software ausgleichen ...
Liebe Gruesse

Dianu

edgar
Stamm-Mitglied
Beiträge: 6173
Registriert: Samstag 19. Februar 2005, 11:33

Beitragvon edgar » Dienstag 22. Januar 2008, 12:57

Danke 'Rudo',

habe gerade herausgefunden,dass Micro Linear Corp.. verkauft wurde...
also da gibt's nix mehr zu holen.
Muss mal schauen wo der Unterschied zwischen AD9833... und 34 besteht.
Daneben ist der 33iger in so einem mikrigen 10er Gehaeuse drin....da braucht man wieder die LUPE ! Den 34er schaue ich mir jetzt mal an.

Vielen Dank vorerst....viellleicht muss Ela nach Mailand heute...dann hole ich mir die Chips sofort....sie ist zu dieser Stunde immer noch in der Schule....da habe ich's wesentlich bequemer ;-) :D

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Dienstag 22. Januar 2008, 18:17

die unterscheiden sich nur in Grenzfrequenz und demzufolge Preis. Wenn du die Dinger im Hz Bereich betreibst, gehen sie auf mehrere Stellen hinterm Komma genau. Übrigens Ed, das die DDS mit SPI angesteuert werden, daran habe ich bei meiner Anfrage mit keiner Silbe mehr gedacht. Ist eben schon zu lange her und man wird älter.
Auf der Web von AD gibt es einen Onlinerechner, der dir die komplette Bitfolge für den von dir verwendeten IC ausrechnet. Ich hatte das damals in Basic gelöst. Der PC schickt das dann über USB in nen PIC. Der reiht die Byte's aneinander und schickt sie Richtung DDS. Übrigens, wenn du das Konfigurationsmenü des DDS immer schließt, vergisst er auch bei Stromausfall seine letzte Einstellung nicht. Ohne Schließung ist er ja auf ständigen Datenwechsel ausgerichtet, also Wobbeln oder sowas. Mit den Bänken A und B würde ich nicht unbedingt rummachen. Das soll manchmal nicht richtig funktionieren. Der DDS stellt seine Frequenz eh erst nach kompletten Erhalt eines neuen Wortes um.

edgar
Stamm-Mitglied
Beiträge: 6173
Registriert: Samstag 19. Februar 2005, 11:33

Beitragvon edgar » Dienstag 22. Januar 2008, 23:09

Ja prima,
Rudo hatte schon darauf hingewiesen,dass man ohne das Phasendatenschreiben auskommen kann. Das Tool habe ich bemerkt aber noch nicht aufmerksam angeschaut.
SPI , wir werden alle weniger jung, kein Problem...
Ob ich RESET beschalte weiss ich nicht mag sein dass ich es brauche, wenn der Watchdog bellt...dann resette ich auch einen webserver...damit alles wieder aufs gute Gleis gestellt wird.
Hab Dank
Edgar

Benutzeravatar
Anatec
Moderator
Beiträge: 180
Registriert: Sonntag 23. Januar 2005, 20:32
Wohnort: Gera
Kontaktdaten:

Beitragvon Anatec » Mittwoch 23. Januar 2008, 02:18

Code: Alles auswählen

' 14 Bit Variante
' Var3 = LSB
' Var2 = MSB
' 16384 = Steuervorsatz
' A C H T U N N G  LSB wird zuerst gesendet!!!!!!!
'-------------------------------------------------
Option Explicit
Dim Var10 As String
Dim Var11 As Long
Dim Var12 As Long
Dim Var1 As Long
Dim Var2 As Long
Dim Var3 As Long
Dim Var4 As Long
Dim Var5 As Long
Dim Var6 As Long
Dim Var7 As Long
Dim Var8 As Long
Dim Var9 As Long

' Starten des Sendens
'--------------------
Private Sub Command2_Click()
    MSComm1.PortOpen = True
    Send_1
    Send_2
    Send_3
    Send_4
    MSComm1.DTREnable = True
    MSComm1.DTREnable = False
    Pause 1
    MSComm1.PortOpen = False
End Sub

Private Sub Command3_Click()
    Pause 0.1
    End
End Sub

Private Sub Command4_Click()
    MSComm1.PortOpen = True
    MSComm1.RTSEnable = True
    MSComm1.RTSEnable = False
    MSComm1_OnComm
    Pause 0.1
    MSComm1.PortOpen = False
End Sub


Private Sub Form_Load()
    MSComm1.CommPort = 3
    MSComm1.RTSEnable = False
    MSComm1.RTSEnable = True
    MSComm1.RTSEnable = False
    MSComm1.DTREnable = False
    MSComm1.DTREnable = True
    MSComm1.DTREnable = False
    MSComm1.Settings = "9600,N,8,1"
    MSComm1.InputLen = 0
    MSComm1.InBufferSize = 2
    MSComm1.OutBufferSize = 2
    MSComm1.SThreshold = 1
    MSComm1.RThreshold = 1
End Sub

Private Sub Ablauf()
    Formel_1
    Formel_2
    Formel_3
    Formel_4
    Formel_5
    Text2.Text = Var3   ' LSB
    Text3.Text = Var2   ' MSB
    Text4.Text = Var1   ' umgerechnetes Datenwort
    Text5.Text = Var4   ' addiertes MSB
    Text6.Text = Var5   ' addiertes LSB
    Text7.Text = Var6
    Text8.Text = Var7
    Text9.Text = Var8
    Text10.Text = Var9
End Sub

' errechnen des Datenwortes
Private Sub Formel_1()
   Var1 = (Text1.Text * 268435456 * 1000) / 25000000
End Sub

' teilen der MSB
Private Sub Formel_2()
    Var2 = Var1 \ 16384
    Var3 = Var1 Mod 16384
End Sub

'addieren der Anfangsbits
Private Sub Formel_3()
    Var4 = Var2 + 16384     ' MSB
    Var5 = Var3 + 16384     ' LSB
End Sub

Private Sub Formel_4()
    Var6 = Var4 \ 256
    Var7 = Var4 Mod 256
End Sub

Private Sub Formel_5()
    Var8 = Var5 \ 256
    Var9 = Var5 Mod 256
End Sub

Private Sub Command1_Click()
Call Ablauf
End Sub

Private Static Sub MSComm1_OnComm()
    Select Case MSComm1.CommEvent
    Case comEvReceive
    Beep
    InitializeMyControl
    End Select
End Sub

Public Sub InitializeMyControl()
    Text12.Text = Asc(MSComm1.Input)
End Sub

Private Sub Send_1()
    MSComm1.Output = Chr(Var8)
    Pause 0.1
End Sub

Private Sub Send_2()
    MSComm1.Output = Chr(Var9)
    Pause 0.1
End Sub

Private Sub Send_3()
    MSComm1.Output = Chr(Var6)
    Pause 0.1
End Sub

Private Sub Send_4()
    MSComm1.Output = Chr(Var7)
    Pause 0.1
End Sub

Sub Pause(Seconds As Single)
   Dim Timer1 As Single, Timer2 As Single, currentDate As Date
   currentDate = Date
   Timer1 = Timer + Seconds
   Timer2 = Timer1 - 86400 '24 Stunden

   While ((Timer() < Timer1) And (currentDate = Date)) Or _
         ((Timer() < Timer2) And (currentDate + 1 = Date))
      DoEvents 'Andere Prozesse nicht behindern
   Wend
End Sub


Hier mal "mein Testcode" in VB für den 9833. Er errechnet aus der eingegebenen Frequenz (in kHz) das Datenwort und schickt es Byteweise zum Prozessor. Der speichert es ab und schickt es dann seriell zum 9833.

edgar
Stamm-Mitglied
Beiträge: 6173
Registriert: Samstag 19. Februar 2005, 11:33

Beitragvon edgar » Mittwoch 23. Januar 2008, 21:50

Hallo,

ad9833 nicht vorraetig...da musste eben der AD9834BRUZ her.
Nun gibt es heute praktisch keine DIL mehr...weil das auch wegen des Frequenzbereiches keinerlei Vorteile bringen wuerde.....gehoert der Vergangenheit an.
So liegt jetzt ein TSSOP 20 lead Chipchen vor mir und die Ohren straeuben sich mal wieder. :roll:
Vor etwa 30 Jahren kannte ich einen Amerikaner,der in einem alten Feuerwehrsgebaeude seine Firma eingerichtet hatte: er produzierte kleine selbstklebende Platinchen mit allen moeglichen Kupferpads drauf....damals natuerlich fuer alle DILs R,C ,Poti....
Auf eine Kupferkaschierte Platine klebte man einfach diese Moduelchen und in wenigen Minuten hatte man eine komplette Schaltung mit GroundPlane.Etwas Draht ,Geduld und Fingerfertigkeit und der Prototyp war fertig. Wainwright System hiess das wenn ich mich recht erinnere.

Gibt es sowas noch ? angepasst an die heutigen Masse? schoen waere es!

Sollte man nicht mal die haeufigst benuetzten Pads zusammenstellen und evtl. sogar anbieten ? Eine Eurokarte,einseitig mit X Mustern zum abbrechen wie Schokolade.... Ein Traum fuer Bastler....ein Alptraum fuer den Anbieter weil es einfach zu viele 'Groessen' gibt.

Werde wohl wieder die Lupe benuetzen oder anfangen zu zeichnen...denn all die Kondensatoren,die den Chip 'schmuecken' sollten so nahe wie moeglich am Chip haengen.

Als Oszillator benuetze ich ein 4MHz Modul,das auch dem MC den Takt angeben kann....ob ich damit eine Baudrate hinbekomme ist vorest unwichtig ,da die Anwendung normalerweise keine Datenuebertragung benoetigt....hoechstens fuer debug....aber das geht auch mit bit-bang.

Die Programmierung muss ich mir noch anschauen...Brauche Rechteck 1-10000 Hz. Ich ziehe in dem Fall Frequenz einem 4-20mA Ausgang vor weil der Kontroller eh in Frequenz arbeitet...kein Linearitaetsverlust.

Aber heute mache ich nichts mehr...
Jetzt duftet der Esstisch !

Ciao


Zurück zu „HF-Technik“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast