LTC1655 mit Arduino

LTC1655

Der LTC1655 ist ein 16-Bit Rail-to-Rail DAC in einem SO-8 oder DIP-8 Gehäuse. Bei Verwendung der internen Referenzspannung, beträgt der Ausgangsspannungsbereich 0 V bis 4,096V.
Die Versorgungsspannung sollte im Bereich zwischen 4,5 V … 5,5 V liegen.


Berechnen des kleinsten Spannung bei 16-Bit

16 Bit => 2^16 => 65536 DEC
Die maximale Ausgangsspannung des DAC beträgt: 4,096 V
0 V ....... 0 DEC
4,096 V ... 65536 DEC

Berechnung der kleinsten Spannung:

4,096 V / 65536 = 62,5 µV

Die kleinste Spannung beträgt somit: 62,5 µV


Welchen DEC-Wert benötigt man für eine Ausgabe von 0,1 V?

    \[\frac{0,1 V}{62,5 \mu V} = 1600\]

1600 sind 0,1 V


Schaltplan


Steckbrett


Arduino Code

// Arduino Example for LTC1655
// (c) R.Trapp / romantrapp.at

#include <SPI.h>

const int slaveSelect = 11;

void setup() 
{
  Serial.begin(9600);
  SPI.begin();
  SPI.setDataMode (SPI_MODE0);  //Mode 0: CPOL=0, CPHA=0 / (0,0)
  pinMode(slaveSelect, OUTPUT);
  ADC_Set(0,0);
}

void loop() 
{
  for(unsigned int i = 0; i < 41; i++)   // 0.1V Schritte bis 4.000V (1600*40*62.5E-6 = 4.000V)
  {
    ADC_Set(1600,i);  // 0.1V
    delay(300000);    // 5 Minuten
  }
}

void ADC_Set(unsigned int Wert, unsigned int Faktor)
{
  if (( Faktor < 4100) && ( Faktor >= 0))
  {  
    MSB = highByte(Wert*Faktor);
    LSB = lowByte(Wert*Faktor);
    digitalWrite(slaveSelect,LOW); // Slave waehlen
    SPI.transfer(MSB);  // MSB
    SPI.transfer(LSB);  // LSB
    digitalWrite(slaveSelect,HIGH); // Slave deaktivieren
    delay(10);
  }
  else
  {
    Faktor = 0;
  }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.