Fórum témák
» Több friss téma |
Sziasztok!
Ezúttal tényleg megvan a hiba(: Teljesen átalakítottam a programot, bele raktam a joystick kezelést amit Proli007 adott. Teszt alatt megint minden ok, élesbe rossz. Ugyan az a tünet. Gondoltam kimérem műszerrel a RC.0 lábat. Meglepődésemre 5 voltot mutatott. A PIC egy IR2121 ic-t hajt ami hajtja a Fetet. A PIC induláskor teljes magas szinten van, de a meghajtó ic nem kapcsol magas szintet a kimenetén. Amint le veszem akar csak 99%-ra a kitöltést elindul az IR2121 és szépen teszi a dolgát. Nem nagyon értem miért. Holnap keresek egy másik IC-t, valami helyettesítőt. IC nélkül közvetlenül a Fetet hajtva szépen működik az eredeti program is. Köszönöm mindannyitoknak a segítséget!
Sziasztok!
Egy kis segítséget kérnék. Két digites 7 szegmenses kijelző programot írtam PIC16F876A-ba. Az MPLAB szépen,hiba nélkül lefordítja,viszont ha a Pickit2-vel be szeretném égetni a vezérlőbe a hex-et,akkor az alábbi hiba üzenet fogad. " Programming failed at Program Memory address 0x000000 " Mi lehet a baj? A vezérlőnél külső oscillátorként XT-t és 20000000 Hz-et Állítottam be. Ez így jó? Válaszotokat előre is köszönöm.
Úgy tudom 4MHz és a felett HS-t kell beállítani.
Szia,
Köszönöm válaszod. Átállítottam HS-re és 20 helyett 4MHz-et állítottam be. A helyzet ugyan az,csak a hibakód változott 0x000008-ra. ( Parsic 3.60A-t használok )
Nem értem, akkor most a kristályt is kicserélted 4MHz-esre?
Még kristályt nem is látott a kontroller... A Parsic-ban állítottam át. Már a felprogramozásnál elakadok. A hibakódokat a Pickit2 írja ki. Párszor már programoztam,de ezzel a kóddal még sosem találkoztam,ezért vagyok tanácstalan.
Próbáld a "Use vpp First Program Entry" opciót.
A helyzet ugyan az,sajnos... Nem lehet esetleg,hogy a vadonatúj kontroller rossz lenne? Ti találkoztatok már ilyen hibával?
Küldünk egy rém egyszerű progit erre a procira egy másik rendszerben létrehozva. ezt próbáld meg beégetni. Kedves kollégák kérés adott. Egy led villogtatása PARSIC-al 1000ms. Pl RB.0 kimeneten. Ezt az ASM és hex file-t használd, Melyik fordítót használod? A régebbi Parsic a régebbi fordítókkal működik jól. esetleg keress ilyent.
MPLAB IDE v 8.10 -et használom fordítónak. Felteszem a progit is amit műveltem,légyszi nézzétek meg,hátha ott a baj valahol.
Előre is köszi. Amúgy ez egy olaj nyomás mérő szeretne majd lenni... A hozzászólás módosítva: Nov 10, 2018
Régebbi ASM fordítót használj. Keress A mikrochip oldalon 6.xx vagy 5.xx verziót, ezt tedd a Parsic mögé fordítani. A program jónak látszik, a proci biztosan nem hibás, az égető helyből észrevenné, ha megnyítod a processzorral online. A Parsic már régen elkészült mikor az adott MPLAB verzió még sehol nem volt...
A hozzászólás módosítva: Nov 11, 2018
Köszi tanácsod leszedtem a 6.60-as verziót,de arra azt mondja a Parsic,hogy a régebbivel,5.xx-el megy. Leszedtem az 5.50-sest,viszont az csal 16 bites windózhoz van,így azt telepíteni sem tudom win 7-re...
Mit tudok tenni ilyenkor? Mondjuk azt nem értem,ha a 8.xx-es verzió hiba nélkül fordít,akkor a beégetésnél mi lehet a baj?
Szia,
Amikor telepíted a 3.56-os verziót akkor a telepítési mappába rak egy fordítót is. Az jól mūködik 32 és 64 bites windowssl is. Peti
Én is W 8.1-t Használok Két példányban, Van egy 64 bites partició ez a fő, meg egy 32 bites (8.1) partició. A 32 bitre én könnyedén felrakom a régebbi progikat. Ezzel is próbálkozhatsz. A két rendszer fájljai mindkét oldalról elérhetőek... próbálkozhatsz másik égetővel is, ami nem PIC KIT kategória. Ezek nem vacilálnak ennyit, kisebb hibákkal továbbmennek. PL Mikroklub...
Szia,
Nekem régebbről megvan a 3.56-os verzió is. Töröltem a 60-ast,ezt feltettem,de annak a mappájába nem tett fordítót. Esetleg el tudnád nekem küldeni a te verziódat,amibe benne van? Előre is köszi
A Pickit már megvan,másik fajta programozóra befeccölni már nem akarok. Úgy látszik,akkor ez a projekt megfeneklett... Köszi az eddigi ötleteket.
Szia,
Küldj egy email címet, és elküldöm. Tévedtem, nem telepíti fel, a telepítő mellé van másolva. mpasmwin a neve.
Szeretnék mindenkitől bocsánatot kérni és köszönöm a segítségeket. Én voltam a hunyó a sikertelen felprogramozásban. A programozó Vss ( GND ) vezetékét a 8-as helyett 7-esbe tettem. Amint eme bakimat korrigáltam,egyből jó lett a programozás,mindegyik összeállításnál. Tehát a Petitől kapott 3.56+mpasmwin mappás és az én 3.60+MPLAB 8.10-el is.
Bocsánat,hogy ismét zavarkodok...
A progi szépen működik,csak érték váltásnál nagyon pereg a kijelzett érték. MX3 be és kimenetét össze kötöttem,hogy tárolja az értéket a következő beolvasásig,de fordításnál az alábbi hiba szöveg van. Gondolom ez így nem megoldható. Miként lehetne az érték tartását korrekt módon kivitelezni? Előre is köszönöm a válaszokat.
Uh,megint figyelmetlen voltam... Köszi a kisegítést.
Sziasztok!
Bocsánat,hogy ismételten zavarok. Úgy adódott,hogy az elébb tárgyalt olajnyomás mérőm - ami szépen működik - sok a kijelzőhöz a vezeték. Multiplexelve szeretném kijelezni az értékeket. Átolvasván a topikot az alábbit alkottam össze. A hiba,hogy az egyik digit mindig csak szellemképesen,nagyon halványan jeleníti meg az értékeket. Ha felcserélem a két digit anódját a helyzet ugyan az. Már próbáltam külön portra tenni az adód meghajtást,de a helyzet ugyan az. A anódokat PNP tranyón keresztül hajtom már meg,azért vannak a digit kimenetek is negálva. 4 vagy 20 MHz kristály csereberével is próbálkoztam már. A szegmensek 390 Ohmon keresztül mennek a kijelzőre. Amit észre vettem,ha TR1 idejét 2 ről pl 10 re emelem,a kijelzés jó lesz,de nagyon vibrál. Ha csökkentem 4 vagy 6 ra, szűnik a vibrálás,de vele együtt az egyik digit is tűnik el. Kifogytam az ötletekből... Mi lehet a baj? Erre a kijelzés meghajtásra pedig írták,hogy működik... Mit ronthattam el?
Hello! Ha a digiteket ki-be kapcsolgatod, akkor a szegmenseket felesleges. Nézd meg itt hogy van megoldva a vezérlés..
Szia!
Adaptáltam az ajánlott vezérlést az én progimba. Beégettem,de még rosszabb,mint az előző. Ez abszolút nem oltsa ki az előző karaktert,szinte semmit nem lehet látni a számokból. Akkor van egyedül tiszta kép,ha a két karakter ugyan az. Akkor vibrálás sincs,amúgy igen.
Akkor próbáld meg így. Szimulációhoz lassítsd le az órajelet 4ms-ot pld. 2000-re és figyeld meg hogy működik a vezérlés.
Lelassítottam,megnézterm,elvileg jónak kell lennie, De beégetve ugyan olyan rossz...
Nem lehet hogy a kontroller beállításainál van a baj, wacsdog kell,vagy nem ; PORTB fel kell húzni,vagy nem? Vagy lehet hogy nem mindegy melyik port adja ki a szegmensekre a jeleket? Pl. RC helyett RB re áttenni? De ahogy elnézem ez sehogy se fog összejönni.... Marad a sok kábel...
Azt én sajnos ne tudhatom. Ellenőrizd le, hogy nem kötöttel-e össze lábakat, vagy a programban nem használsz-e máshol is ugyan azt a kimentet. A Wdog nem kell. Felhúzni akkor kell a portát, ha bemenetként használod a B portát, és nincs felhúzó ellenállás külön. És valóban az RA2 és RB2 vezérli a digiteket? Tranyók le tudnak zárni? A kapcsolás hardver része jó?
Csatoltam képet a helyzetről. 2ms-os idővel ( mit az eredetiben is van ) ,jó lenne,csak az egyik szegmens nagyon halvány. A halvány vezérlése az RA2 volt. Áttettem RC0-ra,de a helyzet ugyan az. Olyan érzésem van,mintha 1 cikluson belül az a szegmens kétszer oltódna ki,1 helyett.
Ez lehet? De lelassítva nem látok ilyen problémát a programban. A tranyók szerintem biztosan le tudnak zárni,mert próbátam 1k-val +-ra húzni a bázist,de a kijelzőn nem láttam változást. 1 szegmensnél próbáltam 390 helyett 270 ohmot, de ott sincs változás. A hozzászólás módosítva: Jan 15, 2019
Nem a kérdésre válaszolok, csak mint tippet szeretnék adni. MAX7219 IC, hozzá egy ellenálls ami beállítja az áramot és a kijelzők (max. nyolc db., közös katódos). Nem lenne egyszerűbb? Data, Clock és CS, három vezeték kell hozzá.
Az, hogy halványabb, alapvetően azt jelenti, hogy a digit és a szegmens egyidejűsége nem azonos a két digit között.
Mivel a 2ms léptetés a végrehajtási ciklussal megegyező idő, lehet kritikus a blokkok végrehajtási sorrendje is. (Object Oorder) Mert lehet az adat amit kiír, csak a következő ciklusban áll rendelkezésre. Igazából egy szkóppal lehetne megnézni, melyik adat mennyi időre van kijelezve. Azt írtad, hogy ha 10ms-ra növelted a léptetési időt, akkor jó volt, de nagyon villogott. Ez nyilvánvaló, mert 8 ciklusból áll egy kijelzés, ami 10ms-al már 80ms. az 12,5Hz. Viszont ha 10ms mellet jó volt, akkor lehet trükközni, hogy míg az órajelet 4MHz-re adod meg, a valóságban 20MHz-el jár a proci. Akkor az időzítés osztását 4MHz-re számolja de ötször gyorsabban fog járni. Mivel itt nincs LCD-hez időzítés, nem okoz gondot. A tizedespont nem kavarhat be? Mert az világos.És mivel nincs rajz továbbra sem tudni mit hova kötöttél. De nekem továbbra sem szimpatikus, hogy a szegmensek adatait egyszerre váltod a digittel. Mert az áthallást okozhat. Valamint az sem, hogy miért kell a szegmenseket is kikapcsolni. |
Bejelentkezés
Hirdetés |