Forum: Mikrocontroller und Digitale Elektronik PIC ICD 2 selbstgebaut


von hans (Gast)


Lesenswert?

Mit dem internen OSC bzw. RC klappt es.
Die PIC's haben ein RC Glied als Osz.

Thx

von Jörg O. (joerchi)


Angehängte Dateien:

Lesenswert?

Hallo,

kann mir bitte mal jemand dieses Konstrukt erklären!?
Pin 4 von dem IC ist mit nichts verbunden, auch auf dem orgiginalen 
Board.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Jörg O. (joerchi)


Lesenswert?

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

von Andreas B. (Firma: Privat) (bitleiste) Flattr this


Lesenswert?

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.

von Andreas B. (Firma: Privat) (bitleiste) Flattr this


Angehängte Dateien:

Lesenswert?

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.

von Andreas B. (Firma: Privat) (bitleiste) Flattr this


Angehängte Dateien:

Lesenswert?

und die Große passt genau in das SD10 Gehäuse, ist halt Massarbeit (-.

Gruß Andreas B.

von Jörg O. (joerchi)


Angehängte Dateien:

Lesenswert?

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

von Marius S. (lupin) Benutzerseite


Lesenswert?

Gibt es für Andreas' ICD2 eigentlich nen reichelt warenkorb?

von Dietrich J. (sprotte24)


Lesenswert?

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

von Andreas B. (Firma: Privat) (bitleiste) Flattr this


Lesenswert?

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.

von Dietrich J. (sprotte24)


Lesenswert?

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

von Ralf (Gast)


Lesenswert?

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

von Hans H. (spottydog)


Lesenswert?

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

von chosn (Gast)


Lesenswert?

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

von Buzii (Gast)


Lesenswert?

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

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

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.

von Buzii (Gast)


Lesenswert?

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

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

http://www.sure-electronics.com/

Hab ihn bis jetzt nur als Programmer genutzt. 3.3V und 5V Typen ohne 
Probleme.

Gruß Sascha

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

Hier der direkte Link zum ICD2 Clone mit PIC18F Board:

http://www.sure-electronics.com/products/display/db-dp113.html

Gruß Sascha

von Sascha F. (sascha_focus) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Sascha F. (sascha_focus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier die Settings

von Atlas (Gast)


Lesenswert?

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

von Bob (Gast)


Lesenswert?

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

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

Ja, habe ich.
Es wird die Device ID nicht erkannt. Es läßt sich weder löschen, 
programmieren usw.

Gruß sascha

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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?

von Bob (Gast)


Angehängte Dateien:

Lesenswert?

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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Schau mal insbesondere nach ob die Transistoren Q5 - Q7 richtigrum 
eingebaut sind !

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

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

von Sascha F. (sascha_focus) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Funktioniert der Selftest jetzt bei dir?

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

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

von Bob (Gast)


Lesenswert?

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

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

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

von Tien (Gast)


Lesenswert?

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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Du musst beim ersten Mal die Firmware Manuell runterladen:
Programmer -> Download ICD2 Operating System

von Timo E. (tien)


Lesenswert?

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

von Timo E. (tien)


Lesenswert?

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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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 !

von Timo Engelmann (Gast)


Lesenswert?

> 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

von Timo Engelmann (Gast)


Lesenswert?

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

von Gast (Gast)


Lesenswert?

Bei mir ging das mauelle downloaden des OS
nur, nachdem ich das ICD2 als debugger ausgewählt hatte.

Grüß

von Timo E. (tien)


Lesenswert?

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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Das ist korrekt, weil das die Spannung ist die dein Target hätte.

von Andreas B. (Firma: Privat) (bitleiste) Flattr this


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

es gibt wieder ICD2 Platinen, bei Interesse eine eMail 
buffy1962(at)gmx(dot)de oder eine PM.

Gruß Andreas B.

von Andreas B. (Firma: Privat) (bitleiste) Flattr this


Angehängte Dateien:

Lesenswert?

so und noch ein Bild von unten

Gruß Andreas B.

von Master S. (snowman)


Lesenswert?

wie teuer:
- platine
- versand nach D, A, CH

von Andreas B. (Firma: Privat) (bitleiste) Flattr this


Lesenswert?

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.

von Dietrich J. (sprotte24)


Lesenswert?

Ist die Platine bis auf Farbe und goldene PADs identisch mit meiner 
blauen?

Gruß
Dietrich

von Thomas B. (uncletombbg)


Lesenswert?

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

von Viktor O. (stupid_student)


Lesenswert?

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.

von Schöbi (Gast)


Lesenswert?

Ich wäre dabei.
Habe Andreas vorab schon mal wegen der Platine angeschrieben....

Gruß

von Viktor O. (stupid_student)


Lesenswert?

@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

von Viktor O. (stupid_student)


Lesenswert?

Hi hab grad was anderse gefunden
Beitrag "Bestellung bei reichelt."
bis Mo 17:00
Gruß

von Bruno P. (Gast)


Lesenswert?

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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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 ?

von Bruno P. (Gast)


Lesenswert?

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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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?

von Bruno P. (Gast)


Lesenswert?

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...

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Dann hast du entweder einen falschen Bootloader gebrannt oder ein 
Hardwarefehler, zB kaputten PIC

von Zag (Gast)


Lesenswert?

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:)

von Bruno P. (obstmann)


Lesenswert?

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

von Schöbi (Gast)


Lesenswert?

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

von Manuel Kampert (Gast)


Lesenswert?

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...

von Andreas K. (a-k)


Lesenswert?

Auf www.sprut.de finden sich diverse Parallel Port Programmer.

von Schöbi (Gast)


Lesenswert?

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ß

von Schöbi (Gast)


Lesenswert?

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ß

von Andreas B. (Firma: Privat) (bitleiste) Flattr this


Lesenswert?

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.

von Schöbi (Gast)


Lesenswert?

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ß

von Siegfried S. (dieleena)


Lesenswert?

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

von Icke M. (Firma: my-solution) (hendi)


Lesenswert?

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.

von Siegfried S. (dieleena)


Lesenswert?

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

von Icke M. (Firma: my-solution) (hendi)


Lesenswert?

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.

von Siegfried S. (dieleena)


Lesenswert?

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

von Schöbi (Gast)


Lesenswert?

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ß

von Icke M. (Firma: my-solution) (hendi)


Lesenswert?

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

von Siegfried S. (dieleena)


Lesenswert?

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

von Schöbi (Gast)


Angehängte Dateien:

Lesenswert?

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ß

von Siegfried S. (dieleena)


Lesenswert?

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

von Dida N. (quader)


Lesenswert?

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?

von Dida N. (quader)


Lesenswert?

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.

von Dida N. (quader)


Lesenswert?

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?

von Siegfried S. (dieleena)


Lesenswert?

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

von Andreas Bachmann (Gast)


Lesenswert?

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

von Master S. (snowman)


Lesenswert?

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/

von Andreas Bachmann (Gast)


Lesenswert?

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

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

Screenshot dazu

von Andreas B. (te-bachi)


Lesenswert?

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.

von Marco S. (masterof)


Lesenswert?

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

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

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 :'(

von Andreas B. (te-bachi)


Lesenswert?

Ö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?

von Marco S. (masterof)


Lesenswert?

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.

von Andreas B. (te-bachi)


Lesenswert?

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?

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

So wie ich das sehe liegt das Problem nicht am 4550 sonder am 877. Sieht 
man an den LEDs was?

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

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>

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Henne - Ei - Problem.
Jetzt bräuchte man einen funktionierenden Programmer um zu testen ob der 
877 geflasht ist.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Am besten wird es sein wenn mal der Sprut Brenner 5 auf nem Steckbrett 
aufgebaut wird. Dann kann man den 877 kontrollieren.

von Andreas B. (te-bachi)


Lesenswert?

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.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Andreas R. (blackpuma)


Lesenswert?

Kann jemand was zur Funktionalität des ICD2 Clones sagen?

Kann der etwas nicht, dass das Original kann?

LG
Andreas

von Andreas R. (blackpuma)


Lesenswert?

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

von Andreas Bachmann (Gast)


Lesenswert?

@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.

von Andreas B. (te-bachi)


Lesenswert?

@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.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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?

von Andreas B. (te-bachi)


Lesenswert?

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.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von skiracer (Gast)


Lesenswert?

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.

von Jupp (Gast)


Lesenswert?

Wird der ICD2 vom USB versorgt? Dann sind 100µF klar gegen die 
Spezifikation...kann funktionieren, die meißten Boards schalten aber ab.

von Andreas B. (te-bachi)


Lesenswert?

> 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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Andreas B. (te-bachi)


Lesenswert?

> 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?

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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?

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

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 :)

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

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 ;)

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Andreas Bachmann wrote:
> Komisch nur, dass es eine Fehlermeldung anzeigt... wisst ihr warum?

Hast du schon "Download Operating System" gemacht?

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

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?

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

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...

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Andreas B. (te-bachi)


Lesenswert?

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?

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

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 ;)

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von PIC PIC PIC (Gast)


Lesenswert?

Echtmal MPLab ist mal übergeil!!!!!!!!!!!

PIC PIC PIC

von picuser (Gast)


Angehängte Dateien:

Lesenswert?

http://www.digitale-elektronik.de/shopsystem/

da steht was von komplett fertig ohne fehlersuche !
für 60 euro ink. versand.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

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 :'(

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Andreas B. (te-bachi)


Lesenswert?

Ahhh... jetzt verstehe ich!
Vielen Dank!

von Björn (Gast)


Lesenswert?

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

von Viktor Obrist (Gast)


Lesenswert?

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

von Icke M. (Firma: my-solution) (hendi)


Angehängte Dateien:

Lesenswert?

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.

von Dietrich J. (sprotte24)


Lesenswert?

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.

von Icke M. (Firma: my-solution) (hendi)


Lesenswert?

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.

von Icke M. (Firma: my-solution) (hendi)


Lesenswert?

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

von Stefan (Gast)


Lesenswert?

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

von Danilo U. (Gast)


Lesenswert?

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

von Hans vS (Gast)


Lesenswert?

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

von Sag ich nicht (Gast)


Angehängte Dateien:

Lesenswert?

Ist das der mit 18F4550 als USB Interface?
Dann habe ich die Dateien.

von Hans vS (Gast)


Lesenswert?

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

von Hans vS (Gast)


Lesenswert?

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

von Hans vS (Gast)


Lesenswert?

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.

von Hans vS (Gast)


Lesenswert?

Das mit den 11Volt ist ein überschwingender Regelungsmechanismus.Ein 
Kondensator parallel R1 beweist das.Leider mit Nebenwirkungen. Weiter 
bin ich noch nicht.
Gruß, HvS

von Hans vS (Gast)


Angehängte Dateien:

Lesenswert?

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

von Hans vS (Gast)


Lesenswert?

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.

von Hans vS (Gast)


Angehängte Dateien:

Lesenswert?

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

von Dietrich J. (sprotte24)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.