DAC (AD7715AN-5) elmászik - tippetek van?

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
nygy
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. május 12. vasárnap, 19:42

DAC (AD7715AN-5) elmászik - tippetek van?

Hozzászólás Szerző: nygy »

Sziasztok,
Szerintetek ha egy DAC (AD7715AN-5) az alábbi lejtős jelet produkálja a Duino/R3 MISO portján, akkor gondolhatom azt, hogy valamelyikük cserére érett?

Üdv,
Gyuri
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: SPI busz

Hozzászólás Szerző: Robert »

Nem. Két opció van:
- külső referencia elmászik
- kapacitív töltés viccel meg....


A DAC referenciája hogy néz ki?
Mit küldesz ki a programmal? - nem e ott téved valami el....
Avatar
nygy
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. május 12. vasárnap, 19:42

Re: SPI busz

Hozzászólás Szerző: nygy »

Robert írta: Nem. Két opció van:
- külső referencia elmászik
- kapacitív töltés viccel meg....
A DAC referenciája hogy néz ki?
Mit küldesz ki a programmal? - nem e ott téved valami el....
+ Megnéztem a DAC REF IN(+) bemenetét, stabilan áll a tervezett 2.5V-on, amint a képen is látszik.
+ A kapacitív töltés viccelése ellen mi a teendő?
+ Az SPI-t kezelő rész a lehető legegyszerűbb:

Kód: Egész kijelölése

#include <SPI.h>
int dataReadyPin = 9;     // data ready pin
int slaveSelectPin = 10;  // slave select pin
byte dataToSend;
byte inByteHigh;
byte inByteLow;

void setup()  {
  pinMode(dataReadyPin, INPUT);
  pinMode(slaveSelectPin, OUTPUT);
  SPI.begin();
  SPI.setBitOrder(MSBFIRST);
  SPI.setDataMode(SPI_MODE3);
  digitalWrite(slaveSelectPin,LOW);
  dataToSend = 0b00010000;      //comm. regiszterbe: setup iras jon, gain=1
  SPI.transfer(dataToSend);
  dataToSend = 0b01100100;      //setup regiszterbe: self calibration, 50Hz, unipolar, unbuffered, nosync
  SPI.transfer(dataToSend);
  digitalWrite(slaveSelectPin,HIGH);
}

void loop() {
  if (digitalRead(dataReadyPin) == LOW) {
    Serial.println("DRDY");
    digitalWrite(slaveSelectPin,LOW);
    dataToSend = 0b00111000;         //comm. regiszterbe: data olvasás jon, gain=1      
    SPI.transfer(dataToSend);     
    inByteHigh=SPI.transfer(0);       //olvasas a data regiszterbol
    inByteLow=SPI.transfer(0);        //olvasas a data regiszterbol
    digitalWrite(slaveSelectPin,HIGH);
    delay(100);
    }
}
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: DAC (AD7715AN-5) elmászik - tippetek van?

Hozzászólás Szerző: Robert »

Morgás on: a Téma sem nem Bascom és lassan nem is SPI :twisted: :roll: 8O

De hogy értelmes is legyek:
- a program kinéz, de nem ad érdemi információt.
- De hol írod ki az eredményt?
- Belső autocount nincsen?

Kapcsolási rajz/vázlat nincs?
A NYÁK a gyantától le lett mosva?
Avatar
nygy
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. május 12. vasárnap, 19:42

Re: DAC (AD7715AN-5) elmászik - tippetek van?

Hozzászólás Szerző: nygy »

Elnézést kérek, a morgás jogos, megörültem az SPI topiknak és csak később esett le, hogy nem ez a legjobb hely a kérdésemnek.
A programból csak a releváns részeket másoltam ide, a mérési adatok feldolgozásán nem múlhat a DAC működése. :)
Egyébként fejlesztés közben a soros porton iratom ki a SPI buszon közlekedő adatokat + oszcilloszkópon ellenőrzöm, ott tűnt fel a második beolvasott byte rendellenessége.
A kapcsolás is igen egyszerű, az adatlapon lévő példát építettem meg egy dugdosós panelen. Minden az ott leírtak szerint működik, kivéve, hogy az adat regiszter olvasása a fenti furcsa eredményt adja. Ezért gyanakodtam hw hibára.
Amit még észrevettem, hogy a véletlenszerűen megjavul a dolog és egy ideig az utolsó bit után szépen logikai 0 szinten marad a MISO vezeték, aztán megint jön a lejtő. :?
Vajon mi a tipikus tönkremenetele ezeknek az IC-knek?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: DAC (AD7715AN-5) elmászik - tippetek van?

Hozzászólás Szerző: Robert »

Dugdosós panel. Maga egy kapacitáshalmaz...

16bites eszköz - itt még a tápfeszültségszűrés is kellene...
A hálózati 50Hz elnyomása be van kapcsolva?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: DAC (AD7715AN-5) elmászik - tippetek van?

Hozzászólás Szerző: Robert »

Még 1 tipp: a bemenetet fix tápra, fix GND-re, ill fixen ref-re kötöd (na jó, 1 k ellenálláson át).
Ekkor mit művel?
Avatar
nygy
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. május 12. vasárnap, 19:42

Re: DAC (AD7715AN-5) elmászik - tippetek van?

Hozzászólás Szerző: nygy »

Kipróbáltam mindent:
- egy 9V-os elemről tápláltam meg külön feszültségstabilizátorokkal az analóg és a digitális részeket,
- bekapcsoltam a DAC bufferelését,
- beállítottam a beépített digitális szűrőt,
- raktam szűrő kondenzátorokat ahol csak volt értelme.
Aztán elővettem egy másik, ugyanilyen típusú ADC-t és azzal kipróbáltam mindezt.
Az eredménye az, hogy a LSB értéke és az olvasás után a MISO értéke továbbra is ugrál 0 és 5V között, de ezt leszámítva a mérés egész pontos lett. :)
Végigpróbálgattam a szélsőértékeket, GND esetén: 0x00 , REF.IN+ esetén pedig 0xFFFE jön ki a konverterből, aztán precíziós potméterrel végigtekertem az egész mérési tartományt és pár ponton összevetettem a kézzel kiszámolt értékeket a mérési eredménnyel, az is rendben lévőnek tűnik.
Beletörődök, hogy ez ilyen. :)

Köszönöm a tippeket, sokat segítettek az összerakásban!

Üdv,
Gyuri
Avatar
nygy
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. május 12. vasárnap, 19:42

Re: DAC (AD7715AN-5) elmászik - tippetek van?

Hozzászólás Szerző: nygy »

Abban még bízok, hogy majd a végleges nyákon megszűnik az ugrálás. 8)
Válasz küldése