Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „Egyébként még ha kinyitna a clamp dióda, amire kis esély van, max induláskor, a soros ellenálláson, már nem tudna kialakulni jelentős áram, mivel nagyon kicsi lenne a potenciál különbség, az az ellenálláson realizálódna.” Hat lehet en vagyok az ertetlen de ezt az okfejtest nem nagyon ertem. Egy sorba kotott ellenallas miatt nem fog neked a clamp dioda kinyitni? Ez egeszen pontosan ugy mukodik, hogy a soros ellenallas lekorlatozza az aramot ami a clamp diodan athaladhat igy a keszuleked nem olvad szet de erre tervezni egy aramkort nem egeszseges! No meg nem tudom az a CR2032 vagy mit akarsz hasznalni mennyire orulne egy tolto aramnak? Meg sohasem foglalkoztam vele de szerintem alapjaban veve nem jo otlet, ha mas nem erosen csokkentheti az elemed elettartamat... Azonkivul nem tudom milyen szignalokkal dolgozol, de az ellenallasnak nem csak ohmikus parametere van. Minel nagyobb az ellenallas annal nagyobb indukcioval is kell szamolni ami nem biztos, hogy elonyos -- sot egyaltalan nem az! Sporolni a helyen pedig nem a szukseges alkatreszek szamaval kell, hanem a tervezesen kell valtoztatni. Vagy nagyobb doboz kell vagy pl furatszerelt helyett SMD, vagy akar ellenallas halozatok kisebb helyet foglalnak mint az egyeduli ellenallasok stb stb stb. Idézet: „Mivel nekem 10 napos időkorlátokat kell megvalósítanom, mindig ketyegni kell a kontrollernek(32.768), ehhez egy cr2032-es elemről táplálkozik.” Mi az a 32.768? ...kHz-es kristalyra gondoltal? Idézet: „Na most azért, hogy a bemeneti szinteket, ne kelljen külön illeszteni, arra gondoltam,hogy amikor a megfigyelni kívánt kütyü, be van kapcsolva, akkor a uC tápja is megemelkedik közel 5V-ra(5V-nyitófesz(bat46)), és így a bemeneteket 10k soros ellenállásokon keresztül figyelné.” Eddig jo, magyarul egy hatter tapforrasod lenne arra az idore ameddig a fo aramforras nincs meg. Idézet: „Én úgy gondoltam, hogy ezt el kellene viselnie a uC-nek, de ha lassan növelem a tápot, akkor a bemeneten azonnal megjelennek az 5V-os jelek, a táp meg csak később emelkedik erre a szintre, ezáltal tovább van kitéve a fesz. különbség hátrányainak.” Magyaran ezen kellene elgondolkodnod, hogy ezt a reszet hogyan valositanad meg... Ha nem tudod biztositani azt, hogy a tapod hamarabb emelkedjen mint ahogy 5V-os bemeneti szintet kapjon a PIC-ed, akkor mindenkeppen korlatozni kell, a soros ellenallas nem segit -- maximum ideig-raig nem szall el a PIC-ed, majd egy varatlan es kellemetlen pillanatban megadja magat... En egy tranzisztoros szintillesztot javasolnek, extrem esetben opto kapu, bar az mar tulzas ehhez az egyszeru feladathoz. Idézet: „Elvettem belőle 155fokot ezzel kb 70foktól pontosan mér egészten 130-ig max 3fokot téved. 70 fok alatt meg sokat vagy 10-et is mert nem lináris a szonda(KTY81) de nem lényeg mert 70fok aslatt nem is nagyon üzemel a simson és majd egyszer teszek rá egy lineáris szondát.” Nyilvan ezert szokas tablazatot vagy egy a mukodesi tartomanyt figyelembe vevo if..else-if..else szerkezettel torteno kompenzalast beiktatni...
Köszönöm, mindenkinek a segítséget, most már más szempontból vizsgálom a dolgot.
if....else-if....else?
Ezt nem értem. Mi ez? Táblázaton gondolkodtam, de még nem vagyok olyan profi programozó : ( Majd a következő kombinált műszernél amit csinálok alkalmazom a táblázatot. Idézet: „if....else-if....else? Ezt nem értem. Mi ez?” "Szakaszos táblázat"-nak is nevezhetnénk. Ha az érték egy bizonyos intervallumba esik, akkor korrekció gyanánt hozzáadsz valamennyit. Ha egy másik intervallumba esik, akkor hozzáadsz másmennyit... Néhány sáv megadása egyszerűbb, mint minden lehetséges bemenő értékhez külön táblázatsort készíteni. Vesd össze: SZJA sávos adóhatárok...
Jajjj csak adót neee!!!
Említették már nekem ezt a dolgot hogy a nem lineáris karakterisztikát lineáris szakaszokra osszam és vizsgáljam melyik szakaszba esik az érték. De most 5letem sincs hogyan írjam ezt le ASM be. Majd gógyizom rajta holnap : ) Idézet: „De most 5letem sincs hogyan írjam ezt le ASM be.” Általában kivonást követő státuszbit-vizsgálattal lehet megnézni, hogy egy adott számnál nagyobb vagy kisebb, netán pont vele egyenlő a vizsgálandó érték. Idézet: „Említették már nekem ezt a dolgot hogy a nem lineáris karakterisztikát lineáris szakaszokra osszam és vizsgáljam melyik szakaszba esik az érték.” IF-et le tudod irni ASM-ben? ELSE-t? Nos, akkor egy IF..ELSE-IF..ELSE is menni fog... [off] Idézet: „Jajjj csak adót neee!!!” Haha, pedig a PIC-eknel is megvan az ado: A teljes CPU ido a teljes bevetel... Az ado ebbol a PIC mukodesehez szukseges "felesleges" muvelet, pl BANKSEL/PAGESEL vagy interruptoknal a kontextus mentes Adosavok is vannak: 1. ASM programozo: Ingyenes fejlesztoi kornyezet a szegenyeknek + kicsi overhead 2. C programozo: Fizetsz a fejlesztesert is mar, vagy ha nem CPU idovel adozol (optimalizalatlan kod)... + egyeb adok, pl ipauzesi helyett a terjedelmesebb binaris kod ASM-hez kepest 3. BASIC programozo: Sok penzert megkevesbe optimalizalt kod 4. FORTH: A kenyelemert, hogy luxuskent a program akar EEPROM-ban is tarolhato ill hogy dinamukusan lehessen utasitasokat vegrehajtani egy teljes interpretert kell leadozni a CPU idobol (huuu mit fogok most ezekert a fejemre kapni )
Hi!
Nagyon egyszerű: Mondjuk PIC18-at használsz. ADRESL-be bejön az eredmény. Legyen mondjuk #0x04 Először is az eredményt megszorzod kettővel, mert a programmemóriák kettesével vannak címezve, azaz párosra kell kiegészítened az eredményt. Ezek után csinálsz egy - angolba úgy hívják hogy "jump table" - táblázatot, amit call utasítással hívsz és minden egyes kimenete egy retlw utasítás ahol az W-regiszterbe kerül a koigált érték, minden egyes ADRESL értékhez. Azaz lesz egy "computed call" utasításod, utánna meg sok sok retlw.
Ha már 18F, akkor inkább:
TBLPTRL, TBLPTRH, TBLPTRU és TABLAT De jelen esetben nem 18F...
1: Nem emlékeztem rá hogy mit használ. Én kérek elnézést.
2: Nem is az a lényeg sosem hogy mit használ, hanem a koncepció. Az ő írásából az derült ki hogy nem volt ötlete ahhoz hogy hogy induljon el a korrigálásba. 3: Az a PIC amelyikbe nem fér bele mondjuk 150 sornyi retlw pluszba a meglévő program mellé, (merthogy korrigáljunk 20-170 fokig) azt ki kell dobni. Különösen a fejlesztés során illik tágas PIC-et venni, hogy a kész program után az igényekhez megfelelő PIC-et választhassunk a "sorozatgyártáshoz". A változtatáshoz a fejlesztéshez mindig kell a mozgástér. Igaz ez a memóriára, a perifériák típusára és számára egyaránt. A Table utasítások összességében meg több utasítással, lasabban futnak le mit egy egyszerű call. Nem mintha itt számítana a sebesség, de ha az ember kicsiben nem szokik rá a hatékonyságra, akkor nagyban sem fog menni...
Miután beállítottad a címet, ahol a két magasabb címrészt nem kell minden alkalommal állítani, már csak egy MOVFF és kész. A címet lehet egyenként növelni, csökkenteni is(TBLRD*-), ez is sokkal hatékonyabb.
Idézet: „A Table utasítások összességében meg több utasítással, lasabban futnak le mit egy egyszerű call. Nem mintha itt számítana a sebesség, de ha az ember kicsiben nem szokik rá a hatékonyságra, akkor nagyban sem fog menni...” Tavol alljon tolem, hogy vitaba szalljak, de azert a valosagban a "csak egy CALL" nem mukodik. Itt ugye program szamlaloval torteno aritmetikarol van szo, tehat a call utan minimum egy ADDWF PCL,f kell legyen. Ahhoz, hogy ez helyesen mukodjon viszont a tablat ha elfer egy lapon akkor lapra kell igazitani es emiatt a CALL ele illik egy PAGESEL is. A tabla maga egy RETLW utasitasokbol allo halmaz. Magyaran a PAGESEL elvesz mondjuk 1 ciklust, a CALL 2-t, az ADDWF PCL,f ismet 2-t, es vegul a RETLW szintugy 2-t. Ez osszesen 7 ciklus. TBLRD-vel ha minden alkalommal allitgatjuk a tablat mert van mashol is tablank akkor be kell allitani a TBLPTR regisztereket, ezek ugye 3*2 ciklus + TBLRD az mar 7 es a MOVF az 8 -- nem sokkal tobb....(remelem jol szamoltam, ha nem akkor kerlek javitsatok ki) Ha nem kell tablat allitani ahogy watt javasolta akkor ugye csak a TBLRD es a MOVF... Namost, amit nyer vele az ember: A PIC18F -ben 16 bites a memoria, tehat egy program szoban 2 byte-ot lehet letarolni. Magyaran a RETLW-hez kepest 2x annyi adatot tud az ember eltarolni a 18F csaladnal. Szerk: Ja es meg valami, ha a tabla nem fer el egy lapon akkor mindenkeppen komolyabb PC aritmetika kell ami mar tobb utasitas ciklust jelent, es 18F-en a PC-t 2-vel kell novelgetni amugy is tehat egy tabla max 128 elemet tartalmazhat.
Picit ágyúval verébre megoldásnak tűnik csak ezért PIC24-et használni. Én szeretem kisajtolni a kontrollerből ami benne van
Idézet: „Picit ágyúval verébre megoldásnak tűnik csak ezért PIC24-et használni. Én szeretem kisajtolni a kontrollerből ami benne van” En is, de megfogadtam olyat tobbet nem csinalok mint egyszer, hogy maradt 4 program szavam es RAM-bol annyira kifogytam, hogy a vegen az FSR-t is kihasznaltam 5 bites szam tarolasara -- brrrr tudom (pedig ASM-ben irtam es 2-3 hetet toltottem optimalizalassal -- amugy 10F202 volt a picike)
Én is használok sok PIC-et(sdPIC30, 33, PIC24, stb.) de nem ezért!
Én most csináltam meg Altium Designer-re a teljes PIC24HJ könyvtárat. Vannak olyan 18, 28 lábú PIC24 mikrokontrollerek amik felhasználhatóság ,periféria választék, lábszám tekintetében jól illeszkednek a 16f84 és a 16f877 közé. DIP tokosak, és közben meg vagyok győződve róla hogy sokkal egyszerűbben lehet megoldani velük dolgokat program tekintetében mint mondjuk 16,18-al. Persze én ASM programozásról beszélek, egy C programozónak hozzám képest sokkal kevesebbet "fáj" a feje. Szóval nem hinném hogy csak azért mert 16 bites már nagyágyú. Azok amikkel a PDA-kat hajtják 4-500Mhz-en, azok a nagyágyúk. PIC24-et PIC32-t még el-elprogramozgatja az ember ASM-ben, de fölöttük egy szintel már nem vállalnám.
Ha már C fordítóról volt szó: Nekem megvan C30 teljes. Ha kell MSN.
Sziasztok!
Itt a nyár gondoltam belevágok a PICezésbe. Megcsinaltam ezt a JDM programozót, és a tipikus hibát írja égetéskor: visszaolvasás hiba 0h címen.... átnéztem 6 szor a panelt, és nemtaláltam hibát égetéskor a MCR lábon 12,8 V mérhető a táplálást egy 12Vos trafó+6Vos elemmel oldottam meg az kb úgy 21V lett. ICprog: Sima olvasáskor 3FFF minden. de mondjuk akkor is ha a PIC nincs bekötve... PLS HELP!
Miért ne építsünk JDM -et?
Itt van sok égető is, de még létezik egy ún. szilva-féle klón is, a fórumkeresőjét használva meg tudod tekinteni annak a kapcsolásnak is az ismertetőjét. ( Na jó. ) Egyébként, ha most kezdesz el foglalkozni a PIC -ekkel, kérlek, keresgélj itt a fórumon egy kicsit, annyi könyv, leírás, egyetemi prezentáció, ezzel foglalkozó honlap lett ajánlva, hogy az már "gombócból is sok".
Köszi
Egész nap szívtam ezzel a rohadt JDMmel, mert nemnéztem utánna eléggé. Amúgy ha sikerül használható égetőt találni, maga a programozás már nemlessz annyira nehéz, mert van egy kis alapom hozzá. Ezzel is az a baj ahogy nézem, hogy felkell ebbe is programozni a PIC et mielőtt programozni tudsz vele vagy nem?
Igen. 22-es csapda. Az a "szokásos" eljárás hogy postán küldesz PIC-et, email-ben meg a hex-file, aztán megy vissza beégetve. Sokan megcsinálják ezt itt, én postáztam már vissza pár PIC-et másnak. Én most két hónap szabin vagyok, belefér az időmbe.
Lehet, hogy ez lesz a megoldás(köszi), de még gyötröm magam kicsit....
Az LPT mini programozóról mi a véleményetek(kapcsolások menü)? Mit jelent az hogy "ha egy PIC-be beleégetünk egy olyan kódot, aminek a konfigurációs bitjei között az LVP bit tiltva van, akkor többé nem tudjuk módosítani annak tartalmát." Az LVP bitnek vagy a PICnek?
Én is most építek egy PIC-et tartalmazó PIC-es égetőt, a PICKit 2 klónt, de hála istennek a párhuzamos portos oshon égetővel fel tudom programozni a szükséges PIC18F2550-et!
Amúgy ez lett volna a nagy ötlet, csak még a végén kiderül, hogy az LPT port se a legjobb a gépemen
Hogy-hogy?
Viszont ha a közelben van olyan, akinek van égetője és azzal beégetni az égető PIC-jét, akkor az a kézenfekvőbb megoldás szerintem. Bár az oshonsoft féle égetővel nem volt bajom idáig, csak sajnos szegényes a terméktámogatása...
http://www.oshonsoft.com/picprog.html az ugye? Lehet megépítem akkor ezt... Nemtudod mi ez a cikkben leírt egyszer programzhatóság?
Használtam a keresőt de nemtaláltam .... |
Bejelentkezés
Hirdetés |