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 

Dajmo malčka 12F675 na testno ploščo
Pojdi na stran Prejšnja  1, 2
 
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
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Jun 06, 2004 12:30 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
... ta tvoj regulator je vredu, samo pri njem mi ni vseč, da si uporabil NTC upor (mislim na linearnost in kalibracijo)...


Tole je bilo narejeno mimogrede - če bi hotel res dober regulator bi uporabil kot senzor dallasov DS1820 ki dela na 1Wire(digitalni senzor - ni kaj kalibriat) . Sama regulacija pa bi bila kot PWM. Vse skupaj bi brez problema fural z mačkom. Poleg tega bi lahko naredil prikaz temperature na displeju. Sedaj imam ravno "malčka" v kombinaciji z SAA1064, ki dela na I2C vodilu ter lahko poganja 4 displeje. Ko bom imel čas dopišem še 1Wire rutino za senzor.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
djtech
Član
Član



Pridružen-a: Sob 18 Okt 2003 21:47
Prispevkov: 113
Aktiv.: 0.48
Kraj: Cerkvenjak

PrispevekObjavljeno: Sre Nov 03, 2004 8:05 pm    Naslov sporočila:   Odgovori s citatom

In tu še datasheet
http://ww1.microchip.com/downloads/en/DeviceDoc/70091a.pdf

Cool
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gnioco
Član
Član



Pridružen-a: Pon 26 Jan 2004 11:35
Prispevkov: 85
Aktiv.: 0.36
Kraj: Ljubljana

PrispevekObjavljeno: Ned Jan 15, 2006 7:00 pm    Naslov sporočila:   Odgovori s citatom

A se lahko da pic12c508a na elektrorjevo testno ploščo? bi šlo z tem adapterjem?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Jan 15, 2006 7:31 pm    Naslov sporočila:   Odgovori s citatom

Pinup je enak - bi šlo. Ampak pazi, če hočeš imeti zadevo za testiranje moraš vzeti 12C508 /JW (tak z oknom katerega lahko tudi pobrišeš) Tisti brez okna je OTP - le enkrat ga lahko sprogramiraš.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gnioco
Član
Član



Pridružen-a: Pon 26 Jan 2004 11:35
Prispevkov: 85
Aktiv.: 0.36
Kraj: Ljubljana

PrispevekObjavljeno: Ned Jan 15, 2006 11:49 pm    Naslov sporočila:   Odgovori s citatom

Silvo je napisal/a:
Š
Koda:


bsf STATUS, RP0     ;Bank 1
call 3FFh                 ;pokličemo zadnjo lokacijo v kateri je zapisana instrukicja     RETLW
                             ;le ta vrne vrednost. Če je lokacija prazna - izbrisana nam bo
                             ;program "zašel"
movwf OSCCAL      ; vpis v kalibrirni register
bcf STATUS, RP0    ;Bank 0


A to je dovolj da napišem, če želim uporabljati notranji oscilator 4MHz...?Ali moram kje še navesti točno frekvenco?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jan 16, 2006 7:08 am    Naslov sporočila:   Odgovori s citatom

Frekvence se ne da kje navesti. Le ta znaša za notranji oscilator 4Mhz. S kalibrirno vrednostjo le to skalibriraš. Vrednosti so namreč različne od primerka do primerka ter so tovarniško določene.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Pon Jan 16, 2006 9:27 am    Naslov sporočila:   Odgovori s citatom

Jaz imam 12F683, ki ima multipleksor krmiljen z OSCCON registrom, na katerem lahko izbiraš različne delilnike frekvence. Dobiš ven od 31kHz pa do 8 MHz.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Martin_Krpan
Član
Član



Pridružen-a: Ned 18 Jan 2004 17:00
Prispevkov: 34
Aktiv.: 0.14
Kraj: Škofja Loka

PrispevekObjavljeno: Tor Dec 26, 2006 4:38 pm    Naslov sporočila:  Probelm z AD pretvorbo Odgovori s citatom

Pozdravljeni.
Bom kar v tej temi napisal, mogoče pride še komu prav. Igram se s PIC 12F675 in imam problem pri AD pretvorbi. Nevem kaj delam narobe v priloženem programu, da ne deluje tako kot sem si zamislil. Naj bi delovalo, da bi bil GP1 na visokem nivoju, dokler ne bi bila presežena vrednost v T2, nato pa bi se napetost zmanjševala in pri T1 bi se GP1 spet vklopil. Vendar sploh ni tega vmesnega območja med GP1 in GP2, ampak so prehodi hipni, takoj ko se spremeni napetost. Ubistvu bi rad imel kot nek regulator za grelec, da bi se temperatura gibala v nekem s T1 in T2 določenem pasu.

LP
Koda:

list p=12F675

#include "d:\asm\p12f675.inc"
__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_ON & _BODEN_ON

   cblock 0X20
   T1,T2
   endc
   
   org 0x0
    goto GLAVNI
   org 0x4

DOLOCITEV_PINOV
   BSF STATUS,RP0
   MOVLW B'00000001'
   MOVWF TRISIO           ;vsi pini gpio so izhodi,razen GP0
   MOVLW B'00010001'
   MOVWF ANSEL          ;AN0 bit je analogni vhod,frekvenca vzorèenja je fosc/8
   BCF STATUS,RP0
   CLRF GPIO
   RETURN

KONSTANTE   
   movlw b'00000111'      ;naložimo vrednost v w
   movwf T1            ;in prenesemo v T1
   movlw b'00111111'      ;naložimo vrednost v w
   movwf T2            ;in prenesemo v T2
   return

AD_PRETVORBA
   clrf ADCON0            ;leva porazdelitev, vdd je ref., kanal00
   bSf ADCON0,ADON
   bsf ADCON0,GO          ;pozenemo ad pretvorbo
   btfsc ADCON0,GO         ;ali je pretvorba koncana?
   goto $-1
    bcf ADCON0,ADON         ;izklopimo AD,rezultati so pripravljeni za obdelavo
   movf ADRESH,W         ;zgornjih 8 bitov ad pretvorbe damo v reg.w
   return               ;vrnitev iz podprograma


GLAVNI
   call DOLOCITEV_PINOV   ;podprogram za dolocanje pinov
   call KONSTANTE         ;podprogram za vnos konstant
VKLOP                  
   bsf GPIO,1            ;vklop GP1
   call AD_PRETVORBA      ;izvedemo AD pretvorbo
   BCF STATUS,C
   subwf T2,w            ;odstejemo T2 od w
   btfsC STATUS,C         ;ali je prišlo do prenosa?
   goto VKLOP            ;da, ukaz se izvede=>skok na vklop
IZKLOP                  
   bcf GPIO,1            ;izklopimo GP1
   call AD_PRETVORBA      ;izvedemo AD pretvorbo
   BCF STATUS,C
   subwf T1,w            ;odstejemo T1 od w
   btfsc STATUS,C         ;ali je prišlo do prenosa?
   goto VKLOP            ;da, ukaz se izvede=>skok na vklop
   goto IZKLOP            ;ne, ukaz se ne izvede=>skok na izklop

   end                
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Tor Dec 26, 2006 5:00 pm    Naslov sporočila:   Odgovori s citatom

Tale koda deluje kar v redu:
Koda:

AD_pretvorba:
   BSF         ADCON0, ADON         ; vklop A/D modula
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP                           ; počaka pribli·no 3uS (Priporoeena vrednost za 4MHz =2-4uS
   BSF         ADCON0, GO            ; sproži branje analogne vrednosti
   BTFSC      ADCON0, GO            ; je GO bit =0 -> Branje analogne vrednosti koneano?
   GOTO      $-1                  ; NE -> poizkusi ponovno prej±nji korak
   MOVF      ADRESH, W            ; DA -> ADRESH -> W (Analogna vrednost)
   BCF         ADCON0, ADON         ; izklop A/D modula
   MOVWF      Izmerjeno            ; vrednost A/D pretvorbe se shrani v register Izmerjeno
   MOVLW      U_min               ; Umin ->W
   SUBWF      Izmerjeno, W            ; Izmerjeno - Umin -> W
   BTFSC      STATUS, C            ; Je C bit status registra 1? (rezultat operacije je veeji ali enak 0)
   GOTO      LCD_prizgan
   BCF         Parametri, 1
   RETURN


Nastavitve pa so:
Koda:

   PROCESSOR 12f675
   #include "P12F675.INC"
   ERRORLEVEL -224, -302,  -308, -205

      __CONFIG _CP_ON & _CPD_OFF & _BODEN_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT

   #DEFINE   U_min   b'00100111'         ; minimalna vrednost napetosti detekcije (0,8V)
                              ; je b'0010011100' =156 od tega gre v ADRESH 8 zg. bitov
                              ; b'00100111' = 0x27

   Cblock   0X20                  ; Začetek RAM-a
   Izmerjeno                     ; Vrednost A/D


Poizkusi tako kot imam jaz dodati NOP ukaze. Ker procesorček očitno rabi nekaj časa, da se AD pretvornik zažene.

_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Dec 26, 2006 5:05 pm    Naslov sporočila:   Odgovori s citatom

Po moji presoji ti dela težave AD blok, kajti takoj ko ga vključiš že izvedeš meritev. Po vklopu je namreč potrebno nekaj časa počakati, da se AD blok pripravi.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Tor Dec 26, 2006 5:05 pm    Naslov sporočila:   Odgovori s citatom

Ena napaka v tvojem programu je predpostavka, da subwf deluje nasprotno, kot dejansko deluje - subwf odsteje W od f in ne obratno in posledicno bo carry/borrow bit obrnjen ravno obratno, kot bi pricakoval.

Program je tudi nekoliko zmedeno napisan - zakaj dvakratna pretvorba in kompliciranje s skoki gor in dol ? Pretvorbo opravi enkrat, potem pa preveri ali je vrednost nizja od spodnje meje (v tem primeru samo skoci nazaj na vrh na AD pretvorbo), visja ali enaka spodnji meji in nizja od zgornje meje (v tem primeru naredi tisto, kar pac moras narediti - vklopi oz. izklopi relevantni pin in sele potem skoci spet na AD pretvorbo) ali nad zgornjo mejo (v tem primeru naredi komplementarno od prejsnjega stanja in potem skoci na vrh).

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Martin_Krpan
Član
Član



Pridružen-a: Ned 18 Jan 2004 17:00
Prispevkov: 34
Aktiv.: 0.14
Kraj: Škofja Loka

PrispevekObjavljeno: Tor Dec 26, 2006 5:22 pm    Naslov sporočila:   Odgovori s citatom

sem še mislil napisati, da je program malce nerodno napisan, ampak saj to itak vsak sam opazi,da še nisem nevemkako zverziran v tem. Da za težave je sigurno kriv AD pretvornik, saj če ga odstranim in v w naložim kar neke izmišljene rezultate AD oretvorbe, potem zadeva deluje. Sem poiskušal že z pavzami na več mestih, tudi tam, ko je zaporedje nop ukazov, pa se je isto dogajalo. Bom zamenjal kodo s tisto, ki jo dal Highlag, pa poročam.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Dec 27, 2006 10:56 am    Naslov sporočila:   Odgovori s citatom

Datasheet za chip točno opisuje, kako se pravilno uporablja ADC.

Jur
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
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
Stran 2 od 2

 
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