Forum: Mikrocontroller und Digitale Elektronik Minimalausstattung Steckbrett mit PICKit 3 und Pic18F4550


von PICSIM (Gast)


Lesenswert?

Hallo zusaammen,

da mich mein P40 Board gerade nervt, wollte ich mein PIC 18F4550 gerne 
mal auf einem Steckbrett platzieren. Nun finde ich nicht mehr die 
Übersicht, was man alles für Bauteile benötigt (incl. Schaltplan) um den 
4550 mit externen Quarz zum Laufen zu bringen.

Programmieren würde ich das gerne mit meinem PICKit3.
Ist da auch noch was zu beachten?

Im Datenblatt hab ich nichts gefunden...

Gruß

von Torsten S. (torstensc)


Lesenswert?

Power dran (alle VDD und VSS Pins),
nah am Controller 100nf Keramik C's (wichtig!),
Quarz dran und die C's nach GND je nach Quarz,
einen Header oder Kabel für ISP

Das wars schon

Torsten

Beim PicKit beachten das unter Settings die Spannung für den PIC stimmt,
sollten bei der 45er Gruppe 3,3V sein, und den Haken bei
"Power Target Circuit from PicKit" setzten. Dann brauchst du keine
externe Spannungsquelle.

von Michael S. (rbs_phoenix)


Lesenswert?

Torsten Schwalm schrieb:
> 45er Gruppe 3,3V

nee.. sind 5V.. 18F4550 4,2-5,5V und 18LF4550 2V-5,5V.

von Torsten S. (torstensc)


Lesenswert?

Das habe ich auch aus dem Bauch heraus gesagt, deswegen habe ich ja 
drauf
hingewiesen das er das prüfen soll. Ich habe gerade den 4525 an Board 
mit 3,3V.
Man sollte eben doch erst mal lesen. Sorry.

von PICSIM (Gast)


Lesenswert?

Ok,

also in meinem Fall erstmal nur die
Cs zwischen VDD und VSS
Quarz (bei internen Osci ja auch egal)
und das PICKit 3 an die richtigen PiNs anschließen

von Torsten S. (torstensc)


Lesenswert?

Ganz genau, läuft super.

von t. p. (mcsnoop)


Lesenswert?

PICSIM schrieb:
> Ok,
>
> also in meinem Fall erstmal nur die
> Cs zwischen VDD und VSS
> Quarz (bei internen Osci ja auch egal)
> und das PICKit 3 an die richtigen PiNs anschließen

Wie genau schaut die Schaltung nun aus wenn man den PIC18F4550 auf dem 
Steckbrett an den PicKit3 angeschlossen hat?

Auf dem Poster das MICROCHIP mitliefert gibts das Bild "correct" und 
dort ist noch ein Quarz angeschlossen und ein Widerstand zwischen Vdd 
und Vpp. Die AVdd und AVss können ignoriert werden bei dem PIC oder 
haben die eine Relevanz? Habe im Datenblatt dazu noch nichts gefunden.

VG

von t. p. (mcsnoop)


Angehängte Dateien:

Lesenswert?

So ich habe jetzt die Strippen so an den Chip gezogen wie es das PINOUT 
vorsieht.

VSS (Pin 12 und Pin 31) nun auf Masse nud auf PIN3 vom PICKit3?

Was fehlt noch?

von heinzhorst (Gast)


Lesenswert?

Sind die schmalen Streifen auf deinem Steckbrett wirklich horizontal 
verbunden, und nicht vertikal? Dann hättest du nämlich PGD und PGC 
kurzgeschlossen. Die 100nF Cs direkt an den Versorgungsanschlüssen 
fehlen noch, wie bereits oben erwähnt. Sollte auch auf dem Steckbrett 
kein Problen sein, wenn du sie in RM 2,54 da hast, weil 5V und GND bei 
den 40-Pinnern direkt nebeneinander liegen.

von t. p. (mcsnoop)


Lesenswert?

Gut wie die Bahnen verbunden sind mess ich noch durch =). Hätte mir 
eigentlich selber auffallen dürfen.

EDIT:

Waagerecht verbunden. =)

/EDIT:

http://ww1.microchip.com/downloads/en/devicedoc/39632d.pdf

Die C's wie in Abbildung 2-2 auf Seite 27? an PIN 13 und 14?

Was für ein Quarz(20.000er?) muss ich da nehmen und was für C's?

http://burger-web.com/Projects/PIC18F4550USB/de_PIC18UsbBoard.htm.de

Ist der Widerstand R26 (aus dem Schaltbild von Burger-web) oder aus dem 
Handbuch Rs, notwendig?

von t. p. (mcsnoop)


Lesenswert?

heinzhorst schrieb:
> Die 100nF Cs direkt an den Versorgungsanschlüssen
> fehlen noch, wie bereits oben erwähnt. Sollte auch auf dem Steckbrett
> kein Problen sein, wenn du sie in RM 2,54 da hast, weil 5V und GND bei
> den 40-Pinnern direkt nebeneinander liegen.

Gut wenn ich nun die 2*22pF + 1*20Mhz + 1MOhm an PIN 13 und 14 
rangesteckt habe fehlt dann nochwas oder kann ich dann über den PICKit3 
den PIC beschreiben?

vg

von t. p. (mcsnoop)


Angehängte Dateien:

Lesenswert?

So jetzt noch die beiden Kondensatoren einfügen und rechts vom Quarz 
noch Rs parallel und dann kann es losgehen?

Wird der Chip dann über den PicKit3 versorgt?

vg

von Dario B. (abcd)


Lesenswert?

> Wird der Chip dann über den PicKit3 versorgt?

Das musst du in MPlab unter Programmer/Debugger -> Settings -> Power 
extra einstellen

von t. p. (mcsnoop)


Lesenswert?

@Dario

danke

Aber fehlt mir nun noch Schaltungstechnisch irgendwas?

von Dario B. (abcd)


Lesenswert?

Eigentlih nicht, die Caps für's Qurarz müssen noch rein, dann passt es. 
Das einzige, was dann noch fehlt ist der Sinn der Schaltung. Vlt. mal 
eine Led mit Vorwiderstand an einen Pin hängen und blinken lassen. Wenn 
du den Oszilator erfolgreich umgeschaltet hast, muss die mit einer 
anderen Frequenz blinken.

von t. p. (mcsnoop)


Lesenswert?

Nunja der Sinn ist eigentlich nur das Brennen des PICs(alter Brenner ist 
abgeraucht).

Da ich mich nun mit MPLab anfreunde wollte ich das dann auch gleich aus 
der IDE heraus machen, deshalb das PicKit3.

Zum Testen hab ich dann schon eine aufgebaute Testplattform. Mit 
Tastenblock und LED Block.

Das PicKit3 ist vielleicht als reiner Brenner etwas überdimensioniert, 
aber nach meinem Projekt kann ich ja damit noch weiter rumspielen wenn 
ich umgezogen bin.

Rein als Minitest kann ich aufs Steckbrett natürlich noch ne LED an 
einen Port basteln.

von ich (Gast)


Lesenswert?

Braucht man zum brennen eines PICs überhaupt einen Quarz? Ich baue 
nämlich die meisten (Zeit-unkritischen) Schaltungen ohne Quarz auf und 
benutze den Internen Oscillator. Doch vor dem Brennen weiß der PIC doch 
noch garnicht, dass er Diesen benutzen soll. Deswegen, wenn kein Sinn 
bzw keine Schaltung mit dran hängt, sondern nur brennen will und wo 
anders reinstecken will, braucht man ansich keinen Quarz.

von Martin S. (drunkenmunky)


Lesenswert?

Zum Brennen braucht man natürlich kein Quarz.

Hat es überhaupt so funktioniert, wie du es aufgebaut hast? Ich denke 
nicht...

Höchst wahrscheinlich sind die Pins so verbunden, wie ich dir 
eingezeichnet habe. Und die vertikalen sind (bei mir zumindest) 
untereinander bis zur Mitte eines Steckbretts auch noch verbunden.

von Martin S. (drunkenmunky)


Angehängte Dateien:

Lesenswert?

Bild vergessen

von t. p. (mcsnoop)


Lesenswert?

Hab grad nochmal geprüft, die schmalen Felder sind wirklich senkrecht 
verbunden. Habe dort lange Brücken reingemacht.

Wenn ich "nur" Brennen will kann ich den Quarz weglassen oder stört 
dieser nicht? Wenn ich nun an Port B einige LEDs dranhänge mit 
Vorwiderstand, dann kann ich das Steckbrett ja gleich noch zum Test 
nehmen.

Schonmal danke danke.

von Martin S. (drunkenmunky)


Lesenswert?

Ja kannst du. Nein, stört nicht.
Ja.

Und der Vorteil dabei ist, dass du auch debuggen kannst!

von PICSIM (Gast)


Lesenswert?

Wäre nett, wenn du für die Nachwelt nochmal ein so is es richtig und 
funktioniert Bild schiessen könntest ;)

von Lehrmann M. (ubimbo)


Lesenswert?

t. p. schrieb:
> Wenn ich "nur" Brennen will kann ich den Quarz weglassen oder stört
> dieser nicht?

Für das Brennen benötigt ein PIC keinerlei Zusatzbeschaltung! Vpp 
(+12V Programmierspannung), Vdd (+5V), Vss (GND), PGD und PGC kommen 
direkt vom PicKit. Natürlich sind alle Vdd und Vss Pins zu beschalten. 
In Pullup an MCLR ist IMHO ebenfalls nicht von Nöten.

von t. p. (mcsnoop)


Angehängte Dateien:

Lesenswert?

Irgendwas scheint noch falsch zu sein, da MPLab folgenden Fehler bringt:

PICkit 3 detectedConnecting to PICkit 3...
Running self test...
Self test completed
Firmware Suite Version...... 01.26.65
Firmware type......................PIC18F
PICkit 3 Connected.
PK3Err0045: You must connect to a target device to use PICkit 3.Target 
Device ID (00000000) does not match expected DeviceID (00001200).
PICkit 3 removed

Laut Google hatten die Masse bei diesem Fehler ein Verdrahtungsfehler.


In MPLab habe ich eingestellt das das Device über das PicKit3 gepowered 
wird.
Unter Configure wurde ist auch der korrekte Chip ausgewählt.

EDIT:

Kleine Brücke vergessen zwischen Rs und dem Quarz.

von Martin S. (drunkenmunky)


Lesenswert?

Du hast vergessen Vdd an Pin 32 anzuschließen.

Und die rote Brücke ganz links ist meines Erachtens nach unnötig.

von Arno Nyhm (Gast)


Lesenswert?

Lass' den Quatsch mit dieser völlig unübersichtlichen Verdrahtung und 
nutze die Drahtbrücken als direkte Punkt-zu-Punkt Verbindung zwischen 
Quelle und Ziel, anstatt unbedingt auf gerade Verlegung zu achten.

von ich (Gast)


Lesenswert?

Ich weiß nicht, ob das nur bei mir so ist, aber bei mir ist der ICSP von 
Pin1-5 und nicht von Pin2-6 beim PICKIT. Pin 6 ist ein AUX-Kontakt.
1:Vpp
2:Vdd
3:Vss
4:Data
5:Clock

Dazu hast du alle 6 Anschlüsse am PIC, wobei ICSP ansich nur 5 Pins hat.

Versuchs mal so, direkt mit einem einzelnem Kabel:
PICKIT   PIC
Pin1 ->  Pin1
Pin2 ->  Pin11
Pin3 ->  Pin12
Pin4 ->  Pin40
Pin5 ->  Pin39

Danach, auch mit einem Kabel, Pin11 zu Pin32 und von Pin12 zu Pin31. Um 
die ordentliche Verlegung kannst du dich danach kümmern..

Und nicht vergessen einzustellen, dass das PICKIT die 
Versorgungsspannung liefern soll.

von Carsten S. (dg3ycs)


Lesenswert?

Arno Nyhm schrieb:
> Lass' den Quatsch mit dieser völlig unübersichtlichen Verdrahtung und
> nutze die Drahtbrücken als direkte Punkt-zu-Punkt Verbindung zwischen
> Quelle und Ziel, anstatt unbedingt auf gerade Verlegung zu achten.

Ich sehe das (wieder) aufkommen der "Steckbretter" in letzter Zeit recht 
kritisch und würde daher sogar noch einen Schritt weiter gehen und sagen 
lasse das mit dem Steckbrett für solche sachen ganz bleiben...

Kontaktschwierigkeiten, hohe Leitungskapazität und völlig 
unübersichtlich, das sind nur einige Punkte. IC Sockel, Quarze und 
Widerstände sind Pfennigskram. Das ganze schnell auf Lochraster 
aufgebaut ist einiges Übersichtlicher und funktioniert zuverlässiger. 
Zudem auch länger "haltbar".
DAs Steckbrett kommt bei mir nur zum Einsatz wenn ich ganz simple sachen 
mal schnell testen will. Aber sonst...

Wenn man sich durch kleine Fehler aufgrund der Unübersichtlichkeit mal 
ein-zwei µC Geschrottet hat, dann hätte man für den Betrag auch eine 
menge LR Schaltungen aufbauen können.

Gruß
Carsten

von Martin S. (drunkenmunky)


Lesenswert?

ich schrieb:
> Ich weiß nicht, ob das nur bei mir so ist, aber bei mir ist der ICSP von
> Pin1-5 und nicht von Pin2-6 beim PICKIT. Pin 6 ist ein AUX-Kontakt.
> 1:Vpp
> 2:Vdd
> 3:Vss
> 4:Data
> 5:Clock

Er hat 1 bis 6 angeschlossen, nicht 2 bis 6. Die Leitung von Pin 6 
kannst du dir sparen, wenn du Low Voltage Programming aktivierst.

> Und nicht vergessen einzustellen, dass das PICKIT die
> Versorgungsspannung liefern soll.

Hat er sonst würde er die Meldung nicht bekommen, dass es die falsche ID 
ist...

Also schließ erstmal Pin 32 an und probiers nochmal

von Carsten S. (dg3ycs)


Lesenswert?

Martin S. schrieb:
> Hat er sonst würde er die Meldung nicht bekommen, dass es die falsche ID
> ist...

Das kannst du so nicht sagen...
Er meldet doch die ID 0000...
Dies bedeutet das PK3 erkennt zwar anhand der Belastung der Pegel das da 
etwas ist und taktet. Es kommt aber nur ein Nullpegel an. Und das kann 
sowohl bei Defekt des µC wie auch bei falschem Anschluss der Leitung als 
natürlich auch beim Fehlen von Betriebsspannung am PIC  vorkommen!

Gruß
Carsten

von Martin S. (drunkenmunky)


Lesenswert?

Das denke ich nicht. Wenn du keine Versorgungsspannung extern oder durch 
Pickit angelegt hast, bekommst du die Meldung erst gar nicht.

Dass dann noch was faul ist, ist klar.

von t. p. (mcsnoop)


Lesenswert?

Ich habe nun alle Steckbrücken runter und direkt verkabelt so das nur 
der PIC drauf ist.

Ergebnis:

PICkit 3 detected
Connecting to PICkit 3...
Running self test...
Self test completed
Firmware Suite Version...... 01.26.65
Firmware type......................PIC18F
PICkit 3 Connected.
Device ID Revision = 00000007
Programming...
Programming/Verify complete
PICkit 3 removed


Als Demo habe ich folgendes reingeladen:
1
#include <p18f4550.h>
2
3
#pragma config WDT = OFF
4
5
void main (void)
6
{
7
  /* Make all bits on the Port B (LEDs) output bits.
8
   * If bit is cleared, then the bit is an output bit.
9
   */
10
  TRISB = 0;
11
12
  /* Reset the LEDs */
13
  PORTB = 0;
14
15
  /* Light the LEDs */
16
  PORTB = 0xFE;
17
18
  while (1)
19
    ;
20
}

Die LEDs bleiben aber leider alle aus.

hmmm

von Martin S. (drunkenmunky)


Lesenswert?

Dann schau dir mal Kapitel 2.0 Oscillator Configurations und Kapitel 
25.1 Configuration Bits genauestens an.

Wenn du des englischen nicht so mächtig bis kannst du auch sprut.de 
durchstöbern.

von t. p. (mcsnoop)


