Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   1006 / 1210
(#) Bakman válasza don_peter hozzászólására (») Dec 19, 2017 /
 
Pl. MCP1525 (2,5 V), MCP1541 (4,096 V). Előbbinek minimum 2,7 V-os tápfeszültség kell, max. 5,5 V. Használtam már mindkettőt, szerintem jók. Természetesen egy kalibrálás mindenképpen kell az első beüzemeléskor.
(#) bbb válasza don_peter hozzászólására (») Dec 19, 2017 /
 
Nézd meg a TL431-es IC-t, szerintem fel tudod használni erre a célra is (én akkuőrt készítettem vele körömnyi méretben).
(#) kissi válasza don_peter hozzászólására (») Dec 19, 2017 /
 
Szia!
Vannak PIC-ek belső referenciafeszültséggel, amit az AD átalakítóhoz tudsz használni pl. PIC18F46K22-ben ( ha jól emlékszem ! ) !
(#) nedudgi válasza don_peter hozzászólására (») Dec 19, 2017 /
 
Hány voltos az az akku? Közvetlenül megy róla a PIC? Mennyire kell leosztani, hogy ne bántsa a PIC bemenetét?
(#) pajti2 válasza don_peter hozzászólására (») Dec 20, 2017 /
 
Valójában jó lehet az a megoldás is. Épp csak le kellene zárni a +táp-ot egy npn tranzisztorral, és csak akkor adni áramot, amikor mérni akarsz. Azon túl az áramkör a szokásos is lehet: stabkockával referencia feszültséget gyártani, ellenállás osztóval rakni mellé az akku feszültség egy hányadát, és simán csak adc-vel megméred. Vagy ha pontos értékre nincs szükséged / nem akarsz adc-t használni, egy mezei műveleti erősítővel is tudsz szintkomparálni a "még elég jó" / "már nem elég jó" korláton.
(#) don_peter válasza Bakman hozzászólására (») Dec 20, 2017 /
 
Ezeket megnézem. Köszi.
bbb: Ezt is megnézem, mit is tud. Köszi..
kissi: 18F442-őt használok most, ez egy meglévő eszköz, ahová gondoltam nem ártana egy stabil referencia..
nedudgi : 3.7v-os az aksi, most mértem meg 3.8v van benne. Igen közvetlen megy a PIC-re. Nincs előtte semmi.
pajti2: Igen, ez eszembe sem jutott, de járható lenne az út. Köszi, ezt figyelembe veszem..
(#) nedudgi válasza don_peter hozzászólására (») Dec 20, 2017 /
 
Ha 50uA áram még elfogadható, akkor a HLVD modul beállítható ebben a kontrollerben. Megszakításkérés kelekezik, ha a tápfeszültség a kiválasztott érték alá kerül. A HLVD ki is kapcsolható, akár periódikusan is megnézheted - ez még nem próbáltam.
Olyan kontrollerekben, ahol van DAC modul, a tápfeszültség felére beállított DAC a belső referenciával megmérhető.
Az más lapra tartozik, ha pontos értéket akarsz tudni a tápról. Kis trükközéssel 200mV körüli lépésekben behatárolható az aktuális tápfeszültség tartománya.
(#) don_peter hozzászólása Dec 23, 2017 /
 
Srácok, írt már valaki nRF2401+-ra vagy más egyéb rádióra olyan programot, ami képes megmondani a jelszint erősségét? Úgy tudom, hogy ebben a nRF2401-ben nincs ilyen regiszter és csak tán azt lehet lekérni, hogy mire van beállítva, de hogy ténylegesen mennyire erős a jelszint azt nem. Van rá megoldás? Köszi előre is.
(#) aroxol hozzászólása Dec 23, 2017 /
 
Sziasztok!
Hőmérőből szeretnék termosztátot csinálni. A hőmérőt lekérdezem, HEX formátumban jön a válasz.
Hogy tudom megoldani azt hogy pl. 35 bejövő adatnál és felette egy bitet átkapcsoljak? Lekérdezéskor nem biztos hogy pl a 35-ös adat bejön, ritkán megy a kérés. Lehet hogy csak a 31, de lehet hogy csak a 38. Én kivonásra gondoltam, negatív vagy pozitív eredmény?
(#) kissi válasza aroxol hozzászólására (») Dec 23, 2017 /
 
Szia!

Az alapelgondolásod jó...Milyen nyelv és processzor ?!
(#) aroxol válasza kissi hozzászólására (») Dec 23, 2017 /
 
Szia!

Még mindig PIC18f26k22 Assembly
(#) kissi válasza aroxol hozzászólására (») Dec 23, 2017 /
 
Akkor nézd meg a CPFSGT és CPFSLT utasításokat és válassz !
A hozzászólás módosítva: Dec 23, 2017
(#) aroxol válasza kissi hozzászólására (») Dec 24, 2017 /
 
Szia!

Köszönöm, ismét sokat segítettél.

Kellemes ünnepeket mindenkinek!
(#) Pali79 válasza aroxol hozzászólására (») Dec 24, 2017 /
 
Egyébként az eredeti elgondolásod is jó. A 16F széria nem ismeri -legalábbis a régiek nem- azokat az utasításokat amiket kissi ajánlott. Ilyenkor kivonás és STATUS Z vagy C bit vizsgálata a megoldás.
(#) don_peter hozzászólása Dec 24, 2017 /
 
Boldog karácsonyt srácok..
(#) DJozso hozzászólása Dec 24, 2017 /
 
Kellemes ünnepeket mindenkinek! Egy problémám lenne. Készítek, egy fokozat visszajelzőt motorkerékpárra. A kontroller 16f88, a fejlesztő környezet mikroC. Az áramkörről annyit, hogy egy 5*7 led mátrix a kijelző, melynek az "oszlop meghajtását" egy uln2003 végzi a pic vezénylésével. A "sor meghajtást", pedig a PIC kimenetei végzik egy-egy 330 ohmos ellenálláson keresztül. A problémám az, hogyha tápot kap a panel, egy kb. 1 másodpercig baromságok jelennek meg a kijelzőn, majd beáll a helyes érték, és utána hibátlanul működik. Gondoltam, valamely bemenet nem áll be stabilan a startnál. Programba beírtam 3 másodperc várakozást első utasításként, ezt kivárja, majd kezdődik az összevisszaság, majd utána jól működik. Rendben, gondoltam szoftveres hiba. A panelt rácsatlakoztattam a PICKIT 3 -re ICSP-n keresztül, mplabbal törlöm a pic tartalmát, import generált hex file, visszaír PIC-be, és lássak csodát nem csinálja! Tökéletesen indul a program, semmi összevisszaság a kontroller reset-elése után! Megismételem a pic programjának "frissítését", megint nem csinálja. ICSP csati széthúz, saját táp kikapcsol, vissza, ismét baromsággal kezd! Ha szoftver hiba, miért működik jól, ha a PICKIT 3 rajta van ICSP-n keresztül? Táp, vagy startnál nem elég gyorsan felhúzott bemenet hiba lenne, akkor a start utáni 3mp várakozás miért nem segített? Van valakinek valamilyen ötlete?
(#) Bakman válasza DJozso hozzászólására (») Dec 24, 2017 /
 
Kapcsolási rajz van? Fotó az elkészült panelről? Lehet, hogy valaki abból kapásból látni fogja a problémát. Általában az ilyen hibák forrása a tápfeszültségben jelen lévő zavarok.
(#) ktamas66 válasza DJozso hozzászólására (») Dec 24, 2017 /
 
Első ötletem, hogy valami memóriában levő szemetet jelez ki mielőtt mindent szépen beállítanál. Töröld vagy állíts be mindent helyesen, mielőtt engedélyezed a kijelzést.
(#) nedudgi válasza DJozso hozzászólására (») Dec 24, 2017 /
 
Véletlenül nem debug módban fordítod?
(#) DJozso válasza Bakman hozzászólására (») Dec 24, 2017 /
 
Köszönöm a segítséget.
Bakman: Szkoppal néztem az 5V-ot semmi (vissza is néztem). MCLR lábon úgy szint semmi zavar nincs.
ktamas66: Ez elgondolkodtatott. A pic programozása utáni reset, nem egyenértékű a ki-be kapcsolási resettel? Ezt érdemes átgondolnom...
nedudgi: ez hol állítható a mikroC-nél?
(#) DJozso válasza DJozso hozzászólására (») Dec 24, 2017 /
 
Közben megtaláltam a mikroC-ben: release módban van.
(#) Tasznka válasza DJozso hozzászólására (») Dec 25, 2017 / 1
 
Csak 1 tipp. Gondolom,hogy a kimenetek,amikkel az uln-t hajtod meg,azok nincsenek felhúzva,így ameddig nem állítod át a bemeneteket kimenetre,addig lebeg az uln bemenete,ezért hülyeségeket mutat.Tedd a progid legelejére a TRIS-eket,talán ez segít
(#) pajti2 válasza DJozso hozzászólására (») Dec 25, 2017 / 1
 
Ha pickit-et debugban rákapcsolsz, és azzal indítod a programot, az lehet, hogy konkrétan végignullázza a teljes ramot, amit hidegindítás egyébként nem tesz meg. Ha a programodban nincsen benne a felhasznált memóriaváltozók konkrét végignullázása / alapinitje, írd bele.
(#) pajti2 hozzászólása Dec 25, 2017 /
 
(#) nedudgi válasza DJozso hozzászólására (») Dec 25, 2017 / 2
 
Fogd fel kijelzőtesztnek!
(#) DJozso válasza pajti2 hozzászólására (») Dec 26, 2017 /
 
Köszönöm mindenkinek az ötleteket!
Tasznka: Próbáltam első utasításnak a tris parancsot, utána port nullázását, nem változtat rajta. Plusz, nem elég, ha az uln2003 instabil, ahhoz, hogy mátrix ledjei világítsanak, a sor meghajtásnak is aktívnak kell lennie, nem?
pajti2: A memória teljes nullázása alatt mire gondolsz? Minden változónak adsz egy kezdeti értéket, vagy létezik ilyen memória nullázó utasítás MikroC alatt, esetleg assembly-ben?
(#) Tasznka válasza DJozso hozzászólására (») Dec 26, 2017 / 1
 
Az elmondásodból akkor is arra tippelek,hogy lebeg ott valami addig,ameddig a Pic-ed be nem áll.
Van valami skicced,hogy mi merre van bekötve?
(#) Pali79 válasza DJozso hozzászólására (») Dec 26, 2017 / 1
 
Én ezt szoktam használni a regiszterek törlésére:
  1. Start
  2.         movlw   0x20            ;regiszterek törlése
  3.         movwf   FSR                     ;kezdőcím beállítása
  4. NEXT
  5.         clrf    INDF                    ;töröljük az INDF regisztert
  6.         incf    FSR                     ;léptetjük a mutatót
  7.         btfss   FSR,7                   ;kész van az összes?
  8.         goto    NEXT
(#) pajti2 válasza DJozso hozzászólására (») Dec 26, 2017 / 1
 
Explicite kezdeti értéket adsz minden használt változódnak még a főciklusba belépés előtt.
(#) don_peter hozzászólása Dec 30, 2017 /
 
Srácok írt már valaki ILI9341 TFT-re és PIC-re olyan programot, ami a kijelzőn megjelenített képet olvassa vissza? Érdekelne, hogy meg e lehet oldani illetve az, hogy hogyan, milyen parancsokkal.
SPI-n kommunikálok a kijelzővel. (szeretnék képernyőfotót készíteni) Előre is köszi..
Következő: »»   1006 / 1210
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