Impedance Converter AD5933/34

OP Persönliche Seite #1423542
Lesenswert?
• ▲
▼
Hallo,

hat jemand schon mal dem Impedance Converter AD5934 sinvolle Werte 
entlocken können? Die I2C-Programmierung des geht so leidlich. Das 
Rücklesen der Register ergibt immer den vorher reingeschriebenen Wert 
aber die Messung wird nie mit "valid real/imaginary data" beendet. In 
Abhängigkeit des Gain Faktors erhalte ich mal 00h oder 70h aus dem 
Statusregister. Beide werte machen keinen Sinn. Die Programmierung mache 
ich laut Vorschrift:

Daten Programmieren
- standby
- initialisierung
- start sweep

hier der Code dazu:

// Initialisierung AD5934
TWI_Flag := TWIout(Slave, $82,$02);               { Startfrequenz 1000 
Hz }
TWI_Flag := TWIout(Slave, $83,$0C);
TWI_Flag := TWIout(Slave, $84,$49);

TWI_Flag := TWIout(Slave, $85,$02);           { Frequenzincrement 1000 
Hz }
TWI_Flag := TWIout(Slave, $86,$0C);
TWI_Flag := TWIout(Slave, $87,$49);

TWI_Flag := TWIout(Slave, $88,$00);        Incremente 50 (1 kHz - 50 
kHz) }
TWI_Flag := TWIout(Slave, $89,$32);

TWI_Flag := TWIout(Slave, $8A,$06);                  { Settings Cycles 
x4 }
TWI_Flag := TWIout(Slave, $8B,$64);                   { 100 Messungen x 
4 }

TWI_Flag := TWIout(Slave, $81,$08);     { D3 = 1, extern Clock 
}
TWI_Flag := TWIout(Slave, $80,$B1);     { Standby Mode 
}
                                        { D9 = D10 = 0; 2 V p-p 
}
                                        { D0 = 1; PGA Gain 1 
}
TWI_Flag := TWIout(Slave, $80,$11);     { Messung initialisieren 
}
TWI_Flag := TWIout(Slave, $80,$21);     { Start Sweep 
}


TWI_Flag := TWIout(Slave,$B0,$8F);       { Command Code + Statusregister 
}
TWI_Flag := TWIinp(Slave, TWI_Status);         { lese Statusregister 8FH 
}
If TWI_Flag = true then
  TWI_Error := $FF;                                   { lesen 
erfolgreich }
  else TWI_Error := $00;                               { lesen 
fehlerhaft }
endif;


Joe
Gast #5285168
Lesenswert?
• ▲
▼
Würde den AD5933 oder AD5934 auch gerne einsetzen.

Jedoch nur für eine einzelne Frequenz.
Ist dieses sinnvoll?
Oder ist es da besser sich etwas selber zu bauen?

Phasenerkennungen die ich bisher realisiert habe mit XOR oder 
D-Flipflops und Schmitttrigger zuvor waren schon recht abhängig von den 
eingespeisten Amlituden.

Hat da jemand Erfahrung?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.