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ß
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.
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.
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
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
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?
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.
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
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
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.
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.
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.
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.
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.
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 PICkeinerlei 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.
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.
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 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.
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
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
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
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.
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.
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.
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..
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.
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.
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