Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Indul1 -nél a nap nevü változóval az volt a célom, hogy resetelés után ne kelljen beállitani a dátomot és az órát, ha egyébként rendben van. Időnként előfordul, hogy a hálózat kimarad 1-2 másodpercre, de ez a puffer miatt nem okozott gondot. Más itthoni szerkentyükön hamarabb észreveszem. Amikor ilyen volt és ez is leállt azt természetesnek vettem, de egyidejüleg ez csak 2x fordult elő. Mindenesetre a jótanácsokat igyekszem megfogadni, és KÖSZÖNÖM
Ha számíthatsz hálózatkimaradásra, akkor célszerű lehet a szerkentyű tápellátásán alakítani.
Mondjuk lehet akksicellákat "pufferként" használva táplálni az egészet, esetleg azt megoldani, hogy ha áramszünet van, akkor csak a PIC kapjon a háttérakksiról tápot, hogy az órája járni tudjon. Áramszünet esetén a szabályozásnak úgysincs túl sok értelme, ha valami elektromos fűtésről van szó. Esetleg meg lehet fontolni, hogy egy saját gombelemmel ellátott RTC IC-t letenni a PIC mellé, és az időt ebből venni a program számára. Ha külső RTC-t használsz, akkor nem kritikus a PIC órajele, lehet használni a belsőt, így felszabadul két lábad, amiken pont meg is lehet valósítani az RTC-vel való kommunikációt.
A DS1820 úgy emlékszem csak 1-wire jelismétlővel használható 10m-ig. Csak egy 4-5k húzza fel a vonalát, bőven sok a 10m, azon sok zavart összeszed. Ilyen távolságra már RS485-ön lenne célszerű a jelet vinni, vagy esetleg RS232-n, és a szenzor mellett is egy kis picet elhelyezni, pl. 12F675 vagy hasonlót
így van, ez elég nagy távolság ahhoz, hogy valami vonalmeghajtó megoldást használjon az ember.
Azonban ebben az alkalmazásban talán megengedhető az, hogy akár több sikertelen olvasás is történjen, mert az információból elég csak nagyon ritkán mintát venni. Ekkor viszont a hibakezelésre kell nagyon alaposan felkészülni, és a kommunikáció minden pontját kielemezni, hogy hol milyen nem várt esemény történhet. A kommunikációnak minden zavarral szemben atomstabilnak kell lennie.
Így van. Figyelni kéne a csomag beérkezésének max idejét, a beérkezett bájt mennyire tér el az előzőtől(túl nagy eltérést nem szabad valósnak venni, mert az hamis hőmérséklet). Ez a kettő már megoldja a vonal hibáit, ami egyébként szerintem sem túl vészes, de valós.
Az aksis megoldás már volt egyszer, de NiMh -et használtam és amikor elvettem a tápot resetelt a PIC. Most még gondolkodom egy litiumos változaton mert annál kisebb (szinte nincs) feszültségesés.
Ez a fránya leállás szinte biztos, hogy a adatforgalom miatt van, az elvi megoldásom már megvan, remélem legalábbis. Mivel 1 sec-ként van megszakitásom és a hulladékidőben történik minden más a megszakitásba kell betennem valami jelzőt amivel biztositható, hogy a következő hőmérés biztosan előlről induljon. A hibás olvasásra a legegyszerübb megoldásként az előző mért adattal való összehasonlitást gondoltam. Idézet: „Az aksis megoldás már volt egyszer, de NiMh -et használtam és amikor elvettem a tápot resetelt a PIC. Most még gondolkodom egy litiumos változaton mert annál kisebb (szinte nincs) feszültségesés.” Ugy erted, hogy a PIC resetalt mikor atallt akksira, de amugy ment tivabb? Mert akkor nyilvan a PIC oldalan nem volt megfelelo meretu buffer kondi meg hidegito. Mennyi ideig tartott a valtasnal a fesz eses? Amugy mielott a vonal meghajtot birizgalnad es gatyaba raznad jo lenne atnezni, hogy hol a program hiba es azt orvosolni elobb. Es azert a kovetkezo futesszezonig en szebbe varazsolnam a kodot hogy atlathatobb es hibamentesebb lehessen - ahogy azt mar javasoltam
Amikor elvettem a tápot az aksi ugyanúgy rajta volt a szűrőkondival együtt, de a tápfesz - akkufesz- több mint fél voltot esett. A resettel az volt a bajom, hogy előlről indul és nem marad bent a \"FŰTÉS\" üzemmódban.
A sok jótanácsot igyekszem megfogadni és lassan nekilátok a progit rendberakni.
a _BODEN_ON helyett _BODEN_OFF-ot irsz akkor ez a problema lehet megoldodik (amugy _BOREN_OFF, mert a masik csak kompatibilitasi megfontolasok miatt el mar csak).
Ha ez ON, akkor 4V kornyeken mar resetalodik a chip. Nem tudom az aramkor tobbi resze mukodokepes-e 4V alatt (es mondjuk akksi merulest figyelembe veve kell ezt megnezni), de ha mukodokepes akkor nincs gond, csak ki kell ezt kapcsolni. Ha meg gond akkor nyilvan nagyobb fesz-u buffereles kell. A LiIon / LiPo akksi jo gondolat, de 1 cellas az 4.2V teljesen feltoltott allapotban, tehat az is elegge a hataron mozog foleg ha van mogotte dioda, nembeszelve hogy hamar leesik az 3.6V kornyekere es talan az az uzemi feszultseg... akkor kellene min egy 2s LiIon pack, ahhoz megfelelo tolto aramkor is kell, azonkivul figyelni kell nehogy melykisules tortenjenk stb, szoval az macerasabb en szerintem. Lehet egy 9V-os alkalival jobban jarnal, es abbol 5V-ot eloallitani. Nem tudom mekkora az aram felveteled, de pl a fustjelzom kb 2 evig jar egy 9V-osrol, tehat egy futesi szezont csak kibir nalad is, fleg ha csak aramszunetkor hasznalod. Idézet: „A hibás olvasásra a legegyszerübb megoldásként az előző mért adattal való összehasonlitást gondoltam.” A DS1820 küld CRC-t is, inkább azt használd a hibafelismerésre.
Pár lappal ezelőtt volt némi gondom egy 8MHz es quartzal. Most vettem észre, hogy amivel próbáltam az 16F84A-04 volt, tehát csak 4MHz. De mondjuk nem értem, mégis miért működött ha közelítettem hozzá a kezem. Most 16F628A -val próbálva, ugyanaz a quartz, még kondi se kell, simán működik. Na erre varjatok gombot.
Azért nem olyan sima az a 16f84 nem megy oscillátor nélkül ha jol emlékszem.
Az ujabak meg belsö oscillátorra konfigurálhatok.
Azért inkább tedd csak oda azokat a kondenzátorokat. Nem véletlenül vannak azok kitalálva.
Vagy használj /piezo/rezonátort, mert amikor az ujjadra reagál azt én gerjedésnek hivom és nem orajelnek.
Bocsi potyo ez lidinek szolt nem neked, elnézést.
Sziasztok!
Szeretnék hamarosan elkezdeni egy RFID-s terminált készíteni. Nem foglalkoztam még egyáltalán vele, így nem tudom, hogyan érdemes hozzáfogni. Létezik valami bevállt demó panel RFID-hoz? A Chipcad-es, MTP-K2 Demo panelekről tudtok valamit? Köszi szépen! Üdv.: Zoli
Helló Mindenkinek.
A következő a kérdésem: Tanulás céljából egy 7 szegmenses multiplexelőt elemeznék, MPLAB-bal. a megszakítást a Timer0 végzi az órajelet leosztva. De ha lépésről lépésre (debugger) megyek akkor nem történik megszakítás (szerintem). Hogy tudnám a multiplexelést lépésenként ellenőrizni? Köszönettel Idézet: „De ha lépésről lépésre (debugger) megyek akkor nem történik megszakítás (szerintem).” Azért csak próbáld ki, hátha mégis. Tegyél egy breakpoint-ot a megszakítási rutin elejére (duplakatt valamelyik utasításra az ORG 4 után), és futtasd F9-el a programot, akkor elmegy odáig, és ott megáll. Aztán onnan léptetheted egyesével.
Helló potyo.
Köszönöm a gyors válaszodat. Jól esik a segítséged. Köszönettel.
Szia Csaplar,
Microchip oldalan ha beirod a keresobe, hogy RFID, akkor van par talalat, nem tudom ez menyire segit? Tamas
Sziasztok! ,
az lenne a kérdésem, hogy az MPLAB debuggoláskor a következő üzeneteket küldi : Message[302] D:\ ...\1.ASM 15 : Register in operand not in bank 0. Ensure that bank bits are correct. / a program rendesen fut ahogy elképzeltem, akkor miért írja ezt?/ Message[305] D:\...\1.ASM 38 : Using default destination of 1 (file). /miért nem lehet "1" az ASM fájl neve ?/
Szie Berci,
Ezek mar parszor ki voltak targyalva itt a forumon, de akkor megegyszer: Idézet: „Message[302] D:\ ...\1.ASM 15 : Register in operand not in bank 0. Ensure that bank bits are correct. / a program rendesen fut ahogy elképzeltem, akkor miért írja ezt?/” Ez csak egy megjegyzes, hogy az adott regiszterre figyeltel-e, hogy a megfelelo bankot kivalasztottad mielott hozza nyulkalsz... Ezt akar ki is lehet kapcsolni, de amig meg nem szokod a bankolast addig akar jol is johet. Idézet: „Message[305] D:\...\1.ASM 38 : Using default destination of 1 (file). /miért nem lehet "1" az ASM fájl neve ?/” Ez NEM az asm file neve! a 38. sorban van egy utasitas, ahol nem hataroztad meg a cel operandust, es azt alapertelmezesben 1-nek, azaz "F" -nek veszi. Pl "ADDWF SZAM" es ebbol csinal "ADDWF SZAM,1"-et azaz "ADDWF SZAM,F" -et... (lehetoseg szerint az "F"-et hasznald vagy a "W"-t az 1 vagy 0 helyett, igy konyebben lehet atlatni a kodot a kesobbiekben...)
Köszönöm !
és bocsánat hogy olyat kérdeztem amire meg lehet találni választ.
Üdv.
USB-s PIC égetőt szeretnék építeni. Méghozzá a Brenner 8-at. Két félére gondoltam. erre vagy erre Szerintetek melyik lenne jobb elsősorban 16F628-hoz és 16F84-hez? Szerintem a minip. Mi a véleményetek erről a programozóról? Érdemes ilyet építeni? ICProg kompatibilis? Még nem foglalkoztam PIC-ekkel, ez lenne az első PIC-es dolgom. Üdv.
Vagy ezt, ha idegenkedsz a feluletszerelt dolgoktol...
Sziasztok!
Ne nagyon üssetek agyon, csak egy PICit... Mi kell ahhoz, hogy a PicKit2 gyári deszkája (PIC16F887) segítségével elzenéljük a boci-boci tarka című nagysikerű világslágert? Úgy értem rendes kimenetet kell használni, vagy valamelyik speciális kimentet? Buzzer helyett mi lehet alkalmas a feladatra? Az lehet, hogy a normál A hang 440Hz-en berreg? Hát, egyelőre ennyi...és előre is köszönöm szépen!
Minden további nélkül lehet egy "rendes" kimenetre frekit gerjeszteni(négyszögjel). Ehhez a legjobb megoldás a Timer megszakítás, és a timer regiszterek kezdőértékének vezérlése, ami kihat a megszakítás ütemére.
A dallamot pedig le lehet kottázni, ha ismered a hangok frekijét. Maga a program azért nem egyszerű, és nem tudom eddig milyen szintre jutottál a demópanel próbálgatása közben... Ha tudsz megszakításból LED-et villogtatni, akkor a hang ugyanaz, csak gyorsabban.
És ez (Bővebben: Link) jó a fent említett két PIC-hez, és még milyenekhez jó? ICprog kompatibilis? Induktivitást honnan tudok bele szerezni? Egyébként jó lenne, egyszerű, USB-s.
Üdv. Idézet: „És ez (Bővebben: Link) jó a fent említett két PIC-hez, és még milyenekhez jó?” Végigolvastad, amit szilva írt a honlapján? Akkor meg kellett, hogy találd ezt a linket: Link, ezen pedig a Click here for Programming and Debug device support list feliratot. Na akkor katt gyorsan rá, és ott a lista. Idézet: „ICprog kompatibilis?” Nem, és nemis látom sok értelmét MPLAB alatt fejleszteni, aztán meg IC-Prog-al programozni, amikor lehet direkt az MPLAB-ból is programozni. Valamint ott van a Pickit2 program is. Idézet: „Induktivitást honnan tudok bele szerezni?” Elektronikai üzletben kérsz egyet.
Sziasztok!
Lenne két kérdésem... Mennyire működőképes az a dolog, hogy a program futása alatt dugom rá a készülékre az I2C-n kommunikáló eepromot és másolom rá az adatokat? Persze valami masszív csatlakozón keresztül... Lehetséges ez, vagy megfagy az egész? Valamint azt is szeretném megkérdezni, hogy mekkora a maximum sebesség, amivel kommunikálhat a p18f4520-as RS232-őn a PC-vel? Most 9600 baudon megy, és én nem láttam sehol a datasheet-ben korlátot. Ez azt jelenti, hogy nyugodtan emelhetem? Mekkora a maximum, amin még érdemes kommunikálni? Köszi a válaszokat! Üdv.: Zoli |
Bejelentkezés
Hirdetés |