Fórum témák
» Több friss téma |
Az nem ellenállás, hanem kondenzátor! És nem sorosan, hanem a kvarc és a föld közé! Általában 22 pF jó szokott lenni.
Ha ennyi az egész program amit ide leírtál akkor ez nagyon kevés.
Rs-re gondolok a mellékelt ábrán.
Általában nincs rá szükség, csak ha a kvarc igényli.
Kérdés milyen kvarcokat forrasztgattál ki, de szerintem nagyon ritka amelyikhez kellhet.
Kellene még pár dolog, hogy jó legyen.
Analóg portok digitálisra állítása, PIC alap setup beállítások...ilyesmik.. Valami ilyesmi kellene minimum:
És kellene egy beállítás a PIC alap beállításokhoz is: (4MHz-es kristállyal használva)
A hozzászólás módosítva: Jún 19, 2015
Nem csak a 16F628-as. Az összes PIC-nek vannnak alap konfigurációs beállításai.
Ajánlom figyelmedbe az adatlapot. 97-98. oldal, CONFIGURATION BITS. Elsődlegesen oszcillátor beállítás, watcdog kikapcs, MCLR beállítás, ezek a lényegesebbek, esetleg LVP, a többi az csak hab a tortán, de ha már úgyis állítod a konfigot, akkor az összes bitet a neked megfelelően beállíthatod. Ezenkívül amit Don_Peter kolléga javasolt, (bár itt nem kell, mert B porton nincs analóg) az analóg funkciókat kikapcsolni, mert alapbeállításként amelyik porton van analóg opció azzal indul. Kezdésnek ennyi. Aztán ha ezt hardverra akarod tölteni, annak is vannak alap követelményei, lásd fenn a sárga mezőben. Szerk: Látom közben Péter kolléga a konfigra is adott példát. A hozzászólás módosítva: Jún 19, 2015
Értem, You Tubon találtam egy videó sorozatot,de ott erre nem tér ki a szerző.Ő 16F877- el" birkózik".Esetleg ha megkérlek benneteket egy akármilyen kis códot ami 628-hoz íródott, ha bemásolnátok,számomra átláthatóbb volna,melyik utasításnak hova is kell kerülnie.
Köszönöm!
Már bemásoltam, azt csak használnod kell.
A __config() rész megy legfelülre, aztán mehet void init_setup(void) függvény, és utána jöhetnek az alapok amik neked is megvannak.
A hozzászólás módosítva: Jún 19, 2015
Én még sohasem használtam soros ellenállást a kvarchoz.
Pedig sokat javul a stabilitása, és a zavarsugárzása is, ha kellő teljesítménnyel van hajtva ezt állítaná be az ellenállás. Nekem egy frekvenciamérőben nem csak soros ellenállás,hanem 2.2uH tekercs is van, mert romlik a stabilitás, és rezgés képe, ha közvetlenül kapcsolódik a kvarc mindkét oldalára kondenzátor. Soros tekercsel javult a trimmelhetőség is, ami a kalibrációhoz meg szükséges.
Sziasztok
Segítségeteket kérném az alábbi problémámmal kapcsolatban. Építettem egy 18F4620-as PIC-el, egy locsolórendszer vezérlőt. A szoftver gyönyörűen működik, lefut a locsolóprogram, kapcsolgatja a reléket, de csak akkor ha nem kötöm rá a relék érintkezőire a 24V AC-t, ami a szelepeket működteti. Nem minden kapcsolásnál, csak néha, de rendszerint amikor kikapcsol valamelyik relé, reseteli a PIC-et. A 24V AC és a vezérlő elektronika tápja között semmilyen galvanikus kapcsolat nincs, de ugyanarról a transzformátorról csak külön tekercsről táplálkoznak. A PIC táplábai között ott a 100n, az mclr láb felhúzva. Mi okozhatja ezt a hibát, hogy tudnám kiszűrni.
Üdv!
Ezt a pár alkatrészt építsd a MCLR köré. Bővebben: Link Régebben nekem is volt gondom a random újraindulás, ez oldotta meg.
Sziasztok!
Segítséget szeretnék kérni, PIC16f628A időzítő programozással van gondom. Bármit próbálok, a TMR1IF bit kb. 64,6 ms-onként vált logikai 1 re. A TMR1H és TMR1L bitnek hiába adok értéket, a frekvencia ez marad. Ez a legutolsó programom, de ez sem hozott eredményt:
MPLAB X v3.00 ban programzok, XC 8-as compiler melett. Pickit2 a programozó eszközöm. Van valakinek ötlete mi lehet a hiba, vagy mit rontok el? Előre is köszönöm, Balázs
Szia!
Ha a Timer számlálóregiszterével (TMR1H:TMR1L) akarod belőni a sebességet, akkor minden egyes túlcsordulásnál (amikor a TMR1IF 1-be vált) ugyanúgy be kell tölteni a kívánt értéket. Tehát a
részt a "TMR1IF = 1" rész elé is be kell írni, a főcikluson belül. Különben csak az első indulásnál fog nem nulláról indulni, utána ugyanúgy nulláról indul (tehát végigszámolja a 65536-ot). További probléma, hogy a TMR1L (és TMR1H) értéke max. csak 255 lehet, tehát mikor 300-at írsz be, akkor az valószínűleg csak 44 lesz (300-256).
Szia!
Köszönöm a választ, el sem hiszed, mennyit segítettél.
Köszönöm az ötletet, de sajnos ez sem segít. Sőt azt vettem észre hogy az RTC-t is bezavarja, mert néha megáll.
Ez is csak akkor ha terhelést kapcsol a relé, és csak kikapcsolásnál. --?????
Persze, ennyire kezdő nem vagyok. De mint mint írtam csak akkor jelentkezik a hiba, ha az érintkező kapcsol is valamit.
Ha nincs rákötve semmi, csak a relé kattog magában, akkor semmi baja. A hozzászólás módosítva: Jún 19, 2015
Volt szó az MCLR-ről. Visszatérve rá, azt kikapcsolva (konfignál) is jelentkezik a probléma?
A relé azon a NYÁK-on van, amelyiken a kontroller is? Ha igen, akkor a nyitáskor keletkező szikra (+ elektromágneses sugárzás) zavarhatja meg. A szelepek 24 V DC-ről is üzemelnek? Mert ha igen, ki lehet váltani a reléket egyszerűen tranzisztorokra, vagy ha mindenképpen AC kell, akkor kis teljesítményű szilárdtest relékre. Oszcilloszkóppal tudod nézni a PIC tápfeszültségét? Lehet, hogy az nem elég stabil.
Reléket a lehető legtávolabbra a kontrollertől. A relék tekercseire inkább Shottky diódát (1N4148 -at egyébként is kevesellném nyelődiódaként) tegyél.
Igen, már az MCLR-t is kikapcsoltam. 2 db gyári relépanel van nyák csatlakozóval illesztva a PIC paneljére. A relépanelon rajta vannak a diódák, de csak 1N4148-nak nézem.
Szia!
Én nagyobb teljesítményű gép vezérlőjénél szenvedtem ezzel a problémával. Három lépcsőben sikerült csak kiküszöbölnöm. Az MCLR-t átállítottam bemenetnek, a tápra a stabilizátor elé a + - közé nagyfrekis visszacsatoló diódát, és vele párhuzamosan 100n-s kondit tettem. Ez már majdnem megoldotta, de még így is előfordult néha a resetelődés. Ekkor szoftveres megoldást alkalmaztam. Mivel az újraindulástól a ramok nem törlődnek, így közvetlen a PIC paraméterezése, de még a változók beállítása előtt ellenörzöm az egyik fix értékű változó tartalmát. Első beindításnál az még nincs meg, tehát az inicializáció lefut. Ha már megvan, elugrik a program a kontrol sorra. A program a futása során, minden részfeladat végrehajtásakor beállít egy bitet. A kontrol program megkeresi az utoljára beállított bitet, és az annak megfelelő sorra ugrik.
Köszi, ez a szoftveres megoldás elgondolkoztató, de még mindig ott az RTC megállása, vagy lefagyása. Igaz annak a táplábai közül kihagytam a 100n kondit, de nem messze tőle van a PIC kondija. Azért majd pótolom.
Sziasztok!
Van ötletetek,hogy mit ronttottam el?A kommunikáció műküdik a nyomógomb lenyomásakor,de amikor átteszem a pickit2-t a kommunikációs jamperekre,akkor már nem reagál az infra.
Sziasztok.
Szeretnék egy kis segítséget kérni. A lenti programot megcsináltam lehet amatőr módon, de nekem úgy kellene működnie, hogy: - kezd, érték megy, mikor igaz átugrik a "led1" de közben a ciklus megy, mikor átlép tudnom, kellene az "i" mennyi volt hisz utána annyival kevesebbet kellene lépnie a led1 -ben. tehát a led1 "i" -nél azt le kellene vonni. Lehet amatőr, amit csináltam, de próbálkoztam és az is lehet teljesen rossz. pic16f84a picbasic Előre is köszönöm a segítséget
A hozzászólás módosítva: Jún 20, 2015
LED1-ben vedd figyelembe i értékét, például így:
Sziasztok!
Van egy 18f4520-as mikrovezérlőm amivel megszakítással kapcsolok be egy ledet és nem tudom hogy lehetne megadni neki másodpercben , hogy hány mp. múlva kapcsoljon be. Olyasmi kellene hogy pl : változó = 30 ; és ez 30 másodpercet jelentene. 8Mhz-s órajelen megy a vezérlőm. Itt lenne a kódom:
Köszönöm. A hozzászólás módosítva: Jún 20, 2015
Szerintem elsőnek csinálj egy 1mp-es megszakítást és utána azt lehet már szabályozni számolva a megszakításokat egy változó implementálásával.
Na igen , de ezzel is bajban vagyok . Delay-t nem szeretnék használni , mivel az befolyásolná a webszerver do packet-jét .
A hozzászólás módosítva: Jún 20, 2015
Szia!
Timer2 vel kell pontos másodperc alapú időzítőt csinálni. Amikor megszakítást generál , megnéz egy változót, ha értéke nulla tovább lép nem foglalkozik vele. Ha valamilyen értékű, akkor csökkenti.Ha csökkentéssel éri el a nullát, akkor bebillent egy bitet, amit majd a főprogram lekezel.(pl. led villogtatás) ezzel a módszerrel a megszakítás minimális időt használ, és több újra indítható időzítőt is tud kezelni.Ráadásul rugalmas időintervallumokat lehet megadni.Ha nem adsz az egyes időzítőknek értéket, nem történik semmi. üdv.: Foxi |
Bejelentkezés
Hirdetés |