Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   935 / 1320
(#) bankimajki válasza Hp41C hozzászólására (») Márc 15, 2011 /
 
Tényleg, pedig már mindent állítgattam. (És erre nem is gondoltam.) Köszi az infót.
(#) Auf hozzászólása Márc 15, 2011 /
 
Sziasztok!

Elakadtam.
Írtam egy 4 bites ldc vezérlést PIC16F628ra, plusz a ccp1 modullal hajtok meg egy led-et. Ja és egy gomb 10k-val felhúzva, az rb0-án (int bemeneten). A következő a kód.
Müködni csak úgy müködik, hogy kiírja amit akarok. Majd a gomb megszakítást hoz létre. Ezt kéne számolnia, és kijeleznie a 2 sorban. És közben nővelni a fényerőt.
Az a baj vele, hogy olyan 2-3 gombnyomásig érzékel, és növeli a ccprl1-et.
Miért? Szeretném megérteni, hogy hol ronthattam el.
Előre is köszi!

LCD_CCP.asm
    
(#) Ideiglenes válasza Auf hozzászólására (») Márc 16, 2011 /
 
A megszakítási rutinod elején, miután a regisztereket mentetted, a BANKSEL makróval ki kellene választani a megfelelőt az intreg-ed számára.
A sok goto utasítást én macerásnak látom, lehet egyszerűbben is. De mondjuk ettől még működhet jól.
(#) Hp41C válasza Auf hozzászólására (») Márc 16, 2011 /
 
Szia!

Állítsd be az MpLab programban az MpLab SIM -et szimulátornak és kövesd végig a programodat.
Egyébként a hibát az okozza, hogy a movf valami a valami értéke szerint beállítja a Z jelzőbitet a STATUS regiszterben, de nem mozgatja az adatot (ill a valami -ből a valami -be mozgatja), ugyanis az f rendeltetés a default. A megszakítás kiszolgáló rutin mentési része emiatt nem működik rendesen. Érdemes rászokni a rendeltetés megadására (w ill. f), ekkor látszik mit is szeretnénk..
(#) SmithWebster válasza SmithWebster hozzászólására (») Márc 16, 2011 /
 
Köszönöm a segítségeteket! Sikerült megoldani!

Az elsődleges baj az volt, hogy a delay rosszul volt beállítva, mert elvileg csak úgy működik rendesen a beépített függvény, hogyha az órajel és a delay értéke megegyezik.

RS232 Hibalehetőségek

Persze én CCS fordítót használok, lehet máshol máshogy működik.

A másik, ami gond lehetett, az az, hogy én folyamatosan logikai 1 -en tartottam az adást (nem akartam bajlódni az adóval így folyamatosan egy "szekvenciát" adott,) és mintha ez bezavart volna (gondolom a 250 ms-os kikapcsolás miatt)

Szóval mégegyszer köszönöm!

Üdv,
smithwebster
(#) icserny válasza (») Márc 16, 2011 /
 
Nem lehetne a kérdést magyarul megfogalmazni?
(#) pedestrian hozzászólása Márc 16, 2011 /
 
Sziasztok. Egy olyan problémával találkoztam amit nem tudok megoldani. Egy órát szeretnék építeni PIC 16F819 processzorral. Sikerült az áramkört felépíteni és a programot is beolvasni, (nem én írtam) de az a probléma hogy gyorsabban jár mint kellene. kb 1 perc letelik nála 40 sec alatt. egy 16Mhz quartz van az áramkörben. Tud valaki segíteni, hol keressem a hibát? Akik megépítették a kommentjeikből az derül ki hogy nem volt ilyen gondjuk. (Külföldi oldal és elég halott már). Ha kell a kapcsolást és a forrásfájlt csatolom.
Köszönöm előre is.
(#) Hp41C válasza pedestrian hozzászólására (») Márc 16, 2011 /
 
Szia!

Mérd meg pontosabban az eltérést, töltsd fel a kapcsolási rakzot és a programot...
(#) ciw hozzászólása Márc 16, 2011 2 /
 
Üdv !

Egy IRF540 fet-et szeretnék meghajtani PWM-el 3v3-al.
A fet 12V-ot kapcsolgatna és vagy 10A kellene tudnom levenni róla.

Gondolom csak simán a PIC kimenetét nem köthetem a FET-re mert nem bírja kihajtani.

A kérdés, ha a pic hajtana egy CMOS kaput és az hajtaná a FET-et vagy 12V-al az úgy működhet?
(#) puli122 válasza ciw hozzászólására (») Márc 16, 2011 /
 
Vannak külön fet meghajtó Ic-k, de a CMOS kapus megoldás is működik.
(#) ciw válasza puli122 hozzászólására (») Márc 16, 2011 /
 
Értem, kösz, bár ha van ilyen ic, az mégjobb.
Én ami ic-t találtam az mind nagyfesz meghajtók 600V körüli.

Van valami kisfesz típus is? Ilyennel még nem találkoztam.

Vagy nekem elég egy lowside driver is?
(#) puli122 válasza ciw hozzászólására (») Márc 16, 2011 /
 
Ez vagy bármilyen hasonló:
Idézet:
„3.3V logic compatible
Gate drive supply range from 10 to 20V”
(#) ciw válasza puli122 hozzászólására (») Márc 16, 2011 /
 
Igen, de ennek a Vih 9.5V minmum. Adatlap 3. oldal táblázat első sor.

Esetleg ez: Bővebben: Link

Úgyis 2 csatornára van szükségem.
(#) El_Pinyo válasza ciw hozzászólására (») Márc 16, 2011 / 1
 
Ha már PIC témában tetted fel a kérdést, érdemes körülnézni a Microchip kínálatában is. Bővebben: Link FET Drivereknél keresd.
Például a TC4627 alkalmas lehet a feladatra, ráadásul Chipcadéknél akciósan beszerezhető PDIP tokban.
(#) ciw válasza El_Pinyo hozzászólására (») Márc 16, 2011 /
 
Én épp a TC1427-est néztem ki 12V-om van a FET is azt kapcsolgatja, holnap megkérdezem, hogy van-e nekik aztán próba.

Köszönöm a segítséget!
(#) kissi válasza pedestrian hozzászólására (») Márc 16, 2011 /
 
Ez nagyon durva! Lehet, hogy 10 vagy 12 MHz-es kvarc kellene hozzá (az időeltérésed alapján gyorsabb az órajele kb.50 %-al), de ezt csak a kapcsolási rajz ( ha jó a felírt adat! ), vagy korrekt mérés alapján lehetne megmondani! Mindenesetre nem valószínű, hogy hibás rajzot és programot feltesz valaki a netre ( de előfordulhat!), úgyhogy ne add fel a "csüggedést" !

Steve
(#) szkkteam hozzászólása Márc 16, 2011 /
 
Hello.

Az lenne a kérdésem, hogy másnak is csinál olyat a Hi-tech C compiler MPLAB-ba épülő C fordító, hogy ha túl hosszú az interrupt rutin, akkor fordításközbe, "a program szabálytalan müveletet hajtott végre" felirat fogad, és a fordítás nem készül el?
ez a kód: (PIC16F887) MPLAB v8.53
interrupt void isr(void){
if (TMR1IF){
TMR1IF = 0;

}
}
Ezt még elfogadja, viszont bővítem ezzel:
interrupt void isr(void){
if (TMR1IF){
TMR1IF = 0;
s_position += direction;
Servo_Control(50 + (s_position*5));
if ((s_position == 41) || (s_position == 0)) direction *= (-1);
}
}

És már kapom is a hibaüzenetet. Valakinek ötlete?
Sőt igazából ha már csak a feltétel, vagy bármi komolyabb bele kerül már ezt csinálja. Amúgy a kódot lefutattam megszakítás nélkül is, és gyönyörűen működött.
(#) proksa1 hozzászólása Márc 17, 2011 /
 
Van egy MPLAB PM3 programozóm, nemrég került hozzám de táp nélkül, épitettem hozzá egy megfelelő tápot. Müködött is gyönyörűen, feltettem a legujabb MPLAB-ot, feltettem az usb drivert hozzá, majd elindittam, csatlakoztam a programozóra de kiirta hogy az OS régi, frissiteni akarja, nyomtam egy okét neki de a frissités valahogy nem jött össze neki mert a végén a programozó kiirja hogy nincs vagy érvénytelen az oprendszer rajta. Tehát most igy teljesen használhatatlan, és nemtudom hogy keltsem életre, azota probáltam többször OSt felrakni rá de nem sikerül. Esetleg ötletek? volt már valakinek hasonló tapasztalata? A nyomtató USB kábelját használtam hozzá, de gondolom ez nem igazán lényeges.
(#) pedestrian válasza Hp41C hozzászólására (») Márc 17, 2011 /
 
Innen való a kapcsolás és a program.Bővebben: Link Csinálok majd pontos mérést is a nap folyamán.
Én a fórumban található HEX fájlt töltöttem be, mert a C-t nem sikerült. Ez az Bővebben: Link
(#) Hp41C válasza pedestrian hozzászólására (») Márc 17, 2011 /
 
Szia!

A forrás szerint jók az időzítések a 16MHz -es quartz -hoz. Nézd meg a pic oszcillátorának bekötését, esetleg egy másik 16.000 MHz-es quartz segíthet. Milyen kondenzátor van a quartz két kivezetésénél? Van -e a pc táp és föld lába között 100nF kerámia kondenzátor (amilyen közel csak lehet)?
(#) pedestrian válasza Hp41C hozzászólására (») Márc 17, 2011 /
 
Kipróbáltam már több quartz-ot is, de nem változott. 15pF-os kondik vannak a quarzt-nál. A pic tápra nem tettem kondit, de kipróbálom
(#) pedestrian válasza Hp41C hozzászólására (») Márc 17, 2011 /
 
Nem segített a tápkondi. Lemértem 1 perc alatt 95 másodpercet számol.
(#) THL hozzászólása Márc 17, 2011 /
 
Sziasztok!

A segítségeteket kérném!

Olyan gondom van, hogy egy hőmérséklet mérést valósítottam meg egy PIC16F678A-val egy PT1000-es PTC elem segítségével. A gond a következő: a kijelzőn a mért érték +-20 ugrál random össze vissza, a forráskóddal nincs baj, valahonnan zavart szed össze (szkóppal kimértem) de nem tudom honnan mikor feszstab előtt után van egy 100nF kerámia a pic lábán van közvetlen a tápnál egy 100nF meg a biztonság kedvéért az A/D bemenetre is tettem egyet de mindenezek ellenére nagyon ugrál random.

előre is köszi a segítséget!
(#) Hp41C válasza THL hozzászólására (») Márc 17, 2011 /
 
Szia!

Milyen kijelzőn jelenik meg a mért érték (LED-ek, multiplexelt, stb)? A nyomtatás hogyan vezeti a föld vezetéket? (A csillagpont a pic föld lába kellene legyen, a digitális rész föld árama ne menjen át az analóg rész földvezetékein.) Az A/D bemenetére is tegyél kerámia kondenzátort 10 .. 100nF.
Alkalmazhatsz átlagolást a zavar kiszűrésére. Hogy az osztással ne legyen gond, kettő valamely hatványának megfelelő mérési eredményt adj össze, az átlagot jelenítsd meg.

Nem 16F876A -ról lenne szó?
(#) THL válasza Hp41C hozzászólására (») Márc 17, 2011 /
 
Szia!

Bocsi elírtam 16f873A. egy saját magam által kreált kijelzőn, 3db hétszegmens kijelző multiplexelve de az egy külön IC vezérli soros pumpálással küldöm az adatot neki.
Egy föld kör van ami végig megy a panelon, az analóg rész úgy van megoldva hogy az 5V rámegy egy LM317Z feszstabra ami 2V-ra van belőve és az egy megy efszosztóra aminek az egyik tagja a PT1000. próbáltam az átlagolást de akkor szanaszéllyel mászott a mért érték (exponenciálisan változott a hőmérséklettel a hiba)
(#) Hp41C válasza pedestrian hozzászólására (») Márc 17, 2011 /
 
Szia!

Tegyél bele 10.000 MHz -es quartz -ot...
(#) levi18 válasza THL hozzászólására (») Márc 17, 2011 /
 
Szia!
Esetleg próbáld meg, hogy hídba kötöd a Pt100-et, majd egy híderősítővel a PIC által értékelhető tartományba hozod a kimeneti feszültséget.
Üdv!
(#) THL hozzászólása Márc 17, 2011 /
 
Szia!

20.000 MHz-es quartz van rajta.

Így feszosztóban is értékelhető tartományba esik a mérés. 2,048V referencia van megadva neki a mérési tartomány pedig 700mV-tól 1500mV van.
Az előbb sikerült kimérni hogy egy 5MHz-es fűrészjel csücsül a mérési ponton 8mV-os amplitúdóval.

Üdv!
(#) Hp41C válasza THL hozzászólására (») Márc 17, 2011 /
 
5 MHz - 200uS --- Ez az utasítás végrehajtási idő 20MHz -es órajel esetén...
(#) Pepebá hozzászólása Márc 17, 2011 /
 
Üdv.
Ismét egy kezdő kérdés:
MLAB -ban hogyan lehet source files-ként C forráskódú programot hozzáadni a projekthez.
Csak asm-t enged, a C-t csak other-ként.
Következő: »»   935 / 1320
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem