AD9850 Shield Frequenz Generator

Habe mal ein Shield für AD9850 Modul zusammengestellt. Dieser kann bis zu 20MHz Sinus- und Rechtecksignal erzeugen.

LINK: AD9850 Shield

Was haltet Ihr davon?

Hi,
interessant. Aber Rechteck geht, so viel ich weiß, bis max. 1MHz

  • Wozu ist denn der 74HC14?
  • zum PCB: Gibts da ein Layout (Eagle oder so?). Oder ist die Platine käuflich erwerbbar?

Hallo,

Du könntest noch dabei schreiben, dass diese Shields bei Ebay verkauft werden.
( 110974009239 )

Anscheinend sollen wir Entwicklungsarbeit leisten, um den Verdienst zu erhöhen.

Gruss

Kurti

hmm und dann auch noch als privater Verkäufer ohne Gewährleistung. bei einzelnen Sets /Shields etc. ist das ja ok. jeder hat mal Kram übrig.
Aber allein in der Artikelübersicht der Bewertungen findet sich 8 Mal das Starterset und 4 Mal das 1.8" TFT Display Shield.
Das sieht nicht mehr nur nach Privatverkauf aus, hier drückt sich offensichtlich jemand um die Gewährleistung und alle anderen Verpflichtungen gewerblicher Verkäufer.

Aha,
bei ebay werden die Dinger verkauft.

Na ja: 24,-€. Stolzer Preis. Das Modul kostet keine 5Euro. Da werd ich mir wohl selber was zusammenstricken.

hk007:
Hi,
interessant. Aber Rechteck geht, so viel ich weiß, bis max. 1MHz

  • Wozu ist denn der 74HC14?
  • zum PCB: Gibts da ein Layout (Eagle oder so?). Oder ist die Platine käuflich erwerbbar?

Ja, Rechteck-Signal geht nominal bis 1Mhz, danach sehen die Ecken nicht mehr danach aus.

74HC14N ist der Schmitt Trigger, um aus 1V Sinus, 5V Impuls zu erzeugen. Dann kann man über D5 Pin die Frequenz zählen. Siehe Beispiel hier:
http://interface.khm.de/index.php/lab/experiments/arduino-frequency-counter-library/

kurti:
Hallo,

Du könntest noch dabei schreiben, dass diese Shields bei Ebay verkauft werden.

Ich habe 3 Platinen bei Fritzing bestellt gehabt. Je mehr man bei denen bestellt, um so günstiger wird es pro Platine.
Siehe hier die Preistabelle : Your Fritzing Sketch manufactured by AISLER

  • MWST
  • Checkkosten
  • Versandkosten

Für ein PCB Shield kommt schell über 25€ zusammen. Und das ist nur die Platine!

Ich brauche nur ein Shield für mich, die anderen zwei habe ich bei Ebay verkauft.

Die Buchsen sind mechnisch nicht optimal plaziert. Ggf. wird Drehmoment fast nur von den Lötpunkten aufgenommen. Davon abgesehen wäre es nett wenn Du Dein Layout so offenlegst, daß man es erkennen kann. Wie glaubst Du soll man eine Leiterbahnführung beurteilen wenn alles grau in grau ist?

Da hast Du natürlich Recht, man müsste die Platine nach hinten hin vergrößern, damit die BNC-Buchsen voll aufliegen können. Ich wollte aber alles auf einer Standardplatinengröße unterbringen.

siehe hier: BILD

Wenn Du die Schraubklemmen auf die Seite plaziert hättest, dann wäre Platz für die Buchsen gewesen. Weiterhin ist Deine Leiterbahnführung nicht optimal. Such mal im Netz nach "avr emc design considerations". Wie es aussieht stehst Du auf rechtwinklige Leiterbahnen, bei höheren Frequenzen ist das nicht so gut. Außerdem sieht es so aus als hättest Du keine Groundplane. Allerdings sieht es so aus als wäre die Platine 2-lagig gefertigt. Dann hättest Du den Abblockkondensator auch auf die Rückseite in die Mitte der Versorgungsanschlüsse des ICs packen können. Weiterhin sind einige der Leiterbahnen länger als nötig und öfter abgeknickt als nötig.

Ja, die Platine ist 2-lagig. Die Leiterbahnen sind durch Autoroute Funktion von Fritzing erstellt worden. Es kommt dann halt sowas raus. :slight_smile:

