Fórum témák
» Több friss téma |
2.igen úgy.
Igen gondoltam mert a táp lábakat kicsipogtattam. Kapcsolást is tudnál hozzájavasolni? Hát, köszönöm a türelmed(etek)et. A hozzászólás módosítva: Ápr 15, 2015
Van kvarcod kéznél? A programot nem teszteltem, kíváncsi vagyok működik-e?
Van néhány (20-15) bontott, úgy rémlik 4 Mhz körüli is van köztük.
Kösz a helpet. Én úgy gondoltam, hogy WD csak sleepben megy (változó értéket nővel), majd ha változó eléri a kívánt értéket PIC felébred, WD megáll, végrehajt egy hőmérséklet mérést, elküldi RF-en, majd visszamegy sleepbe, WD újraindul (változó nullázva). Müködhet így?
Az adatlap szépen leírja a WatchDog működését. Egy független oszcillátor hajt egy számlálót (timer, WDT) valamilyen utóosztással (postscaler). Ha ez túlcsordul, akkor WDT megszakítás, vagy újraindítás/reszet keletkezik.
Még mindig nem árultad el, milyen PIC az alany. A hozzászólás módosítva: Ápr 15, 2015
Idézet: Így biztos nem ! „WD megáll .... Müködhet így?”
A nincs konkrét PIC. Olyat szeretnék, ami lehetőleg 8 lábú 12F család tagja, és hardveresen támogatja az UART-ot a RF modulos küldés miatt. A cél a költség hatékonyság (olcsóság), végül is csak a fent említett feladatot kell ellátnia. 1 output láb a RF modul tápjának ki-be kapcsolásához. 1 láb a 18b20-as szenzornak, és a Tx láb az RF modul adatbemenetére. Értem, hogy a WD túlcsordulásnak eredményeként lehet "ébresztőt fújni a PIC-nek", de akkor mi az a megoldás, ami akár 10 percre időzít, de minimálisat fogyaszt? Ötlet?
PIC12F1840, ha körülbelül 256mp elég...
Idézet: Hát ez eléggé leszűkíti a kört. Ilyen kb csak 12F1xxx családban van.„ami lehetőleg 8 lábú 12F család tagja, és hardveresen támogatja az UART-ot” Szerk: pontosabban a PIC12F1840, PIC12F1572, és a PIC12F1822 -ből tudsz választani. A hozzászólás módosítva: Ápr 15, 2015
A hardveres UART nem lehet szempont, ha csak küldeni kell adatot. Pár utasítással lehet írni soros vonali adást, 19200 Bd sebességgel is mehet - PIC10F322 is jó a célra.
Ezt neked hogy jött ki, ha megkérdezhetem? Böngészem az adatlapját, de nem igazán értem. Egyébként ha nincs más megoldás... Nekem még a 10 perc is majdnem sűrű. Más család picjei közt sem lehet ilyen? (Bocs, ha hülyeséget kérdezek.)
Csak egy gondolatra: Ha szoftveresen lehet helyettesíteni az UART hardvert, akkor minek bele a hardver? Vagy csak adónál? Vevőnél kell a periféria?
A vétel kicsit macerásabb szoftveres UART esetén. Amíg a processzor számol, addig a hardveres UART szépen teszi a dolgát. Az sem utolsó szempont, hogy az adatátviteli sebesség jelentősen megnő hardveres átvitelkor.
Szoftverből a félduplex, még elmegy, a hardveres pedig tudhat duplex üzemmódot. A hozzászólás módosítva: Ápr 15, 2015
Azért kell a hardver, mert azt csak egyszer kell beállítani, aztán a megfelelő regbe az adatot betölteni és már megy is, nem foglalja a PIC-et, szoftveresen meg minden küldésnél egy szubrutint kell meghívni.
Kérlek javíts ki ha tévedek: De a belső órajelről hajtva, valamelyik timernek van kimenete, ami túlcsordulásnál ad egy impulzust, ezt megszámoltatom egy külső számláló icvel (CD4017), majd a megfelelő impulzus után kap a PIC egy externál interruptot? Jól értem? Hu, ez igen, csak úgy özönlik a sok új dolog.... Köszönöm mindkettőtöknek. Azt hiszem ezt a WDT-t még tanulmányoznom kell.
A hozzászólás módosítva: Ápr 15, 2015
Minek ide külső IC?
A WDT engedélyezése után leállíthatod a mikrokontrollert. Ha az engedélyezett(beállított) idő alatt nem törlöd a vacsdogot, akkor az újraindítja a kontrollert, önerőből, saját kezdeményezésre. Ha a program futása közben törlöd (clrwdt utasítás), akkor ez az időpont folyamatosan eltolódik, ha nem törlöd, akkor akcióba lép. A hozzászólás módosítva: Ápr 15, 2015
De azt mondod, hogy a maximális idő 256s. Ezután automatán újraindul. Kívétel ha szoftveresen törölve van a WDT. De sleep üzemmódban hogy törlöd a WDT mondjuk 3 szor ? 3*256s késleltetés esetén... Akkor nem fut a program?! Vagy igen? A többit nagyjából értem. Nyilván egy változóval megszámolom a túlcsordulásokat, de hogy lesz ebből reset (alvó üzemmódban)?
A hozzászólás módosítva: Ápr 15, 2015
Alvás közben nem kell foglalkozni a WDT-vel, épp ez a lényege, hogy a beállított idő után a kontroller újraindul. Akkor számol egyet a memódiában, és ha elért a harmadikhoz, akkor körülbelül 768 másodperc telt el, jöhet az adatküldés...
Erre jutottam én is, persze a te segítségeddel. Köszönöm a segítséget.
Most jól működik az optó! Az volt a baj, hogy 1,2 K-s felhúzó ellenállás volt 10K -s helyett. Viszont most előjött egy olyan probléma ,hogy folyamatosan magszakítást generál a bemenet, mintha oszcillálna a bemenet. Sajnos nincs szkópom hogy megnézzem mi történik a jellel. Valahogy pergésmentesítenem kéne a jelet, talán egy kondival megoldható? (Lassan változik a jel ,tehát ez nem lenne gond!)
Szia, tettem a kapcsolásba 4 Mhz körüli kvarcot, és láss csodát, működik.
Én épp ezért nem tartom sokra a Proteus szimulátorát. Becsap mert szerinte jó a kapcsolás.
A 10k biztos, hogy sok ha ott 18V van. LEd előtétet kell számolni mert az optoban LED van. 1.5-2 mA körül nem vagyok benne biztos, hogy jól működik az a LED. Az adatlapján az 1.3V-os nyitófeszültséget 50mA-nál mérték, de 10mA-el is elmegy. 10mA-hez pedig 1.6k ellenállás jön ki, szóval az 1.2k-nak jónak kell lennie. Jó volt az az ellenállás nem szakadt?
A kollektorkori felhuzorol beszel, nem a LED elotetrol. Oda viszont valoban kicsi lehet az 1.2k, mert 10mA LED aram mellett 2..7mA folyik a kollektorban. 2mA-nel nem megy le elegge a kollektor.
A hozzászólás módosítva: Ápr 16, 2015
Igazad van, de arról volt szó, hogy ott a belső felhúzót használja, az több mint 10k a maga megengedett 200-300uA-ével. Akkor most palacsintát sütünk vagy krumplit?
Rick06: Mi az, hogy folyamatosan? Akkor is ha nincs rajta a 18V? Egyáltalán milyen PIC és mire van beállítva a megszkítás, IOC? A hozzászólás módosítva: Ápr 16, 2015
Idézet: Nagyjabol pont. A feltett rajzon nem szerepelt egyaltalan felhuzo ellenallas, feltetelezheto volt, hogy a belsot hasznaja.„Igazad van, de arról volt szó, hogy ott a belső felhúzót használja,” Idézet: Jogos! Probalunk segiteni, de sokszor a gondolatolvasas kepessege jobban kell, mint a szakmai ismeretek. „Akkor most palacsintát sütünk vagy krumplit?”
Én nem csak feltételeztem.
Idézet: „Az egyik lábát be is állítottam bemenetnek és bekapcsoltam a felhúzó ellenállást.” Na mindegy. Majd kitalálja mit rakott össze. |
Bejelentkezés
Hirdetés |