Go Down

Topic: AD9850 Shield Frequenz Generator (Read 5618 times) previous topic - next topic

alhin

Oct 28, 2012, 11:34 pm Last Edit: Dec 18, 2012, 12:02 am by alhin Reason: 1
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?

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?
Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

kurti

#2
Nov 16, 2012, 09:58 am Last Edit: Nov 16, 2012, 10:02 am by kurti Reason: 1
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
Zitat Jurs: falsche Verkabelung ist sowieso immer wenig förderlich für das Funktionieren der Hardware



hier könnte Ihre Werbung stehen

mkl0815

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.

hk007

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.
Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

alhin


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/


alhin

#6
Nov 16, 2012, 10:36 pm Last Edit: Nov 16, 2012, 10:44 pm by alhin Reason: 1

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 : http://fab.fritzing.org/fritzing-fab/pricing
+ 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.

Udo Klein

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?
Check out my experiments http://blog.blinkenlight.net

alhin


Die Buchsen sind mechnisch nicht optimal plaziert. Ggf. wird Drehmoment fast nur von den Lötpunkten aufgenommen.


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.

alhin


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?


siehe hier:  BILD

Udo Klein

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.
Check out my experiments http://blog.blinkenlight.net

alhin

#11
Nov 17, 2012, 04:25 pm Last Edit: Nov 17, 2012, 04:28 pm by alhin Reason: 1
Ja, die Platine ist 2-lagig. Die Leiterbahnen sind durch Autoroute Funktion von Fritzing erstellt worden. Es kommt dann halt sowas raus. :-)

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

hk007

#12
Nov 22, 2012, 08:13 pm Last Edit: Nov 22, 2012, 08:22 pm by hk007 Reason: 1
Hi,

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

Code: [Select]
#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 [font=Verdana]AD9850.wr_serial(0x0, 1000)[/font]
Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

alhin

#13
Nov 22, 2012, 08:46 pm Last Edit: Nov 22, 2012, 08:48 pm by alhin Reason: 1
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 : http://www.elecfreaks.com/2110.html

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

AH_AD9850.h Funktionen
Code: [Select]


//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);

         

hk007

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
Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

Go Up