AD5290 merkwürdiges Verhalten ...

Hallo, ich habe mit einem AD5290 , Referenzspannungsquelle, sowie einem OPAMP + NPN eine einstellbare Spannungsquelle aufgebaut.

Zur Nutzung als Spannungsausgang steht im Datenblatt folgende Formel :

Vw(D) = D/256 * Va. Seite 16 Formel 3. Den rechten Teil kann ich weglassen, da ich nur eine Spannung von 12V habe, ohne negative. Terminal B also auf Masse liegt.

formatting link

Nun kommen aber leider die wunderlichsten Ergebnisse zustande :

Code 1 = 0.23V Code 2 = 0.33V Code 4 = 0.43V Code 8 = 0.64V Code 16 = 1.04V Code 32 = 1.84V Code 64 = 3.44V Code 128 = 6.66V

bis hierhin könnte ich fast damit leben... aber gebe ich nun folgendes ein :

Code 6 = 6.76V ????

wenn ich dann Code 1 eingebe , dann bleibt der Wert stehen, bei 2 wird dann wieder 0.33V ausgegeben.

Ich habe 2 Platinen, die das selbe tun. Sind die trotzdem bizarr defekt, oder bin ich einfach nur zu blöd?

Hat jemand schon diese Bauteil eingesetzt ?

Ist vieleicht mein Programm Murks? Obwohl die Datenübertragung genauso aussieht wie es laut Datenblatt sein soll.

Codeauszug :

void CLK_DAC(char val) { if ( val == 0x01 ) PORTH = PORTH | 0x08 ; else PORTH = PORTH & 0xf7 ;

}

void CS_DAC(char val) { if ( val == 0x01 ) PORTH = PORTH | 0x10 ; else PORTH = PORTH & 0xef ;

}

void SDI_DAC(char val) { if ( val != 0x00 ) PORTH = PORTH | 0x04 ; else PORTH = PORTH & 0xfb ;

}

void Set_DAC(unsigned char xval) { unsigned char i ;

CS_DAC(0) ; delay_us(10) ; CLK_DAC(0) ; delay_us(10) ;

for ( i = 0 ; i < 8 ; i++ ) {

delay_us(10) ; if ( (xval & 0x80 ) == 0x80 ) SDI_DAC(1) ; else SDI_DAC(0) ;

xval = xval

Reply to
Andreas Ruetten
Loading thread data ...

"Andreas Ruetten" schrieb im Newsbeitrag news:a7b5f$45a37015$508dd68f$ snipped-for-privacy@news1.surfino.com...

Vielleicht hilft das:

CLK_DAC(0) ; delay_us(10) ; CS_DAC(0) ; delay_us(10) ;

abgesehen vom obskuren

statt dem klaren

if ( val ) if ( val ) if ( val )

und hoffentlich ist PORTH ruecklesbar.

--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

Andreas Ruetten schrieb:

Lies doch das Schieberegister auch mal aus, zur Kontrolle ob die Daten überhaupt richtig angekommen sind.

Gruß Dieter

Reply to
Dieter Wiedmann

MaWin schrieb:

Nein leider auch nicht.... Wenn mehr als ein Bit gesetzt ist, scheint es von dem Wert der vorher übertragen wurde abhängig zu sein :

Also:

2 dann 6 -> 0.33V 5 dann 6 -> 6.76V

irgendetwas scheint die Statemachine zu verwirren.

Ja dumme Angewohnheit, erzeugt aber denselben Code.

Hmm, ist ein Mega2560, das sollte eigentlich gehen. Und am Speicheroszi sieht es ja auch OK aus.

Danke.

Reply to
Andreas Ruetten

Dieter Wiedmann schrieb:

Ok, das wird friemelig, das SDO nich angeschlossen ist , sollte aber machbar sein. Du meinst, das es ein Pegelproblem ist? Laut Datenblatt sollen 2.4V min ausreichen für ein High.

3V sinds laut oskar.

Aber ich schau mir das mal an...

Danke Andreas

Reply to
Andreas Ruetten

Dieter Wiedmann schrieb:

Das war indirekt, ein guter Tipp.

Es war nähmlich eine Durchkontaktierung die hochohmig ist. Grummel.... ( angeblich war die LP mit E-TEST ) Naja, an dem SDO hat man es dann gesehen, das da was mit der Versorgung nicht stimmt. Der Chip hat über ca. 10k Ohm (VIA) seine Verorgungsspannung bekommen . Zum arbeiten hat der sich wohl den Strom über die Schutzdioden gezogen.. Deswegen gab es wohl Abhängigkeiten mit dem übermittelnden Code.

Die Versorgungspannung habe ich natürlich gemessen, aber leider nur wenn das Programm lief, und da war alles OK.

Jetzt funzt es prima, und sogar genauer als ich gedacht hätte.

Naja, sowas kann einen ganz schön aufhalten.

Danke an alle.

Reply to
Andreas Ruetten

Andreas Ruetten schrieb:

Ärgerlich, aber du hättest dich dennoch nicht noch zusätzlich durch die Schreibweise des dritten Wortes in o.g. Satz outen müssen.;-)

Gruß Dieter

Reply to
Dieter Wiedmann

Dieter Wiedmann schrieb:

Hmm, darüber habe ich etwas gegrübelt...

Wer nämlich mit h schreibt ist dämlich?

Andreas

Reply to
Andreas Ruetten

Andreas Ruetten schrieb:

Und mit Reformschreibe ist es sowieso egal, so lange man noch verstanden wird.

Servus Christoph Müller

formatting link

Reply to
Christoph Müller

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.