Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Mekkora sebesség kellene? Ha nem kell nagy sebesség, az áramköreid nem túl nagy áramfelvételűek, valamint nem szempont a túl nagy energiahatékonyság, akkor meg lehet azt csinálni, hogy az eszközeid egy-egy soros diódán keresztül kapják a tápot, helyben pufferelik valami nagyobb kondenzátorral, és egy-egy mosfettel le tudják a dióda előtt húzni a tápot, meg ugyanezt a pontot figyelik is. Ez így logikai szempontból egy közös vezetéket használó (half duplex) RS232 kommunikációnak felel meg. Mekkora távolságokról lenne szó?
A hozzászólás módosítva: Jan 23, 2014
A távolság nem lenne nagy, kb. 1,5 méter, az áramfelvétel viszont már kicsit nagyobb. 12 pici modell motor menne a tápról, LEDek, és 9 mikrovezérlő. A nagy adatátviteli sebesség nem szempont. A 9 pic-nek egy hálózaton kell kommunikálni.
Sziasztok.
Egy segítséget szeretnék kérni PIC 18F4550 kezeléssel kapcsolatban. Ha beégetek egy programot majd az EEpromokat beállítom, utána kikapcsolom és nem az átírt értkek jelennek meg a változóknál. Ha csinálok az égetővel (PICkit2) egy visszaolvasást, akkor igen. Ha az égető tápját kapcsolgatom ki, az EEPROM értékek megmaradnak ha visszakapcsolom. Ha viszont egy kis idő mulva 5v-ról indítom, újra nem az eepromban tárolt értékek jelennek meg. Mi lehet rá befolyással. Belső és külső MCLR estén is ua. a helyzet. (EEPROM protect-ek ki vannak kapcsolva.)
Nem lehet, hogy induláskor törlöd az EEPROM-ot? Mutass egy rövid példakódot, amit használva ezt a problémát látod.
Köszi a gyors választ. A programot nem szívesen publikálnám. most KB 28.000 sor az asm.
Egy vezérlést dolgozok át pillanatnyilag. A parsic4 moduláris fejlesztővel készül, és mellette automatikusan készül az asm. A 16Fxxx jól működött az eeprom kezelés. Itt valami miatt véletlenszerű. Olyan mintha törölném, de ha visszaolvasom honnét jönnek elő az értékek?Ha az égetőnél a tápot lekapcsolom és vissza akkor OK. Ha az ICD csatiját lehúzom majd visszadugom akkor nullák jönnek vissza. majd visszaolvasok és újra a beállított értékek jönnek elő... A hozzászólás módosítva: Jan 23, 2014
Csak nem kisvasút? A szikrákkal gond lehet, ha nincs sín csak motor, akkor is...
Hasonlítsd össze a fordító által generált kódot az adatlapban ajánlottal, hogy minden lépés megvan-e! Egyébként a parsic által generált kóddal nem sokra mennénk. Sajnos elég reménytelen, ha a fordító miatt van a baj...
A hozzászólás módosítva: Jan 23, 2014
De igen, kisvasút. Csak nem a vonatba lenne, hanem kiegészítőhöz.
Rádió összeköttetést kéne esetleg meggondolnod! (RFPIC) A mozdonyokban is működne...
A hozzászólás módosítva: Jan 23, 2014
Én használtam néhány éve 4550-t relés, ill. 230V-os egyfázisú, kondenzátoros indítású motoros környezetben. Soha nem volt baj az eeprom-os tárolással.
Nem zárható ki a hardver hiba, de szerintem leginkább szoftver hiba lesz.
Köszi a válaszkat. Gondolkodtam én is hardvare hibán. Beszéltem a Chipcad-el is "Ők kizártnak" tartják. Valójában 2db-om van mindkettőnél hasonló ma helyzet. A napokban kapok újakat. Eeprom írás illetve olvasás kódvédelem konfig hibára is gyanakodtunk, de ha egyszer be van égetve, az vagy le van kódolva, vagy nincs. Néztem aírás és olvasás rutint, én nem látok hibát benne. A megszakítás is le van tiltva ezalatt. Az a helyzet, hogy kb 60-70 változót kell (kellene) tartanom eepromba. 1-2db változó esetén is hasonló a helyzet.
Csinálj egy csak ilyen mentést és betöltést tartalmazó kódot, és próbáld ki azzal, hogy mi a helyzet. Ha úgy sem jó, akkor rakd fel azt ide, és megnézzük - bár parsicet nemtudom, mennyien használnak. Ha úgy megy, akkor keresd meg, miben tér el a projektedben szereplőtől a kód, és javítsd ki. Ha két chip ugyanazt csinálja, akkor igencsak elenyésző a hardverhiba valószínűsége.
Itt van az adott szisztéma egy "szelete."
Lenne egy gyors kérdésem:
Kb. 38kHz-es négyszögjelet szeretnék kicsikarni a PIC-ből a CCP3 modulja segítségével. PIC18F25K80-ról van szó egyébként. A mikrovezérlő 8MHz-es kvarcról jár PLL-el 36MHz-en és ezeket állítottam be:
De a PIC kimenetén csak stabil H szint van sajnos. Miért?
Az RC6-on van CAN és USART is, állítsd be, ha foglalt lenne a láb.
Hogyan jön ki a 36MHz?
A 36MHz úgy hogy elírtam. 32MHz-et akartam természetesen írni.
Nagyon jó tipp, be is írtam még ezt a pár sort:
De sajnos még mindig stabil H szint van a lábon. A hozzászólás módosítva: Jan 26, 2014
Hello!
Ha ilyen sorrendben végzed el a beállítások, mint ahogy leírtad, akkor eltudom képzelni hogy nem működik. Hisz, órajel beállítás után egyből engedélyezed a PWM modult, úgy hogy a lábak még mind bemenetre vannak állítva, a másik, hogy engedélyezed a Timert, szintén úgy, hogy még be sem állítottad a periódust, és a kitöltési tényezőt. Szóval a javaslatom, hogy: 1: állítsd be az órajelet 2: állítsd be a portokat (TRIS, ANSEL ...) 3: konfiguráld a perifériát (TMR, CCP) 4: engedélyezd a perifériát
Átnyálaztam az ECAN-ról szóló részt (jó hosszú) de nem értem hogy lehetne kikapcsolni (vagy megnézni hogy be van-e kapcsolva).
Szia!
Köszönöm de szerintem a sorrend maximum azt befolyásolja hogy a beállítás végezte előtt csinál-e nem várt dolgokat a PIC vagy sem. Jelen esetben (ennél az áramkörnél) ez teljesen mindegy.
Én sem néztem, csak azt látom, hogy milyen eszközökhöz tartozik a láb. Ha lesz több időm belenézek...
Azt megköszönöm! Nagyon jó lenne ha ez a kis kütyü még a délután folyamán életre kelne. És már csak ez hiányzik a programból, a többit már megírtam szinte teljesen.
Azt próbáld ki, hogy kiteszel a kimenetre simán szinteket, esetleg egy LED-el detektálva, de mérheted is... Ha működoik, akkor nem fogja más és máshol kell keresni.
Ha L szintre állítom akkor 0V, ha H szintre akkor pedig kb 1,6V van a lábon. A PIC tápfesze 3V körüli. Ha ugyan ezt egy másik lábon megmérem ott a H szint kb 2,4V.
Szkóppal is nézted? Nagyon soknak tűnik a fesz esés.
Az micsoda? Szerintem nincs ilyen. Rákerestem a pdf-ben és nem talált ilyent de még csak a "collector" szó sem szerepel az adatlapban.
Hoppá jut eszembe a fesz esés azért lehet mert van ott egy infra LED a PIC lábán.
De 38kHz-es négyszög továbbra sincs.
Bocsánat Open Drain Control regiszter (ODCON @ 0xF91)
|
Bejelentkezés
Hirdetés |