Fórum témák
» Több friss téma |
Fontos: PICKit2 klón építése tanácsok
Ugyanúgy még csak fel sem ismeri a PIC-et...
Gondolom úgy értetted , hogy az 1k-s ellenállás egyik vége a PIC lábára, másik vége pedig a programozó lábára (ICSPDAT, ICSPCLK) megy. A led pedig közvetlenül a pic lábára megy egy előtét ellenállással. Az MCLR-en nyomógomb van, így csak a 2 LED akadályozza a felismerést/programozást. Valószínűleg leterheli a programozó (OshonSoft) DAT/CLK vonalát, de Pickit2-vel se működik. A hozzászólás módosítva: Márc 26, 2014
Idézet: „Vagy mi lehetett a baj?” A PGC és / vagy PGD vonalon nem tudott kialakulni a helyes jelszint. Valóban igaz, hogy a kapcsolást, a panelt ICSP kompatibilisre kell tervezni. Egy beforrasztott DIP vagy egy SMD tok nem vehető ki egyszerűen a programozáshoz... Idézet: „...digitális kimenetként használtam a PGD és PGC lábakat is (+belső RC órajel, MCLR tiltva)...” Use Vpp first programming entry módszer. Ehhez viszont a Vdd tápot a programozónak kell adnia (max 20..30 mA). A Vpp vonalra is oda kell figyelni a +12..13V feszültség miatt. A bemenetet meghajtó átamkörnek el kell viselnie a programozás alatt ezt a feszültséget is. Végülis használhatók DIP adapterek is az alábbi megkötésekkel: Minden tokozáshoz és bekötéshez külön adapter - olvashatóan megjelölve mely típus(ok)hoz jó. Az adapteren minden a programozáshoz bekötendő lábak be kell kötni: Minden Vdd, AVdd, Vss, AVss, Vddcore/Vcap, ENVREG, VBUS, stb a programozás feszültségének (5V, nem 5V) és a kivitelnek (F / LF) megfeleően. Kapacitások a Vdd és Vss lábakhoz. (Ennél egyszerűbb a cél rendszer használata, ott ezek már be vannak kötve.) Pl. 16F1454 és 16F1455 -hez kétféle DIP14 adapter egy a magas egy az alacsony feszültségű programozáshoz. Programozás előtt kétszer is ellenőrizni, hogy a megfelelő adaptert használjuk-e. A nem megfelelő adapter (és feltehetően az "univerzális adapter" is) tönkreteheti a kontrollert. Idézet: „Gondolom úgy értetted , hogy az 1k-s ellenállás egyik vége a PIC lábára, másik vége pedig a programozó lábára (ICSPDAT, ICSPCLK) megy.” Nem így kell bekötni. A PIC programozó lába közvetlenül megy az ICSP csatlakozóra és az ellenállás egyik végére. Az ellenállás másik vége megy a cél áramkörhöz.
Ezt mégegyszer. A céláramkör a PIC, amit programozni szeretnék. Szóval a PGD/PGC direktbe össze van kötve a programozó készülék ICSPDAT/ICSPCLK lábaival. Ez OK.
Az ellenállás egyik vége pedig megy a PGD/PGC-re, de a másik vége hova megy?
Hali!
Hp41C írta, a céláramkörödhöz, vagyis a lededhez. Valami olyan is rémlik, mintha nem mindegy hogy a céláramkör melyik irányba húzza a pgc/pgd-t, de lehet tévedek
Folyamatosan arról írok, hogy a vásárolt üres kontrollert beépítem, beforrasztom a kész, bemért (ameddig csak kontroller nélkül lehet) áramkörbe. Itt a fentebb említett bekötések készen vannak, a programozási csatlakozások ki vannak építve (Vcap, ENVREG, kondenzátorrok, stb). Ezután indítom a PICKit2 programját, beállíton a családot, csatlakoztatom a programozót a panelhez, felprogramozom, átprogramozom a kontrollert. Soklábú SMD toknál csak ez az út járható. (Ők vannak többen!) Egy SOT32-6 tokot sem kellemes minden programcserénél ki - be forrasztgatni.
Ebben az ezetben előfordulhat, hogy a MCLR és / vagy PGC és / vagy PGD lábak más célt is szolgálnak. Ekkor a programozó láb közvetlenül kapcsolódik az ICSP csatlakozóra és egy ellenállásra. Az ellenállás másik vége megy az áramkör további elemeihez. Ha ezeket az ajánlásokat betartom, felteszem minden panelra a 6 tüskét, bármikor át tudom programozni a kontrollereket. A bekötések mindig jók lesznek, nem hagyok le egyet sem, a lábak nem kötödnek össze egymással. A költsége 6 jumper tüske és némi hely a panelen. Értelmét veszti az (univerziális) adapter.
Tessék, hova kötnéd az R2-t (melléklet)? A,B,C vagy D pontra? Sok értelme nincs egyiknek sem. Az ábra csak a PGD lábat szemlélteti de ugyanez van a PGC lábon is. Vss és Vdd is be van kötve rendesen, a problémát csak a PGD és PGC-n lévő LED-ek okozzák mivel ha ezeket kiveszem akkor működik a programozás.
R1 = 470ohm, R2 = 1kohm. Az 1kohm-os ellenállással közvetlenül hajtva pedig elég gyenge fényereje lenne. Ha meg arra gondoltatok, hogy közvetve tranzisztorral kellene hajtani, akkor azt meg nem lehet mert már nem fér el a panelon a plusz 2 tranzisztor-ellenállás páros. Tehát mindenképpen közvetlen meghatással kell megoldani. De nem is írtam egyszer sem tranzisztort. Hp41C: Én olyat nem írtam, hogy ki akarom szedegetni a PIC-et az áramkörből, csak azt, hogy nálam most ez a módszer működik csak és néha hasznos lehet az adapter is (de nekem nem kell mert megoldom próbapanelon)! A kontroller már nem üres és be van forrasztva az áramkörbe a LED-ekkel együtt abban a kapcsolási elrendezésben amit mellékeltem és csak egy ICSP csatlakozó van kivezetve. Amit leírtál folyamatot azt ismerem, de még nem írtad le hogyan kell a gyakorlatban megoldani a problémát ha használjuk a PGD, PGC lábakat is! Egy mérnök kapcsolási rajzból ért! "Az ellenállás másik vége megy az áramkör további elemeihez." Kezdem kapizsgálni hogy mire gondolsz. Ha azt akarod ezzel mondani, hogy kell a LED-hez egy meghajtó tranzisztor akkor azt mondd. De most hogy írom ezt a hozzászólást 90% hogy azt hiszed, hogy a PIC-em nem közvetlenül kapcsolgatja a LED-eket, pedig én nem említettem meghajtóáramkört az előző hozzászólásaimban (és szerintem más sem akinek ajánlottad már ezt a módszert). De mint ahogy pipi-nek is írtam tranzisztor nélkül kell megoldani a problémát!
Annyit megtehetsz, hogy a LED földjét megszakítod a programozás idejére.
Ha SMD LED van az áramkörben, akkor tényleg nincs mit tenni, ki kell kapni a kontrollert, vagy a LEDet, és szeretettel gondolni az NYÁK tervezőjére.
Na most az van, hogy a panelt én terveztem. De mentségemre szóljon, hogy a tervezéskor meg volt kötve a kezem panel méret ügyileg és hogy csak egyoldalas lehet a nyák. Tehát ha akartam volna akkor sem fért volna be az a plusz 4 alkatrész aminek a méretük szintén meg volt szabva. A másik meg, hogy egész mostanáig nem nagyon használtam másra a programozó lábakat, így egy áramkörömben sincs a led előtt tranyó mert anélkül is működtek. Illetve elég sokáig azt hittem, hogy az LPT-s programozóm a béna és nem tudtam, hogy PicKit-tel sem megy...
Ugyanakkor én még egy HE-s cikkben, leírásban, hozzászólásban sem láttam még (vagy csak nem emlékszem?) hogy a PGD/PGC után legalább egy tranzisztort be kell iktatni, hogy fel lehessen áramkörben is programozni a PIC-et. És az alapozó cikkek miatt amik nem említik ezt sajnos sok kezdő PIC-ező nincs is tisztában ezzel, ahogy én is csak most világosodtam meg, hogy tranyó nélkül nem fog menni. Én melegen ajánlanám ezt a PIC kérdések topic fejlécébe kiírni ezt is. A hozzászólás módosítva: Márc 26, 2014
Erre való a próbapanel... Annak haszna is van... SMD esetében pedig okosan kell kialakítani a panelt vagy a kapcsolást, vagy úgy kell PIC-et választani, hogy legyen elég láb...
A hozzászólás módosítva: Márc 26, 2014
Hogyne lenne ... de sajnos már nem kompatibilis a PICkit2V2.62 -vel és a firmware 2.32.00 -val.
Az eredeti szoftverrel nem is működne ez a tipus, vagy csak bele kéne másznom a device file editor lelkivilágába?
Köszi
Hali!
találtam egy devicefilet amiben volt 16f1783, ezt a device file editorral kiexportáltam xml-be, szövegszerkesztővel megduplikáltam a 1783 bejegyzését, majd átszerkesztettem, visszaimportáltam az xml-t, és kimentettem a helyére (c:\Program Files\Microchip\PICkit 2 v2\PK2DeviceFile.dat) kipróbáltam és írja olvassa a pic16f1789-et (az lf1789-et nem csináltam meg) melléklem hátha jól jön még valakinek
Egy apró megjegyzés:
A programozási adatlap (DS41457E) 10. lapján a Figure 3-4 -en az látható, hogy a 16(L)F1788 és 16(LF)1789 eszközazonosítója a 0x2006, a revízió azonosítója a 0x2005 címen van és mindegyik 14 bites. A család többi tagjánál az eszközazonosító (felső 9 bit) és a revízió azonosítója (alsó 5 bit) a 0x2006 szóban található. A megoldásod ezek szerint a 16(L)F1788 és 16(LF)1789 esetében is a 0x2006 -ot olvassa ki és adja át a programnak. Összetévesztheti más típusokkal. Sajnos egy új családot kell létrehozni, egy új scriptet kell írni az eszközazonosító és a revízió azonosító kiolvasására, módosítani kell a DevIdMask értékét... A hozzászólás módosítva: Ápr 2, 2014
Hali!
Valószinűleg igazad van, 0x3020-at olvas device id-ként, DS41675A-page 64 szerint 8006 címen, meg 302A kellene. Megnéztem a 1783-at és 1789-et, dev id ugyanazon a címen vannak, de a rev id-t áttették a következő címre. Sajna azt kell mondjam ennyit tudtam megcsinálni, a többi már nem éri meg a teljes utánajárást nekem. Köszi az infót.
Hali!
Kicsit utánanéztem, mivel a devidmask nem lett jól beállítva, ezért az 0x302x -es összes picet ennek fogja felismerni. Köszi
Sziasztok!
Egy kis segítségre lenne szükségem. Még tavaly nyáron megépítettem Watt pickit2 klónját (a nyákterven minimális elrendezésbeli módosításokat végeztem a nyák méret változtatása miatt, így pontosan belefér az általam kinézett dobozba), mely azóta is szépen működik. Akkor a lötstop réteget sikerült túlsütni így felhólyagosodott, gondoltam most megépítem újra. A 18f2550-es programozása gond nélkül ment. A pickit2 Programmer is felismeri, viszont "PICkit2 VDD and VPP voltage level errors. Check target & retry operation" hibaüzenetet kapok. Próbáltam a kalibrálást, de 0V feszültség mérhető a VDD és GND lábak között, és a busy led gyorsan villog. Elsőnek az MBRS140-es shotky diódára gyanakodtam, mert azt sikerült beszerezni MBRS190 helyett, de átcserélve a 2 pickit2 között a régebbi ugyan úgy működött tovább, a következő alkatrész az IRF7317 volt, melyek megcserélése szintén nem vezetett eredményre. A két áramkört méregettem azonos helyeken ellenállás mérővel a vdd vezetősávjainak és alkatrészeinek környékén, mindenhol azonos értékeket mértem. Az alkatrészeket többször átnéztem, azok stimmelnek. Hol érdemes elindulnom a hiba keresésével? Előre is köszönöm a segítséget! Bari A hozzászólás módosítva: Ápr 14, 2014
Szia! Lehet, hogy az SMD MCP6001 rossz tokozású. Neked AAyx-al, vagy CDyx-al kéne kezdődnie a feliratnak rajta ahol az yx szám, ha nem, akkor az más lábkiosztású.
A hozzászólás módosítva: Ápr 14, 2014
Multival sem mérsz semmit az adott lábakon?
Szerintem legegyszerűbb egy kis tesztprogrammal ellenőrizni a funkciókat.
Szia! Sajnos csak délután leszek a pickit2 közelében, akkor megnézem a tokozáson milyen felirat szerepel, emlékeim szerint azonos helyről rendeltem mind a kettőt, és rémlik hogy a feliratok is megegyeznek, de majd kiderül ha ránéztem este. Ha mégse az mcp6001 lehet a bűnös, akkor mit érdemes még megnéznem?
Bari
Szia! Multival programozás közben lehetne az adott lábakon feszültséget mérni, de azt már nem is engedi a hibaüzenet miatt. Kalibráláskor is lenne feszültség a Vdd lábon, de 0V mérhető. A pickit2 Programer kalibrációs menüpontját használtam. Esetleg milyen másik teszt programot tudsz ajánlani a funkciók ellenőrzéséhez?
Bari
A Tools / Troubleshoot menü végigmérése műszerrel (oszcilloszkóppal is) elég szokott lenni. A panelen több alkatrész van, amit mindkét oldalról be kell forrasztani, vannak benne "furatfémezések" (mindkét oldalon beforrasztandó átvezető huzaldarabkák) is.
Szia! Este végigmérem az adott menüt, sajnos csak multiméterrel, oszcilloszkópom nincs. A panel két oldala közötti átvezetések rendben vannak, a forrasztásokat többször ellenőriztem. Mivel a korábbi építés jól működik, van összehasonlítási alapom is szerencsére.
Bari
Végiggondolva, végigmérve meg lehet találni a hibát. Ha így nem sikerül kell írni egy egyszerű programot, ami a megfelelő lábakat "billegteti" mondjuk 0,5Hz-el és azt már mutival is lehet mérni (nem kell mindjárt PWM szabályozást írni ). A legtöbb esetben hibás forrasztás, vagy alkatrész csere áll a háttérben. Szerencsére ehhez nem kellett program, a Pickit3-hoz írtam, ha gondolod felrakom, hasonló elven működik az is, de van a 18F4550-es verzióhoz is, csak az nem tesztel mindent (és nincs kommentezve ).
A hozzászólás módosítva: Ápr 14, 2014
Körültekimtően kell bánni a tesztprogramokkal:
- RC1 port lassú billegtetése azonnal tönkreteszi a Vpp táp kapcsoló tranzisztorát vagy FET -ét. - RA2 .. RA4 portokon a szintmegfogó miatt jelet csak akkor lehet mérni, ha a Vdd be van kapcsolva.
Így van, és az RB2-RA5-öt sem szerencsés szembe vezérelni (bár úgy látom ebben a verzióban 470Ohm van).
Mivel a Vdd-vel is problémák vannak egyszerűen: RC1=0, RC2=1, és végigmérni mindenhol meg van-e az 5V, ahol kell. Az RB4 tovább is engedi az 5V-ot a kimenet felé. Az RA0-1-en meg lehet mérni a visszacsatolt/leosztott jelet.
Szia! Megnéztem az MCP6001-en a felirat ADRA, ezek szerint nem jó. Megnéztem a rendelésem is, ott is az R-es típus szerepel, ezt jól benéztem. A kód alapján az adatlapból azt hámoztam ki, hogy a tápfeszültség lábak vannak megcserélve, a többi a helyén. Zománcozott huzallal bekötöttem helyesen de sajnos a fordított polaritás megtette a magáét és ha nem is az örök elektronmezőkre száműzte, de megkezelte.
A PICkit2 Programer ugyan már nem jelez hibát, a kalibrációnál viszont 4V helyett 4,6v mérhető a VDD és a GND között. A Troubleshoot menüben a VDD tesztnél bármilyen feszültséget állítottam be 4,6V-ot mérek. A VPP-re 12,03V-ot míg a Programer 11,9V-ot. PGD, PGC lábaknál a 30KHz-es jel megvan, 27KHz-ez mérek a multiméteremmel (a jó PICKIT2-nél is ennyit mértem) , High gombra kattintva pedig 4,5V-ot. Miután a jó MCP6001-et átforrasztottam a panelra a kalibrálásnál 3,93V-ot mérek a VDD és a GND között, korábban a régebben készült PICkit2-nél is ugyan ennyit mértem. A Troubleshoot menüpontnál is jó a feszültség érték, ugyan annyit mérek mint amit beállítok. Köszönöm a segítséget Bari |
Bejelentkezés
Hirdetés |