Das mit der Kondensatorposition ist eine gute Idee. Danke Udo.

Hi,

hab mal so ein Modul an meinen Arduino geklemmt.
Mit dem Demo-Sketch von Alhin bekomme ich nur Sinus aus dem Modul.

#include <EF_AD9850.h>


//BitData - D8, CLK - D9, FQUP - D10, REST - D11
EF_AD9850 AD9850(9, 10, 11, 8);

void setup()
{
  AD9850.init();
  AD9850.reset();
  AD9850.wr_serial(0x0, 1000); // 1000Hz
}

void loop(){
}

Die Kommunikation des Ardiuno zum Modul ist OK, da die gemessene Frequenz zu den gesendeten (verschiedenen) Werten stimmig ist.
Was bedeutet denn das 0x0 bei dem Befehl AD9850.wr_serial(0x0, 1000)

Wenn Du kein Rechtecksignal siehst, dann steht der Poti für Puls-Pausen-Verhältnis im Anschlag. Wenn Du 0V kontinuerliches Signal hast, dann ist duty cycle bei 0%. Falls 5V, dann ist er bei 100% duty cycle.

Das Beispiel welches Du benutzt hast, nutzt Bibliothek von dieser Seite : DDS-AD9850 + Open oscilloscope - Lxardoscope - Blog

Versuch doch den Code von mir:
Beispiel .ino
AH_AD9850 Arduino Library

AH_AD9850.h Funktionen

//Objekt deklaration
AH_AD9850(int CLK, int FQUP, int BitData, int RESET);

//Funktionen
void reset();
void powerDown();
void set_frequency(boolean PowerDown, byte Phase, double Freq);
void set_frequency(double Freq);

Hi alhin,

danke für deine Hilfe. Das mit dem Poti hab ich eigentlich schon probiert.
Auch mit deinem Code lief es anfangs nicht. Aber nachdem meine und deine Software nicht lief, hab ich mir noch einmal das Poti vorgenommen. Und siehe da, es war doch die Fehlerquelle.
Sieht aus, als ob es falsch dimensioniert ist. Über nahezu den ganzen Bereich hab ich kein Signal. Nur so auf die letzten 10% kann man das Puls-Pausenverhältnis einstellen.
Ist das bei dir auch so? Welchen Wert hat dein Poti?

Muss das eigentlich über ein Poti eingestellt werden? Kann man das nicht über einen Analogausgang des Arduino steuern?

gruß/hk007

hk007:
Sieht aus, als ob es falsch dimensioniert ist. Über nahezu den ganzen Bereich hab ich kein Signal. Nur so auf die letzten 10% kann man das Puls-Pausenverhältnis einstellen.
Ist das bei dir auch so? Welchen Wert hat dein Poti?

Es ist bei mir genauso. Entweder liegt es an der falschen Dimensionierung, oder der IC kann erst ab dieser Mindestgrenze arbeiten.
Ich kann bei mir zwischen 10% und 90% PPV einstellen.

hk007:
Muss das eigentlich über ein Poti eingestellt werden? Kann man das nicht über einen Analogausgang des Arduino steuern?

Es kommt drauf an, welches Modultyp Du hast.

Dieser hier bietet keine Anschlüsse für die Steuerung von DutyCycle

Bei diesem gibt es welche.

Hi Alhin,

Es kommt drauf an, welches Modultyp Du hast.

Dieser hier bietet keine Anschlüsse für die Steuerung von DutyCycle

Also ich hab das erste Modul.
Aber auch wenn da keine Anschlüsse sind, dann wird das Poti wohl nix anderes machen, als eine Spannung zwischen 0..5V an den Eingang geben.
Das kann ich ja auch mit einem Analogausgang. Muss halt nur das Poti auslöten, und am Schieberkontakt die Spannung anlegen.
... Denk ich mir halt mal so.....

Du hast doch das selbe Modul auf deinem Shield. Gibts dazu irgendwo einen Schaltplan?

gruß/hk007

Der Arduino hat keinen "Analogausgang". Es gibt nur PWM Ausgänge.

oh oh, ich glaub ich muss die Pillen tauschen 8)
Wo bin ich manchmal mit meinen Gedanken......

Mach DIr nichts draus, das Arduino Team nimmt die gleichen Pillen. Ich sag nur "analogWrite" :wink: