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 

Davidf1's problems PIC
Pojdi na stran Prejšnja  1, 2, 3
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Davidf1
Član
Član



Pridružen-a: Pon 12 Nov 2007 16:44
Prispevkov: 53
Aktiv.: 0.27
Kraj: Grosuplje

PrispevekObjavljeno: Sre Jul 15, 2009 8:51 pm    Naslov sporočila:   Odgovori s citatom

No jaz imam zdaj tale kos programa, za branje podatka iz senzorja. I2C.h sem že vklučil, ne vem pa čist, kaj vse je potrebno še narediti, da bo stvar delovala, ker ta koda naj bi delala. Sem pe že nastavil vse vrednosti, tako, da so prirejene za moj primer.

// I2C routine
unsigned char testI2C(void)
{
unsigned char res, cmd_byte;
OpenI2C(MASTER, SLEW_OFF);// Initialize I2C module
SSPADD = 24; // SSPADD=(Fosc/(4*MMC))-1 Fosc=10MHz, MMC=100KHz (od PIC-a)
cmd_byte=1;//start with measure
while(1)
{
StartI2C(); // Initiate START condition on SDA and SCL pins. Automatically cleared by hardware.
WriteI2C(0x9a); //Address for write
WriteI2C(cmd_byte);
RestartI2C(); // Initiate START condition on SDA and SCL pins. Automatically cleared by hardware.
WriteI2C(0x9b); //Address for read
res=ReadI2C();
NotAckI2C();
while ( SSPCON2bits.ACKEN == 1 ); // Wait for acken to drop
StopI2C();
if(cmd_byte==0)
{
return ( res );
}
cmd_byte=res & 0x40?0:1; // Check the data ready bit from the TC74. If data's ready, go tell TC74 to send the data.0=read,1=measure
}
}
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Davidf1
Član
Član



Pridružen-a: Pon 12 Nov 2007 16:44
Prispevkov: 53
Aktiv.: 0.27
Kraj: Grosuplje

PrispevekObjavljeno: Sob Jul 18, 2009 1:18 pm    Naslov sporočila:   Odgovori s citatom

Fantje, a je kdo delal že s to zadevo, ker imam en problem. In kot sem bral na Microchipovem forumu, je imelo že veliko ljudi problem z tem, pa nikjer ne piše kako se ga reši.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Davidf1
Član
Član



Pridružen-a: Pon 12 Nov 2007 16:44
Prispevkov: 53
Aktiv.: 0.27
Kraj: Grosuplje

PrispevekObjavljeno: Pon Avg 03, 2009 3:27 pm    Naslov sporočila:   Odgovori s citatom

No fantje zadeva je že kar nekaj časa rešena, tako da, če bo imel kdo podoben problem, probleme, mu bom rad pomagal Very Happy

Lep pozdrav Mr. Green
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Davidf1
Član
Član



Pridružen-a: Pon 12 Nov 2007 16:44
Prispevkov: 53
Aktiv.: 0.27
Kraj: Grosuplje

PrispevekObjavljeno: Čet Sep 24, 2009 2:26 pm    Naslov sporočila:   Odgovori s citatom

Zanima me, če je kdo že kje programiral PI regulator in če ima kakšen primer, kodo za PIC-a?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.66
Kraj: Ljubljana

PrispevekObjavljeno: Čet Sep 24, 2009 2:52 pm    Naslov sporočila:   Odgovori s citatom

Davidf1 je napisal/a:
Zanima me, če je kdo že kje programiral PI regulator in če ima kakšen primer, kodo za PIC-a?
Microchip stran ima kodo in opis itd. Mislim, pa da je naslov "Inverted pendulum" Wink
Malo pobrskaj.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Davidf1
Član
Član



Pridružen-a: Pon 12 Nov 2007 16:44
Prispevkov: 53
Aktiv.: 0.27
Kraj: Grosuplje

PrispevekObjavljeno: Čet Sep 24, 2009 8:01 pm    Naslov sporočila:   Odgovori s citatom

Imam sledeč problem. Na vhod pripeljem željeno Temperaturo, Tželj. Hočem seveda, da bo tudi na izhodu ista T. To bi naredil z PI regulatorjem. Sedaj me pa zanima, ali je to to, da jaz sprogramiram po teh enačbah, ki so na sliki, no ubistvu samo prvo.

Kako pa pri I členu, ko imam vsoto k-členov, a to moram vedno sešteti v vsakem k-ju vse vsote sedanje in prejšnje napake? Torej treba za tisto vsoto narediti neko for zanko, kot: for (i<=k; i++) al neki tazga?

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



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.66
Kraj: Ljubljana

PrispevekObjavljeno: Čet Sep 24, 2009 8:12 pm    Naslov sporočila:   Odgovori s citatom

S tem se (še) nisem ukvarjal, vem pa da so na to temo napisani dokumenti. Torej kaj ko bi si ti to najprej prebral. Sem se celo zate potrudil in poiskal link za prej omenjene dokumente.

PID on inverted pendulum!

PID on PIC18F
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Davidf1
Član
Član



Pridružen-a: Pon 12 Nov 2007 16:44
Prispevkov: 53
Aktiv.: 0.27
Kraj: Grosuplje

PrispevekObjavljeno: Čet Sep 24, 2009 8:30 pm    Naslov sporočila:   Odgovori s citatom

No bungee, tebi najlepša hvala.

Drugače pa malo tako, bolj na glas razmišljam in vprašam kaj še na forum. Wink
Nazaj na vrh
Odsoten 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 -> Osnove programiranja PIC-a v Assembler-ju Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3
Stran 3 od 3

 
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: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group