Fórum témák

» Több friss téma
Fórum » PT1000 illesztése
 
Témaindító: ciw, idő: Jan 7, 2013
Témakörök:
Lapozás: OK   2 / 2
(#) ciw válasza proli007 hozzászólására (») Jan 10, 2013 /
 
Szerintem ott lesz a kutya elásva, amit mondtam a kiolvasással kapcsolatban. Ha inicializálom az AD-t akkor (az RDY lába szépen megy 50Hz-el, tehát a konverter megy), ah a reset lábat nem piszkálom és a PIC-et lelövöm, akkor az RDY jel továbbra is jön, tehát az AD szabadonfutó, ugyhogy az adatot az RDY láb billenése után mihamarabb ki kéne olvasnom.

Ez szoftweres rutinnal működik, de HW SPI-vel nem is éled fel az AD.

It a szoftweres lebutított, rutin, amivel megy az AD.

  1. BYTE AD7705WriteData(unsigned char byteword)  
  2. {  
  3.        
  4.     unsigned char i,k=byteword,l=0;  
  5.  
  6.         Delay(100);
  7.     AD_CS = 0;  
  8.     Delay(100);
  9.         AD_SDO=0;
  10.  
  11.     for(i = 0; i < 8; i++)  
  12.     {  
  13.  
  14.             if (k&0x80)
  15.                         {
  16.                  AD_SDO = 1;
  17.                         }        
  18.                 else
  19.                 {
  20.                         AD_SDO=0;
  21.                 }      
  22.             Delay(100);
  23.             AD_SCL = 0;  
  24.         Delay(100);
  25.         AD_SCL = 1;
  26.         Delay(100);  
  27.         k <<= 1;
  28.         l<<=1;
  29.         if (AD_SDI==1) l+=1;
  30.        
  31.     }  
  32.    AD_SDO=1;
  33.    Delay(100);
  34.     AD_CS = 1;    
  35.    return l;
  36. }


Itt meg a HW SPI initje és Write rutinja, amikkel meg sem mozdul az AD:

A PIN MAPPING:
  1. __builtin_write_OSCCONL(OSCCON & 0xbf); //clear the bit 6 of OSCCONL to unlock Pin Re-map
  2.        
  3.         RPOR4bits.RP9R = 10;   // SDO2 uses pin RP15      
  4.         RPOR2bits.RP5R = 11;    // SCK2 uses pin RP5      
  5.         RPINR22bits.SDI2R = 8; // SDI2 uses pin RP8
  6.        
  7.         __builtin_write_OSCCONL(OSCCON | 0x40); //set the bit 6 of OSCCONL to lock Pin Re-map


Az Init:

  1. void SPI2Init(void)
  2. {
  3.  
  4.    
  5.         TR_ADCS = 0;   // Drive SPI Flash chip select pin
  6.         TR_ADRST=0;
  7.         TR_ADSDO=0;
  8.         TR_ADSDI=1;
  9.         TR_ADSCL=0;
  10.         TR_ADRDY=1;
  11.         AD_CS = 1;
  12.        
  13.         SPI2CON1 = 0;      
  14.    SPI2CON2 = 0;      
  15.    SPI2STAT = 0;      
  16.  
  17.         SPI2CON1bits.DISSCK = 0;        //Internal spi clock enable
  18.         SPI2CON1bits.DISSDO = 0;        // SDO pin Disable
  19.         SPI2CON1bits.MODE16 = 0;        // 8bit mode
  20.         SPI2CON1bits.SMP = 1;           // 1=END; 0=MIDDLE SPIx Data Input Sample Phase bit
  21.         SPI2CON1bits.CKE = 0;           // SPIx Clock Edge Select bit
  22.         SPI2CON1bits.SSEN = 0;          // Slave Select Enable (Slave mode) bit
  23.         SPI2CON1bits.CKP = 1;           // Clock Polarity Select bit
  24.         SPI2CON1bits.MSTEN = 1;         // Master Mode Enable bit
  25.        
  26.         SPI2CON1bits.SPRE2 = 0;         // Secondary Prescale bits (Master mode)
  27.         SPI2CON1bits.SPRE1 = 0;
  28.         SPI2CON1bits.SPRE0 = 0;
  29.        
  30.         SPI2CON1bits.PPRE1 = 0;         // Primary Prescale bits (Master mode)
  31.         SPI2CON1bits.PPRE1 = 0;
  32.        
  33.    SPI2CON2 = 0;      
  34.         IFS0bits.SPI1IF = 0;
  35.    SPI2STATbits.SPIEN = 1;  
  36.  
  37. }


És az írás olvasás:

  1. unsigned char AD7705WriteData(unsigned char data)
  2. {
  3.     unsigned char Dummy=0;
  4.    
  5.     AD_CS = 0;
  6.     Delay(100);
  7.     Delay(100);
  8.     AD7705_SSPBUF = data;
  9.    //  while(!SPI2STATbits.SPITBF);  
  10.    WaitADForDataByte();
  11.     Dummy = AD7705_SSPBUF;
  12.     AD_CS = 1;
  13.     return Dummy;
  14. }


A többi egyéb egyforma, mégis SW SPI megy HW SPI Nem megy. Az adatlapokat átnéztem 1000x, és elvileg ilyen beállításokkal mennie kellene, de nem.
(#) ciw hozzászólása Jan 11, 2013 /
 
Valamiért olyan mintha a PIC SPI-je nem éledne fel, pedig már több PIC-el is próbáltam.
(#) krisztian98 hozzászólása Nov 6, 2014 /
 
Sziasztok,

Olyan problémám lenne, hogy egy PT1000-est szeretnék egy INA114-es IC-hez kötni, hogy a kimeneten egy feszültséget kapjak.

A következő kapcsolási rajz szerint:
A Tápfeszültség 5V.
A gond az, hogy a kimeneten 0,6V van és nem változik.
Az IC 2-es és 3-as lábán megfelelő a feszültség.
Rt-nek 2Kohm-ot tettem be. Kondikat még nem tettem az áramkörbe.
Nem bírok rájönni, hogy miért nem működik. Van valami tippetek?

Köszi.
K
(#) kadarist válasza krisztian98 hozzászólására (») Nov 6, 2014 /
 
Szia!
12V-ot kellene tápfeszültségként használni és a rajzon megadott alkatrészértékeket betartani.
(#) vilmosd válasza krisztian98 hozzászólására (») Nov 6, 2014 /
 
+-12 V kellene tapnak. Itt talalsz egy egyszerubb kapcsolast. Igaz PT100, de at lehet szamolni PT1000-re.
A hozzászólás módosítva: Nov 6, 2014
(#) proli007 válasza krisztian98 hozzászólására (») Nov 6, 2014 /
 
Hello! Az IC kettős tápfeszültségű. Vagy gyártasz hozzá -5V-ot, vagy maximum az 5. lábat 2,5V-ra kötve ehhez a referencia feszültséghez képest fogja leadni a kimenti feszültségét.
(#) krisztian98 válasza vilmosd hozzászólására (») Nov 6, 2014 /
 
Szia,

Az Itt találsz alatt semmi nem nyílik meg.

Légy szíves a linket tedd be megint.

Köszi:
Krisztián
A hozzászólás módosítva: Nov 6, 2014
(#) vilmosd válasza krisztian98 hozzászólására (») Nov 6, 2014 /
 
(#) csikosgabi hozzászólása Dec 3, 2015 /
 
Idézet:
„Üdv. mindenkinek. Egy PT100-as hőmérő értékét szeretném 4-20mA jelre alakítani. Hogyan lehetne ezt megoldani? Kezdésnek mondjuk 0-200 Celsius fok között kellene mérnie. Vagy akár ez állítható is lehetne?
Előre is köszönöm.”
(#) proli007 válasza csikosgabi hozzászólására (») Dec 3, 2015 /
 
Hello! Ez itt ugyan a Pt1000 topik. Valamint nem biztos, hogy ilyen áramkör gyártása rentábilis. Mert pld. itt kapható.
Én megrajzoltam, hogyan lehet egy ilyen dolgot elkövetni. De ennyiből nem hozod ki és az LM342 helyett, valami precízebb Rail-to-Rail erősítőre lenne szükség.

Pt100-mA.png
    
(#) csikosgabi válasza proli007 hozzászólására (») Dec 6, 2015 /
 
Üdv. Hát annyiból tényleg nem lehet kihozni... Köszönöm a linket, megpróbálom megboltolni. De a rajzot is köszönöm.
Következő: »»   2 / 2
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem