Mit dem internen OSC bzw. RC klappt es. Die PIC's haben ein RC Glied als Osz. Thx
Hallo, kann mir bitte mal jemand dieses Konstrukt erklären!? Pin 4 von dem IC ist mit nichts verbunden, auch auf dem orgiginalen Board.
Jörg Oe wrote: > Hallo, > > kann mir bitte mal jemand dieses Konstrukt erklären!? > Pin 4 von dem IC ist mit nichts verbunden, auch auf dem orgiginalen > Board. Die hier unbenutzten Eingänge wurden vorbildlich auf festes Potential gelegt.
Hallo, ich habe gerade noch ein paar Probleme die korrekten Hex-Files herauszufiltern: Das ist die Firmware für den 18F4550. Diese einfach in den PIC flashen und der tut?! http://potyo.extra.hu/icd2/18f4550-bor.hex Für den 16F877A finde ich auf folgender Seite die Firmware: http://www.edaboard.com/ftopic161641.html Das würde aber jedoch bedeuten, dass ich 54 Seiten aus dem Thema durchforsten muss. Stimmt das so, oder habe ich etwas falsch verstanden? mfg Jörg
Hallo alle Sammelbesteller, ich wollte mich mal wieder Melden. Platinen sind immer noch nicht bei mir eingetroffen. Bestellt habe ich am 17.12.2007, die Lieferungen hatten noch nie länger wie 4 Wochen gedauert (eventuell liegt es am Jahreswechsel). Ich Melde mich wieder. Gruß Andreas B.
Hallo Sammelbesteller, ich konnte es heute abend kaum glauben, die schönen blauen Platinen sind angekommen. Die Versendung würde ich bis zum Wochenende fertig machen. Alle sollten dann bis Anfang nächster Post bekommen. Anbei Bilder als kleiner Vorgeschmack. Gruß Andreas B.
und die Große passt genau in das SD10 Gehäuse, ist halt Massarbeit (-. Gruß Andreas B.
Hallo Jungs, habe ich mich nun einmal dran gesetzt, den Schaltplan ins Eagle zu bringen. Es ist alles in SMD Bauweise und an meine Bedürfnisse angepasst. Wenn jemand Lust hat und mal kurz drüber schaut, kann er das gern tuen. Sollten irgendwelche Fehler auftreten, dann wäre ich über den Hinweis sehr froh. Mein nächster Schritt wird die Gehäusewahl, und danach wird dann das Board geroutet. Bis später, Jörg
Marius Schmidt wrote:
> Gibt es für Andreas' ICD2 eigentlich nen reichelt warenkorb?
Offenbar eine Liste von Hans am 4.12.
in diesem Thread.
Die Excel-Datei mag als Grundlage dienen.
Leider ist aber diese Liste recht unvollständig.
Reichelt hat die passenden kleinen Widerstände nicht,
Conrad teilweise nicht in der angegebenen Genauigkeit der Widerstände,
etc.
Falls es doch jemanden gibt, der eine Sammelbestellung für die Bauteile
oder wenigstens die Spezialbauteile durchführen würde; ich hätte
jedenfalls großes Interesse, auch an einem fertig programmierten IC.
Gruß
Dietrich
Hallo alle zusammen, die Bestellten Platinen habe ich gestern alle vesendet. Ihr könnt Euch ja kurz mal melden, wie schnell die Post die sachen Verteilt. Na dann viel Erfolg beim zusammenbau, und Programmieren und Debuggen. Gruß Andreas B.
Andreas B. wrote: > Hallo alle zusammen, > > die bestellten Platinen habe ich gestern alle vesendet. > > Ihr könnt Euch ja kurz mal melden, wie schnell die Post die sachen > Verteilt. Meine Platine ICD2 ist heute wohlbehalten angekommen. Dank dafür. Darf ich mal fragen, welche Firma die Platinen produziert hatte? Gruß Dietrich aka sprotte24
Auch ich habe die Platine heute wohlbehalten erhalten. Die Platine sieht wirklich gut aus. Bin gleich mit dem Bestücken angefangen. Nochmals vielen Dank an Andreas B., dass er sich bereit erklärt hat, diese Sammelbestellung zu organisieren. MfG Ralf
Hab die Platinen heute auch bekommen... ... da mein Rechner in den letzen Tagen platt war, konnte ich weder im Thread nachschauen, noch meine eMails lesen und war daher heute sehr überrascht, die Dinger in der Post zu finden. Die Leiterplatten sehen wirklich super aus - vielen Dank nochmal an Andreas B. fürs Organisieren und Kümmern!!! Ist wirklich alles prima gelaufen! Preis / Leistung einfach sagenhaft... Gruss Hans
Hallo! Also so wie ich das jetzt verstanden habe, gibt es bei diesem aktuellen ICD Klon keine Einschränkungen im Vergleich zum Original mehr... (wie zum Beispiel der Geschwindigkeit beim Debuggen...) Lieg ich da richtig? Wenn schon, dann bin ich wohl leider zu spät für die Sammelbestellung. Es sei denn es liegen noch Platinen rum... ;-) Mfg chosn
Hallo Leute, habe bei Ebay ein ICD2 Clon gefunden, wollte mal fragen was ihr dazu sagt http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&rd=1&item=370023459030&ssPageName=STRK:MEWA:IT&ih=024 MfG Buzii
Zu teuer. sure electronics hat ein ICD2 Clon mit einem Pic18F Board für ca. 45€. Gruß Sascha PS. Von da habe ich meinen Pickit2 Clone.
Hallo Sascha, danke für die schnelle Antwort. Kannst du mir die Internetadresse von Sure schiecken? Was hast du für Erfahrungen mit dem PICKIT2? Kann der auch Debugen? Grüße Buzii
http://www.sure-electronics.com/ Hab ihn bis jetzt nur als Programmer genutzt. 3.3V und 5V Typen ohne Probleme. Gruß Sascha
Hier der direkte Link zum ICD2 Clone mit PIC18F Board: http://www.sure-electronics.com/products/display/db-dp113.html Gruß Sascha
Hallo, habe meinen jetzt zusammengebaut. Beim Selftest bemängelt MpLab MCLR Vdd. Gut, könnte daran liegen, das kein Target angeschloßen ist. Desweiteren steht bei den Setting Target Vdd 2,46V und die entsprechende Led ist schwach am leuchten. Ist ein Target angeschloßen, z.B Pic18F4553, wird die ID bemängelt, das diese dem Target nicht entspricht. Woran liegt das alles?? Ich nutze MpLab V8.01 Gruß Sascha
Hallo, hab meinen ICD2 zufällig gestern auf einen weiteren PC installiert. Das mit den 2,46V und der schwach leuchtenden LED hatte ich auch. Nachdem ich in den Settings "Power Target Circuit from MATLAP ICD" gewählt hatte, war das Problem nicht mehr da. MfG
Hallo Sascha >> Ist ein Target angeschloßen, z.B Pic18F4553, wird die ID bemängelt, das >> diese dem Target nicht entspricht. Woran liegt das alles?? Hast Du das richtige Device eingestellt und das ICD2 Operating System runtergeladen? -Configure - Select Device -Programmer - Download ICD2 Operating System Gruß, Bob
Ja, habe ich. Es wird die Device ID nicht erkannt. Es läßt sich weder löschen, programmieren usw. Gruß sascha
Versuch erst mal deine Vdd Probleme in den Griff zu bekommen. Wenn die LED schwach leuchtet, fliesst irgendwo strom wo keiner fliessen soll. Überprüf mal deine Schaltung. Bauteile richtig eingelötet usw. am besten auch mal den schaltplan nehmen und durchklingeln. Wie hoch ist die Versorgungsspannung auf dem Board?
Hallo Sascha, Hast Du auch die richtigen HEX Files reingebrannt oder hast Du die Pics schon vorgebrannt bekommen? Im Anhang sind die Files die bei mir funktionieren. Nach dem Brennen ein Verify machen. Ich hatte desweiteren Probleme mit der Drossel, die sehr nah am USB Stecker sitzt und beim debuggen gestört hat, sollte aber nichts mit deinem Problem zu tun haben. Ansonsten nochmal die Bestückung und die Lötstellen kontrollieren. Sind alle Spannungen an den ICs korrekt, wenn Du USB einsteckst ? Gruß, Bob
Schau mal insbesondere nach ob die Transistoren Q5 - Q7 richtigrum eingebaut sind !
Hallo, alle Spannungen sind vorhanden. Ebenso die VPP für MCLR (12,4V). Transistoren sollten richtig herum eingelötet sein. Habe BC327-40 drin. Welche habt ihr genommen? Die Hex-Files probiere ich mal aus. Gruß Sascha
So, auch mit den neuen Files geht es nicht. Die Transistoren sind richtig herum eingebaut. VDD läßt sich einschalten und ist dann am ICD-Port vorhanden. Genauso läßt sich MCLR auf High/Low schalten. Nur kommt immer die Meldung wie im Anhang. Target ist im MPLAB ausgewählt. Gruß Sascha
Jein :) Bei nicht angeschloßenem Target und Versorgung über ICD abgeschaltet, wird Target Vdd und MCLR Vdd bemängelt. Soweit wohl Ok, da nichts angeschlossen. Target (Selfpowerd) angeschloßen, Self Test Ok. Das selbe auch bei Target über ICD versorgt, Self Test Ok. Gruß Sascha
Sascha, prüfe auch nochmal folgendes: -Pinbelegung vom Programmierstecker -Läge des Programmierkabels (maximal 15cm) -Target board funktioniert ? (evtl am Original ICD2 prüfen) Gruß, Bob
Bob wrote: > Sascha, prüfe auch nochmal folgendes: > > -Pinbelegung vom Programmierstecker OK > -Läge des Programmierkabels (maximal 15cm) ca. 10cm > -Target board funktioniert ? (evtl am Original ICD2 prüfen) Target Board funktioniert, mit PICKIT2 getestet So, und jetzt kommts. Der ICD2 Clone läuft.......... Anstatt ein 74HC126, habe ich einen 74HCT126 von Conrad bekommen und beim einbau nicht darauf geachtet. Gerade einen HC eingesetzt und alles funktioniert. Ganze Theater umsonst. Sorry Gruß Sascha
Hallo Zusammen, ich hab nun die ICD2 Platine von Andreas aufgebaut. Ich hab die PICs programmiert von ihm, daher denke ich, ich hab die richtigen HEX Files in den PICs. Den Aufbau hab ich kontrolliert, die Chips sind am richtigen Platz und die restlichen Bauteile auch. Ich hab momentan kein Target am ICD2. Leider will das gute Stück nicht laufen. Fehlerbild: ----------- Beim Einstecken in den USB Port findet das System das Gerät und verlangt nach den Treiber: icd2w2k.inf Diesen finde ich im Pfad: C:\Program Files\Microchip\MpLab\MPLAB IDE\ICD2\Drivers. Nach Installation des Treibers wird der ICD2 auch im Gerätemanager als Microchip "Tools/Microchip MPLAB ICD 2 Firmware Cien" angezeigt. Nach Start des MPLAB stelle ich folgendes ein: - Programmer/Select Programmer/MPLAB ICD 2 - Programmer/Sttings - Status - Automatically connect at startup - Automatically download firmware if needed - Communication - ComPort = USB Als Fehlermeldung nach "Programmer/Connect" kommt: Connecting to MPLAB ICD 2 ICD0019: Communications: Failed to open port: (Windows::GetLastError() = 0x0, 'Die angegebene Prozedur wurde nicht gefunden.') ICD0021: Unable to connect with MPLAB ICD 2 MPLAB ICD 2 Ready Auch der SelfTest wird nicht ausgeführt: Running ICD Self Test ICD0082: Failed MPLAB ICD 2 operation Fragen: ------- -Weiß jemand woran das Problem liegen könnte? - Hab auch schon gemessen, die PICs werden beide mit 5 Volt versorgt, gibt es weitere sinnvolle Messpunkte? - Benötigt man unbedingt ein Target um die Kommunikation mit dem MPLAB aufzunehmen? Der SelfTest sollte doch trotzdem funktionieren - oder? Für alle Antworten schon mal herzlichen Dank! Grüße Timo
Du musst beim ersten Mal die Firmware Manuell runterladen: Programmer -> Download ICD2 Operating System
Hi Willivonbienemaya, danke für Deine Antwort, aber leider ist dieser Punkt nicht anwählbar. Ich gehe davon aus das dieser Menüpunkt erst aktiv wird wenn eine Connection zum ICD2 besteht, aber die schlägt ja schon fehl... Vielleicht hat ja jemand noch einen Tipp. Grüße Timo
So, nun hab ich das ganze noch an einem anderen Rechner getestet. Hier geht es genauso nicht, aber es gibt eine andere Fehermeldung: Connecting to MPLAB ICD 2 ICD0019: Communications: Failed to open port: (Windows::GetLastError() = 0x0, 'Falscher Parameter. ') ICD0021: Unable to connect with MPLAB ICD 2 MPLAB ICD 2 Ready Hmm, keine Ahnung woran es liegt. Gibt es einen ICD2 Nutzer im Raum Heilbronn? Dann könnte ich vielleicht mal testen ob es ander Software Konfiguration oder doch an der Hardware liegt. Grüße Timo
Achso, dann hab ich dioch falsch verstanden. Also wenn du Programmer -> Select Programmer -> ICD2 auswählst, dann kommen ja die Menüpunkte für den ICD. Connect funktioniert dann nicht, richtig? Welche MPLAB Version hast du? Ich vermute du hast ein Problem zwischen den beiden Pics auf deinem ICD2. Prüf doch noch mal ob alle Verbindungen dazwischen passen. Eventuell noch mal den 16F877 neu programmieren. Hast du einen 16F877 oder 16F877A verwendet? Die brauchen unterschiedliche Bootloader !
> Also wenn du Programmer -> Select Programmer -> ICD2 auswählst, dann > kommen ja die Menüpunkte für den ICD. > Connect funktioniert dann nicht, richtig? Genau, sobald ich Connect aufrufe kommt die oben erwähnte Fehlermeldung. > Ich vermute du hast ein Problem zwischen den beiden Pics auf deinem > ICD2. Prüf doch noch mal ob alle Verbindungen dazwischen passen. Das werd ich heute abend mal machen. Die Lötstellen sehen ok aus, aber es könnte natürlich auch die Platine sein. > Eventuell noch mal den 16F877 neu programmieren. Hätte ich gerne probiert, hab aber da ein Henne-Ei-Problem, ich hab bisher nur AVRs programmiert, ein Programmer für einen PIC hab ich bisher nicht. Deshalb hab ich mir von Andreas ja die vorprogrammierten schicken lassen. Wobei ich betonen will, dass ich jetzt nicht die Schuld bei Andreas sehe. Eentl. kann mir ein Kollege einen Controller programmieren. > Hast du einen 16F877 oder 16F877A verwendet? > Die brauchen unterschiedliche Bootloader ! Ich habe zwei PIC16F877A und zwei PIC18F4550 (für zwei ICD2 Clones) von Andreas bekommen, aber auch nach Tausch der PICs funktioniert es nicht. Werde die Verbindungen prüfen und dann mal suchen ob ich irgendwo einen der beiden PICs programmieren kann. Danke schon mal, werde über die (Miss)Erfolge berichten. Timo
Zur MPLAB Version: Hab das zum einen mit MPLAB v7.41 und zum anderen mit MPLAB v8.02 (aktuell) getestet. Noch zwei Fragen: 1. Eine Connection und ein SelfTest sollte doch ohne Target funktionieren - oder? 2. Wie hoch ist die Vpp Spannung nach anschließen des USB Steckers (ohne) Connection? Bei mir liegt die Spannung bei 11,8 Volt, ist das ok? Grüße Timo
Bei mir ging das mauelle downloaden des OS nur, nachdem ich das ICD2 als debugger ausgewählt hatte. Grüß
Hallo Zusammen, vielen Dank nochmal für die Tipps! Ich hab heute nochmals die gesamte Platine durchgemessen, war aber alles korrekt. Dann hat mir ein Kollege mal den 16F877A ausgelesen, da waren nur 0xFFs drin. Dann haben wir den 16F877A mit dem HEX File programmiert und siehe da, der ICD2 clone funktioniert (zumindest die Connection, ein Target hab ich noch nicht aufgebaut). Nun noch eine Frage: Beim SelfTest wird MCLR Vdd mit Low angegeben, deshalb schlägt wohl der SefTest auch fehl. Ist das korrekt, wenn ich den ICD2 ohne Target betreibe? Danke & Grüße Timo
Hallo zusammen, es gibt wieder ICD2 Platinen, bei Interesse eine eMail buffy1962(at)gmx(dot)de oder eine PM. Gruß Andreas B.
Hallo zusammen, sorry das wichtigste habe ich vergessen. Die Kosten für eine Platine liegt bei 13,- € (das ist der selbstkosten Preis). Versand als Warensendung (Deutschland) 1,65 €. Platine ist RoHs Konform, Pads in Gold. Gruß Andreas B.
Ist die Platine bis auf Farbe und goldene PADs identisch mit meiner blauen? Gruß Dietrich
Hallo, kurze Frage: Hat jemand von euch schon mal ein Board nach dem Plan von Jörg Oe (joerchi) gemacht? Wollte wissen ob das so funzt oder nicht?! Danke! Gruß Thomas
Hallo, wer würd sich denn in nächster Zeit auch ein ICD2 bauen und eventuell eine Sammelbestellung organiesieren? Nicht das ich zu faul währe die Sachen selber zu bestellen aber ich würde das ICD2 gern mit den "Origialbauteilen" (von Reichelt) aufbauen! Nur liefert Reichelt leider erst ab 150€ ins Ausland (Österreich) und damit könnt ich mir dann (fast) ein original kaufen. Danke im Vorraus Viktor PS.: Wie funktioniert das mit den Sampels genau? Konnte es leider nicht ausprobieren da ich grad zivi mach, hab ich weder ne Schul noch ne Uni E-Mail.
Ich wäre dabei. Habe Andreas vorab schon mal wegen der Platine angeschrieben.... Gruß
@Schöbi Ich frag mal so frech: bist du vielleicht in Deutschland daheim? Könntest mir dann eventuell die Bauteile mitbestellen und in nem Brief schicken? Gruß Viktor
Hallo, mal eine blöde Frage, ich versuch zur Zeit einen ICD2 basierend auf dem EAGLE Design von Harald Sattler in Betrieb zu nehmen. Die Frage ist nur wenn ich das hier alles so lese, ist das überhaupt noch funktionsfähig? Kann man das mit MPLAB v8.00 zum laufen bringen? Weiß das jemand? Wenn ja mit welcher Firmware flash ich dann den 16F876-I/SP Professor? Ich hab es mit BL010101.hex probiert und damit scheint es nicht zu gehen... Meine HW enthält: 16F876-I/SP Quartz mit 20MHz bzw. 3,686MHz MAX232EPE Wäre wirklich sehr dankbar für einen Tip! Gruß Bruno
Bruno P. wrote: > Die Frage ist nur > wenn ich das hier alles so lese, ist das überhaupt noch funktionsfähig? > Kann man das mit MPLAB v8.00 zum laufen bringen? Weiß das jemand? Ja, alles was als ICD2 erkannt wird funktioniert auch noch. > Meine HW enthält: > 16F876-I/SP 16F876A oder 16F876 ?
Hallo willivonbienemaya, richtig das war von mir falsch geschrieben, 16F876A-I/SP ist richtig... Ich hab´s schon mit dem 16F876-04 und dem 16F876A-I versucht, jeweils mal mit 3,686MHz und 20MHz Quartz (obwohl der -04er 20MHz nicht kann aber wer weiß?). Außerdem die verschiedenen Hex-Files, BL010101.hex und für den A-Typ das ICD661.hex.... Ehrlich gesagt kenn ich mich schon fast nimmer aus was ich schon alles versucht hab.... :)= Die Software hab ich mit dem PICstart plus rein gebrannt. Jetzt hab ich grad MPLAB 5.7 versucht mit dem 16F876-04 und das MPL876.hex aber auch da schiebt sich nix.... Die LED blinkt, CTS, RTS sind high und der TX sendet zum ICD. Schnittstelle COM1 mit 19200/57600 Baud. Die Daten kommen wohl auch zum Controller am RC7, aber Antwort gibt er keine... Hmm.... Gruß Bruno
Bruno P. wrote: > Ich hab´s schon mit dem 16F876-04 und dem 16F876A-I versucht, jeweils > mal mit 3,686MHz und 20MHz Quartz (obwohl der -04er 20MHz nicht kann > aber wer weiß?). Außerdem die verschiedenen Hex-Files, > BL010101.hex und für den A-Typ das ICD661.hex.... > Ehrlich gesagt kenn ich mich schon fast nimmer aus was ich schon alles > versucht hab.... :)= Die Software hab ich mit dem PICstart plus rein > gebrannt. > 16F876A + ICD661.hex 16F876 + BL010101.hex nach dem brennen des bootloaders musst du noch mit mplab eine firmware reinladen, hast du das gemacht?
Tja, da ist genau der Haken! Wie geht das? Ich hab das Teil an MPLAB angesteckt und wähle unter Debugger den ICD2 aus, dann auf "connect" und da sagt er dann: "ICDWarn0054: MPLAB IDE has lost communications with the MPLAB ICD 2. Would you like to attempt to reconnect?" Weiter hab ich´s noch nicht geschafft...
unter connect, da is n button download Os, ohne target am icd2 wirft er noch 2-3 fehler aus. einmal resetten das gute stück und dann sollt es funzen. viel glück dabei:)
Hallo, jetzt hat es funktioniert, ich weiß zwar nicht warum, aber mit MPLAB 5.70 funktioniert des jetzt als ICD, nicht als ICD2. Mal schauen vielleicht gibt es ja eine Updatemöglichkeit....?? Trotzdem vielen Dank für die Unterstützung!!!! Gruß Bruno
Hallo, kennt jemand einen (relativ) schnell realisierbaren Pic-Programmer, mit dem ich die Hex-Files in die Pic´s des ICD2-Clones ladden kann? Ich hab hier zwar einen von Vellemann ´rumliegen, aber der unterstützt den 16F877A und den 18F4550 nicht... :-( Und somit stehe ich jetzt vor einem fertig aufgebauten ICD2-Clone mit leeren Pic´s... Für Hilfe wäre ich sehr dankbar. Gruß Schöbi
16F877A darfst du nicht im LV Modus brennen wenn Du die ICD2 USB Version baust...(die Serielle mach eh keinen sinn, da zu langsam). d.h. die einfachen Teile werden wohl nicht funktionieren...
hab jetzt einen "Vellemann" zwischen die Finger bekommen. Der 18F4550 ließ sich problemlos programmieren, aber beim 16F877A bekomme ich die Meldung, dass die Settings nicht zum PIC passen würden...??? Das HEX-File "OK_16f877a_POR_ICD661.hex" ist aber schon füe einen 16F877A, oder? Gruß
ach so: im ersten Post hatte ich geschrieben, dass die entsprechenden Pics nicht unterstützt würden. Ein Software-update behob dieses Problem. Aber das Problem mit dem 16F877A (siehe oben) bleibt trotzdem..... Wer kann helfen? Gruß
Hallo zusammen, es gibt wieder ICD2 Clone Platinen. Beitrag "Re: PIC ICD 2 selbstgebaut" Bei Interesse eine E-Mail an "buffy1962@gmx.de" Gruß Andreas B.
So, habe nun einen Sprut-Brenner8 gebaut, um die Pics für den ICD2-Clone zu brennen. Als HEX-Files für die Pics habe ich dann folgende verwendet: - OK_18f4550-bor.hex (91kB) - OK_16f877a_POR_ICD661.hex (29kB) So weit so gut. Die Treiber-Installation für den Clone hat reibungslos funktioniert (habe es nach der "Anleitung" die die MPLAB10 steht gemacht). Nach dem Anschließen wurde der Clone dann auch erkannt und ohne Fehlermeldung im Gerätemanager eingebunden. ABER: der Download eines operating system auf den Clone funktioniert nicht. Ich bekomme folgende Meldung: ICDWarn0020: Invalid target device id (expected=0x21, read=0x0) Habe es dann mit folgenden HEX-Files versucht (hatte ich per email von Andreas bekommen): - 18f4550-bor.hex (89 kB) - 877A.hex (3kB) Jetzt kommt aber beim connecten schon die Meldung "connection lost" und der Download des OS wird wieder mit "ICDWarn0020:..." abgebrochen. Kann mir jemand weiterhelfen? Andreas, irgendeine Idee, warum das nicht klappt? Gruß
Hallo, Habe auch den IDE2 Clone gebaut. Der IDE2 ist geprüft und funktionsfähig. Da ich der englisch Sprache nicht mächtig bin, Benötige zum Einbinden in MPLAP eure Hilfe. Wer möchte mir die Schritte erklären? Ein paar Infos für das Programmieren und Debuggen wäre für mich sehr Hilfreich. Zur Zeit nutze ich den PIC 18F252. Ich bin auch unter folgender Adresse zu erreichen. SiegfriedSaueressig@online.de Vielen Dank im voraus. Gruß Siegfried
Hallo, ich habe ein ähnliches Problem wie Schöbi. Allerdings kann ich connecten und auch eine Firmware auf den 16f877a laden. Doch trotz angeschlossenen Targets kommt auch bei mir immer die Fehlermeldung invalid Target. Ich habe die originalen Dateien von Potyo benutzt und dort lediglich die USB-Buchse und den Programmieranschluss benutzt. Das habe ich schon ein paar Mal überprüft und dort sollte alles passen. Ich beschreib mal kurz was ich alles machen kann. Ich habe als Target ein PIC 16f870 benutzt, ohne zusätzliche Beschaltung, außer den fünf Programmierpins. Ich kann eine Firmware auf den Brenner laden und dann eigentlich bis jetzt nur auf "Hold in Reset" umschalten. VDD liegt am Target an und bei "Hold in Reset" wird MCLR des Targets mit 5V versorgt. Das erscheint mir allerdings etwas wenig, ich dachte an 12V. Hat das etwas mit Low Voltage Programming zu tun? Was macht eigentlich der Jumper auf dem Potyo? Der ist doch nur zum Umschalten auf DsPICs, oder ist das falsch? Und wie ist die richtige Stellung des Jumpers für den PIC16f...? Was ich auch komisch finde ist, das bei mir der PIN MCLR des 16F877A, des Programmers, immer auf 5V liegt. Ich habe aber den Transistor Q4 aus Mangel eines BC237 durch einen BC547B ersetzt, könnte das das Problem sein? An der Basis des Transistors liegt auch in den Zuständen, die ich prüfen konnte nie Spannung an. Was hat denn der Transistor für eine Funktion, ich dachte wenn der durch schaltet werkelt der 16f877a drauf los. Soviel erst mal dazu, ich hoffe jemand kann mir helfen, bis dann, Hendrik P.S.: @Siegfried: Du musst als erstes den Potyo anschließen, dann wird er als neues Gerät erkannt. Daraufhin installierst du den Treiber für den ICD2, der ist glaub ich bei MPLAB dabei, steht schon mal weiter oben, wie der heißt und wo er zu finden ist. Als nächstes wählst du in MPLAB unter Programmer den ICD2 aus. Dazu musst du ihn vorher bei der Installation von MPLAB installiert haben. Als nächstes überprüfst du unter Programmer--> Settings die Verbindungseinstellungen. Wenn diese stimmen, dann unter Programmer--> Download Operating System. Damit überspielst du die Firmware für den aktuellen Chip, den du bearbeiten willst. Wenn das funktioniert hat und deine Zielhardware richtig angeschlossen ist, dann sollte mit Programmer-->Connect eine Verbindung herzustellen sein. Danach kannst du den Chip beliebig löschen, bespielen, debuggen. Um den ICD als Debugger zu benutzen musst du ihn unter Debugger auswählen. Ich hoffe das stimmt so wie ich es geschrieben hab, hab an dem Rechner grad kein MPLAB.
Hallo guten morgen, Danke für deine ausführliche Beschreibung. Inzwischen bin ich weiter gekommen, aber mit neuen Probleme. deshalb verweise ich auf einen neuen Beitrag. "Probleme mit der Inbetriebnahme des ICD2 Clone " gruß siegfried
Ok, werd mal gucken. Die Frage mit dem Transistor hab ich mir mehr oder weniger selbst beantwortet. Wenn dieser fehlt, kann ich kein neues Operating System drauf spielen. Also scheint der zumindest zu funktionieren und wird wohl auch angesteuert. Die restlichen Probleme bleiben allerdings bestehen. Komisch ist, das der MCLR Pin des PIC16f877A immer auf 5V liegt und nur kurz vor dem neu programmieren mal auf Masse gezogen wird(zumindest sinkt die Spannung, mein Messgerät ist zu träge um einen genauen Wert zu ermitteln). Der Wert geht aber sofort wieder hoch.
Hallo, genaue Bezeichnung dieses Pin ist MCLR/VPP. Das mit dem kurzzeitigem Low und sonst VCC bzw beim brennen VPP ist richtig. Low ist Reset für den 16F877. Hoffe das ich es richtig dagestellt habe. Gruß Siegfried
Nur für den Fall, dass mir jemand noch auf meine Frage antworten wollte: hat sich erledigt! Hab nun doch noch funktionsfähige hex-files gefunden. Danach noch richtiges Target in MPLAB eingestellt (natürlich Version 8.10 und nicht 10 wie oben geschrieben) und der Clone nahm seine Arbeit auf.... Gruß
Hi Schöbi, falls du hier noch mal nachliest, kannst du mal bitte die Links zu den Hex-Files einstellen, die du verwendet hast?! Das wäre sehr nett, da du scheinbar ein sehr ähnliches Problem hattest wie ich. Hast du auch mal früher Versionen von MPLAB getestet, erfolgreich, oder auch nicht? Oder mal an alle die Frage; funktioniert der Potyo mit der Version 7.1? Danke und Grüße, Hendrik
Hallo Schöbi, Es ist Klasse das du erfolg hast. Ich habe die Platine / Schaltung von Andreas. Weicht diese von deinem Brenner ab? Habe einen eingnen Beitrag erstellt. "Probleme mit der Inbetriebnahme des ICD2 Clone " Habe es uch an einem 3. Rechner probiert jedoch ohne erfolg. Wie sieht es aus mit den Hex Files? Darfst dich auch direckt mit mir in verbindung setzen. SiegfriedSaueressi@online.de. Gruß Siegfried
Hallo, ich habe den roten Clone von Andreas gebaut. Ob sich dieser von den blauen oder sonst welchen nur in der Farbe unterscheidet, oder auch noch irgendwelche Unterschiede bezügl. Layout oder Bestückung bestehen weiß ich leider nicht. Für den "roten" funktionieren die Hex-Files im Anhang. Welches File in welchen PIC gehört ist am Namen ersichtlich. Gebrannt habe ich die Files mit dem sprut-brenner8p5, den ich eigens für diesen Zweck nachgebaut habe. Im übrigen gefällt mir der auch sehr gut, weil er sehr zuverlässig funktioniert und die Software leicht zu bedienen ist; habe das dort vorhandene Layout für Lochraster nochmals überarbeitet und die letzten Änderungen implementiert; bin echt begeistert von dem Teil; bei Interesse kann ich das Layout hier ja mal reinstellen... Zurück zu unseren Clones: nachdem die Hex-Files in/auf den PICs waren habe ich nach der Anleitung von Microchip die Treiber für den ICD2 installiert. Es wurde auch bei mir nur der Client installiert. Danach MPLAB Version 8.10 geöffnet (eine andere Version habe ich nicht getestet) und unter Programmer den ICD2 ausgewählt. Die Fragen nach Autoconnect und der Spannungsversorgung des Targets über ICD2 habe ich zunächst verneint (kann man später unter den Settings wieder ändern). Beim Download des OS kommt dann die Warnung: ICDWarn0020: Invalid target device id (expected=0x21, read=0x0) Habe dann ein Target angeschlossen, das entsprechende Device in MPLAB ausgewählt, Spannungsversorgung des Targets über ICD2 eingeschaltet, und danach ließ sich das OS ohne Fehlermeldung laden. Hoffe, ich habe jetzt nichts ausgelassen... Viel Glück! Wäre interessant zu erfahren, ob ihr schließlich Erfolg hattet.... Gruß
Hallo Schöbi, Danke für deine schnelle Antwort. Soweit bin ich überhaupt nicht gekommen. "ICDWarn0020: Invalid target device" wäre schon ein großer Fortschritt. Ich habe die grüne Platine. Mir ist etwas bekannt (nicht von Andreas) das nur die RJ12 Buchse aktualisiert wurde. Werde Rücksprache halten. Zur Installation der Treiber. Ich habe folgende installiert "icd2w2k.inf & icd2w2k.sys". MCUSBICD2.SvcDesc="Microchip MPLAB ICD 2 Firmware Client Driver (ICD2W2K.SYS)" Wurden auch automatisch von Windows abgearbeitet. "Microchip MPLAB ICD 2 Firmware Client" ist auch in dem Gerätemanager. Es gibt auch noch diese "icd2w2kl.inf & icd2w2kl.sys" USB\VID_04D8&PID_8000.DeviceDesc="Microchip MPLAB ICD 2 Firmware Loader" Das Layout darfst du gerne einstellen, darf aber bei Eagle die Version 3.55 nicht überschreiten. Gruß Siegfried
Bringe die Version von Andreas auch noch nicht zum laufen. Habe schon diverse Hex-Files ausprobiert, aber es kommt immer die Fehlermeldung "ICD0019: Communications: Failed to open port" wenn ich connecten will. Ich habe MPLAB auf Version 7.40, kann die etwa zu tief sein? Sollten doch eigentlich auch ältere und neuere Versionen funktionieren, oder ist dem nicht so? Weiterhin habe ich hier was von Treiberinstallationen gelesen. Sind die irgendwie modifiziert? Ich hatte MPLAB schon vorhin für ein ICD2 (Original) eingestellt, und somit nun auch keine Treiber mehr installiert. Wie gross sollte die Ausgangsspannung des Schaltreglers sein? Ich bin mir bewusst, dass diese mit dem digitalen Poti eingestellt wird, aber gibt es da nicht irgend einen default-Wert? Und wieso wird in dieser Schaltung eine normale 1N4148 und nicht wie man es bei Schaltregler üblicherweise macht eine Schottky verwendet?
Nach einigen Versuchen und mehreren Stunden klappte es plötzlich ohne jeglichen erkennbaren Grund. Inzwischen bin ich aber wieder beim gleichen Problem angelagt. Daher würd ich ein Software-Problem mal vorsichtig ausschliessen, da es ja einmal damit klappte. Doch ich habe keine Ahnung wo der Fehler in der Hardware liegen könnte. Den NPN habe ich schon getestet, das HEX-Buffer (74LS07) funktioniert auch. Woran könnte es noch liegen? // Hab inzwischen gemerkt, dass es jeweils immer einmal funktioniert, nachdem ich das HEX-File für den PIC18F4550 runtergebrannt habe. Dann kann ich die neue Firmware laden und den ICD2 Clone uneingeschränkt benutzen. Wird er aber einmal von der Speisung getrennt funktioniert er nachher nicht mehr. Vorschläge? //// Was noch auffallend ist noch, dass VDD Target gerade einmal etwa 3.9V beträgt. Da kann doch etwas nicht stimmen? Wenn ich die Option wähle, dass über das ICD2 gespeisst wird, habe ich 5V.
Also inzwischen funktioniert es immer. Ich glaube es waren nicht zwingend die HEX-Files, habe nun mehrere probiert und gingen eigentlich alle. Und wenn eines bei meinem Fehler von Bedeutung gewesen wäre, dann wohl dasjenige für den USB-PIC PIC18F4550. Habe den Widerstand R7 auf 10k geändert, damit der Reset länger dauert. Möglicherweise half das. Ich kann es aber NICHT zu 100% versichern, da es gewissen Unregelmässigkeiten gab. Vielleicht war es schlussendlich auch irgend ein anderes Problem. Es interessiert mich noch, was der Jumper für eine Funktion hat. Umschaltung zwischen Programmieren und Programmieren/Debuggen, das ist klar. Aber kann man in der zweiten Stellung (2-3) nicht sowohl programmieren wie auch debuggen? Wieso sollte ich also die erste Stellung benützen?
Hallo, Hier mein aktueller Status über den ICD2. Habe diesen am Wochenende zum Leben erweckt. Die Hex File von "Schöbi" habe ich in beide 'neue' PIC's gebrannt. Danach konnte ich mit dem ICD2 arbeiten. Habe bereits an 2 Rechner es getestet. Hoffe, das mir der ICD2 immer gute Dienste tut. Habe allerdings den R7 in 10 KOhm noch getauscht. Dieses hatte aber auch bei den 'alten' PIC's keine Wirkung. Möchte mich bei allen mitwirkende, besonderst bei "Schöbi & Andreas" für Ihre Hilfe bedanken. Dieses betrifft auch den Beitrag "Probleme mit der Inbetriebnahme des ICD2 Clone " Gruß Siegfried
Ich habe vor ein paar Tagen eine eMail an Andreas geschickt, habe aber noch keine Antwort erhalten, worauf ich beschlossen habe, dieses eMail ins Forum zu stellen: Hallo Andreas Im Forum von mikrocontroller.net habe ich einen guten Beitrag über ICD2 Clones gefunden. Da viele Users die gute Qualität deiner Platine zum ausdruck gebracht haben, frage ich dich nun auch direkt an. Meine Erfahrungen mit Elektronik-Teilen ist beschränkt, da ich eine andere Art von Ausbildung genossen habe (=Application Engineer, viele Stufen höher). In der Berufsschule habe ich die Anfänge einer Schaltung mit Physik-Hintergrund und das Programmieren auf Assembler-Ebene mit einem Mikroprozessors gelernt. In meiner Familie ist zwar ein Elektro-Ingenieur, der aber schon lange nicht mehr aktiv lötet sondern sich ins Management zurückgezogen hat. Jedenfalls... nachdem ich einen Schaltplan eines Infrarot-Senders/Empfängers für den TI-92 (http://sami.ticalc.org/irlink/e_hard.htm) ausgedruckt und mir die Teile besorgt habe, stellte ich fest, dass ich auch einen Mikroprozessor (PIC16F84) gekauft habe... natürlich unbeschrieben. So habe ich mich entschieden, nicht nur das IrDa zu bauen, sondern mich generell mit Elektronik zu beschäftigen. Hast du die Bestellung für die ICD2 Clone Platine schon nach China geschickt oder könnte ich mich noch anschliessen? Ist es ganz einfach die Bauteile an die Platine zu löten, oder braucht man gewisse fertigkeiten, die ich mir zuerst noch holen soll? Nur der ICD2 nützt mich nicht viel. Ich möchte auch noch ein kleines Demo-Board basteln. Habt ihr schon positive Erfahrungen mit PIC16F84 über ICSP? Gibt es gute Bücher über die Einstiege in die Elektronik: z.B. Verstehen von Wiederstände, Kondensatoren, FlipFlop, Transistoren, Ströme, lesen von Schaltplänen, etc.? Vielen Dank! Andreas Bachmann
na, du stellst aber (zu) viele fragen. willst du ihn erschlagen bzw. dass er gleich ein ganzes tutorial für dich persönlich schreibt für deine ersten schritte schreibt?!? ..ich lese zwar deine grosse motivation raus, doch so eine mail würde mich auch erstmal erschlagen ^^ vielleicht eins ums andere angehen ;) ist zwar in SMD, aber vielleicht auch was: http://www.fernando-heitor.de/component/option,com_smf/Itemid,121/topic,3739.0/
Hallo Zusammen! Im November habe ich von Andreas B. aka bitleiste eine Platine und die zwei schon gebrannten PIC erhalten. Aus Teilmangel bin ich erst jetzt dazu gekommen die fehlenden Bauteil zu kaufen und alles zusammenzulöten. Nun habe ich es geschafft und wollte zum ersten Mal Verbindung aufnehmen. Das Power-LED blinkt beständig, doch laut MPLAB IDE v8.15a ist eine Verbindung nicht möglich. Die Treiber habe ich installiert (C:\Programme\Microchip\MPLAB IDE\Utilities\MPUsbIRU\MPUsbIRU.exe): jedes Mal wenn ich den ICD2-Clone anstecke, finde ich ein neues Gerät namens "Microship MPLAB ICD2 Firmware Client" im Geräte-Manager. Treiber Datum: 28.05.2002 Treiber Version: 1.0.0.0 Ich kenn mich eigentlich nicht gut aus mit Elektronik/Digitaltechnik, habe also noch kein Oszilloskop oder Logik Analyser... nur ein durchschnittliches Multimeter, Wie gehe ich weiter vor? Soll ich Spannungen vergleichen mit Referenz-Daten, wenn ich diese hätte? Vielen Dank! Andreas
Nachtrag: Ich habe nicht wie in diesem Beitrag "ICD2 Problem" ausversehen auf Serial gestellt. Hab's schon überprüft: ist in den "Debugger" -> "Settings..." -> "Communication" auf USB geschaltet.
Hallo Andres, ich würde sagen da fehlt noch das "ICD2 Operation System" Programmer -> Download ICD2 Operation System Wähle das vorgeschlagne Hex-File aus und warte bis es fertig übertragen ist. Gruß Marco
Entschuldige erstmal... ich finde mich in MPLAB noch nicht ganz zurecht ;) Ich habe Deine Schritte ansatzweise befolgt, doch kann ich den letzten Schritt "Download ICD2 Operation System" nicht ausführen. Ich kann nur "Connect"-en, doch das schlägt fehl :'(
Öhm... also: ich habe nur das ICD2, ohne Target. Geht das überhaupt? Oder muss ich mich unbedingt zuerst mit dem Target über den ICSP-Socket verbinden?
Andreas Bachmann wrote: > Öhm... also: ich habe nur das ICD2, ohne Target. Geht das überhaupt? > Oder muss ich mich unbedingt zuerst mit dem Target über den ICSP-Socket > verbinden? weis ich gerade nicht. Andreas Bachmann wrote: > Entschuldige erstmal... ich finde mich in MPLAB noch nicht ganz zurecht > ;) > Ich habe Deine Schritte ansatzweise befolgt, doch kann ich den letzten > Schritt "Download ICD2 Operation System" nicht ausführen. > > Ich kann nur "Connect"-en, doch das schlägt fehl :'( Verbinde dich mit dem ICD-Clone. Ignorier die Fehlermeldung. Und lade jetzt das ICD Operation System ins ICD-Clone.
Würde ich ja gerne... geht aber nicht :'( Ich kann ohne Verbindung kein "Download ICD2 Operation System" ausführen... und das Verbinden geht schon schief. Es kann sein, dass ich Bauteile wegen der Hitze "durchgebraten" habe... nur mal so theoretisch... wie kann ich das Nachprüfen? Laut dem Schaltschema und auch real durch Nachprüfen geht der USB_D +/- direkt zum PIC18F4550. Hat bitleiste mir den PIC nicht geflasht und darum kann ich gar nicht Verbinden? Oder ist er geflasht worden, da die Treiberinstallation reibungslos ging?
Ausser am Power-LED, das immer leuchtet, sieht man nichts... beim anstecken über USB am Computer: Power-LED. Beim versuchen zu Verbinden, keine Veränderung. <Bild von meinem ICD2-Clone>
Henne - Ei - Problem. Jetzt bräuchte man einen funktionierenden Programmer um zu testen ob der 877 geflasht ist.
Am besten wird es sein wenn mal der Sprut Brenner 5 auf nem Steckbrett aufgebaut wird. Dann kann man den 877 kontrollieren.
Mit meinem Multimeter habe ich den Quarz überprüft. Das Messgerät ist eigentlich nur auf max 10 MHz ausgerichtet, doch es liegt ein 20 MHz Standart-Quarz auf der Platine. Darum kann ich nicht mit sicherheit sagen, ob die Messdaten richtig liegen. Laut Messung taktet er nur auf 50 Hz. Ich werde mir die Bauteile für den Sprut Brenner5 (http://www.sprut.de/electronic/pic/projekte/brenner5/index.htm) kaufen, habe aber noch ein bisschen Probleme bei der Auswahl. Mein Lieferant (http://www.distrelec.ch) hat gewisse Teile nicht. Und zwar finde ich die Transistoren BC328/BC338 nicht und das Widerstands-Netzwerk ist in Watt und nicht in Ohm angeschrieben. Ich habe zu Hause BC327/BC337, BC547/557 und 2N3904/2N3906. Kann ich diese statt den BC328/BC338 und normale Widerstände statt den Widerstands-Netzwerk nehmen? Der ICSP ist überflüssig und die Spannungsquelle kommt vom einstellbaren Netzteil ohne Buchse.
Der Quarz schwingt sicher nicht mit 50 Hz. Mess mal die Spannung am Quarz. Die Transistoren sind unkritisch. Statt dem Widerstandsnetzerk können auch Einzelwiderstände eingesetzt werden.
Kann jemand was zur Funktionalität des ICD2 Clones sagen? Kann der etwas nicht, dass das Original kann? LG Andreas
Kurzer Nachtrag: Auf dem 877 landet doch das Betriebssystem für den jeweiligen Chip der gerade bearbeitet wird oder nicht? Der sollte doch auch nicht programmiert sein? LG Andreas
@Andreas Laut meinem Verständnis sollte der PIC18F4550 schon geflasht sein, sonst kann er ja nicht Anfragen von USB beantworten, z.B. beim Verbinden... doch ich kenn mich da noch nicht so aus. @Willivonbienemaya: Unkritisch = ich kann auch andere Transistoren nehmen? Statt einem 1.2k Ohm Widerstands-Netzwerk 5-pin kann ich 4 normale 1.2k Ohm Widerstände nehmen? Ich werde mir heute Nachmittag die fehlenden Bauteile kaufen, die Spannung am Quarz und die Frequenz des Quarzes messen. Morgen kommt mein väterlicher El.Ing. nach Hause... da kann ich ihn bilateral Fragen und meine Lösung hier präsentieren.
@Willivonbienemaya Ich denke, ich habe eines der Probleme erkannt: Der Quarz hat sehr wenig Spannung, ca. 60 mV. Die Spannung über dem PIC18F4550 ist 5.05 V. Kann seit das eines der Kondensatoren verbrutzelt ist und ausgewechselt werden muss. Ich melde mich, wenn ich Fortschritte gemacht habe.
Andreas Riegebauer wrote: > Kurzer Nachtrag: > > Auf dem 877 landet doch das Betriebssystem für den jeweiligen Chip der > gerade bearbeitet wird oder nicht? Der sollte doch auch nicht > programmiert sein? > > LG > Andreas Doch, ein Bootloader muss einprogrammiert sein.
Andreas Bachmann wrote: > @Willivonbienemaya > Ich denke, ich habe eines der Probleme erkannt: Der Quarz hat sehr wenig > Spannung, ca. 60 mV. Das deutet stark darauf hin, dass der Quarz nicht schwingt. Wenn alles richtig gelötet ist wäre eine Erklärung dass die config bits nicht passen. Ich vermute er ist nicht programmiert. Den Reset könntest du noch prüfen. Liegen da 5V an?
Ich habe mir besseres Zubehör zum Messen gekauft... bei so kleinen Abständen kann es schnell zu Kurzschlüssen etc. kommen. Wegen anderen Projekten konnte ich wenig Testen. Die Spannung zwischen Pin-Eins und Vdd oder zwischen Pin-Eins und Ground des PIC18F4550 ist minimal. Ist das der Reset? Zwischen C3 und GND liegt eine Spannung von ca. 11.5 V Was sind "config bits"? Den Brenner5 konnte ich noch nicht bauen, doch die Bauteile habe ich nun.
Andreas Bachmann wrote: > Die Spannung zwischen Pin-Eins und Vdd oder zwischen Pin-Eins und Ground > des PIC18F4550 ist minimal. Ist das der Reset? Die Spannung zwischen GND und Reset ist minimal und die Spannung zwischen Vdd und Reset ist minimal? Kann nicht sein. Nimm das Multimeter, stells auf VDC Messung. Halte die Schwarze Spitze an GND und die Rote an Reset. Was zeigt das Multimeter an? > Zwischen C3 und GND liegt eine Spannung von ca. 11.5 V Ich hab keine Ahnung wo C3 ist. > Was sind "config bits"? Stark vereinfacht sind das ein paar Bits um den Controller einzustellen. Zum Beispiel kann man damit zwischen Internem Oszillator und Quarz wählen.
Hallo ICD2-Nachbauer, sollte jemand Probleme mit der Kommunikation ICD2-PC haben, einfach Elko 100uF zwischen Pin6/IC1(Vcc) und Pin4(Gnd) löten und schon funktioniert die Kommunikation ohne Probleme. Elko eigentlich zwingend notwendig.
Wird der ICD2 vom USB versorgt? Dann sind 100µF klar gegen die Spezifikation...kann funktionieren, die meißten Boards schalten aber ab.
> Die Spannung zwischen GND und Reset ist minimal und die Spannung > zwischen Vdd und Reset ist minimal? > Kann nicht sein. > Nimm das Multimeter, stells auf VDC Messung. Halte die Schwarze Spitze > an GND und die Rote an Reset. > Was zeigt das Multimeter an? Mit dem richtigen Werkzeug und ein bisschen Draht konnte ich eine sehr viel genäuere Messung machen. Ich habe genau 5 V gemessen. Mit den normalen Spitzen habe ich Probleme mit Messen. Alles ist sehr eng beieinander und die Gefahr abzurutschen ist gross. > > Zwischen C3 und GND liegt eine Spannung von ca. 11.5 V > Ich hab keine Ahnung wo C3 ist. Ich habe früher nicht gewusst, dass IC1 eine Kaskadenschaltung ist. Nach der Messung und nachträglichem lesen im Reference Manual weiss ich nun mehr über die ICD2-Schaltung. > Stark vereinfacht sind das ein paar Bits um den Controller einzustellen. > Zum Beispiel kann man damit zwischen Internem Oszillator und Quarz > wählen. Hab ich noch nie gehört. Obwohl... ich beschäftige mich erst seit kurzem mit Mikrocontrollern ;) Da muss man einen Logic Analyzer haben um das zu verifizieren oder sind die Bits im HEX-File und nach dem brennen im PIC drin? Meine Erwartungen sind geschrumpft, sodass ich nur einmal eine Verbindung zustandebringen möchte. Was braucht es, um Kontakt mit dem PIC18F4550 herzustellen? Eine Spannung von 5 V und einen schwingenden Quarz? Oder braucht es noch mehr? Kann ich isoliert eine Verbindung eingehen oder brauchte ich andere Komponenten wie ICs? Andreas
Andreas Bachmann wrote: >> Stark vereinfacht sind das ein paar Bits um den Controller einzustellen. >> Zum Beispiel kann man damit zwischen Internem Oszillator und Quarz >> wählen. > Hab ich noch nie gehört. Obwohl... ich beschäftige mich erst seit kurzem > mit Mikrocontrollern ;) Da muss man einen Logic Analyzer haben um das zu > verifizieren oder sind die Bits im HEX-File und nach dem brennen im PIC > drin? Dann wirds langsam Zeit. Die sind wichtig. > Meine Erwartungen sind geschrumpft, sodass ich nur einmal eine > Verbindung zustandebringen möchte. Was braucht es, um Kontakt mit dem > PIC18F4550 herzustellen? Hä? Wenn das Bild von dir ist: http://www.mikrocontroller.net/attachment/45252/mplab.gif dan geht der 4550 bereits. Davon bin ich die ganze Zeit ausgegangen.
> Dann wirds langsam Zeit. Die sind wichtig. Ich habs mal in meinen Büchern gesucht und gefunden: Die Systemsteuerung mit Systemtakt, Watchsog Timer, Code-Schutz, etc. Auch im Manual Seite 31 ist von 'Oscillator Settings for USB' die Rede. Bei beiden kommen die Config-Bits FOSC3:FOSC0 zum tragen. Doch ich habe keinen eigenen Source, sondern benutze schon geflashte PICs von Andreas Bufler (aka bitleiste), und er brannte denke ich 18f4550-bor.hex und 877A.hex. > Wenn das Bild von dir ist > dan geht der 4550 bereits. Davon bin ich die ganze Zeit ausgegangen. Wirklich? Also nachdem ich das erste Mal den Programmer angeschlossen habe, hat das System etwas gemerkt und ich konnte die Treiber installieren. Ist dies nur der Fall gewesen, weil der 4550 schon wunderbar funktioniert? Bei NICHT geflashtem 4550 hätte auch der Computer nichts gemerkt? Dann verstehe ich den 877 nicht. Die 8 Datenbuskanäle (PSP[0..7]) sind ja hier. Was könnte noch das Problem sein?
Andreas Bachmann wrote: >> Wenn das Bild von dir ist >> dan geht der 4550 bereits. Davon bin ich die ganze Zeit ausgegangen. > Wirklich? Ja, wirklich. > Was könnte noch das Problem > sein? Ich wiederhole mich: - 877 ist nicht programmiert - 877 läuft mit falchen config bits - hardwarefehler Hast du mittlerweile einen parallelport-programmer gebaut?
Fast... Ich sehe nicht ganz wo was hinkommt: o Laut Schaltplan ist der Vcc von 74LS07 (=SN74LS07N) nicht angeschlossen, aber im Leiterplattenlayout ist er angeschlossen (http://www.sprut.de/electronic/pic/projekte/brenner5/brenner57e_sch.gif). Ich habe ihn im Schaltplan angeschlossen, bin mir aber nicht ganz sicher o Ich benutze ein Gleichstrom-Netzteil, also brauche ich keinen Brückengleichrichter, etc. Eigentlich bin ich kurz vor Vollendung :)
Andreas Bachmann wrote: > Ich habe ihn im Schaltplan angeschlossen, bin mir aber nicht ganz > sicher Passt schon, das IC brauch natürlich Versorgung. > o Ich benutze ein Gleichstrom-Netzteil, also brauche ich keinen > Brückengleichrichter, etc. Wenn du dich entschliesst das immer richtigrum anzuschliessen brauchst du den nicht. Schadet aber auch nicht.
Das fass ich nicht! Andreas hat mir wirklich eine komisches HEX-File auf den 877 gebrannt oder durch irrgendwelche anderen einflüsse wurde das Flash gestört. Jedenfalls konnte ich den 877 nochmals mit dem 877A.hex flashed, und oh wunder funktioniert die Verbindung! Komisch nur, dass es eine Fehlermeldung anzeigt... wisst ihr warum? Leider habe ich noch keine ICSP verbindung mit dem target gebastelt und kann darum keine weiteren tests machen. Mein Brenner5 hat mein ganzes Steckboard gefüllt... ich werde morgen noch ein grösseres kaufen ;)
Andreas Bachmann wrote:
> Komisch nur, dass es eine Fehlermeldung anzeigt... wisst ihr warum?
Hast du schon "Download Operating System" gemacht?
Jetzt schon ;) Was ich gemacht habe: Programmer --> Select Programmer --> MPLAB ICD 2 Programmer --> Connect (wie im letzten Beitrag) Programmer --> Download ICD2 Operating System Fenster: Select ICD2 Fireware File --> ICD04020709.hex Fenster: ICDWarn0020: Invalid target device id (expected=0x21, read=0x0) (alles auf einem Slide im Anfang) Danach leuchtet LED ISP-VDD auf... Erfolgreich, oder nicht? Hab mich im Thread noch ein bisschen umgeschaut und bin auf diesen Post gestossen: > Timo Engelmann - 19.03.2008 21:26 > [...] > Beim SelfTest wird MCLR Vdd mit Low angegeben, deshalb schlägt wohl > der SefTest auch fehl. Ist das korrekt, wenn ich den ICD2 ohne > Target betreibe? Folgepost: > Willivonbienemaya - 19.03.2008 23:16 > Das ist korrekt, weil das die Spannung ist die dein Target hätte. Also alles i.O?
Nach erfolgreicher physikalischer trennung des ICD2-Clones und abermaliger verbindung siehts so aus wie im anhang... gutes zeichen, oder? MPLAB motzt nur noch wegen Target-Dingen. Ich hab ne RJ-45 Kript-Zange... gehen da auch RJ-12 Stecker rein zum kripten? Sonst opfere ich ein altes Modemkabel oder so...
Andreas Bachmann wrote:
> (alles auf einem Slide im Anfang)
Wie man sieht kann dein ICD2 Spannung messen.
dh: Die beiden Controller darauf funktionieren beide.
Sieht doch alles wunderbar aus.
Du solltest mal einfach einen anderen Pic dranhängen und versuchen den
ICD2 damit zu verbinden.
Das mit dem Kabel weiss ich nicht, keine Ahnung.
Aber ich schätze du meinst nicht kripten sondern crimpen.
Leider funktioniert mein ICD2-Clone noch nicht, obwohl ich nach brennen des 877A geglaubt habe, alle Probleme gelöst zu haben. Zuerst habe ich mir ein passendes ICSP-Kabel gebastelt. Nicht wie vorangekündigt ein gecrimptes sondern eins mit Schneidklemmtechnik... das tut aber nichts zur Sache. Ich habe wie bei Sprut Beschrieben eine kleine Schaltung aufgebaut und sie ICSP-Fähig gemacht. [http://www.sprut.de/electronic/pic/icsp/icsp.htm] Für die ICSP-Verbindung habe ich zwei 1N4148 Dioden und einen 22k Widerstand verwendet (Ich habe die E12-Reihe ([...], 1.8, 2.2, [...] bzw. 18k, 22k) ohne 20k Widerstand, wie es in der Sprut-Anleitung steht) [http://bachi.te-clan.ch/ICD2/connection.jpg] [http://bachi.te-clan.ch/ICD2/circuit.jpg] Ohne externe Betriebsspannung des Ziels (ICD2-Clone versorgt Ziel, jedoch OHNE explizit in den Setting das anzugeben) Mit ICD2-Einspeisung, ohne Verbindung: Vpp: 75mV, Vdd: 0V, helles Power LED Mit ICD2-Einspeisung, mit Verbindung: Vpp: 75mV, Vdd: 2.5V, helles Power LED, dunkles ISP-Vdd LED ==> ICDWarn0020: Invalid target device id (expected=0x21, read=0x0) [http://bachi.te-clan.ch/ICD2/mplab-low-vdd.gif] Mit externer Betriebsspannung des Ziels: 5.8V Ohne ICD2-Einspeisung, Vpp: 1.5V Vdd: 5V, helles ISP-Vdd LED Mit ICD2-Einspeisung, ohne Verbindung: Vpp: 100mV, Vdd: 5V, helles ISP-Vdd und Power LED Mit ICD2-Einspeisung, mit Verbindung: Vpp: 100mV, Vdd: 5V, helles ISP-Vdd und Power LED ==> ICDWarn0020: Invalid target device id (expected=0x21, read=0x7) [http://bachi.te-clan.ch/ICD2/mplab-target-id.gif] Ist das sowar wie in diesem Beitrag? Laut Anleitung brauchts gar keine Masseleitung an PGD/PGC... [http://www.fernando-heitor.de/index.php?option=com_smf&Itemid=27&topic=1691.msg8131] Wenn ich meinen Target-PIC über den Spurt-Brenner5 flashe, funktioniert alles wunderbar. Wie soll ich vorgehen?
MPLAB ist nicht ganz Benutzerfreundlich... Ich muss zuerst beim Menu "Configure" --> "Select Device..." das Target setzen. Danach funktioniert der Verbindungsaufbau. Ich sollte mich mal mit MPLAB mehr auseinandersetzen ;)
Andreas Bachmann wrote: > MPLAB ist nicht ganz Benutzerfreundlich... > Ich muss zuerst beim Menu "Configure" --> "Select Device..." das Target > setzen. Natürlich. Woher soll MPLAB wissen was du fürn Controller dran hast? Der ICD2 arbeitet mit verschiedenen Firmwaren die er erst laden muss. Dazu muss er schon wissen was dranhängt. Ausserdem beim AVR Studio zB muss man es auch auswählen. Und da könnte es das AVR Studio durch ID Abfrage auch selbst rausfinden.
http://www.digitale-elektronik.de/shopsystem/ da steht was von komplett fertig ohne fehlersuche ! für 60 euro ink. versand.
picuser wrote: > http://www.digitale-elektronik.de/shopsystem/ > > da steht was von komplett fertig ohne fehlersuche ! > für 60 euro ink. versand. Ist nicht vergleichbar, der macht nur RS232 Geschwindigkeit.
Willivonbienemaya .. wrote: > Natürlich. Woher soll MPLAB wissen was du fürn Controller dran hast? > Der ICD2 arbeitet mit verschiedenen Firmwaren die er erst laden muss. > Dazu muss er schon wissen was dranhängt. Bei Spruts Brenner (PBrennerNG) kann mans auf einfach herausfinden (=Identify PIC in Programmer). Nun eine kleine Frage... Ich wollte man versuchen den Target-PIC zu lesen. Projekt anlegen: Project -> Project Wizard... -> Device: PIC16F877A (als Target) -> Microchip MPASM Toolsuite -> [...] -> Finish Danach Programmer festlegen: Programmer -> Select Programmer -> MPLAB ICD 2 Verbinden: Programmer -> Connect Schlussendlich lesen: Programmer -> Read Aber wo seh ich dann das Resultat? Bei PBrennerNG konnte ich nach dem lesen ein HEX-File anwählen... bei MPLAB machts gar nix :'(
Andreas Bachmann wrote: > Aber wo seh ich dann das Resultat? > Bei PBrennerNG konnte ich nach dem lesen ein HEX-File anwählen... bei > MPLAB machts gar nix :'( Klar passiert da was. Das ausgelesene wird direkt im Program Memory von MPLAB übernommen (View -> Program Memory). Wenn du das speichern willst: File -> Export
Andreas Bachmann wrote: > Willivonbienemaya .. wrote: >> Natürlich. Woher soll MPLAB wissen was du fürn Controller dran hast? >> Der ICD2 arbeitet mit verschiedenen Firmwaren die er erst laden muss. >> Dazu muss er schon wissen was dranhängt. > Bei Spruts Brenner (PBrennerNG) kann mans auf einfach herausfinden > (=Identify PIC in Programmer). ABER: Ich hab gerade nachgeschaut. PBrennerNG kann nur PIC16Fxxx. Das heisst wenn zB ein dsPic24 oder 33 dranhängt und du den identifizieren lässt is er futsch, weil du ihn mit 13 V am Reset gebraten hast.
Hallo Leute, was ihr bisher geschrieben habt hat mir sehr geholfen. Nun habe ich aber ein neues Problem. Ich kann mit dem ICD2 Klon connecten, will aber eigentlich nen PIC auslesen, schließe also den PIC an und dann blinkt die grüne LED und MPLab kann nicht mehr connecten. Außerdem sagt XP das das USB Gerät nicht erkannt werden konnte. Was mich dann noch irritiert, ist das es etwas nach Elektonik riecht. Kann aber nichts entdecken. Freue mich auf eure Antworten. Gruß Björn
Hi, das riecht für mich nach nem KIurzschluss auf deiner Schaltung (falls der PIC irgendwo drin sitzt) Du könntest mal den Stromverbrauch möglichst ohne ICD2 messen... Gruß Viktor
Hallo Forum, ich weiß der Beitrag ist mehr als alt, aber da ich gerade mit dem selben Programmer hantiere dachte ich es wäre sinnvoll den Faden hier weiter zu spinnen. Ich habe mich damals schon and er Diskussion hier beteiligt und nun das Gerät wieder ausgegraben. Grundsätzlich funktioniert alles soweit, bis auf dass das Gerät keinen PIC sprich die entsprechende ID nicht erkennt. Ich habe nun mit dem Oszi mal ein paar Messungen aufgenommen. Mit dem Ergebnis, dass die Spannung VPP nur bei maximal 12V liegt. Das Timing scheint zu passen, zumindest oberflächlich, das würde ich im Zweifelsfall später noch einmal überprüfen. Worauf ich hinaus will, 12V sind laut MCP zu wenig. Weiter oben wurde folgendes geschrieben: "Die Spannung wird doch vermutlich über das Verhältnis R5 zu R6 eingestellt, was passiert, wenn du R6 verkleinerst?". Eh ich mich jetzt durch die Datenblätter von dem Spannungswandler und den Digipoti wälze, weiß vll. jemand anders ob mans so machen kann. Ich will nur nichts kaputt machen. CII ist schon der der IST-Eingang des Reglers, oder? Was macht denn der Spannungsteiler, also warum braucht man ihn? Ich hab den Schaltplan nochmal angehangen, der Thread is ja mittlerweile riesig.
Icke Muster schrieb: > Worauf ich hinaus will, 12V sind laut MCP zu wenig. Weiter oben wurde > folgendes geschrieben: "Die Spannung wird doch vermutlich über das > Verhältnis R5 zu R6 eingestellt, was passiert, wenn du R6 > verkleinerst?". Die Ausganfsspannung wird sich immer so einstellen, dass die Spannung am Spannungsteiler an R6 bzw. IC1-Pin5 " "CII" sich auf die Referenzspannung von 1.25V einstellt. Demnach müsste VPP = 1,25V * (R5+R6) / R6 betragen.
So, hab mich nun doch mit den Datenblättern beschäftigt, um das ganze im Ansatz zumindest zu verstehen. Also der Regler vergleicht intern immer auf die 1,25V, richtig? also müssen die Spannungsteiler so gewählt werden, dass sie bei Erreichen der gewünschten Spannung, in dem Fall VPP, in der Mitte 1,25V einstellen. Soweit richtig? Ich denke das ist so in etwa auch das was du mit deinem Post meintest Dietrich. Was mich wundert ist, dass die Spannung ja eigentlich über das Poti eingestellt werden soll. Ich hätte jetzt vermutet, dass abhängig von VPP dass Poti diese 1,25V runterzieht. Das ist mir noch nicht ganz klar. Den Vergleichseingang hab ich noch nicht mit Sicherheit bestimmten können, soll das 1RA0 sein, der nach T2 abgegriffen wird? Oder verschiebt man mit dem Ändern der Spannungsteiler die Spannung VPP um einen linearen Betrag unabhängig von dem Potentiometer? Schon Mal danke für die Erläuterung.
Grüße, ich hab das mit dem Widerstand nun ausprobiert. Es ist tatsächlich so, dass dieser die VPP ändert. Ich hab nun mit 2k2 die Spannung auf 12,9V angehoben. Das sollte meiner Meinung nach ausreichen. Nun habe ich aber immer noch kein erkanntes target. Ich habe mir die Daten und die Clockleitung angeschaut. Auf der Datenleitung sind mehrere unterschiedliche bits mit jeweils 5V Spannungsausschlag zu sehen. Auf der Clockleitung sehe ich einen Takt, der so alle 10ms von high auf low wechselt. Allerdings steigt die Spannung beim Takt nur auf ca 100mV an. Das erscheint mir zu wenig, oder soll das Ok sein? Ich konnte leider keine genauen Angaben bei der Programmiervorschrift für den Chip (16F877A) und in der allgemeinen ISP Vorschrift von MCP finden. Weiß jemand wie stark der Takt ausschlägt, oder wo ich es genau finden kann? Oder sollen das auch die 5V sein, laut Grafik in den Vorschriften sind die Ausschläge von Clock und Data gleich stark. Wenn dem so wäre, woran kann es leigen, dass ich so wenig habe? Die Bausteine dannach sind doch nur Schalter und Puffer, oder sehe ich da was falsch? Danke Hendrik
Hi Welche Version zum selber Bauen ist denn nun am Besten Geeigenet die auch Funktioniert?? Der Tread ist schon etwas lang und hab da viele viele Seite gesehen wovon auch einige gar nicht mehr gingen :/ Danke Stefan
Hallo, kann jemaand die Daten von dir http://potyo.extra.hu/forum/viewtopic.php?t=4 sprich die schematic und evtl. Gerber von Bitleiste Uploaden? Danke
Hallo! Da der Sattler clon, den ich seit längerem benutze bei PIC24 streikt wollte ich eine Potoyo Variante bauen. Die Original Website aus Ungarn existiert nicht mehr. Ich benötige die komplette Dokumentation. Das Schaltbild hab ich, aber die Hexfiles für die beiden Prozezzoren sind unerlässlich. Ich habe ca zwei Tage erfolglos, auch im edaboard geforscht. Habe das Gefühl, diesae Informantionen sind systematisch vernichtet worden. Super wäre auch, eine Platine zu ergattern, das ist ja dann nur noch die halbe Arbeit. Gruss, HvS
Hallo! Jetzt beim Zusammenbau scheint sich in sämtliche mir bekannten Zeichnungen von dem Potoyo Clon fehlerhaftes eingeschlichen zu haben. Schwerwiegend scheint mir bis jetzt aber nur, dass der 4066 Ausgangsschalter mit Vpp als Betriebsspannung laufen soll.Das ginge, wenn es sich um die CMOS Variante CD4066 handeln würde, aber die hat vielleicht einen zu hohen Serienwiderstand. Also geht nur HC. Da VPP von dem 877 und 41010 geregelt wird, nehme ich an, dass VPP auch manchmal auf werte bis 5 Volt heruntergefahren wird, je nach Target-IC. Dann würde die 5V1SerienZ-Diode in manchen Zeichnungen aber nicht mehr erlauben, den 4066 "auf" zu schalten. Der HC 4066 wird ideal mit 9V betrieben. 5V sind auch ganz gut, also mit VDD. Kaputt ist ab 10,5V. Angesteuert wird er von VPP über einen Spannungsteiler aus 1k und 4k7.Wahrscheinlich viel Stromverschwendung, einen so niederohmigen Teiler an dieser Stelle. Aber vielleicht liegt es ja doch daran, dass er schnell schalten muß.Egal, Das USB wird schon genug liefern.Die Schutzdiode kann 20mA schlucken, es müsste also gehen.Um sicher zu gehen wird die Höhe der Eingangsspannung durch die 5V1 Z-Diode parallel!!! zum Eingang begrenzt.Vielleicht besser eine 4,7V Diode oder was mit TL431 auf 4 V. Dem Ein und Ausgangssignal ist es egal, wenn 4066 an 5V hängt,weil das ja Analogschalter sind und die Pegel richtig durchkommen, solange sie vorher richtig waren. Ich hab es aber noch nicht ausprobiert. Dass einige CLONS nach anfänglichem Streiken plötzlich unerklärlich funktioniert haben sollen, liesse sich vielleicht mit erfolgreichem Durchbrennen der Analogschalter erkären.(?) Gruss, HvS
Betreff Alles über die Einstellung der VPP beim Potoyo-Clon. Erst mal vielen Dank für eure viele Vor-Arbeit, ich habe jetzt einen funktionierenden PIC24-Brenner. Dazu möchte ich einige, teils wichtige, Hinweise geben: Vorbemerkung: Ich beziehe mich bei Bauteilnennungen und Nummerierungen auf den Schaltplan im Eagle Format "potoyo2-rev1 USB ICD potoyo.extra.hu", der einen Brenner mit PIC 18f4550 und 16F877A mit dem Target-Schalter-IC 74HC4066 beschreibt, und der auch bei Google (ev. nur im cache) für Bilder noch zu finden ist (ICD2 suchen) Allerdings ist es dann eine jpg-Abbildung des eagle-Entwurfs. Findbar Verlinkt ist er in diesem Thread scheinbar nicht mehr, aber er scheint mir identisch zu sein mit dem als "ICD2_USB.pdf" verlinkten Schaltplan,in dem Post von "tomkotti" vom 14.11.2007 oder von "IckeMuster" vom 26.02.2011. VFerwendet habe ich die beiden HEX-Files aus dem Thread von "Schöbi" vom 16.07.2008 20Uhr19 der mit "ich habe den roten Clone von Andreas gebaut." beginnt. Die "HEX.rar" enthält beim Entzippen zwei eindeutig identifizierbare Hex-Files. (Sie unterscheiden sich von den mir auf meine Anfrage "sag ich nicht" am 18.1.2013 geposteten.Ich habe nicht ausprobiert, ob die sagichnicht-files funktionieren.) Der Treiber für Windows Hardware Anmeldung findet sich im Installationsordner von Micorchip / MPLAB-IDE-wenn man es schon installiert hat- ICD2 drivers oder so ähnlich. Leicht zu finden. Ich gebe auch Informationen, die der Bequemlichkeit und Eindeutigkeit dienen, obwohl sie jeder selbst herausfinden könnte. INFORMATIONEN: 1. Das Reichelt IC MCP42010 kann als Ersatz für MCP41010 verwendet werden. Es ist die Dual-Version des 41010.DAs Poti 0 in dem 42010 hat dabei denselben Befehlssatz, wie das (einzige) Poti 0 im 41010.Das Poti2 im 42010 wird dabei einfach nicht angesprochen und nicht verwendet. Allerdings hat das IC 14 Pins, passt also nicht in eine fertige Platine. PIN1-4 sind gleich, Pin 5-7 werden nicht angeschlossen (Poti1).PIN8 ist DPOT2 PIN 9 und 10 sind DPOT1. Die Extrapins 11 und 12(-Reset und -shutdown)kommen an VDD (PIN14, also die 5 Volt) Extrapin 13 (serial out) bleibt offen. 2.Das Reichelt IC MCP41010 bzw.42010 kann Widerstandswerte zwischen 52 Ohm und 10KOhm einstellen.+/- 20% Fehler sind laut Datenblatt möglich, aber wohl nicht zu erwarten. (und im shutdown vielleicht irgendsoeinen Gigaohm-Wert). Die Referenzspannung der MC34064 liegt bei 1,24 Volt.Demzufolge sind bei unveränderter Schaltung Spannungswerte für die VDDICD2 zwischen "ungefähr" 10,523Volt und 15,0129 Volt einstellbar. In dem VPP-Schalter T2 (BC327) gehen davon vielleicht 0,2 Volt verloren.Somit könnte man damit keine PIC24 mit maximal 9V VPP nicht im HV-Modus brennen.(9V max) Allerdings ging es doch, weil der PIC24FKA101 den ich für den Test verwendet habe wohl eine interne 9V Z-Diode enthält und die Spannungsdifferenz am 100-Ohm Widerstand R43 verheizt wurde.Ich glaube aber nicht dass das beim ICD2 so gedacht war.Das ist wohl sozusagen nur die redundante Betriebssicherheit des PIC24-Chips. 3. Es ist zu klären, ob der 16F877 das digitale Poti nur verwendet, um den Wert einzustellen,oder im Zusammenhange mit der VPP-Spannungsmessung auch zu regeln: Wenn man den 10k Wert R5 um ca 20% verringert,durch parallelschalten von 56 kOhm,(im laufenden Betrieb) dann sinkt die VPPSpannung dadurch deutlich: um ca 1Volt. lässt man den Widerstand aber dran und klickt z.B. auf "connect" dann kann man erstaunt feststellen, dass der 877 diesen Spannungsverlust durch eine andere Einstellung des Potis ausgeglichen hat.ES handelt sich also um eine Regelung. (eigentlich eine doppelte Regelung, denn die schnelle Regelung macht ja der 34064 indem er VPP immer so einstellt, dass an DPOTI1 wieder 1,24 Volt anliegen.) Da es sich um eine Regelung handelt, braucht dem 877 nicht vorgeschrieben zu werden, welche Werte für VPP er einstellen soll, sondern die Schaltung mit dem Poti und R5.R6 und R19 muß nur ermöglichen, alle infragekommenden Spannungswerte einzustellen. Das tut die vorliegende Schaltung meines Erachtens noch nicht.---immer vorausgesetzt, dass die Firmware, von der ich nichts verstehe (also die Hex-Files)in Ordnung ist.--- Ausserdem könnte der Spannungsteiler R1-R2 so eingestellt werden, dass der Wert für die ICD2-VPP,also der Rohwert an C3 bzw. an ebendiesem Spannungsteiler genau den Wert beträgt, den der 877 mißt und den MPLAB dann unter "Propgrammer Settinsg Power" anzeigt. Man könnte also noch die Eigenmessung des Clons eichen. Wenn man 1-Prozent -Widerstände verwendet,lohnt das allerdings kaum.Mehr dazu unter meinem Punkt 5c 4.Es ist zu klären, welche VPP-Werte das MPLAB mit dem ICD2 gerne einstellen können möchte: PIC16 oder 18 dürfen glaub ich maximal 13,25V haben. Plus 0,2V Verlust im Schalttransistor T2 13,45V plus maximal 25mA an 100 Ohm R43 macht 15,95 Volt. Chips die mehr als 13,25 dürfen sind mir nicht bekannt. Leider habe ich darüber keine vollständige Tabelle, aber ich glaube das wärs. Mehr, als 16,0 Volt sind also sinnlos.Das wär die Obergrenze, wobei 15 aber auch gut sind. Was die Untergrenze betrifft, soweit man sich nicht auf R43 verlassen will, was man ev. nicht darf, wenn man im "operating range" bleiben will: bei High voltage programming braucht ein PIC24, der mit 1,8Vbetrieben wird VDDplus1,5 also zufällig mindestens 3,3V als VPP. Er nimmt aber auch maximal 9V.Wenn die Regelung bis auf ca 7V runtergeht, sollte das ein guter Kompromiss sein. -Vorausgesetzt es gibt nicht doch noch PICs die weniger dürfen.--- 5.Demzufolge berechne ich die Widerstände für 7 bis 15.5 Volt. Dabei spielen die +/-20% Poti-Toleranzen beim unteren Spannungswert noch eine größere Rolle, als beim oberen.Ich mache eine worst-case-Rechnung: Unter der Verwendung der E12Reihe ergeben sich z.B.folgende Möglichkeiten: z.B.1: R19=1k2 (R19 darf nicht kleiner)R6=13,3 und R5=10K Einstellbereich mindestens 6,0V bis 14,9V z.B.2:R19=3k9 R5=47k R6 nicht bestücken, also unendlich. 6,1-16V einstellbar. z.B.3:liegt in der Mitte zwischen den Extremen: R6=8k2 R19=2k2 und R5=20,00 kohm gibt 7,0-15,3Volt Mindest-Einstellbereich. Ich entscheide mich für Möglichkeit 3. Ergebnis dieses Tests:erst 7,9V, dann 9,75Volt nach einigen "connects". Mit Device PIC24F08KA101. Ist ICD2 verrückt? Jedenfalls wird der Chip erkannt.--- Zumindest kann sie sich jetzt niedriger einstellen, wenn sie will, ich lasse es also so. 5. VDD-Target Probleme: a) Beunruhigend finde ich, dass MPLAB mir meist die 5 Volt VDD auch auf den Target-Pic aufschaltet, wenn ein PIC24 als Device gewählt ist. Der dürfte doch von Rechts wegen dann schon kaputt sein!(Er überstehts zum Glück) MPLAB kann bei dem POTOYO-CLON die VDD-Target abschalten, tut das aber nicht bei jeder Gelegenheit bei der es müßte. Zum Glück konnte ich den Fehler mit einem zusätzlichen 6k8 Widerstand als PULL-UP.Also zwischen 1RA4 (PIN6 des 877) und VDD (Pin 11).Vermutlich enthält der ICD2 von Natur aus einen Pull-up an dieser Stelle und den Programmierern des ICD2 war es deshalb egal ob sie den PORT RA4 auf H oder auf Tristate schalten und sie haben mal das eine, mal das andere getan. (H bewirkt in diesem Falle VDD = 0V also aus.) b)ein Pic24 kann mit 1,8Volt arbeiten, mit der HCT-Eingangsstufe wird er (gemäß meinen Tests) aber nur erkannt, wenn er mit mindestens 2,5 Volt versorgt wird. Auch daran will ich ev. etwas machen. Man könnte eine (wie 74HC126) mit VDD-Target gepowerte Vorstufe aus einem 74AC14-Trigger-Puffer verwenden. Der verbessert die Pegel und wenn der 74HCT125 nur mit 4,5V gepowert wird,überschneiden sich die In und OUT-Pegel grade noch.Das 74AC-Ding hab ich zufällig in der Bastelkiste und es ist so schnell, dass es keinen Einfluss auf das Timing haben dürfte. Noch einfacher wäre,eine von den parallelgeschaltete HC126-Pufferstufen die ja schon mit VDD-Target betrieben werden aus dem Design herauszulösen,sein Tristate auf dauernd geöffnet schaltenalso an VCC-Pin 14 also an VDD-target, und als Eingangsvorstufe zu verwenden. Dafür wird das FAN-out etwas schlechter. Wenn man dafür einen zusätzlichen HC126-Chip verwendet, könnte man dessen Betriebsspannung vielleicht 0,3Volt über VDD-Target legen,so dass die Pegel sich noch besser überschneiden. Zunächst mal probiere ich nichts davon aus, da mir 2,5 V VDD-Target eigentlich niedrig genug sind. c)Wenn ich einen Chip connecten lasse über ICSP und anschließend unter Programmer/settings/Power nachgucke, wie hoch die VPP-Target angeblich war, dann stehen da 9,75 Volt. Klicke ich aber auf Update, dann sind es plötzlich 10,62 Volt, die bei Wiederholung bleiben.Nach Connect wieder 9,75. Das liegt daran, dass bei "Connect" die USB-5V VDD auf etwa 4,6 Volt einbricht, und dass der 877 in diesem Moment die VPP einstellt.--Und dabei nämlich die VDD als 5-Volt-Referenzspannung verwendet.-- Sowas blödes, wo doch der 877 sicherlich selber eine Referenzspannung an Bord hat.Da ist das Eichen der Spannungsteiler (s.o.) natürlich nicht besonders sinnvoll. Da ich das Programm aber nicht umschreiben kann, bleibt nur, die 5-V-Spannung zu stabilisieren. Mit Aufwärts-Abwärts-Regler auf genau 5V wäre natürlich etwas umständlich. Aber man könnte mit einem Serien Regler mit MOSFET-Stellelement die VDD-Spannung auf 4,6 Volt limitieren (was ja auch für PIC24-Pegel bei 1,8V günstig wäre) und dann erst die zum Messen der Spannungen verwendeten Spannungsteiler entsprechend angleichen, dass die Messwerte wieder stimmen.(endlich) Ich habe die 4,6Volt Maßnahme aber noch nicht auf eventuelle Nebenwirkungen geprüft. 6. Ich weise darauf hin, dass die Ausgangsschalter 74HC4066 meines Erachtens nicht mit VPP betrieben oder gesteuert werden dürfen, weil sie nur 10V Vertragen, VPP aber mehr sein kann (und mit D2 ev. zu niedrig). Ich wiederhole der Vollständigkeit halber damit meinen letzten Post.Ich ersetze D2 durch ein Stück Draht und schalte die augelötete Z-Diode Anode an GND und Katode an Pin 13 des IC5 um die Steuerspannung auf 5V zu begrenzen. Das IC 5 versorge ich mit VDD an PIN 14, nicht VPP, wie in einigen Entwürfen zu sehen. 7. Ich sehe dann keine weiteren Einschränkungen bei der ICD2-Funktionalität des Potoyo Clons. viele Grüße HvS
Nachtrag: Habe festgestellt, dass mein Potoyo kein PIC24-LVP-Programmieren kann. Und beim HV Programmieren stellt er sich die Spannung von 9V ungefähr korrekt ein. Die schaltet er bei "Connect" zunächst auf den PIC24 und wieder ab. Dann geht er wieder zurück auf 11Volt in den Ausgangszustand. Leider schaltet er danach noch einmal einen kurzen Augenblick VPP-Target ein. Und gibt damit 11 V auf den Target -Pic. Der überstehts zwar, aber ich möchte noch was dagegen machen.
Das mit den 11Volt ist ein überschwingender Regelungsmechanismus.Ein Kondensator parallel R1 beweist das.Leider mit Nebenwirkungen. Weiter bin ich noch nicht. Gruß, HvS
Hallo! Das LOWVoltage -programming funktioniert bei mir doch:im DEBUG-Mode(Jumper) Ich habe eine Schottky-Diode eingebaut, die in anderen(!) Schaltplänen als "D2, 1N5819" angegeben ist (nicht die Z-Diode D2) und zwischen Kollektor T2 und Kollektor T3 liegt. Diese verhindert leider, dass die Ausgangsschalter auch von der Low Voltage aufgeschaltet werden können.Dann kann LVP natürlich nicht gehen.Ich bin mit dieser Diode von dem für meine Posts zugrundegelegten "USB ICD2 potyo.extra.hu" -Schaltplan abgewichen, ohne darüber nachzudenken.Es handelt sich bei dieser Diode wohl um ein Residuum aus einem älteren Entwurf. Ausser dass die Schaltung sich bei falscher Firmware (ist zum Glück richtig) durch Kurzschluss der ISP_VDD über den Ausgangstransistor von IC3F selbst zerstören könnte, fällt mir zu der Diode nichts ein, und das verhindert sie auch nicht. Es sei denn, sie wirkt als Schmelzsicherung.Sie verhindert nur LVProgramming durch ISP VPP=VDD im PROG Mode. Gegen die Selbstzerstörungsgefahr empfehle ich den 100 Ohm Widerstand aufzusplitten in einen 100 Ohm Widerstand im Push Zweig und einen im Pull-Zweig. den PUll -Zweig (40mA max) würde ich verstärken, indem ich die unbenutzten IC3a und b parallel schalte zu IC3F (dem MCLR-Null-Volt-IC) Man kann diese Diode durch ein Stück Draht ersetzen. Der OUTput-Schalter 4066 hat meiner Ansicht nach den noblen Zweck, dass man im programming mode den ICSP-Stecker in der TArget-Schaltung belassen kann, während man zwischen verschiedenen Programmvarianten wechselt und mal die eine, mal die andere reinbrennt und wieder laufenlässt. Im Programming mode läuft aber auch ohne diese Diode noch kein LVP, weil im LVP-Protokoll steht, dass nach einem kurzen H-puls auf der MCLR-Leitung diese wieder low gefahren wird, und während Low(!) einige initiierungs-Daten (also hier durch den 4066) übertragen werden müssen! Wie geht das aber, wenn er bei Low sofort abgeschaltet ist? Auch wenn das nur einige Microsekunden dauert? Das Einschalten durch MCLR=H muß hinsichtlich des Ausgangsschalters eben einfach einig hundert Millisekunden vorhalten. Den Ausgangsschalter in Stellung Program von VPP anzusteuern ist eigentlich bei LVP sowieso sinnlos, weil das zwar nach dem Programmieren das Target abtrennt, aber wenn ich das Target laufen lassen will, dann klicke ich auf "Target Run" und was passiert: MCLR wird auf H gesetzt. Und, oh Schlamassel, mein Ausgangsschalter geht wieder auf. Genau das einzige, was er soll, kann er also nicht: Das unbeeinträchtigte Laufen des TArget ermöglichen. Und in der 5V fürIC5-Version,kann das Debug-Ende des Jumpers gleich an VDD man spart die Z-Diode D2 also ganz. Allerdings käme sie beim HV-Programmieren wieder ins Spiel, denn HV könnte von MCLr= H (Also Target run) dadurch unterschieden werden, dass es mindestens 5 Volt mehr sind. Ich erkenne, dass sie mehr Sinn hatte, als ich dachte, aber jetzt muß sie weg bzw. als parallele Schutzdiode dienen. Wie erkenn ich denn nun, wann das Ding Datenaustausch macht, oder nichts tut? Der einzige Unterschied zwischen Programmieren und nicht programmieren ist, dass beim Programmieren,Auslesen usw. unablässig Clock läuft. Also muß der Tristate von Clock für die Steuerung des Ausgangsschalters herhalten. Oder, wenn man der Firmware nicht traut, ein gleichgerichtetes Clock-Out-Signal. Allerdings fast ohne Verzögerung. "Unablässig" stimmt leider auch nicht, der Programmer darf Pausen machen. (Aber dann ist auch kein Data). CLock-input in den Programmer gibt es beim Programmieren gar nicht. überhaupt nicht.Wahrscheinlich ist das beim Debuggen anders. ---Ich hab es einfach mal ausprobiert: Es geht: Ich habe dazu die Tristate Leitung für Clock (877-PIN 4) an die 4 zusammenhängenden Steueranschlüsse von IC5 74HC4066 angeschlossen(PINS5und6 und 12 und 13 von IC5). Getestet habe ich mit 18F1220 und 24F08KA101 beide werden im HV-Modus erkannt der Pic24 auch im LV-Modus, den P18 ja nicht hat.(?) Der PIc 18lässt sich beschreiben, das Programm wird verifiziert.für den P24 hatte ich noch kein Programm.Aber löschen hat er ohne Beanstandung durchgeführt. In allen drei Fällen führt TARGET-RUN anklicken in MPLAB zum sofortigen Sperren des 4066. Ohne das ist der Zustand am Ende der Datenaustauschvorgänge je nach dem verschieden, aber darauf kommt es dann ja noch nicht an. Ich habe den 4k7 Widerstand am Steuereingang des 4066 entfernt, nur die ZD und den 1K gelassen. Den hänge ich jetzt an den mittleren Pin vom Jumper. An den Debug Pin kommt VDD an den Prog Pin kommt Pin4 des 877.--Allerdings weiss ich nicht, ob das auch immer mit anderer Firmware gehen wird.Was den Regelkreis für VPP betrifft habe ich noch nicht weitergeforscht. Übrigens denke ich, wenn "Target Run" funktionieren soll,dann dürfen die Widerstände von VPP-Target nach Masse nicht allzu niederohmig sein, weil doch der Run nur dann zustande kommt, wenn auf dem Target-Board der Pull Up am Masterclear </= 40KOhm den Pull up noch schafft.Ich nehme immer 22 KOhm. Das wird nicht gehen. 2k2 geht natürlich,hat aber oft andere Nachteile. Der Spannungsteiler für den AD-Eingang an ISP-VDD wird bei der Sanierung der VPP-Regelschleife ev. auch noch mal ins Blickfeld kommen. Gruß, HvS
Den Pin 4 des 877,der am Jumper hängt, kann man vor Überlast schützen, denn wie schnell ist man mal mit einem Drähtchen an so einen unisolierten Kontakt gekommen!Ein 330R Widerstand in der Leitung zum Jumper und zum Ausgleich dafür R30 = 6k8 wäre eine Möglichkeit. Ich habe statt dessen zwei BAT54 Schottky-Dioden als Schutzdioden gegen Masse und VDD (immer Anode Richtung GND) verwendet. ---- Die ISP-VPP (also hinter Schalter) benutzt MPLAB nicht als Ist-Wert für die Regelung von VPP. Nur VPP an R1,R2. ------- Es ist mir auch nicht bekannt, wieso 1RA4 einen Pullup braucht, wo doch offene TTL-Eingänge eigentlich sowieso H sein sollten. Es ist jedenfalls so.Vielleicht hochfrequente Einstreuungen. Der HD74LS07 soll mit <100uA Low-strom schon zufrieden sein.Recht hochohmig. Und mein gestricktes Layout könnte sowas begünstigen. Oder es ist eine kompliziertere Tücke der Software. ---- betreff release from reset und hochohmigen (22k) Target-Pullups: Das Problem hat sich ergeben, ICD" schaltet dazu aktiv den ISP-VDD-Pegel auf die MCLR-Leitung. --------- Betreff der VPP Regelschleife: ICD2 hat eine kleine Macke beim High voltage brennen von PIC24: Beim erneuten "Connect" nach Auswahl des HVP modes schaltet VPP auf ca 8V bleibt dort einen Augenblick, und dann fährt die VPP in einer langsamen Rampe hoch auf 11Volt. Und von da ab werden Brennen und Lesen usw. mit diesen 11Volt durchgeführt.--was sich der PIC24 im Übrigen bis jetzt gefallen lässt, ohne zu mucken. Obwohl ich die Regelung testweise so umgebaut habe, dass VPP unmittelbar in einer Millisekunde jede Poti-Stellung wiedergibt, macht POTYO-ICD2 trotzdem diese Rampe. Was man vermeiden muß ist das erneute connecten nachdem man auf "High-Voltage"-programming gesetzt hat.Unterlässt man das nämlich, brennt und liest das Gerät anschließend correct mit 8V VPP. Erst beim überflüssigen erneuten connecten geht sie hoch auf die unerwünschten 11V. Ich hatte mir angewöhnt, den connect-Knopf als Bestätigung dass alle Verbindungen ok sind unmittelbar vor dem Brennen noch mal zu checken. Das werde ich mir abgewöhnen müßen. Oder ich brenne nur LVP und in den MCLR-Eingang von PIC24 löte ich sowieso eine nette feine 7V5 Z-Diode in meine Target Boards. Bei PICs, die standardmäßig kein LVP machen, also den ganzen F16 und F18 kommt das VPP-Problem sowieso nicht vor. Also das ist für mich jetzt eine Firmware-Sache und fällt nicht in meinen Bereich.An der VPP-Regelschleife ist nichts zu machen, (nur natürlich der neue Widerstandssatz R5,R6,R19 für den Einstellbereich, siehe oben.). ----- Der 16F877 hat tatsächlich keine BAndgap-Referenz an Bord, sondern muß wohl oder übel Vergleichsspannungen von den 5VUSB ableiten. Meine USB-Spannung ist mir aber genau genug. Ernste Probleme mit der VPP-spannung hatte ich nur aus besagtem andern Grund.(re-connecten bei HVP vonP24 s.o.) ------------------------------------- Ach ja, und für die D14148 hab ich eine 1-Ampere-Schottky Diode genommen,SB140,kürzesten Wegs gefolgt von einem 10uF Kerko nach Masse. Statt R4 verwende ich einfach zwei parallele 1-Ohm Widerstände 0.25W und im übrigen finde ich es ärgerlich, wenn mit Cad-Programmen die Abblockkondensatoren so eingezeichnet werden, dass man nicht sofort erkennen kann, zu welchem IC sie gehören. Oops, da ist ja sogar ein 1RA4-Pull-up eingezeichnet! (bei mir hat er 6k8). für Pull-ups gilt natürlich das gleiche, wie für Abblockkondensatoren. Wurde grade bewiesen. Ich seh das Ding jetzt zum ersten Mal. Ich hab auch immer nur nach zwei Busausgängen geucht , wie im Rest der Schaltung, nicht nach einem eventuellen dritten. --- Viel Spass HvS Ich poste noch eine Zusaammenfassung, dann wars das.
Zusammenfassung: Meine Arbeit am vorliegenden Potyo Design im Hinblick auf Pic24: Gewinn: Alle Teile jetzt bei Reichelt erhältlich, partielle Funktionsstörung des VDD-Schalters beseitigt,VPP Regelbereich sinnvoller eingestellt,LowVoltage-Programming von 3,3V-PICs in Stellung "Program" ermöglicht, Verwendung des Ausgangsschalters bei 3V3 PICs ermöglicht.Eine unnötige Diode aus dem design entfernt,Den Selbstschutz der Hardware verbessert. Dazu folgendes tun: -----1/2 MCP42010 statt 1x MCP41010 verwendet. ----- PULL up von 6k8 an 1RA4 (PIN6 des 877) ----- in der VPP Regelung wird R5=20k R6=8k2 R19=2k2 -----Die Ausgangsschalterkonfiguration wird umgebaut: -- Das IC5 (74HC4066) wird mit 5V-VDD an Pin 14 betrieben. -- Die 5v1 Z-Diode D2 wird durch Draht ersetzt und anstelle von R38 (4k7)eingelötet,Anode an GND. R38 wird entfernt. Der mittlere PIN des jumpers hängt also über R30 am Steuereingang des IC5. -- Am Jumper wird der PIN für "DEBUGGER" mit 5V VDD (statt VPP) verbunden. -- Am Jumper wird der PIN für "PROGRAMMER" mit 1RA2 Pin4 des 877 verbunden. ------ zwischen den Kollektoren von T2 und T3 ist keine Schottky-Diode 1N5819, sondern Draht. Also wie im POTYO-Schaltplan. ------PIN12 des IC3(F) wird von diesen Kollektoren abgetrennt und über einen eigenen 100 Ohm-Widerstand mit ISP-MCLR verbunden. ------ IC3A und IC3B werden aus ihrer Stillegung befreit und parallel IC3F geschaltet. PIN1 und 3 an PIN13; PIN2 und 4 an PIN12. ------ neu bekannte Limitation zu Kenntnis nehmen: Beim HVP-Brennen von PIC24 ist darauf zu achten, dass man nach dem Umschalten von LVP auf HVP nicht erneut "connect" drückt. Am besten, man benutzt HVP nicht unnötig. ------ Potyo-Limitation:Targets unter (genau) VDD=2,5 Volt laufen nicht mit dem gegebenen HCT-Eingang. Full range bis runter auf 1,8V würde eine zusätzliche oder andere Vorstufe erfordern. -----weitere Details zu alledem in meinen Posts aus der letzten Woche. Ich hoffe, es nützt jemandem,einmal alles beisammen zu haben. Gruß, HvS
Hallo, leider ist meine schöne blaue Platine von Andreas B. aus 1/2008 fast fertig liegenbeblieben und soll erst jetzt umgehend komplettiert werden. Dazu müssen noch 3 Chips eingebaut werden: 1 PIC16F877A-I/P PIC2 Diesen hatte ich damals bei Reichelt bestellt und liegt hier unprogrammiert. 1 PIC18F4550-I/P PIC1 Dieser fehlt mir, da er zum Bestellzeitpunkt nicht verfügbar war. Und schließlich fehlt mir noch der 1 MCP41010 IC2 Reichelt hat den nicht. Gibt es hier noch einen User, der mir bei der Komplettierung helfen kann und mir mindestens die beiden PICs progrmmieren kann? Ich finde inzwischen nicht einmal einen funktionierenden Link zu den .hex-Dateien. Noch schöner wäre es, wenn jemand zufällig die fehlenden Chips in seinem Bestand hat und sie mir programmiert zusenden kann? Die Kosten für die Mühen werde ich natürlich gern erstatten. Viele Grüße Dietrich
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.