Forum: Mikrocontroller und Digitale Elektronik PIC16F884 seltsamer Effekt


von Michael S. (misax)


Lesenswert?

nachdem ich jetzt den internen Oszillator benutze und die RA1 blinken 
lassen will habe ich folgenden seltsamen Effekt:

1. ich kann das Programm nur hochladen, wenn die die Verbindung zur RA1 
trenne.
2. zuerst blinkt es nicht, wenn ich aber den Prozessor berühre leuchtet 
die LED kurz auf.
3. stecke ich den Jumper zur LED am RA1-Pin ein oder aus, leuchtet die 
LED kurz auf.
4. nach einer Weile wie von Geisterhand fängts auf einmal an zu blinken.

hat das mit JTAG was zu tun ? oder kann der Chip kaputt sein ?

oder hängts einfach nur mit den Verbindungen zusammen ? ich habe jetzt 
aber 3 verschiedene Breadboards ausprobiert immer das gleiche.

den Effekt hatte ich beim externen Osizalltor auch, deshalb habe ich 
jetzt auf intern umgestellt um dieses Ursache auszuschließen.

: Bearbeitet durch User
von Dyson (Gast)


Lesenswert?

Seltsame Effekte sitzen in aller Regel vor der Schaltung.

von H. H. (Gast)


Lesenswert?

Dann zeig doch mal deinen Aufbau.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Michael S. schrieb:
> kann das Programm nur hochladen, wenn die die Verbindung zur RA1 trenne.
Ich sags mal kurz und knackig: kein Schaltplan --> keine sinnvolle 
Hilfe.

von Teo D. (teoderix)


Lesenswert?

Michael S. schrieb:
> 1. ich kann das Programm nur hochladen, wenn die die Verbindung zur RA1
> trenne.
> 2. zuerst blinkt es nicht, wenn ich aber den Prozessor berühre leuchtet
> die LED kurz auf.
> 3. stecke ich den Jumper zur LED am RA1-Pin ein oder aus, leuchtet die
> LED kurz auf.

Bau nen Vorwiderstand an die LED.....

Mach nicht für jeden "Scheiß" einen neuen Thread auf!
Oder glaubst Du hier liest jeder alle deine Threads?!


