Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
DDS Wobbelsender mit AD9850 und Arduino
#1
Hallo zusammen,

inspiriert von Volker Lange-Janson [url=http://www.janson-soft.de][/url]aus dem Nachbarforum und seiner Internetseite die sich mit dem Aufbau eines DDS-Messsenders beschäftigt, hier seine Seite

http://elektronikbasteln.pl7.de/ad9850-s...duino.html

möchte ich ein ähnlichen Nachbau wagen. Das DDS-Modul mit dem AD9850 ist wohl hinlänglich bekannt und es existieren verschiedene Wege der Ansteuerung. Nun ich wollte nicht das Rad neu erfinden und eigene Platinen entwerfen, Ätzen, bohren usw., denn für knapp über 10 EURO pro Platine bekommt man alles fertig von der Stange. Wer lötet da noch selbst oder sucht sich jedes Einzelteil zusammen, China machts möglich. Lediglich an der Software muss man noch selbst Hand anlegen. Wie das geht schreibt der Volker ebenfalls auf seiner Seite

http://elektronikbasteln.pl7.de/arduino-uno-r3.html

alles gar nicht so schlimm, sogar ich habe das bisher verstanden. Meine Computerkenntnisse beschränken sich dabei auf den Umgang mit Windows, ein bisschen Linux und der Programmierung von SPSen von Fahrstühlen und anderen Hebevorrichtungen, was aber auch schon einige Jahr(zehnte) her ist.

Alles nötige wie ein Arduino-Experimentierboard, ein TFT-Touch-Display und der DDS-Generator ist heute per Post gekommen. Jetzt werde ich mich mal in die Dokumentation einlesen und versuchen das alles mit "Logik" zu füllen.

   


<wird fortgesetzt>
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#2
Im Arduino-Inhaltsverzeichnis aufgenommen.
Zitieren
#3
Hallo zusammen,

ich habe mich mal mit der Arduino-Programmierung auseinandergesetzt und das Display zum Laufen bekommen.

   

Für die Programmierung benutze ich die Adafruit GFX und TFTLCD/Touchscreen Bibliothek. Es war anfangs etwas gewöhnungsbedürftig, denn um das Display im Breitformat nutzen zu können, muss das Display mit einer Rotationsanweisung gedreht werden, sodass der Koordinatenursprung wieder oben/links zum Liegen kommt. Problem: Die Rotation gilt nur für die Zeichenflächen, die Abtastfläche kann nicht einfach per Befehl gedreht werden, sprich man muss die Berührungskoordinaten des Fingers/Stifts immer wieder mathematisch transformieren. Das hat einige Zeit an Recherche erfordert, aber nun funktioniert alles.

Als nächstes muß ich das DDS Modul noch an die restlichen I/O Ports des MEGA2560 anschließen, dann geht es auch weiter mit dem eigentlichen Wobbelmodul. Das MEGA2560 hat auch noch 8 frei A/D Eingänge zur Ermittlung der Durchlasskurve eines Filters. Hier werde ich einige Versuche mit meinen HF-Tastköpfen fürs Multimeter vornehmen.
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#4
Hallo zusammen,

die Software für den DDS-Generator ist fertig, das AD9850-Modul angesteckt. Die Ansteuerung funktioniert fehlerfrei und über den Touchscreen sehr gut. Das Anschlußschema kann man auf Volkers Webseite sehen.

   

Drückt man auf den Wobbelknopf, wird die im DDS-Generator anliegende Frequenz als Mittenfrequenz genommen. Meine vordefinierten Wobbelbreiche sind 320,160,80,40,20 kHz. Für den Einsatz als Netzwerktester sind die Start- und Endfrequenz frei einstellbar, aber das kommt noch. Im Modus "Netzwerktest" sollte man dann die Ergebnisse über den USB-Anschluß des MEGA2560 an einen PC senden, wenn das geht. Das kleine TFT-Modul ist nur für Schmalbandmessungen übersichtlich genug. Die MEGA2560 hat auch noch ein Triggersignal für ein externes Oszilloskop.

Hier mal ein UKW-Filter mit einem angeschloßenen HF-Tastkopf.
   


Der Signalweg eines 455 kHz Filter habe ich hier aufgezeichnet.
   


Etwas Arbeit steckt in der Software noch drin. Aber der MEGA2560 ist auch nur um 15% gefüllt, da kann man noch viel an Funktion reinstecken.

Gruß Bernhard.

<wird fortgesetzt>
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#5
Hallo zusammen,

heute ist eine Auswahl an RF-Detektoren ICs von Analog eingetroffen. Nicht zu spät, denn mit meinen alten konventionellen HF-Tastköpfen war die Kalibrierung immer sehr aufwendig (ein Referenzwert/db).
Mit dem oben schon beschriebenen AD8307 habe ich nun einen neuen Tastkopf gefertigt, der Baustein hat eine Bandbreite von 500 MHz, einen Dynamikbereich von -75 bis + 17dbm, und liefert 25mV/db zurück. Eine Kalibrierung habe ich bei 0dbm und -60dbm am MEGA2560 vorgesehen, die Werte müssen dann allerdings in das (den?) Sketch übernommen und neu transferiert werden. Ja Benutzerfreundlichkeit sieht anders aus, aber im Moment ist es noch so.

   

Die Messungen mit dem AD8307 sehen jedenfalls sehr gut aus. Ich habe mehrere Szenarien mit Pegelreferenz, Messsender, PMR und 2m Handfunkgerät mit mehreren Sonden unternommen und war positiv überrascht, erstaunlich was der kleine Baustein kann.

Jetzt stellt sich eine Frage. AD8307 fest als Eingangs-IC des Messgerätes nutzen, damit braucht man auch nur einen Satz an Kalibrierungsdaten im MEGA2560 oder doch flexibel mit mehreren Messköpfen arbeiten? Mehrere Messköpfe haben natürlich Vorteile. Dann muss der MEGA2560 aber auch mehrere Kalibrierungsdatensätze verwalten können. Wo speichern? Das TFT Display hat auf der Rückseite noch einen SD-Kartenslot, allerdings soll dieser laut Datenblatt des Displays nur mit dem UNO R3 funktionieren, nicht jedoch mit dem MEGA2560. Kann man das Problem irgendwie umgehen? Vielleicht mit soetwas wie einem Software-UART? Die nächste Frage, wie unterscheidet das Messgerät die Messköpfe? Vielleicht ginge es automatisch mit einer Binär-kodierten Messkopfnummer, die 2 bis 3 Eingänge des MEGA2560 auf einen definierten Pegel setzt. Als Anschluß könnte dann eine 5- oder 8- polige DIN-Buchse dienen, es wird ja keine HF sondern nur noch eine Gleichspannung übertragen. Wie würdet Ihr das lösen?
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#6
Hallo zusammen,

heute habe ich weitergebastelt und mich vom Steckbrett getrennt. Der DDS erhielt eine Pufferstufe mit zwei 2N3904 in Sandwichtechnik. Softwaretechnisch habe ich noch einen Frequenzzähler implementiert, es sind ja noch genügend Pins frei. Dazu gab es noch eine Vorverstärker der ab 50mV anschlägt. In der Endfassung werde ich die Verbindungen noch richtig HF tauglich ausgestalten und die Steckleiste vom MEGA2560 entfernen, sowie die Steuerleitungenbindungen direkt mit der Platine verbinden.

Die Messköpfe werden über eine 8 (9) poligen DIN Buchse angeschlossen, die Erkennung des Kopfes erfolgt über einen Spannungsteiler an einem Analogeingang des MEGA2560.

Ich habe noch die Idee mehrere NF-Eingänge mit der Buchse zu realisieren. Je nach gemessener Frequenz kann über einen Analogschalter auf eine andere Modulationsquelle umgeschaltet werden. Somit simuliert man mit einem Sender mehrere AM-Stationen. Im Netz war noch ich die Umsetzung einer Software-FM-Modulation zu sehen. Die NF wird über einen Analogkanal gesampelt und der DDS über Software entsprechend in der Freuenz moduliert. Über die 2. oder 3. Oberwelle ist die Aussendung dann im UKW-Band zu hören. Der Code dafür ist offen, falls mal jemand soetwas mit einem Controller nachbauen möchte.

   
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#7
Ein interessantes Projekt anschaulich präsentiert. Vielen Dank.
Wenn Du mit dem Code soweit fertig bist, bin ich am Sourcecode interessiert.


Gruß
Wilhelm
Niemandes Herr, Niemandes Knecht,
so ist es gut, so ist es recht

von Fallersleben
Zitieren
#8
Hallo zusammen,

es wurde weitergebastelt. Um die verschiedenen Modulationskanaele (4 Stueck an der Zahl) auf einen physischen Modulationsanschluss am DDS-Modul herunterzubrechen, habe ich einen Analogschalter 4066 verwendet. Die Ausgaenge der 4 Schalter wurden zusammengefasst, die einzelnen Schaltimpulse kommen von noch freien Anschluessen des MEGA2560. Die logische Abbildung erfolgt dann einfach im Programm.

   

Die Modulatonskanaele koennen dann direkt auf der DDS-Einstellungsseite zu- oder weggeschaltet werden, auch ein Mischbetrieb ist moeglich.

   

Leider ist meine Telefonkamera nicht die Beste, sie hat unter den schwierigen Lichtverhaeltnissen und dem Gegenlicht des TFT-Bildschirms ihre Probleme.

Durch die Moeglichkeit jetzt verschiedene Modulationsquellen per Software zu- und weg-zuschalten, erschliesst sich die Moeglichkeit mit nur einem DDS-Modul mehrere Sender im gesamten Frequenzbereich des DDS zu simulieren. Man muss lediglich die Frequenzzaehleranwendung dahingehend erweitern, dass im Fangbereich einer bestimmten, frei waehlbaren Soll-Festfrequenz das DDS-Modul und der Modulationskanal durch die Software umgestellt wird. Die Ist-Frequenz kommt ja vom Oszillatorkreis des Radios und wird dem MEGA2560 ueber einen Vorverstaerker zugefuehrt und rechnerisch vom Betrag der Zwischenfrequenz befreit. Die Einstellungen wie ZF, Frequenz von 4 simulierten Radiostationen usw kann man bequem ueber das Touchscreen erledigen.

   
Eingabe einer Sendefrequenz einer zu simulierenden Radiostation

   
Hier zu sehen, die Simulation von 4 Radiostationen auf der Mittelwelle. Jeder Radiostation ist eine Frequenz zugewiesen, oben die aktuelle Position des Skalenzeigers an einer Ilmenau210. Der Frequenzabgriff erfolgt induktiv von außerhalb des Radios, im Bereich des Oszillatorsystems. Die ZF wird vom MEGA2560 weggerechnet.


Insgesamt ist der Speicherplatz des MEGA2560 nun zu gut 20% gefuellt. Es gibt also noch viel Platz fuer weitere Softwaremodule und Funktionen. Mal sehen was noch so kommt.
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#9
Jetzt wo ich etwas tiefer in der Arduino-Materie stecke wuerde ich folgendes beim zweiten Exemplar anders machen.

1. Arduino Nano statt MEGA2560 nehmen, 5x Nano gibt es schon fuer 15 EUR
2. Das TFT-Touchdisplay weglassen, dann reicht auch ein Nano-Board
3. Ein Bluetooth-Modul fuer 5-6 EUR statt des Displays nehmen
4. Die komplette Steuerung und Visualisierung ueber ein Smartphone oder TabletPC erledigen, die sind qualitativ doch um Zehnerpotenzen besser als das hier gezeigte Display.

Sprich das ganze Projekt liesse sich noch mal um 10-15 EUR verbilligen.
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#10
Hallo ich lese gerade meinen letzten Beitrag vom 14.01.2017. Nun stecke ich noch etwas weiter in der Microcontrollerprogrammierung drin und würde meine zukünftigen Exemplare eines solchen DDS-Wobbelsenders nocheinmal anders aufbauen.

Statt eines MEGA2560 oder eines Arduino Nano würde ich direkt einen Espressif ESP32 Controller nehmen, dieser hat neben WLAN auch Bluetooth mit an Bord. Damit würde das unter 3. genannte Bluetooth-Modul überflüssig sein. Als Display dient dann weiterhin das eines Smartphones oder TabletPCs, zusätzlich wäre eine Steuerung über das Internet/LAN aus einem Webbrowser heraus möglich. Eine Programmierung des Systems wäre weiterhin über die Arduino IDE möglich.
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#11
Sehr interessant, Bernhard,

das wird dann bestimmt DER universelle AM-Transmitter.
Viele Grüße aus Loccum, Wolfgang

Wer niemals fragt, bekommt nicht einmal ein Nein zur Antwort.

In Memorandum 2018
Zitieren
#12
Bin seit Heute  Mitglied  in  diesem Forum und habe mich mal umgeschaut. Wirklich tolle  und interessante  Beiträge hier  !!!! Danke  an  Alle die  Ihre Erfahrungen und  Ideen nicht für sich selbst behalten  !!!!  Viel Spass  Euch  allen  bei   dem  interessanten  Hobby  !!
Zitieren
#13
Na dann Willkommen im Forum Rick63! Danke für deine Zeilen.
Eine tiefergehende Vorstellung deiner Person kann, wenn gewollt, hier https://radio-bastler.de/forum/forumdisplay.php?fid=45 erfolgen.
Viel Spaß im Forum und
Grüße
Bernhard45
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Arduino Nano-SI4703-IC2 Platine Revision 2 saarfranzose 3 1.235 07.07.2020, 20:51
Letzter Beitrag: navi
  Arduino Baugruppen Daniel 0 731 09.03.2019, 13:19
Letzter Beitrag: Daniel
Lightbulb Arduino UNO R3 als Programmieradapter für PIC-Controller norbert_w 2 1.289 22.02.2018, 07:53
Letzter Beitrag: norbert_w
  NodeMCU - eine leistungsfähige Alternative zum (AVR) Arduino Bernhard45 25 3.914 05.12.2017, 21:45
Letzter Beitrag: Bernhard45
  STM32 als Alternative zum Arduino, ESP8266/ESP32, ... Bernhard45 0 995 09.08.2017, 12:59
Letzter Beitrag: Bernhard45

Gehe zu: