Hallo, Digitalpoti ist mit +5V Versorgt. Poti-Anschlüsse an +2.5 Spannungsreferenz und GND, am Schleifer messe ich die Ausgangsspannung. Die SPI - Routinen: void SPI_INIT (void) { DDRB |= (1<<PB3)|(1<<PB5)|(1<<PB7)|(1<<PB4); SPCR |= (1 << SPE) | (1 << MSTR) | (1 << SPR0) | (1 << CPOL) | (1 << CPHA); //SPI enable,as Master,MSB first,CLK/16,Mode3 SPCR &=~(1<<DORD); PORTB |= (1 << PB7)|(1 << PB3); PORTB&=~(1<<PB4); } void SPI_WORD (char data1, char data2) { SPI_INIT(); PORTB|=(1<<PB4); PORTB|=(1<<PB7); //SCK PORTB|=(1<<PB5); //MOSI PORTB &=~(1<<PB3); //CS SPDR = data1; while(!(SPSR & (1<<SPIF))); SPDR = data2; while(!(SPSR & (1<<SPIF))); PORTB|=(1<<PB3); //CS PORTB &=~(1<<PB7); //SCK PORTB &=~(1<<PB5); //MOSI } main: SPI_WORD(0b00010001,Offset); Offset kann über Tastatur von 0 - 255 in 5er - Schritten hochgezählt werden) Ich lass mir jetzt am Display den Offset-Wert anzeigen, also 0 - 255, das funktioniert Bei 0 = 0V, Bei 255 = 2.46V also oke. In der (fast) Mitte bei einem Offset - Wert von 130 messe ich aber nicht ca. 1.2 sondern nur 1V. Also einen Fehler von ca. 200mV Das ganze ist überhaupt nicht linear.. An was kann das liegen? liebe Grüße
Ich vermute dass es an den "wiper resistance" und den inneren Wiederstand des Messgerätes liegen kann.
Meinst du das? Kann mir das jemand näher erklären bzw. was kann ich dagegen tun? Irgent eine Mathematische Lösung? Einfach +200mV Rechnen geht ja in den äußerden Einstellungen nicht mehr, weil die ja stimmen. Ich addiere nämlich später -1.25V dazu und habe meinen gewollten 0V Punkt leider genau dort wo es am ungenausten ist..
Hi, was hängt denn da am Poti (wiper-I)? Das Messgerät dürfte mit > 1MOhm keinen Einfluss haben. Hast Du aber einen belasteten Spannungsteiler, hilft Dir evtl. ein Impeanzwandler (OpAmp)weiter. Du solltest aber vorsichtshalber einmal mehrere Stützstellen aufnehmen.
Ehrlich gesagt, ohne Schaltplan und Datenblatt ist das eine mühselige Sache und jetzt nach der Arbeit habe ich keinen Lust, das alles zusammenzusuchen.
Im Anhang ist ein "Schaltplan". Der Schleifer des Digitalpoti entspricht dem "0-2.5V einstellbar". Also hängt im Grunde nur ein Addierer dahinter. Dadurch entsteht ein belasteter Spannungsteiler und verfälscht meine Ausgangsspannung oder? Ich werde mal versuchen einen Impedanzwandler dazwischen zu schalten.
Wenn du den Strom ausrechnest, der über deinen Widerstand zum invertierenden Eingang deines ersten OPs fließt, siehst du, dass der Summenwiderstand (10k + 25k*x) im Nenner steht. Warum sollte das linear zu dem Widerstand deines Digitalpotis sein?
Ich habe einen Sinus dieser kann zwischen 1-3.5v eingestellt werden (op1). op2 macht dann den einen Offset dazu. -1.25 bis 1.25 Offset weil -1.25 sind fix und 0-2.5 gib ich mit dem Dig.Poti an
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.