PS: Langsam glaube ich, hier stinkts nach Fisch. :(

von Michael S. (misax)


Angehängte Dateien:

Lesenswert?

hier der Aufbau

von K. S. (the_yrr)


Lesenswert?

Pack mal einen Elko mit einigen 10 bis 100 uF an die Versorgungsspannung 
Schienen, und je einen Kerko 100nF direkt an den IC.

Wenn das nicht hilft, zieh alles mal raus und steck es neu rein, Wackler 
sind auch nicht zu selten auf dem Steckbrett.

von Michael S. (misax)


Lesenswert?

wie genau die Kondensatoren anschließen ?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

K. S. schrieb:
> und je einen Kerko 100nF direkt an den IC.
Zwischen jedes Vcc/GND-Pärchen muss ein 100nF-Kondensator dicht an den 
µC.
Siehe dort: https://microchipdeveloper.com/8bit:guide

: Bearbeitet durch Moderator
von Michael S. (misax)


Lesenswert?

die beiden 100nF hab ich jetzt dran, leider derselbe Effekt. Jetzt einen 
Elko einfach von plus nach minus ?

von Teo D. (teoderix)


Lesenswert?

Wenn Du MCLR eh nicht nutzt, konfiguriere E3 als Ausgang. Da kannst Du 
dir die Widerstände und den Kondensator sparen. So wie Du es gerade 
hast, nur einen Pull-Up und das Kabel zum Brenner, kann es eigentlich 
nur schief gehen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Michael S. schrieb:
> die beiden 100nF hab ich jetzt dran
Zeig mal.

> Jetzt einen Elko einfach von plus nach minus ?
Nein, jetz gilt: Messen. Miss die Versorgungsspanung ob die durchgängig 
immer den nötigen Wert hat. Oder sorg für eine brauchbare Versorgung aus 
einem Labornetzteil.

von Michael S. (misax)


Lesenswert?

ich weiss noch gar nicht was MCLR ist und hab es einfach so 
angeschlossen wir es in der PICKIT-Beschreibung stand. gut ich versuche 
es mal mit E3 als Ausgang.

von Michael S. (misax)


Angehängte Dateien:

Lesenswert?

hier mit den 100nf

von Michael S. (misax)


Lesenswert?

E3 als Ausgang hat auch nichts gebracht. seltsam ist, wenn ich den Chip 
nur ganz leicht berühre, und auch nur im oberen Drittel, leuchtet die 
LED auf, so als durch meinen Finger dann ein ganz leichter Steuerstrom 
fließt. Ich muss vorerst Schluß machen und mache heute nachmittag 
weiter.

von H. H. (Gast)


Lesenswert?

Michael S. schrieb:
> hier mit den 100nf

Das sind 100pF, und mit viel zu langen Beinen.

von H. H. (Gast)


Lesenswert?

Michael S. schrieb:
> seltsam ist, wenn ich den Chip
> nur ganz leicht berühre, und auch nur im oberen Drittel, leuchtet die
> LED auf, so als durch meinen Finger dann ein ganz leichter Steuerstrom
> fließt.

Miss mal ob da wirklich Durchgang von der Versorgung zu den Pins des µC 
ist.

von John (Gast)


Lesenswert?

Michael S. schrieb:
> und die RA1 blinken lassen will

Port A ist nach Power-On/Reset als Analog-Eingang konfiguriert. Du musst 
ihn als Digital-I/O konfigurieren (siehe Datenblatt).

von Teo D. (teoderix)


Lesenswert?

Teo D. schrieb:
> Wenn Du MCLR eh nicht nutzt, konfiguriere E3 als Ausgang.

Ubs, das andere Links.... Sorry
Natürlich als Eingang konfigurieren. Einen Ausgang hat der Pin ja 
garnicht. :}
Was passiert, wenn man E3 als Ausgang Konfiguriert... KA, da wird wohl 
der MCLR aktiv bleiben.

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

John schrieb:
> Michael S. schrieb:
>> und die RA1 blinken lassen will
>
> Port A ist nach Power-On/Reset als Analog-Eingang konfiguriert. Du musst
> ihn als Digital-I/O konfigurieren (siehe Datenblatt).

Wenn man ihn als Ausgang konfiguriert sollte es egal sein welche der 
möglichen Eingangsfunktionen aktiviert ist. Siehe Datenblatt Seite 44.

von John (Gast)


Lesenswert?

H. H. schrieb:
> Wenn man ihn als Ausgang konfiguriert sollte es egal sein welche der
> möglichen Eingangsfunktionen aktiviert ist. Siehe Datenblatt Seite 44.

Ja, du hast recht (DB Seite 41):
The state of the ANSEL bits has no affect on digital output functions. A 
pin with TRIS clear and ANSEL set will still operate as a digital 
output, but the Input mode will be analog. This can cause unexpected 
behavior when executing read-modify-write instructions on the affected 
port.

Ich konnte mich nur noch daran erinnern, dass es bei einem anderen PIC 
so war.

von H. H. (Gast)


Lesenswert?

John schrieb:
> Ich konnte mich nur noch daran erinnern, dass es bei einem anderen PIC
> so war.

Gut möglich. Solcherlei Fallen gibt es ja bei allen µC-Familien, leider.

von Michael S. (misax)


Lesenswert?

so ich hab jetzt die beiden Kondensatoren durch die richtigen 
ausgetauscht. gleicher Effekt. dann hab ich parallel zur LED ein 
Voltmeter angeschlossen und die Blinkfrequenz erhöht. Ein paarmal 
geändert und neu hochgeladen. das ging jetzt immer ! Voltmeter zeigt 
4,68 Volt. an. wenn ich aber das Voltmeter wieder wegnehme tritt der 
Effekt wieder auf. Das scheint mir fast so als ob der Pin ZUVIEL Strom 
hat und zur Sicherheit sperrt wenn nur die LED dran ist, aber öffnet 
sobald ein zweite Last dranhängt. Deshalb auch wenn ich mit dem Finger 
dranfasse die LED leuchtet. kann das irgendwie sein ?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Michael S. schrieb:
> Das scheint mir fast so
Du bist auf einem Irrweg.

