Fórum témák
» Több friss téma |
Elkészült. Már csak a moderátorokon múlik, hogy mikor lesz aktív. Remélem nem nagyon látszik meg rajta, hogy éjszaka írtam, kissé fáradtan.
Jó lett a cikked. Gratulálok hozzá.
Köszönöm, remélem elég infó van benne a könyű utánépítéshez.
Szia!
Valószínűleg rosszul programoztad be a PIC-et. Milyen programozót használsz? Üdv, mate_x
Az is előfordulhat hogy ,mondjuk egy forrasztási hiba miatt nem indul a pic . Nézd át a kvarc környékét és az mclr felhúzó ellenállást .
Hali
IcProg-ot használtam!!! Az égető pedig ProPicII
Sziasztok kis segítség kellene.
mégpedig keresek valami hőmérőt ami tud 0-250 vagy max 300°C ig mérni és a picre valahogy rátudom tenni. Ebből kettőt kellene rá tennem majd a fűtést szabályoznom is kell.
Mint a kollega irta, PT100, de jol hasznalhato es talan olcsobb a J, vagy K tipusu hoelem. A MCHP oldalan az alkalmazasi peldak kozott talalsz konkret megoldasokat. Mondjuk problema ezeknel az erzekeloknel, hogy nem linearisak, es masod-harmadfoku egyenlettel lehet kiszamolni a pontos erteket, amit csak egy komolyabb PIC kepes megcsinalni.
Szerintem teljesen fölösleges bonyolult képleteket számoltatni egy mikrokontrollerrel... Kiszámolja az ember a függvényt PC-n mondjuk 500 vagy 1000 pontban, és letárolja a mikrokontrollerbe egy táblázatban.
Tudom. Itt van egy pelda.
Na helyesen a link de itt van van a mellekletben a PT100 fveny C-re. Tablazat + interpolacio. Mondjuk ez sem eppen egy egyszeru fveny. Mivel van benne float szorzas es osztas nem eppen kicsi lesz a forditott hex. Mellesleg a tablazatos modszer is eszi a ROM-ot.
A hozzászólás módosítva: Okt 28, 2012
Helló
Én ezt használom. Többet számol, szóval csak nagyobb PIC-en érdemes használni. Ellenállásból számol hőmérsékletet illetve fordítva. Ahol alkalmaztam ott az Analog értékből ellenállást számoltam és ebből konvertáltam. Erőforráspazarló de ha egyszer működik utána lehet optimalizálni ha szükséges.
Sziasztok.
Próbálok működésre bírni egy DS1621+-es termosztát ic-t, a start konvert parancs el is megy (0EE), de amikor olvasni akarom az értéket (0AA) nem jön ack a cím után. (1001000 rw 1). Valaki aki ért az MPASM-hez pls. mondja meg h mit rontottam el.
Szasztok!
Ds 1621 felé a convert start parancs szkóppal nézve igy néz ki. A kommunikáció megy, de amikor a DS küldi vissza az ACK bitet, a jelszint jóval kisebb, mint mikor a PIC 16f877 küldi a biteket. Az ellenállások 4K7-esek, többször is megmértem. A DS csere sem javított a helyzeten. Nekem ez így nagyon fura! Szeretném az IC-t a falon kívülre rakni, de ha hosszabb kábellel - kb l,5m - próbálkozom, lefagy az egész pár perc után.
Az a valóság, hogy pontosan nem tudom! Ezt a két sort egy másik programból vettem, de hogy a 4 mhz-es kvarc mellett ez mekkora sebességet jelent nem sikerült megfejtenem.
MOVLW FOSC/(4*BAUD)-1 ;ELVILEG IDE D'9'=H'9' KERÜL MOVWF SSPADD
Az FOSC meg a BAUD értékét kéne megkeresni, szerintem azokból kiderül.
Bocs! A beemelt programrész 4 soros! Ez az egész! Így elvileg 100Khz a kommunikáció sebessége.
MOVLW B'10000000' ;100 KHz, MOVWF SSPSTAT MOVLW FOSC/(4*BAUD)-1 ;ELVILEG IDE D'9'=H'9' KERÜL MOVWF SSPADD
Nagyon jó. Nos, a 100kHz szabványos sebesség, ahol 400pF lehet a vezeték max. kapacitása. Ezt 1.5m-es drót esetén esélytelen betartani. Le kell tekerni mondjuk 1-10kHz környékére, és megnézni, hogy úgy jobban megy-e.
Akkor itt az ideje jobban megismerkedni az SSPSTAT-regiszterrel!
A vicc az, hogy a 100kHz-et én a kommentből olvastam, semmi nem garantálja, hogy a lent írtak annyit is állítanak be... (csak kéne az az FOSC és BAUD definíció, mert abból derül majd ki)
Eddig az ISR-ben kerestem, amit kértél, de a definíció szó lett a megoldás!
Így néz ki: #DEFINE FOSC D'4000' #DEFINE BAUD D'100' Ebből így nem egészen tiszta, hogy hogyan jön ki a 100Khz? A hozzászólás módosítva: Feb 23, 2013
FOSC = 4000 => 4000kHz
BAUD = 100 => 100kHz Ha 4MHz-en megy a procid, akkor 100kHz-es lesz ezekkel az értékekkel az I2C. Írd át a BAUD-ot 1..10 között valamire, és próbáld ki, hátha jobb. A felhúzó ellenállást el kéne osztani a vezeték két végére (nyilván dupla akkorából lesz így kettő párhuzamosan), ill. lehet játszani az értékével is.
Első körben megpróbálom a sebesség csökkentését!
Ha a BAUD értékét 50 alá viszem, az már az óra IC /DS1307/ rossz néven veszi! Az ő kiolvasásánál is vannak furcsaságok! Az ACK jel nála is vacakol, sőt még egyébb fura dolgot is csinál! Csatolom.
|
Bejelentkezés
Hirdetés |