Lesenswert?

Gut, danke alle bis hierher.

Ich werde mich mal durch die beiden Stellen im Handbuch ackern.

von ich (Gast)


Lesenswert?

Martin S. schrieb:
> Hat er sonst würde er die Meldung nicht bekommen, dass es die falsche ID
> ist...

Ne, hatte ich auch schon ein paar mal, dass ich vergessen habe 
einzustellen, dass das PICKIT strom liefern soll, da kam das gleiche. 
Wie Carsten schrieb.


Und das doch alle pins verbunden waren ist mir später auch aufgefallen 
;) Dieser Knick hat mich verwirrt^^

Aber dennoch, mit 5 längeren und 2 kürzeren Kabeln einfach mal direkt 
anschließen und gucken, obs geht..

von t. p. (mcsnoop)


Lesenswert?

Verdrahtung ist i.O.

Bekomme bei einigen PICs aber dennoch die Meldung:

Device ID (00000000) does not match expected DeviceID (00001200).

Auf dem einen PIC war aber noch eine Demo drauf und die läuft auch wenn 
ich den wieder auf die Testplatine stecke und die an den USB 
anschliesse.

Im MPLab bekomme ich unter PicKit3 Vdd Voltage 4,88V angezeigt auch wenn 
ich refreshe.

von Martin S. (drunkenmunky)


Lesenswert?

Hast du jetzt Kondensatoren zwischen Vdd und Vcc gemacht?

von t. p. (mcsnoop)


Lesenswert?

Martin S. schrieb:
> Hast du jetzt Kondensatoren zwischen Vdd und Vcc gemacht?

Nein, einfach den PIC an das PicKit 3 direktverdrahtet wie oben 
geschrieben. wurde ja gesagt wenn ich nur brenne dann braucht es keine 
weiteren Bauteile.

Ein PIC wo die Meldung nicht erscheint, da steht bei VDD auch 5,00 V.

von t. p. (mcsnoop)


Lesenswert?

1
#include <p18f4550.h>
2
3
#pragma config FOSC = INTOSC_EC
4
#pragma config PWRT = OFF
5
#pragma config BOR = OFF
6
#pragma config MCLRE = ON
7
#pragma config PBADEN = OFF
8
#pragma config ICPRT = OFF
9
#pragma config LVP = OFF
10
#pragma config WDT = OFF,DEBUG=OFF
11
12
void main (void)
13
{
14
  /* Make all bits on the Port D (LEDs) output bits.
15
   * If bit is cleared, then the bit is an output bit.
16
   */
17
  TRISD = 0;
18
19
  /* Reset the LEDs */
20
  PORTD = 0;
21
22
  /* Light the LEDs */
23
  PORTD = 0xFF;
24
25
  while (1)
26
    ;
27
}

Voala - und schon gehen auch die ganzen 8 LEDs am Port D an. =)

von t. p. (mcsnoop)


Angehängte Dateien:

Lesenswert?

So Abschliessend:

Auf dem 1. Bild hab ich die Freiluftverdrahtung noch mit Brücken 
gesteckt und es funktioniert.

Bild 2 und 3 sollen nur zeigen das die Lampen auch an und aus gehen.

Zu dem VDD Problem, das einige PIC18F die ich hier durchprobiert habe 
nicht 5,00V sonder 4,88V angezeigen und dann bei PICKit3 anstecken die 
Fehlermeldung "Device ID (00000000) does not match expected DeviceID 
(00001200)." ist mir aufgefallen, das die Verbindung zwischen PicKit3 
und dem Board nicht sehr fest ist.

Ich habe leider nur eine Winkelstiftleiste die auf der einen Seite nur 
kurze Pins hat. Wenn ich nun die Stiftleiste gerade lasse bekomm ich 
diese Meldung fast bei jedem PIC. "verkeile" ich die Stiftleiste gibts 
diese Meldung bei keinem PIC. Denke das das ein Kontaktproblem ist.

Ich habe leider nicht die Möglichkeit zum löten aber da das Brennen nun 
auf dem Steckbrett geht kann ich mich nun um den Inhalt kümmern. =)

Danke an Alle für die Hilfe.

VG

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.