Fórum témák
» Több friss téma |
Köszi az infót. Nekem is van egy alap C és C++ jó vastag könyvem, viszont PIC környezetben nem igazán tudtam használni (persze ez nem biztos hogy a könyv hibája).
A C++ csak azoknak kell, akik nem tudnak C-ben programozni
Bizony csinálhat olyat. Én a 3.3V-os feszültségstabilizátorából kifelejtettem a hidegítő kondenzátort, és ettől néha teljesen meghülyült és csak formázással lehetett törölni A kondenzátor bekötésétől már jó volt..
Sziasztok
Nem tudjátok az mitől lehet, hogy a PICkit2 (gyári +legújabb firmware) néha a PIC18F258-at 18F882-nek ismeri fel? Valamikor meg csak simán Unsupported Device-nak. Két új PiC-el is ugyanaz, semmi nincs rákötve, csak próbapanelen van összedugva.
Hosszú vezeték, esetleg kapacitás vagy ellenállás a PGC vagy PGD lábon, futó program okozhat ilyen hibát.
10cm-es a vezeték, a PGC és a PGD lábakat csak programozásra használja. Külső stabil 5V-ről is ez van.
A PIC új, ESD zacsiban tárolt.
A Vdd és a Vss között van-e kondenzátor? Mekkora? A PICKit2 adja a táplálást a programozás alatt? Nincs túlterhelve? Elegendően nagy a Vdd? A Vdd ráadására elindulhat a program a programozandó PIC -ben, ha gyorsan kimenetté állítja a PGD és / vagy PGC vonalakat, akkor nem tudja felvenni a programozó a kapcsolatot a kontrollerrel.
Sziasztok!
Tudna valaki segiteni értelmezni az alábbit. Szeretnék egy pár porton high-low-t állitani, gondolom hogy itt kellene pic18: ; ------------------------------- MEGSZAKITASOK beállítása ------------------------------------------- BSF RCON,7; ENABLE IT priority CLRF INTCON; GLOBAL ÉS PERIFÉRIA IT TILTÁS CLrf INTCON3; INT 1, 2 IT TILTÁS CLRF PIE1 CLRF PIE2 CLRF PIE3 CLRF PIE4 CLRF PIE5 bsf INTCON,5; TMR0 IT ENGEDÉLYEZÉS BSF INTCON2,2; TMR0 PRIORITY HIGH BSF PIE2,1; TIMER 3 IT ENGEDÉLYEÉS BSF IPR2,1; IT PRIORITÁS MAGAS BSF PIE1,1; TMR2 IT ENABLE BSF PIE5,1; TMR5 IT ENABLE BSF IPR5,1 BSF IPR1,1
Üdv minden Olvasónak...
Szóval... Van egy egyszerű fejlesztésem pic16f628a-ra. Szeretném, ha már a fejlesztés alatt egy ICSP port is a rendelkezésemre állna. A mellékelt ábrán látható a lényeg... A kérdésem az, hogy áttanulmányozva a neten található ICSP tudományokat áramköri környezetben címszó eredményeit (WATT mester tanulmányait messzemenően elismerve), nem tudom eldönteni, hogy szükség van-e a jumperekre (Szeretném egyszerűen elhagyni őket... S az ICSP porton keresztül egy "Szilva féle" PICKIT2 klónnal minden féle egyéb tápról leválasztva felprogramozni azt.). A rajzon csak a lényeg látható, a kivezetett ICSP és a hozzá galvanikusan kapcsolódó egyéb alkatrészek. A többi port ki és bemenetei, a külső kvarc mind-mind irreleváns. A 4. lábon lévő Vpp semmi másra nincs használva, csak programozásra. A Vdd egy schottky diódán leválasztva a többi fogyasztótól a programozás idejére. Normál működés esetén a diódán keresztül kap a pic tápot, de visszafele az egyéb fogyasztók táp nélkül nem számba vehetők. Marad a 12. és 13. láb a CLK és DAT (rajzon egy-egy jumperrel leválasztva programozáskor). Mindkettő egy-egy felhúzó ellenállással is bír normál üzemmódban. De programozáskor ezek úgy viselkednek, mint két sorba kapcsolt ellenállás a CLK és DAT lábak között... Sokat tapasztalt kollégáknak (Nektek...) mi a véleményük, kellenek-e az áramkörbe a jumperek? Kell-e leválasztás, vagy sem? Jó-e a táppal soros schottky dióda, vagy helyette egy ellenállás lenne a jobb? Van-e értelme a 10-100K-s ellenállásnak a 4. láb Vpp és +5V között? Megköszönve megtisztelő válaszotokat... Üdv! fatti
Szia!
A PICKit2 a PGC és PGD vonalakon 4k7 lehúzó ellenállással rendelkezik, így a 10k felhúzás nem lehet bekötve a programozás alatt. Esetleg nagyobb ellenállás használata esetén elmaradhatna a jumper, ekkor az ellenállások a PIC 14. lábaihoz menjenek. A Vpp lábat a Vdd -re kell húzni 10k ellenállással.
A dioda a tapban nem egeszen szerencses megoldas. Amugy nem ertem a tap levalasztast, mert a PK2 figyeli hogy a PIC-nek van-e tapja, es csak akkor kapcsolja ra, ha nincs mas oldalrol megtaplalva. A MCLR-t feltetlen ra kell kotni a VDD-re egy 10 k-n keresztul. Rossz gyakorlat ezt a labat logva hagyni, mert nincs benne felso vedodioda, es sztatikusan feltoltodhet a halalos feszultsegig. A MCHP tobb AN-ben leirja az ICSP programozas modjat. A PGD es a PGC labakra egyszerubb 1-1 470 ohm, 1 kohm ellenallast betenni levalasztas gyanant, ha ezek bemenetek. Persze ha ezek kimenetek akkor ez nem igen jo megoldas.
Szia! Köszönöm a gyors választ... Az R1 és R2 ellenállások nem nyomógombbal, hanem optocsatolóval lesznek működtetve. Így nem igazán növelhető az értékük a végtelenségig. A Vpp 4. lábon lévő felhúzást megértem... OK! Még egyszer nagyon megköszönöm az építő hozzászólást. Üdv! fatti
Szia! Köszi a gyors választ! Az áramkör nem fog tápot kapni programozáskor. Ettől még be lehet csapni a PICKIT2-t esetleg tápérzékelés ügyileg. Viszont a schotky dióda mögött olyan egyéb fogyasztók vannak amelyek összességében akár több A-t is zabálhatnak normál működés esetén (2-3000µF puffer kondi, + többi alkatrész, melyek akár csúcsban esznek 1-2-3A-t is...). Na most ez a terhelés kiakasztja a PICKIT2 felől érkező tápot programozáskor. Ezért valami visszafele történő leválasztás elkerülhetetlen!
Igen, a PGD és PGC lábak bemenetek (opto kapuk a nyomógombok helyén le testre...)! Viszont a 2*10k ellenállás akár leválasztás is lehetne ebben az esetben? És ez az ötlet adta a kérdésem lényegi alapját is! Igaz ez 2*10K a DAT és CLK lábak között, plusz a kicsi ellenállás le testre, amit a többi fogyasztó jelent a közös +5V-on... A 4. láb MCLR és 10K egyértelmű! Köszönettel a válaszért! Üdv! fatti
Sziasztok!
Segítséget szeretnék Tőletek kérni. dsPIC33FJ16GS402 típusú vezérlőt szeretnék a PicKit2 klónommal programozni. A vezérlő 3-3.6 volt feszültségen üzemel, a PicKit2 klónom pedig nem tudja változtatni a kimeneti feszültségét. Ez nem is lenne probléma, egy egyszerű kiegészítő áramkörrel a vdd-t le tudom vinni 3V-ra, a vpp-t pedig 9-re. A kérdésem a következő: a PGEC és PGED jeleket is illesztenem kell a szinthez? Az adatlapban az állt, hogy azok a kivezetések "5V tolerant"-ok, viszont az égetőm nem tudom, hogy a kontroller 3.3V-os jelszintjét minek érzékeli. Ha illeszteni kell, hogyan tudom ezt megoldani, hogy mindkét irányban működjön? Köszönöm előre is a segítséget.
Én a mellékelt kép szerint csinálnám. (Viszont így a negatív gobkezelést át kell írni pozitívra.)
Az R3 ellenállást inkább a dióda után kellene kötni...
Szia! Köszönöm szépen az ötleteket és a rajzot. Összemontírozom azokat és közzéteszem egy válaszban hamarosan... Üdv! fatti
Szia! Létezik már egy ilyen 3.3V-os adapter, a pickit2 klón építés topikban megtalálod. Itt a kapcsolás, de valahol korábban volt hozzá nyákterv is, ugyanabban a topkban.
Szia! A válaszodat véletlenül nekem címezte a kolléga, ezért továbbítom... A többit lásd: egy bejegyzéssel feljebb... Üdv! fatti
Idézet: Természetesen. Ebben a fórumban az #5 hozzászólást nézd meg! „A kérdésem a következő: a PGEC és PGED jeleket is illesztenem kell a szinthez?”
Szép napot, estét!
Régen voltam itt. Építenem kellene egy mikrovezérlővel és 15 darab 18b20 szenzorral hőmérőt. Erre ha lenne konkrét megoldás nagyon megköszönném, mert nagyon időhiányban vagyok. Köszi
Ez megoldható, de nem az "ide izibe" kategória !
Steve
Ja, igen tudom. Csak a sürgősségét rámsózták. Nemtudom hogy mitévő legyek, mert egy darabnak sem tudom megoldani a protokollját "izibe". Szóval az is lehet, hogy diódával analog módon tenném. De az idő ami kétségekbe ejt.
Ha PIC, akkor azt javaslom, hogy 15 kulon lab vigyen egy-egy egyvezetekest. Ha valami miatt megis a lancos technika kell, akkor nem lesz egyszeru, mert nehez on-fly az egyedi sorszamot kizsarolni beloluk (nekem legalabbis nem sikerult). Ha tudod, az mas kerdes, de akkor bele kell kodolni a hardverbe...
Ha kell, tudok kuldeni PIC-es forrast egy homerore.
Küldtem mailt!
Steve
Valaki mérte már meg, mit tudnak sebességre a pic32mx1-esek ? Ram-ba töltve biztos viszi a program a 40mhz-et, de mi a szitu flash-ből?
Mi a pontossagi igeny? Mert ha nem kell a 0,0625 C osztas, hanem 1/4 C eleg akkor inkabb analog (TC1047A, MCP9700A ) AD atalakitoval. Raadasul sokkal olcsobb. Igaz egy 16F887 nem tud 15 csatornat, de 2 db CD4051 16 csatornat ossze tud muxolni 1 vagy 2 vonalra. Ja persze 1/4 C felbontashoz 2,56 V Vref illik amit egy TL431 plusz egy-ket ellenallas, es egy 500 ohmos trimmerrel felepitheto. Lenyeges szempont, hogy az erzekelore kozvetlen kell rakni 100 nF kondit, es a kimenettel sorosan egy 470 ohmos ellenallast. Igy akar 100 meterre is elviheto a jel. A SW AD csatorna feldolgozasa, ami nem nagy kunszt. Egyszerubb mint az "onewire" programozasa.
Sziasztok!
Az alábbi problémába ütköztem; adott 16F887-es MCU DIL tokozással tökéletesen működik a tesztprogi, míg QFP tkozással hülyeségeket csinál. A progi elég egyszerű, így fest a main fgv;
Compiler: CCS C v4.114 + MPLAB v8.76 QFP tokozásnál az RB port 0.bitjét folyamatos 1-nek olvassa és az RB port 3.bitjét folyamatos 0-nak olvassa. Hangsúlyozom a DIL tokozással megy. Gondoltam, hogy esetleg megsütöttem a beforrasztásnál, ezért készítettem egy másik panelt is, de azon is pont így viselkedik. Ha műszerrel rámérek a lábra akkor a kívánt feszültségeket mérem rajtuk. A lábkiosztás a panelen a datasheetnek megfelelő. Valakinek ötlete? Gondoltam esetleg másik compilerrel próbálkozni ? Valaki találkozott már hasonlóval? (Bocsi, kicsit hosszú lett) Lutyii[i]
Szia!
Ha egy CMOS bemenet nincs sehová kötve, azon bármilyen szint beállhat... Idézet: „3.4.2 WEAK PULL-UPS Each of the PORTB pins has an individually configurable internal weak pull-up. Control bits WPUB<7:0> enable or disable each pull-up (see Register 3-7). Each weak pull-up is automatically turned off when the port pin is configured as an output. All pull-ups are disabled on a Power-on Reset by the RBPU bit of the OPTION register.”
Szia!
Külső lehúzó ellenállást raktam az RB port minden lábára, és ennek megfelelően "csak" a ráadott jelszint jelenik meg rajta. RB3-ra adott jelet 0-nak olvassa, mintha nem is lenne. Érdekes, hogy az alsó nibble egy bittel el van csúszva a ráadott jelhez képest, pl ha a RB.2-ra adok magas jelet, akkor a beolvasott érték 0x09 (0b00001001) RB0-t mindig magasnak olvassa. Ha RB1-re, akkor 0x05, ha RB0-ra, akkor pedig 0x03-at olvas. Olyan mintha a datasheetben lévő lábkiosztást elrontották volna. Leírás szerint 7.8 lábak VDD-k, azonban ha elrontották és a 8-as láb valójában már az RB0, akkor az mindent megmagyarázna. |
Bejelentkezés
Hirdetés |