Ik heb een PicKit3 gekocht voor een project waarbij ik de nodige 12F629's moet gaan programmeren (ik weet het, achteraf nu ik aan het researchen ben was een PicKit2 misschien beter geweest...)
Dat is de schakeling. Het is voor modelspoor ; een 4-voudige servo decoder welke voeding ook uit het DCC signaal haalt (blokgolf signaal, +18 naar -18V)
Ik heb de schakeling zoals afgebeeld op een stuk gaatjesboard gebouwd, een paar 12F629's met veel pijn en moeite op een K8048 geprogrammeerd gekregen (een paar zijn ook onbruikbaar geworden vanwege ontbrekende calibratie waarde
Iets wat de PicKit2 eenvoudig kan fixen, maar ik zie het nog niet 1-2-3 op de PicKit3 )
Nu wil ik proberen wat zaken aan te passen en daarvoor zou ik vanwege het gemak graag met ICSP willen werken. De connecties op zich zijn duidelijk. Echter waar domweg doorverbinden van de PIC lijnen naar de PicKit3 wel werkt voor een 16F628A (welke dan in MPLAB ook goed word gezien en goed geprogrammeerd kan worden) lukt dit niet met de 12F629 (ook niet met bewezen goede exemplaren!)
Ik krijg dan in MPLAB de melding :
PICkit 3 detected
Connecting to PICkit 3...
Firmware Suite Version...... 01.25.14
Firmware type......................Midrange
PICkit 3 Connected.
Target Device ID (00000000) does not match expected Device
ID (00000f80).
Programming...
The following memory regions failed to program correctly:
Program Memory
Address: 00000000 Expected Value: 00000183 Received Value: 00000000
Programming failedNou vond ik met de search functie oa dit draadje : http://www.circuitsonline.net/forum/view/47435/1/12F629
Daarin word bijna helemaal onderaan beschreven dat je Vdd even moet kortsluiten of iig voor de PIC de spanning even moet laten inzakken.
Ik snap alleen die tip van de diode en de weerstand niet....
Die zou dan tussen pin 1 en de output van de 7805 moeten?
En verder gewoon
PIC ICSP connector
Pin 4 = Pin 1 (MCLR)
Pin 1 = Pin 2 (Vdd)
Pin 8 = Pin 3 (Vss)
Pin 7 = Pin 4 (Data)
Pin 6 = Pin 5 (Clock)Of mis ik dan nog iets? En heeft iemand dit (12F629 icm PicKit3) al eens geprobeerd? Google levert voor de PicKit3 amper info (en wat je vind is vrijwel altijd negatief maar meestal zonder onderbouwing)
hadv
Just find out what you like and let it kill you
In de meeste PIC schakelingen wordt de MCLR hoog gehouden door een weerstand (van zo'n 10K) naar de +5Volt.
De diode, meestal een schottky zoals een BAT 85, zit daar 'tussen', dus met z'n anode aan de +5 en z'n kathode aan de 10K.
De reden daarvoor is dat er bij het via ICSP aansluiten van de hoge VPP van de PicKit (of whatever programmer), die hoge VPP niet op de de +5V lijn komt. Beveiliging van de rest van de PIC tegen de hoge VPP dus.
Staat C2 netjes dicht bij IC2? Anders heb je met een PICkit2 net zo weinig succes.
Vpp before Vcc doet de PICkit3 ook.
C2 zit direct naast het voetje van de 12F629, enige dichtere manier is om hem aan de onderkant van het board hard op de pennen van het voetje te solderen, maar dat zal denk ik weinig verschil maken...
Ik ging ervan uit dat MPLAB zelf zorgt voor Vpp before Vcc , is dat het misschien? Moet ik dat nog ergens opgeven?
een paar zijn ook onbruikbaar geworden vanwege ontbrekende calibratie waarde Iets wat de PicKit2 eenvoudig kan fixen, maar ik zie het nog niet 1-2-3 op de PicKit3
Bedankt voor de hulp wederom, na de schakeling op een breadboard te hebben gebouwd heb ik in plaats van de 22K weerstand tussen MCLR en Vdd een 5K6 weerstand (even niks anders bij de hand...) en een 1N4148 genomen zoals door hadv is beschreven.
En zie... de PicKit3 'pakt' de PIC gewoon. Ik vind echter nergens in de Microchip documenten die diode terug, alleen de weerstand van 4.7-10K
Nu nog een keer die calibratie schakeling bouwen (of hopen dat voor PicKit3 in de standalone software de calibratie optie weer terugkomt!)
(edit) Op de poster bij de PicKit3 staat het niet, maar in note DS30277 staat het inderdaad wel met de diode getekend...
[Bericht gewijzigd door javanree op (10%)]
Ik ben een gelukkige gebruiker van de PICKIT2 en ik moest em al
veel eerder gekocht hebben.
Tijdscalibratie al eens gebruikt voor de 12F629 en geen
problemen ondervonden.
Ik weet dat dit een oud topic is... maar ik heb toch nog een aanvullende vraag.
Ik ben een newbie wat betreft PIC processors.
Daarom heb ik maar een Pickit2 gekocht en ik heb even een experimenteerprintje gemaakt met een 12F629 en de hexfile van een knipperled gezocht.
Hier kan ik de PIC gewoon met ICSP programmeren zonder diode... er zit alleen 10k naar /MCLR.
Is het nu toch een goede gewoonte om een diode te gebruiken? Of is dat niet nodig?
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Als je een 12F629 configureert met interne MCLR dan moet de programmer de voeding kunnen schakelen. Voor pickit2/3 lukt dit als de programmer de voeding levert.
Maar jij gebruikt zo te zien exteren MCLR, dus het lijklt er op dat je iets fout doet. Is er tijdens het proggen nog iets aangesloten op de connectors?
Als ik jouw was zou ik het ontwikkelwerk op een iets grotere PIC doen, zodat je de ICSP pinnen gewoon vrij hebt. Nog luxer: een 12F629 debug module (= meer pins chip met aparte ICSP/debug pinnen). Kost < E 20, zie microchip website.
Inderdaad is een minibordje met 12F629 niet echt geschikt voor ontwikkeldoeleinden. Het was voor mij vooral bedoeld om te kijken of het überhaupt zou werken.
GP3 is op mijn bordje (en in het project waar ik de hexfile van gebruik) een input met een pullup van 10k naar Vdd en een drukkknop naar GND. De schakeling wordt gevoed door de Pickit2.
In elk geval werkt dit hier blijkbaar normaal... vandaar de vraag of de (schottky) diodes nu echt nodig zijn.
Is dit nodig om de schakeling te beveiligen tegen een te hoge Vdd? Of is het nodig om te voorkomen dat de programmeerspanning te zwaar belast wordt (via de pullup weerstand) en daardoor bij sommige programmers te ver inzakt?
[Bericht gewijzigd door Franzki op (20%)]
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 16 maart 2010 14:18:42 schreef Franzki:
De schakeling wordt gevoed door de Pickit2.
Wat doet die 7805 daar dan?
Sorry voor de verwarring Wouter... ik was hier in andermans topic gesprongen.
Dit is mijn schemaatje (even snel uitgetekend):
Ik heb de constructie met het drukknopje en de 1k en 10k weerstand overgenomen van het demobordje uit de Pickit2 Starter kit.
De vraag is dus vooral of er een (schottky) diode in serie moet met de 10k weerstand.
Voor alle duidelijkheid... het lijkt gewoon te werken maar ik weet niet zeker of ik risico loop dat er iets defect raakt.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 16 maart 2010 22:22:34 schreef Franzki:
De vraag is dus vooral of er een (schottky) diode in serie moet met de 10k weerstand.
Zou ik wel doen; maar een simpeler alternatief is wellicht een 1k of 2k2 belasting op de voeding. Is ook afdoende.
Er gaat hier nu een lampje branden (LEDje knipperen).
Het hele idee van de beveiliging met een schottky diode is dus dat je voorkomt dat de voedingsspanning tijdens het programmeren mee omhoog getrokken wordt door de programmeerspanning?
Inderdaad volstaat het dan om de voedingsspanning te belasten. Ik was alleen in de veronderstelling dat de schakeling zelf een voldoende belasting zou zijn.
Geldt dit verhaal trouwens (in het algemeen) ook voor andere PIC's?
Fredjuhh
"Ben nog een N00B, maar dat is al aan het veranderen ;)
Simpel gezegt: ja dat klopt 
Maar de voedingsspanning wordt dus omhoog getrokken door de hogere spanning die op de mclr komt tijdens programmeren...
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> Het hele idee van de beveiliging met een schottky diode is dus dat je voorkomt dat de voedingsspanning tijdens het programmeren mee omhoog getrokken wordt door de programmeerspanning?
ja
zelf gebruik ik meestal een wat hogere waarde voor de pull-up (33k), en dan maak ik me over dat 'omhoogtrekken' geen zorgen.
> Ik was alleen in de veronderstelling dat de schakeling zelf een voldoende belasting zou zijn.
als je daar zeker van bent is dat OK. maar een pic-alleen belast wrsch. te weinig.
> Geldt dit verhaal trouwens (in het algemeen) ook voor andere PIC's?
ja voor het 'omhoogtrekken', het 'voding kortsluiten' geld niet voor alle PICs.
Ik heb de Pickit 2 manual nog eens nagelezen.
zie: http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf
Daar staat (op pagina 27) ook een schemaatje voor ICSP dat sterk lijkt op wat ik zelf heb gemaakt.
Dit komt trouwens overeen met het schema van het "Low pin count demo board" dat bij mijn Pickit 2 Starter Kit zit.
Ik krijg de indruk dat de Pickit 2 programmer zo ontworpen is dat daar al een beveiliging inzit en dat mijn schemaatje dus zonder aanpassingen helemaal voldoet.
Toevoegen van een Schottky diode of verhogen van de pullup weerstand zouden dan alleen nodig zijn als ik met een andere programmer aan de slag zou willen.