Forum: Mikrocontroller und Digitale Elektronik AD5575 als Stromsteller


von Marcel (Gast)


Lesenswert?

Hallo,

ich würde gerne den AD5575 als Stromsteller (0...20mA) benutzen. Leider 
bekomme Ich den Baustein nicht programmiert und kann auch nicht weiter 
verifizieren, woran es liegt. DCDC-Wandler scheint richtig zu 
funktionieren, zumindest Messe ich an VBoost 7,4V (Stromausgang disable) 
bzw. 15V (Spannungsausgang disable).
Die Register per SPI kann ich programmieren und auch wieder auslesen. An 
der Kommunikation sollte es daher nicht scheitern.

Kennt wer den Baustein und kann mir da helfen? Nachfolgend mein Code 
(DUT_AD = 00, SPI-Mode = 1).

// Reset (0x555 ins SoftwareRegister schreiben)
spiwrite(0x1C9555);

// ToggleBit im StatusRegister setzen
spiwrite(0x1C9000);

// DCDC-Register
spiwrite(0x1F6034); // (internal 150kOhm Resistor, clock 90°, 410kHz, 
23V max. VBoost)

// MainControlRegister
spiwrite(0x1C2000); // DAC_A (POC normal, STATREAD disable, WATCHDOG 
disable, ShortCircuitLimit = 16mA, OUTEN_ALL disable, DCDCD_ALL disable)

// DACControlRegister (output disables)
spiwrite(0x1C4115); // DAC_A (INT_ENABLE, Channel not cleared, output 
disables, internal resitor, DCDC power on, overrange disabled, 0...20mA)

// Analog = D * (M + 1) / 2^16 + C - 2^15

// M = Gain
// C = Offset
// D = Data

// 0.001A = D * (M+1)/2^16  --> M = 0 --> Feinste Aufloesung
// D = 0.001 * 2^16 / 1
// D = 65 = 0x41

// DACGainRegister (Gain = 1)
spiwrite(0x080000); // DAC_A

// DACOffsetRegister (Offset = 2^15)
spiwrite(0x108000); // DAC_A

// DACDataRegister
spiwrite(0x000041); // DAC_A

lcd_delay_us(200);
lcd_delay_us(200);

// DACControlRegister (output enables)
spiwrite(0x1C4155); // DAC_A (INT_ENABLE, Channel not cleared, output 
enables, internal resitor, DCDC power on, overrange disabled, 0...20mA)

while(1)
{
  spiread(0x980000);
}

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
Noch kein Account? Hier anmelden.