Digitalpoti MCP42010 keine lineare Ausgangsspannung

Gast #3808136
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
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:
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.
Gast
Ehrlich gesagt, ohne Schaltplan und Datenblatt ist das eine mühselige 
Sache und jetzt nach der Arbeit habe ich keinen Lust, das alles 
zusammenzusuchen.
Gast
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
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?
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.