Digitalpoti MCP42010 keine lineare Ausgangsspannung

Gast #3808136
Lesenswert?

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
Gast #3808631
Lesenswert?

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..
Angehängte Dateien:
Gast #3808741
Lesenswert?

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.
Angehängte Dateien:
Gast #3808749
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren