www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

PIC 16F747 I/O težava
Pojdi na stran Prejšnja  1, 2, 3, 4  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
taubek
Član
Član



Pridružen-a: Čet 21 Feb 2008 0:37
Prispevkov: 174
Aktiv.: 0.83
Kraj: Malecnik pri MB

PrispevekObjavljeno: Čet Dec 15, 2011 2:16 pm    Naslov sporočila:   Odgovori s citatom

sem ze gledal datasheete. Ko pogledam na strani 155 tabelo mi ni najbolj jasno kako bi lahko uporabil samo an8 in an9.

Upam da ne bo treba popravljati vezja zaradi tega...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Čet Dec 15, 2011 2:35 pm    Naslov sporočila:   Odgovori s citatom

Ne moreš imet samo AN8 in AN9. Možne kombinacije so navedene v tabeli.
_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
taubek
Član
Član



Pridružen-a: Čet 21 Feb 2008 0:37
Prispevkov: 174
Aktiv.: 0.83
Kraj: Malecnik pri MB

PrispevekObjavljeno: Pet Dec 16, 2011 9:34 am    Naslov sporočila:   Odgovori s citatom

gumby, hvala za potrditev moje napake, ze brikam po vezju da naredim delujoco testno varjanto... Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
branko
Član
Član



Pridružen-a: Čet 03 Jan 2008 14:29
Prispevkov: 12
Aktiv.: 0.06
Kraj: kidričevo

PrispevekObjavljeno: Pet Dec 16, 2011 12:27 pm    Naslov sporočila:   Odgovori s citatom

Če hočeš uporabit AN8 in AN9 kot analogni vhod, moraš nastavit kot analogni vhod vse vhode od AN0 do AN9.

Primer: SETUP_ADC_PORTS(AN0_TO_AN9);

_________________
LP, Branko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
taubek
Član
Član



Pridružen-a: Čet 21 Feb 2008 0:37
Prispevkov: 174
Aktiv.: 0.83
Kraj: Malecnik pri MB

PrispevekObjavljeno: Pet Dec 16, 2011 3:25 pm    Naslov sporočila:   Odgovori s citatom

branko je napisal/a:
Če hočeš uporabit AN8 in AN9 kot analogni vhod, moraš nastavit kot analogni vhod vse vhode od AN0 do AN9.

Primer: SETUP_ADC_PORTS(AN0_TO_AN9);


ja, se mi je zdelo da je tako takoj ko sem zacel gledat po datasheetu od PICa. Skoda da nisem tega videl ze pred nacrtovanjem PCB, sicer pa zdaj na prvi verziji ni neke panike ker bo v vsakem primeru potrebno popraviti kakšne malenkosti, tako da bo tudi to ena od sprememb za 2. verzijo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
taubek
Član
Član



Pridružen-a: Čet 21 Feb 2008 0:37
Prispevkov: 174
Aktiv.: 0.83
Kraj: Malecnik pri MB

PrispevekObjavljeno: Tor Jan 10, 2012 6:45 pm    Naslov sporočila:   Odgovori s citatom

Ponovno pozdravljeni,

najprej vsem skupaj srecno in zdravo 2012...

Koncno se je spet nasel cas za nadaljevanje mojega vecnega projekta... Tokovni vhod 4-20mA sem preko 240ohmskega upora "pretvoril" v napetostnega tako da sedaj lahko berem analogno vrednost.
Pri tem se mi je pojavil problem da je analogna vrednost od 0 do 256 inkrementov kar je 8-bit in ne 10-bit kot je napisano v datasheetih.
A je potrebna kaksna zacetna komanda, da so analogni vhodi 10-bitni ali je 256 inkrementov maksimalna resolucija ki jo AD zmore??

Prebrano vrednost imam tipa double, čeprav sem v nekaterih primerih videl da je kot integer, ki pa dejansko ne gre dalje od 255...

hvala, LP.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
žrepko
Član
Član



Pridružen-a: Tor 23 Mar 2010 20:12
Prispevkov: 700
Aktiv.: 3.77
Kraj: Ptuj-Maribor

PrispevekObjavljeno: Tor Jan 10, 2012 6:57 pm    Naslov sporočila:   Odgovori s citatom

KLIK Branje, branje,.... google je prijatelj!
_________________
Štromar ima včasih prav, elektrika pa vedno! Profesor Seliger
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
taubek
Član
Član



Pridružen-a: Čet 21 Feb 2008 0:37
Prispevkov: 174
Aktiv.: 0.83
Kraj: Malecnik pri MB

PrispevekObjavljeno: Tor Jan 10, 2012 7:22 pm    Naslov sporočila:   Odgovori s citatom

žrepko je napisal/a:
KLIK Branje, branje,.... google je prijatelj!


Berem in berem... za malo hitrejši rezultat bi pa prosil za direktni odgovor... medtem pa še vedno berem... Very Happy

-- medtem našel na linku poglavje 23.7.2, ki ga pa ne razumem povsem... ali je možno brati samo 8 LSB, ali 8MSB? Jaz bi moral brati vseh 10 bitov če se da...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.33

PrispevekObjavljeno: Tor Jan 10, 2012 7:53 pm    Naslov sporočila:   Odgovori s citatom

Ne vem kakšne čarovnije dela tvoj izbrani kompiler vendar je rezultat AD pretvorbe vedno 10 biten. Vrednost je zapisana v ADRESH in ADRESL registrih. Važno je tudi kako ADC inicializiraš. Če izbereš levo poravnavo imaš 8MSb v ADRESH in dva LSb na bitih 6 in 7 v ADRESL. Če izbereš desno poravnavo imaš 8LSb v ADRESL in dva MSb v ADRESH na bitih 0 in 1.
Poglej si kako funkcije iz tvojega kompilerja inicializirajo in izvajajo ADC. Kakšen step by step v debug načinu ne bi škodil. Mogoče celo ugotoviš kam zapiše tista dva manjkajoča bita... Angel

_________________
LP, Matjaž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
taubek
Član
Član



Pridružen-a: Čet 21 Feb 2008 0:37
Prispevkov: 174
Aktiv.: 0.83
Kraj: Malecnik pri MB

PrispevekObjavljeno: Tor Jan 10, 2012 8:51 pm    Naslov sporočila:   Odgovori s citatom

Najbolje da kar pokazem program, morda bo lazje poiskat kaksno napako...
Koda:

//-----------------------------------
double ref2=0;

void read_temp()
{
      set_adc_channel(0);   //berem analog input AN0
      delay_ms(5);
      ref2=read_adc();

   if ((ref2>50)&&(ref2<200))  //vklopi izhoda z nizko resolucijo, želena od 200 do 800
   {
   output_high(RD6);
   }
   if ((ref2<=50)||(ref2>=200))
   {
   output_low(RD6);
   }

}

void main()
{
SETUP_ADC_PORTS(AN0_TO_AN2_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
while(1)
   {
   read_temp();
   }
}
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Tor Jan 10, 2012 9:26 pm    Naslov sporočila:   Odgovori s citatom

Zakaj double? Rad kompliciraš?
_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
taubek
Član
Član



Pridružen-a: Čet 21 Feb 2008 0:37
Prispevkov: 174
Aktiv.: 0.83
Kraj: Malecnik pri MB

PrispevekObjavljeno: Tor Jan 10, 2012 9:40 pm    Naslov sporočila:   Odgovori s citatom

gumby je napisal/a:
Zakaj double? Rad kompliciraš?


če pa gre int samo do 255, 10 bitov je pa 1024... ammm, kak nasvet kako lahko pridem do razpona vrednosti od 0 do 1024??

lp.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
S53DZ
Član
Član



Pridružen-a: Čet 28 Apr 2011 9:27
Prispevkov: 951
Aktiv.: 5.53
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jan 10, 2012 11:34 pm    Naslov sporočila:   Odgovori s citatom

en byte = 8 bitov = 0..255
int = integer = 16 (ali 32) bitov
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.33

PrispevekObjavljeno: Sre Jan 11, 2012 12:02 am    Naslov sporočila:   Odgovori s citatom

Za rešitev problema raje pripni definicije funkcij/makrov, ki jih kličeš:
set_adc_channel(), SETUP_ADC_PORTS(),setup_adc()

_________________
LP, Matjaž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
taubek
Član
Član



Pridružen-a: Čet 21 Feb 2008 0:37
Prispevkov: 174
Aktiv.: 0.83
Kraj: Malecnik pri MB

PrispevekObjavljeno: Sre Jan 11, 2012 7:08 pm    Naslov sporočila:   Odgovori s citatom

Sicer ne vem tocno kaj imas v mislih pod definicije za te funkcije... ce prav mislim potem je to v header datoteki - priponka


16F777.h
 Opis:

Download
 Ime datoteke:  16F777.h
 Velikost datoteke:  13.63 KB
 Downloadano:  3 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3, 4  Naslednja
Stran 3 od 4

 
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
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group