Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Próbáltad nagyobbra venni a Delay06 késleltetést? Illetve az is gond lehet, hogy túl alacsony az A/D konverter frekvenciája. Ha jól nézem, Fosc/64-re állítottad. Mekkora az oszcillátor frekvenciája?
A késleltetés eredetileg 0.6ms volt de azt soknak találtam meg nem "romlott hogy csökkentettem". Az a/d frekvenciáját Fosc/8 tól 64 ig végigpróbálgattam egyiken sem jó. A pic 4 MHz-en fut.
Hm. Most megjavította "magát". Semmit nem csináltam vele és most tökéletesen működik. (10 percel ezelőtt még nem ment)
4MHz-nél én Fosc/8-ra, és a Delay06 rutint olyan 20-25us-ra állítanám. Egy próbát megér, hátha. A program jónak tűnik, ahogy átfutottam.
Átállítottam fosc/8 ra és kb 30-40uSec ra. Most működik és így gyorsabb is.(értelemszerűen ) Csak azt nem értem mitől javultm meg? (Tegnap (*ma) hajnali 2 ig próbálgattam és nem akart menni. Ma meg 2. próbálkozásra ment)
Nem valasz csak kerdes
A bemenetek milyen impedanciaval csatolodnak a forrashoz? Esetleg ajanlott minden bemenet es a GND koze tenni 10-100n kondit. Ja a keslelteto rutinban miert van a GOTO $+1 ? Udv Vili Idézet: „Tehát ha pl az 0. A/D lábra rákötöm a pozitívat és az 1. A/D lábra a negatívat akkor a kapott értékek nem 255 és 0 lesznek hanem össze vissza ugrálnak hol 0-60 között hol 128 körül. Ez mitől van?” Negativat?! Olvastad a datasheetet? Vagy a GND-t mondod negativnak? Gyerekek, komolyan mondom mikor valakinek hasonlo gondja tamad miert nem kozli a kapcs.rajzot meg a teljes forrast - ebbol pl hainyoznak a config fuse-ok, ha valami azzal kapcsolatod problema van akkor hiaba keressuk a problemat a jo reszben... Masik amit nem ertek miert hianyoznak sokszor a kommentek? Igy hogy lehet egy gyors ranezesre megmondani mi volt egy adott ponton a szandek...
A bemenetek 1-1 10kOhm is ellenáláson keresztül vannak hozzákötve a forráshoz.
"Esetleg ajanlott minden bemenet es a GND koze tenni 10-100n kondit." Ezt még majd kipróbálom. "Ja a keslelteto rutinban miert van a GOTO $+1 ?" Mert a másik késleltető rutinban így jött ki a 1ms (ez 2 utasításciklust késleltet)
A negatívon értelemszerűen a gndt értettem.
Most ehez miért kellene kapcsolási rajz? Ott a pic meg egy kondi a táplábán és kész. (meg persze az lcd amin nézem az adatokat.) Teljes forrást azért nem közöltem mert a program nagy részét még nem akarom publikálni mert egy versenyre készül (illetve csak a versenyre készülő eszköz beállításához kell) és ezzel előnyt adnék másnak. Nagyrészét közölhetem de így meg nem lett volna értelme. Amúgy igazad van ebből a szempontból. ( ~1 hónap múlva mindent kötelező lesz publikálni) A kommentek azért hiányoznak mert ezt a részt már vagy 5x újraírtam és egy idő után meguntam a kommentelést. A porgram többi részén kommentezek. (Ha nem is magába az asm fáljba akkor papírra vagy vapíron van hogy mit akarok és arról írom a programot)
Az adatlapok eléggé részletesen taglalják az A/D bemenetek viselkedését, érdemes áttanulmányozni.
Az nem derült ki, hogy milyen sebességgel szeretnél mérni, de én a következőhöz hasonlót javasolnék: a soros 10k után tennék egy 100n-t a föld felé (ez így egy aluláteresztő szűrő, kb. 160Hz törésponttal), és ezek találkozási pontjáról vezetném az A/D bemenetre a jelet egy 1.5-2.2k ellenállás segítségével. 16F-nél tapasztalatom szerint ezzel az 1.5-2.2k közti meghajtó impedanciával volt legstabilabb az A/D, így ugrált legkevésbé az alsó biteken. A fenti módszernél a 100n az A/D működéséből adódó impulzusszerű áramrángatásokra ad megfelelően kis impedanciás meghajtást. Azt én sem értem, mi az a negatív feszültség az A/D lábán...
(Ja, lehet még digit. filtert tenni a szoftverbe az A/D-zett értékekre, mint ahogy a PIC-pákában tettem, de az elég nagy falat.)
Ok Braf, nincs gond, ne haragudj, ha kisse haraposra vettem.
A foldet ne mondd negativnak, mert az nem biztos, hogy "ertelemszeru"... A negativ a foldhoz kepest negativ, a pozitiv pedig a foldhoz kepest pozitiv. PIC-ekenel - es talan mashol is - hasznalhatod az adatlapban hasznalatos roviditeseket, es akkor egyertelmu - pl Vdd-t kotottel az egyik bemenetre es Vss-t a masikra... Kommentek: legelabb mielott a programreszt megosztod velunk jo lenne felkommentezni, hogy segits azoknak akktol a segitseget varod. Pl delay06 - jo lenne tudni mitol "06", vagy ha ez csak egy sorszam akkor legalabb oda irni, hogy "256us delay" - nem kell sokat irni csak ami a kod gyors megerteset segiti. A kommentek ugyanugy hozza tartoznak a forras kodhoz mint a cimkek, makrok vagy az utasitasok - ez utobbiak a forditonak szolnak, a komment pedig a fejleszto mernokoknek. Ha a komment nem fedi azt amit a program csinal az hibanak minosul, mivel mikor nezed a forrast megvezethet... Amugy nezd az adatlapot, mert ott leirjak mennyi ido kell az akviziciohoz. Ha nagy az impednancia akkor ez az ido megno, ezert javasoltak neked a kondit ami ezen segit (de ennek ertekenek meghatarozasakor kellene tudni az a/d idoket)
Bocs , hogy én is "így" reagáltam.
Legközelebb kommentezek . Amúgy mi is valójában ez az "akvizicio"? Valami olyasmit vettem ki az adatlapból mikor írtam a programot hogy kell a belső kondenzátor feltöltődéséhez. Ezért raktam bele a delay06-ot (a 06 jelen esetben csak egy sorszám).
így van, a belső, Chold kapacitás feltöltődéséhez kell megfelelő időt várni a bemenet forrásimpedanciájának függvényében.
A 16F-eknél a bemenet kiválasztása után ezt ki kell várnunk, mielőtt a GO bitet bekapcsoljuk, a 18F-ekben van egy programozható acquisition time is, amit a GO bit után a konverzió előtt automatikusan kivár. Idézet: „Amúgy mi is valójában ez az "akvizicio"?” Hirtelen el kellett gondolkodnom tenyleg letezik-e ez a szo magyarban, de igen, megneztem a szotarban. Szoval beszerzes / megszerzes, ilyesmit jelent, az A/D eseteben mintavetelezesrol (sample acquisition) van szo. Fogalmam sincs miert igy irtam le A tobbit ha jol latom szilva mar leirta elottem, koszi!
Sziasztok, kérlek mencsetek meg az odegösszeroppanástól, vettem egy pickit2est jódrágáért jó nehezen, mert szegedi vagyok, használtam is egy jó hétig erre most
PK2Error0009: Write failure (GetLastError = A művelet sikeresen befejeződött.) Azon a határon vagyok egy óra buzerálás után, hogy jól a falhoz k**om az egészet. Valaki találkozott már ezzel? Légyszi valaki... Moderálva--vicsys
Az mplab alól vagy a pk2 saját programjával égetsz?
mindkettő sz***kszik
Moderálva--vicsys Vegyél vissza, bármennyire ideges vagy, mert warn-t adok!
Egy kérdés a bankváltással kapcsolatban:
16F877-nél a ADRESL regiszter a bank1-ben van.Akkor is kell bankváltás ha ennek a regiszternek a tartalmát akarom a W-be tenni a MOVF ADRESL,0 paranccsal,tehát ha olvasni akarom? Bocs a kezdő kérdést,nemrég óta foglalkozom PIC-ekkel. köszönöm üdv
Kell, mert mikor máskor kéne, ha nem akkor amikor írni vagy olvasni akarsz belőle.
MOVF ADRESL, W alakot használd, sokkal érthetőbb a kód így.
Köszi.
Gondolom akkor ez minden regiszterre vonatkozik ami nem a bank 0-ban van. Tehát ha bármit akarok csinálni azokkal a regiszterekkel amik nem bank0-ban vannak akkor kell a váltás?Mert akkor elég sokszor kell váltani. üdv
jah és a wondows sem ismeri fel, szóval egyáltalán nem működik az usb kapcsolat sem.
orokvesztes,
Ha ideges az ember akkor tenyleg nincs mas alternativa, de hideg fejjel talan at lehet gondolni mi is van. Egy kis fekete muanyag doboz miatt pedig igazan nem erdemes idegeskedni, szoval marad a nyugodt gondolkodas: 1. Fekete vagy piros gombos a keszulek? 2. Masik PC-n probaltad-e? 3. Eszkoz vezerlok kozott latszik-e mikor radugod? Feketenek voltak gondjai az USB felismeres korul, de lehet orvosolni, foleg ha garancialis, ha nem akkor pedig nyilvan azert vagy itt mert forrasztani tudsz szoval ne vagd meg falhoz akkor sem ha fekete gombos...
A bank0 sem kitüntetett szerepű a többi között. Csak esetleg a gyakrabban használt regiszterek itt helyezkednek el.
Mindig csak akkor kell váltani, amikor szükséges. Ha egymásután két olyan regiszterhez akarsz hozzáférni, amelyek pl. a bank1-ben, akkor nem kell előtte visszaváltani bank0-ba majd ismét bank1-be. Néha a program kismértékű átszervezésével meg lehet spórolni bankváltásokat, illetve vannak regiszterek, amelyek több bankból is elérhetők.
ha mikrovezérlőkkel szeretnél foglalkozni, akkor nemárt, hogyha fejleszted a birkatürelem skilled, ha nem így teszel, akkor 30 éves korodra idegroncs lesz belőled, mert itt elég gyakran jönnek elő "nempontnyugtató" problémák
Próbáld meg azt hogy lehúzod usb ről, elindítod a pk2 saját programját, folyamatosan nyomva tartod a gombot és úgy dugod vissza usb re. Ilyenkor "kényszerítetten" elindul a bootloader (a busy lednek villognia kell) és tudsz rajta fw-t frissíteni . (Rakd fel a legfrissebb meghajtóprogramot és a legfrissebb fw-t. Innen tudod letölteni. )
Sziasztok!
Segítségre szorulok, remélem tud valaki segíteni! PIC 16F628 - at programoznák fel, de az icprog programom az írás végén, ilyen hiba üzenetet ír ki: Vertify failed at address 0000h! És nem tudom mit kezdjek ezután. Hol lehet a hiba?
Valószinüleg a hardverrel van a gond. Most jön majd a vitarobbantó kérdés: JDM programozó?
Igen. Erre a válaszod, hogy : dobjam ki gyorsan?
Nem.
Az a válaszom, hogy itt a HE-n már sokszor le lett írva, hogy milyen szabványos fesz. értékeket kell produkálnia a hardvernak. Mérj utána! (csak halkan mondom, még ma is használok JDM-et...) |
Bejelentkezés
Hirdetés |