Funktionen der Library MyMCP4725


MyMCP4725 MyMCP4725

MyMCP4725 MyMCP4725(byte i2cAdd)

Funktion: Erzeugt eine neue Instanz

Parameter: i2cAdd: I2C-Adresse des Bauteils

                 MCP4725_I2CADD_DEFAULT : I2C-Adresse ohne Beschaltung von Pin A0 (= 0x62)

                 MCP4725_I2CADD_A0_VDD  : I2C-Adresse mit Beschaltung von Pin A0 mit VDD (= 0x63)

Bemerkung: Ohne Angabe der I2C-Adresse wird die Default-Adresse 0x62 verwendet.

Beispiel:

MyMCP4725 DAC; //I2C-Adresse ist 0x62

MyMCP4725 DAC(MCP4725_I2CADD_A0_VDD); //I2C-Adresse ist 0x63


bool isReady(void)

Funktion: Überprüft, ob der DAC über die I2C-Schnittstelle ansprechbar ist

Parameter: keine

Rückgabe: TRUE, wenn Sensor ansprechbar ist, sonst FALSE

Bemerkung: Die Funktion prüft nur, ob in einem I2C-Bus der Bauteil ansprechbar bzw. vorhanden ist. Es wird vorausgesetzt, dass der I2C-Bus technisch prinzipiell funktioniert (keine offenen Busleitungen, Pullup-Widerstände richtig, kein Kurzschluss oder Masseschluss, etc.).


void setRefVoltage(float vRef)

Funktion: Setzen der Referenzspannung

Parameter: vRef: Referenzspannung [V]

Rückgabe: keine

Bemerkung: Der MCP4725 verwendet als Referenzspannung Vref die Versorgungsspannung VDD des DAC. Das bedeutet, dass Werte im DAC-Register (0 bis 4095) als Spannungswerte zwischen 0 V und Vref ausgegeben werden. Da die Library aber auch die Vorgabe des auszugebenen Spannungswertes in Volt ermöglicht, muss der Library der Referenzspannungswert bekannt sein. Standardmäßig sind in der Library dafür 5,0 V vorgegeben. Bei abweichender Versorgungsspannung oder zur Erhöhung der Genauigkeit bei der Berechnung des 12-Bit-DAC-Registerwertes aus dem Wert der auszugebenden Spannung kann die Referenzspannung daher vorgegeben werden.

Beispiel:

DAC.setVoltage(5.073); //Versorgungsspannung VDD des DAC

 

void setVoltageFast(int wert)

Funktion: Setzen des Wertes des DAC-Registers (= Ausgabe am Vout-Pin) im Fast-Mode, EEPROM bleibt unverändert

Parameter: wert: Ausgabewert als 12-Bit-Wert (0 <= wert <= 4095)

Rückgabe: keine


void setVoltageFast(float wert)

Funktion: Setzen des Wertes des DAC-Registers (= Ausgabe am Vout-Pin) im Fast-Mode, EEPROM bleibt unverändert

Parameter: wert: Ausgabewert als Spannung (0 V <= wert <= 5,000 V bzw. <= Referenzspg.)

Rückgabe: keine


void setVoltage(int wert)

void setVoltage(int wert, bool eepromWrite)

Funktion: Setzen des Wertes des DAC-Registers (= Ausgabe am Vout-Pin) im Normal-Mode, das EEPROM kann optional beschrieben werden

Parameter: wert: Ausgabewert als 12-Bit-Wert (0 <= wert <= 4095)

                 eepromWrite: MCP4725_WRITE_EEPROM: der Wert wird auch ins EEPROM geschrieben

                                       MCP4725_NO_EEPROM: der Wert wird nicht ins EEPROM geschrieben

Rückgabe: keine

ACHTUNG!! Das EEPROM kann lt. Datenblatt ca. 1 Million mal beschrieben werden. Daher Vorsicht mit dem Einsatz von "WRITE_EEPROM"

Beispiel:

int wert = 2000;

DAC.setVoltage(wert); //Dert Wert wird nur ins DAC-Register geschrieben

DAC.setVoltage(wert, MCP4725_WRITE_EEPROM); //oder zusätzlich auch ins EEPROM

 

void setVoltage(float wert)

void setVoltage(float wert, bool eepromWrite)

Funktion: Setzen des Wertes des DAC-Registers (= Ausgabe am Vout-Pin) im Normal-Mode, das EEPROM kann optional beschrieben werden

Parameter: wert: Ausgabewert als Spannung (0 V <= wert <= 5,000 V bzw. <= Referenzspg.))

                 eepromWrite: MCP4725_WRITE_EEPROM: Der Wert wird auch ins EEPROM geschrieben

                                       MCP4725_NO_EEPROM: Der Wert wird nicht ins EEPROM geschrieben

Rückgabe: keine

Bemerkung: Die Umrechnung der Ausgabespannung zum 12-Bit-Wert des DAC-Registers erfolgt standardmäßig mit einer Referenzspannung von 5,0 V. Weicht die Referenzspannung davon ab, kann diese mit der Funktion setRefVoltage() angepasst werden.

ACHTUNG!! Das EEPROM kann lt. Datenblatt ca. 1 Million mal beschrieben werden. Daher Vorsicht mit dem Einsatz von "MCP4725_WRITE_EEPROM"

Beispiel:

float wert = 2.5; //Einheit: Volt

DAC.setVoltage(wert); //Der Wert wird nur ins DAC-Register geschrieben

DAC.setVoltage(wert, MCP4725_WRITE_EEPROM); //oder zusätzlich auch ins EEPROM


unsigned int readRegister()

Funktion: Auslesen des Inhalts aus dem DAC-Register

Parameter: keine

Rückgabe: Inhalt des DAC-Register


unsigned int readEEPROM()

Funktion: Auslesen des Inhalts des EEPROMs

Parameter: keine

Rückgabe: Defaultwert (=0x800) oder letzter im EEPROM gespeicherter DAC-Wert


bool mode(byte mode)

Funktion: Setzen des Modus des DAC auf Normalbetrieb oder Schlafmodus (Power-Down-Modus)

Parameter: mode: MCP4725_NORMAL_MODE: Normalmodus (Default-Einstellung)

                            Power-Down-Modus:

                            MCP4725_POWER_DOWN_1K    : Vout-Pin über 1 kOhm auf Masse

                            MCP4725_POWER_DOWN_100K: Vout-Pin über 100 kOhm auf Masse

                            MCP4725_POWER_DOWN_500K: Vout-Pin über 500 kOhm auf Masse

Rückgabe: TRUE, wenn mode richtig gesetzt wurde, sonst FALSE

Beispiel:

DAC.setMode(MCP4725_POWER_DOWN_1K);


Zur Library DAC MCP4725