Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

12 bit ADC - max127

 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
ivan
Mojster


Pridružen/-a: Pon Mar 2004 18:49
Prispevkov: 45
Kraj: Cerkno

PrispevekObjavljeno: Pon Jan 28, 2008 6:36 pm    Naslov sporočila: 12 bit ADC - max127 Odgovori s citatom

Pozdravljeni,

ali je kdo mogoče že napisal kakšen program za max127 v avr ali bascomu, ker na netu ne najdem nič uporabnega. To je sicer starejši proizvod, vendar zelo zanimiv. uporablja I2C protokol.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Rplink3r
Novinec


Pridružen/-a: Čet Okt 2007 19:25
Prispevkov: 2

PrispevekObjavljeno: Ned Feb 03, 2008 12:26 pm    Naslov sporočila: Odgovori s citatom

Glede na to da je v uporabi i2c protokol, je na netu veliko primerov uporabe le tega z bascomom. Kakor pa vidim v datasheetu je lepo napisano za Control byte, z katerim pošlješ zahtevo za podatek in nekatere nastavitve na ADC, z dvema data bytima pa dobiš 12 biten podatek o vrednosti nazaj. En bajt je celih 8bitov, drugi pač samo 4. To sem zvedel iz manj ko 1min branja datasheeta. Predlagam preštudirat datasheet ter glede na primere z i2c napisat program.
_________________
Life is just too simple to understand.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
ivan
Mojster


Pridružen/-a: Pon Mar 2004 18:49
Prispevkov: 45
Kraj: Cerkno

PrispevekObjavljeno: Pet Feb 15, 2008 6:04 pm    Naslov sporočila: Odgovori s citatom

Malo sem prebral podatke od max127 in napisal spodnji program,
vendar mi ne deluje, v čem je problem, saj bi načeloma moralo delovati.


Koda:
$regfile = "m8def.dat"

' ADC max127

'$hwstack = 32
'$swstack = 8
'$framesize = 24


$crystal = 1000000
$baud = 2400



Config Sda = Portc.5                                        ' 10 k ohm na +
Config Scl = Portc.4                                         ' 10 k ohm na +


'Max127 has a adress  0101 A2 A1 A0 RW

Const Adr_vpis = &B01010000                                 'adresa VPIS            01010000
Const Adr_branje = &B01010001                               'adresa BRANJE          01010001
Const Kanal_st0 = &B10000000                                'Control-Byte za  AD-Kanal 0


Dim Beri_vred_h As Byte
Dim Beri_vred_l As Byte

'I2cinit

Print "test max127"
Do

   I2cstart
   I2cwbyte Adr_vpis                                        ' adresa vpis
   I2cwbyte Kanal_st0                                       ' številka kanala 0
   I2cstop

   Waitms 100


   I2cstart
   I2cwbyte Adr_branje                                      ' adresa branje
   I2crbyte Beri_vred_h                                     ' branje H
   I2crbyte Beri_vred_l                                     ' branje L
   I2cstop

   Print " H  " ; Beri_vred_h ; " L  " ; Beri_vred_l        ' izpis na COM

   Waitms 100

Loop



lp ivan
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 556
Kraj: Ljubljana

PrispevekObjavljeno: Pet Feb 15, 2008 7:19 pm    Naslov sporočila: 12 bit ADC max127 Odgovori s citatom

Ivan,
malo sem gledal pdf MAX 127, in mi ni jasno zakaj po poslanem kontrolnem bajtu uporabljaš zakasnitev, moral bi uporabiti ACK. Na ta način zamudiš pretvorbo.
Prav tako poskusi uporabiti I2Cdelay, ker mi se zdi da je I2C prehiter za toje vezje. Ali imaš naslov čipa (pine A0, A1 in A2 vezane na maso)?
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
ivan
Mojster


Pridružen/-a: Pon Mar 2004 18:49
Prispevkov: 45
Kraj: Cerkno

PrispevekObjavljeno: Pet Feb 22, 2008 6:19 pm    Naslov sporočila: 12 bit ADC MAX127 Odgovori s citatom

Končno mi je uspelo oživeti max127. Če koga zanima je spodaj delujoča koda

Koda:
'12 bit ADC max127
'AVR Compiler version :1.11.8.7

$regfile = "m8def.dat"

'$hwstack = 32
'$swstack = 8
'$framesize = 24


$crystal = 1000000
$baud = 2400


$lib "i2c_twi.lbx"                                          ' uporabimo hardverski SDA in SCL , od m8 naprej


Config Sda = Portc.5                                        ' 1o kohm na +5V
Config Scl = Portc.4                                        ' 1o kohm na +5V


'Max127 has a adress  0101 A2 A1 A0 RW

Const Adr_vpis = &B01010000                                 'adresa VPIS            01010000
Const Adr_branje = &B01010001                               'adresa BRANJE          01010001
'--------------------------------                           'START=1 CHANNEL=0 RANGE=0 BIPOLAR=0 POWERDOWN=0
Const Kanal_st0 = &B10000000                                'Control-Byte za  AD-Kanal 0
'Const Kanal_st1 = &B10010000
'Const Kanal_st2 = &B10100000
'Const Kanal_st3 = &B10110000
'Const Kanal_st4 = &B11000000
'Const Kanal_st5 = &B11010000
'Const Kanal_st6 = &B11100000
'Const Kanal_st7 = &B11110000

'Const Kanal_st0 = &B10001000                               ' 0 do 10 v



Dim Beri_vred_h As Byte
Dim Beri_vred_l As Byte
Dim Ad0 As Integer
Dim Ad0_1 As Integer

Print "test max127"
Do

   I2cstart
   I2cwbyte Adr_vpis
   I2cwbyte Kanal_st0
   I2cstop
 ' Print "Error : " ; Err                                   'show error status

   I2cstart
   I2cwbyte Adr_branje
   I2crbyte Beri_vred_h , Ack
   I2crbyte Beri_vred_l , Nack
   I2cstop
  'Print "Error : " ; Err                                   'show error status

   Print " H  " ; Beri_vred_h ; " L  " ; Beri_vred_l
   Print Bin(beri_vred_h)
   Print Bin(beri_vred_l)


   Ad0 = Beri_vred_h * 16                                   'Ad0 =((beri_vred_h * 16) + Beri_vred_l)
   Ad0_1 = Ad0 + Beri_vred_l
   Print Ad0_1

   Waitms 2000

Loop


Lp ivan Smile
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jernej_
Profesionalec


Pridružen/-a: Tor Jan 2008 22:46
Prispevkov: 57
Kraj: Ljubljana

PrispevekObjavljeno: Pet Feb 22, 2008 9:02 pm    Naslov sporočila: Odgovori s citatom

Ivan, manjka hvala... J
_________________
Elektronika v domači delavnici
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group