Forum: Mikrocontroller und Digitale Elektronik ERLEDIGT - PIC 16F628 - Probleme beim Brennen


von Michael R. (elektr-hobbyist)


Angehängte Dateien:

Lesenswert?

Hallo alle zusammen.

Ich habe ein Problem beim ICSP- Brennen eines PIC16F628.
Die dazugehörige Schaltung habe ich angehängt.
Als Brennen kommt ein PicKit3 zum Einsatz.
Versuche ich über MPLABX zu brennen bekomme ich die im Bild zu sehende 
Fehlermeldung.
Mit der MPLAB IPE genau das Gleiche.
In meinem Programm habe ich das MCLR-Pin als normales I/O-Pin 
konfiguriert.
Darüber hinaus, benutze ich den internen Oszillator.
Das diese Kombination nicht ganz unkritisch ist, ist mir bekannt.
Die IPE habe ich so eingestellt, dass die Vdd für den PIC beim Brennen, 
vom PicKit bereitgestellt wird (siehe Bild).
Des weiteren habe ich eingestellt, dass Vpp vor Vdd eingeschaltet wird 
(siehe Bild).
Nach meiner Recherche, sollte sich der PIC trotz der MCLR-I/O  /  INTOSC 
-Kombination, mit der Vpp zuerst-Option brennen lassen, was aber wie 
schon beschreiben, leider nicht funktioniert.
Die Verbindungen von ICSP- Stecker zum PIC habe ich überprüft, die sind 
in Ordnung.

Hätte vielleicht noch jemand einen heißen Tipp für mich?

L.G.

Micha

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Michael R. schrieb:
> Das diese Kombination nicht ganz unkritisch ist, ist mir bekannt.

Was soll da kritisch sein?

Die Schaltung zieht zu viel Strom (30mA max.), eventuell macht der 100µF 
Kondensator ärger. Versorge sie mal mit nem Netzteil.

von Michael R. (elektr-hobbyist)


Lesenswert?

Hi Teo.

Teo Derix schrieb:
> Was soll da kritisch sein?

Sobald die Betriebsspannung angelegt wird, beginnt der Pic mit der 
Abarbeitung seines Programms.
Da MCLR als I/O-Pin konfiguriert wurde, ignoriert der Pic den Reset vom 
Brenner.
Beim anschließenden anlegen der Vpp stoppt der Pic.
Da der Pic nun nicht resettet wurde, steht der der Programmzähler 
irgendwo, und das Programm wird irgendwo in den Pic geschrieben.
Deshalb muss Vpp zuerst angelegt werden, und erst danach Vdd, damit der 
Pic nicht erst mit der Programmabarbeitung beginnt.

Teo Derix schrieb:
> Die Schaltung zieht zu viel Strom (30mA max.)

Die Vdd vom ICSP Stecker, liegt direkt an Pin 14 vom Pic, und ist durch 
D5 vom Rest der Schaltung getrennt.

Teo Derix schrieb:
> Versorge sie mal mit nem Netzteil.

Das "beißt" sich mit Vpp first.

L.G.

Micha

von Chris S. (schris)


Lesenswert?

Du hast pgm vergessen. !!

von Max H. (hartl192)


Lesenswert?

Michael R. schrieb:
> Sobald die Betriebsspannung angelegt wird, beginnt der Pic mit der
> Abarbeitung seines Programms.
Das macht er mit einem Quarzoszillator auch, wenn er korrekt beschalten 
ist.
> Da MCLR als I/O-Pin konfiguriert wurde, ignoriert der Pic den Reset vom
> Brenner.
Davon weiß der PIC aber noch nichts, wenn du ihn noch nie erfolgreich 
geflasht hast.

Chris S. schrieb:
> Du hast pgm vergessen. !!
Ist beim HV-Programmieren nicht nötig, ich habe schon viele PICs ohne 
PGM geflasht.

Das passt zwar nicht zu deiner Frage, aber wenn SW2 ein LCD ist und du 
in dieses auch schreiben und nicht nur lesen willst, habe ich eine 
schlechte Nachricht für dich:

Zitat Datenblatt [1] S.31:
> 5.1 PORTA and TRISA Registers
> [...]
> RA5 is a Schmitt Trigger
> input only and has no output drivers

[1] http://ww1.microchip.com/downloads/en/DeviceDoc/40300C.pdf

: Bearbeitet durch User
von Michael R. (elektr-hobbyist)


Lesenswert?

Max H. schrieb:
> schlechte Nachricht für dich:

AU WEI!!!
Das ist mir völlig entgangen! GRRRR!

Danke für den Hinweis Max.

L.G.

Micha

von Teo D. (teoderix)


Lesenswert?

Danke für die Auffrischung, eigentlich hatte ich das mal gewusst... 
glaube ich. Scheinbar macht sich so langsam das Alter bemerkbar :(

Die Schaltung sollte ja eigentlich auch kaum Strom ziehen, der Elko (mit 
o. ohne D5) kann's ja eigentlich auch nicht sein.
Schon mal nachgemessen was da so am Pic ankommt?

Hab hier auch so einen Kandidaten. 30-50 ging's ohne Probleme, dann 
"No Target...". 100x nach-gemessen, -gelötet, gereinigt, Pic getauscht 
- nüscht, will einfach nich mehr ?-(
Hab das Teil mal zum nachreifen in die Schublade gelegt. Liegt 
vielleicht am Vollmond, Schwarzen löchern, Sonnen-Flares...

Gib bitte laut, wenn Du was gefunden hast.

von Michael R. (elektr-hobbyist)


Lesenswert?

Durch meine Unachtsamkeit bezüglich RA5, muss ich das Ganze sowieso 
umfrickeln.
Da ich RA5 nicht als Ausgang nutzen kann, wäre das Pin ohnehin frei.
Dann könnte ich selbiges ja ganz normal als MCLR benutzen.

Ich überlege halt gerade, ob ich die bestehende Leiterplatte verändere, 
oder gleich einen neue Leiterplatte mit den entsprechenden Änderungen 
mache.
Es wäre halt gut zu wissen, wo der Fehler liegt, um ihn nicht bei einer 
neuen LP wieder mit ein zu bauen.

L.G.

Micha

: Bearbeitet durch User
von Chris S. (schris)


Lesenswert?

Lvp ist defaultmassig on und hat Vorrang.
Wenn pgm aber nicht auf low ist dann kann das config Register nicht 
programmiert werden, flash programmieren geht. Dies heisst auch dass lvp 
nicht deaktiviert werden kann und sobald dann im normalem run pgm auf 
high geht, dann ist der programmiermodus aktiv und das Programm 
angehalten.

von Michael L. (michaelx)


Lesenswert?

PGM muss Low sein, damit der PIC (zumindest erstmalig) programmiert 
werden kann. Wenn LVP abgeschaltet wird, ist der Zustand von PGM danach 
egal.

Einfach mal die "Programming Specification" lesen ...

"the PGM pin must not be allowed to toggle while
programming. The PGM pin is edge sensitive and if an
edge is detected during programming, it may cause the
PC to reset. If the LVP feature is disabled, the PGM pin
will have no effect on programming."

"Note: The LVP feature is enabled by default
when the LVP bit of the Configuration
Word is set."

ENTERING HIGH VOLTAGE PROGRAM/VERIFY MODE

"Note: If the LVP fuse is enabled, PGM should be
held low to prevent inadvertent entry into LVP
mode."

von Chris B. (dekatz)


Lesenswert?

Michael R. schrieb:
> Die IPE habe ich so eingestellt, dass die Vdd für den PIC beim Brennen,
> vom PicKit bereitgestellt wird (siehe Bild).

Ja und wenn der USB-Anschluss keine 5,00 Volt liefert, dann kommt meist 
diese Fehlermeldung weil Pickit3 eben keine 5,00V liefern kann. Schon 
mal probiert 4,75V oder 4,5 einzustellen und damit zu programmieren?

War vor kurzem hier schon mal Thema:
Beitrag "PICKIT3 Problem mit 5V Spannungsversorgung"

von Michael R. (elektr-hobbyist)


Lesenswert?

Hallo alle zusammen.

Vielen Dank für eure Hilfe!
Mit PGM auf Masse und eingestellten 4,75 Volt funktioniert das Ganze 
wunderbar.

Ein schönes Wochenende.

L.G.

Micha

von Michael L. (michaelx)


Lesenswert?

Danke für die Rückmeldung. Sehr vorbildlich.

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.