Fórum témák
» Több friss téma |
Szia,
Mármint melyik LED nem kapcsol ki? Mi a PIC pontos típusa?
Én úgy értelmezem, bekapcsoláskor RA0 lábon lévő LED világít, 5s után RA0 kikapcsol, RA1-en lévő bekapcsol és úgy is marad.
Szia Bakman! Nagyon köszönöm a segítséget, ez jól működik!
PIC12567. Megoldódott a probléma. Köszönöm a segítő akaratot!
Úgy tűnik a Delay_ms(500000) okozta a gondot, mivel szerintem az max. 16 bites értéket fogad. Illetve hogy a cikluson belül volt.
Na a lényeg, hogy megoldódott.
A cikluson belüliség okozta a gondot. A ciklus újraindulásakor az elinduláskori állapotot vették fel a kimenetek.
XC8 esetén 32 bites lehet az érték (lásd melléklet), mikroC-re passzolok, valószínűleg ők sem aprózták el.
Köszi a pontosítást.
![]() Idézet: „A ciklus újraindulásakor az elinduláskori állapotot vették fel a kimenetek” Viszont ez mondjuk elég gáz működési mechanizmus szerintem.
Mindenkinek köszönöm, aki próbált segíteni. Sajnos nem sikerült beüzemelni.
pic nem indul, csak ha pickit2 csatlakoztatva vanSziasztok, amatőr hobbista vagyok, de már készítettem jópár alkalmazást. A mostani esetben egy pic16f886 procit használok, és minden szépen működik, ameddig a pickit2 rajta van a nyákon. Ha leveszem és a saját tápról menne, akkor nem indul el vagy nem tudom meddig jut el. A topic fejben leírtakat csak ott szegtem meg, hogy 10kOhm helyett 4,7kOhm-os ellenállással húzom fel a MCLR lábat. Volt már olyan eset, hogy menet közben lehúztam a pickit2-t és szépen ment tovább. Mellékelem a kicad-os sémát, ha érdekes lenne.Van ötletetek, leírásotok, hivatkozás a pic adatlapra, amit érdemes elolvasni vagy nem tartottam be?
A rajzon én 47K-t látok, de hiányzik onnan más is... inkább ilyesmivel kisérletezz:
https://obrazki.elektroda.pl/7766982600_1391059513.jpg https://onlinedocs.microchip.com/oxy/GUID-FEC46964-0385-48FA-B67F-A...A.html
Az mclr-t 1-10k körüli ellenállással szoktam felhúzni , szerintem nem az lesz a probléma . A kvarc bekötése és a programban a beállítása lehet a gond szerintem .Én igy szoktam bekötni
A hozzászólás módosítva: Szept 16, 2026
Hiányzik az MCLR kondi, javasolt a soros ellenállás, hogy a kondi ne zavarja be a pickit MCLR-t
Szia!
A konfigurációs biteknél kikapcsoltad az LVP-t ?!
Release változatot fordítottál és programoztál be? Debug verzió nem fut programozó/debugger nélkül.
Jársz itt a fórumon, de ugy latszik a válaszok nem érdekelnek
Szia, bejelentkezve maradtam a gépen, szorri. Kösz a választ, ki is fogom próbálni, de nehéz egy nyákon módosítani. (meg közbe jött 10 kg lecsó eltevése)
Mivel nem lehet debugolni, soha sem fordítok Debugost.
Nagy valószínűséggel tápfeszültség problémák vannak a rendszerben. Kontroller mekkora órajelről jár?
8Mhz van beállítva. Egyébként az alkalmazás nem időkritikus, éles üzemben majd 1-2-5 percenként (beállítható) mér egy kört, küldi az adatokat és elmegy aludni. Most 10 sec alvás van, a teszt miatt.
A rajzon 32768khz kvarc van és csak az osc 1 re bekötve ... Akkor ez most hogy ?
A hozzászólás módosítva: Szept 17, 2026
Hát igen, ez a baj uC-vel.
Programtól függ a lábak funkciója, meg még sok más is belül. Ma már messze nem elég, ha beazonosítjuk a tokot...
Jó lenne ha legaláb a program konfigárucációs részét feltennéd ide hogy lássuk egyáltalán miről beszélünk , az 32768 as kvarc ha a rajzod szerint van bekötve szerintem teljesen felesleges mert ott-és úgy nem működik .A 8 megás belső oszci akkor működik ha be van állítva a konfigurációban az hogy van benne csak egy dolog .És még lehet hogy keveredés is van a fogalmaidközt mert az RC oszci igényel külső R-C elemeket amit szintén nem látunk a rajzodon .
A hozzászólás módosítva: Szept 18, 2026
Az a kvarc a Timer1-hez van csatolva.
Kondik nélkül soha nem használtam kvarcot ,így is lehet ?
Szép fogás. Könnyen lehet, hogy ez a probléma alapja attól függően, a program hogyan viszonyul a Timer1-hez.
Köszönöm az észrevételt és a hozzászólásokat. A nyákot átalakítom kondis kvarc használatra.
Az eredeti probléma okai ezek voltak: 1. Brown-out Reset (BOR) áramlökés miatt: Amikor a PIC kiadta a parancsot a perifériák bekapcsolására, a LoRa modul és a szenzorok üres kondenzátorai a rákapcsolás pillanatában hirtelen hatalmas áramot szippantottak ki (Inrush Current). Az MCP1702 feszültségszabályzó ettől egy mikroszekundumnak a töredékére letérdelt, a PIC tápfeszültsége bezuhant, és a belső Brown-out Reset áramkör azonnal újraindította a processzort. Ez egy végtelen körforgást okozott (elindul → bekapcsol → bezuhan → resetel → újraindul), ami miatt a szoftver sosem jutott el a mérésig, és a PICkit tápsegítsége nélkül működésképtelen volt. 2. A "Zombi" állapot (Fantom táplálás): Amikor a PIC alvó módba kapcsolt, a perifériatáp lekapcsolása után a hardveres UART soros porti adó (TX) lába High (3.3V) szinten maradt. Ez a feszültség a belső védődiódákon keresztül titokban visszafolyt a LoRa modulba, amely így nem tudott teljesen kikapcsolni, hanem egy 2.2V-os fagyott zombi állapotban maradt. Ébredéskor a modul nem kapott tiszta indítást, nem reagált a PIC-re, ami újabb fagyáshoz vagy a Watchdog miatti folyamatos újrainduláshoz vezetett. A megoldás ez lett: 1. Fizikai pufferelés (Hardveres javítás): Ráforrasztottunk egy 100 µF-os elektrolit kondenzátort közvetlenül a PIC táplábai (VDD/VSS) közé. Ez a kondenzátor fizikai energiatartalékként működik: mint egy villámgyors akkumulátor, képes áthidalni azt a kritikus pillanatot, amikor a perifériák rákapcsolódnak a tápra, így a PIC feszültsége nem zuhan be többé. 2. Szoftveres lágyindítás (Soft-start szimuláció): Átírtuk a set_periph_on() függvényt. Ahelyett, hogy a tápot egy durva lökéssel kapcsolnánk be, a PIC egy gyors for hurokban, apró impulzusokkal (PWM-szerűen szaggatva) lassan, lépcsőzetesen tölti fel a perifériák kondenzátorait. Ezzel megszüntettük a hirtelen, nagy áramlökést. 3. Az UART lekapcsolása alvás előtt (Fantom táp elvágása): A sleep_seconds() függvény elejére bevezettük az RCSTA.SPEN = 0; parancsot, amely teljesen lekapcsolja a PIC belső soros port modulját. Ezzel elértük, hogy az UART TX lába alvás közben elengedje a feszültséget, a 3.3V_SW tápsín valóban leessen 0V-ra, a LoRa modul pedig tiszta indítást (Power-On Reset) kapjon minden egyes ébredéskor. Mindenkinek köszönöm a segítséget, irányba állított. Idézet: „A mostani esetben egy pic16f886 procit használok,” Csak egy apróság..... A pic16f886 nem proci hanem mikrokontroller vagy röviden MCU... |
Bejelentkezés
Hirdetés |