> als ob der Pin ZUVIEL Strom hat und zur Sicherheit sperrt
Welcher Abschnitt des Datenblatts würde so ein Verhalten erklären?

> dann hab ich parallel zur LED ein Voltmeter angeschlossen
Wie hast du das angeschlossen?

Welche bewegte Geschichte hat das Steckbrett hinter sich? Hat da schon 
einer mal einen 1,5mm² Draht reingezwängt?

von Michael S. (misax)


Lesenswert?

Voltmeter an den Ausgangspin, an dem auch die LED hängt, und an Minus.

habe jetzt mal ein nagelneues Breadboard genommen. Gleicher Effekt.

jetzt kommt das Ober-Seltsame: wenn ich den Aufbau mur mit der 
Stromversorgung aus dem PICKIT3 verbinde, dann läuft das gespeicherte 
Blink-Programm (auch ohne Anschluß des Voltmeters), geht aber nach ca. 5 
Minuten nicht mehr. Schließe ich dagegen eine externe Stromversorgung 
von 5 Volt an, dann läuft das Programm nicht (hat das was mit der 
Stromstärke zu tun ?).

Ich kauf mir jetzt nochmal einen PIC16F884 und schaue ob es mit dem 
einwandfrei läuft. Vielleicht hat mein jetziger einen Defekt, weil ich 
mal was falsch angeschlossen habe.

: Bearbeitet durch User
von Peter D. (fenstergucker)


Lesenswert?

Wenn der Pin 1 als MCLR konfiguriert ist, fehlt doch ein externer 
Pullup-Widerstand. So kann jeder Luftzug einen Reset ausführen. Im Code 
im Nachbar-Thread ist MCLRE aktiviert, dann wird der interne 
Pullup-Widerstand aber deaktiviert laut Datenblatt.

Peter

von H. H. (Gast)


Lesenswert?

Peter D. schrieb:
> Wenn der Pin 1 als MCLR konfiguriert ist, fehlt doch ein externer
> Pullup-Widerstand.

Er hat doch einen 1kOhm Pullup dran.

von Dirk F. (dirkf)


Lesenswert?

Hatte mal den gleichen Effekt vor Jahren.
Finger drauf  >>  Seltsame Effekte

Zeig mal Deine Config Bits.
Bie mir war das LVP EN  (Low voltage programming enable pin) 
eingeschaltet und der Pin nicht beschaltet.
Der PIC ist dann immer in den Programmiermodus gewechselt...

von Michael S. (misax)


Lesenswert?

hallo Dirk F.;
DANKE genau das wars !
LVP war on. jetzt hab ichs off geschaltet und alles funktioniert wie 
gewünscht !
Super und vielen Dank !

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

Dirk F. schrieb:
> Bie mir war das LVP EN  (Low voltage programming enable pin)
> eingeschaltet und der Pin nicht beschaltet.
> Der PIC ist dann immer in den Programmiermodus gewechselt...

Diese Falle hätte es beim ollen PIC16F84 nicht gegeben...

von piccer (Gast)


Lesenswert?

Teo D. schrieb:
> Wenn Du MCLR eh nicht nutzt, konfiguriere E3 als Ausgang.

Du hass wohl noch nie mit einem PIC gearbeitet, E3 kann man gar nicht 
als Ausgang programmieren, MCLR/VPP ist immer ein Eingang.

von H. H. (Gast)


Lesenswert?

piccer schrieb:
> Teo D. schrieb:
>> Wenn Du MCLR eh nicht nutzt, konfiguriere E3 als Ausgang.
>
> Du hass wohl noch nie mit einem PIC gearbeitet, E3 kann man gar nicht
> als Ausgang programmieren, MCLR/VPP ist immer ein Eingang.

Du hast wohl noch nie einen Thread zu Ende gelesen.

Beitrag "Re: PIC16F884 seltsamer Effekt"

Beitrag #7238645 wurde von einem Moderator gelöscht.
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.