Forum: Mikrocontroller und Digitale Elektronik PIC läuft nicht immer an


von Andreas S. (newpiccer)


Lesenswert?

Hallo zusammen,

ich habe ein eigenartiges Problem: PIC 16F876A, 20MHz Quarz -- 27pF, 
10kOhm an MCLR, 100nF und 10uF zwischen +5V und GND
Configs: MPLABX C
#pragma config FOSC = HS        // Oscillator Selection bits (HS 
oscillator)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit
#pragma config PWRTE = ON       // Power-up Timer Enable bit
#pragma config BOREN = OFF      // Brown-out Reset Enable bit
#pragma config LVP = OFF        // Low-Voltage
#pragma config CPD = OFF        // Data EEPROM Memory Code Protection
#pragma config WRT = OFF        // Flash Program Memory Write Enable
#pragma config CP = OFF         // Flash Program Memory Code Protection

Meistens startet das einfache Hochzählprogramm an PORTB, 1A-Rechtecke 
aufm Oszi. Aber eben nur meistens, wenn ich den PIC mit +5V versorge 
(Steckbrett). Manchmal tut er einfach nichts.
Läuft er und ich mache MCLR auf GND (Reset) dann läuft er meistens nicht 
wieder an. Manchmal schon.
Ich habe mit verschiedenen PICs, 16F876A, getestet, habe mit und ohne 
Kondensatoren probiert, ohne erkennbare Änderung.
Ich dachte immer: Entweder geht immer oder geht nicht. Is aber nich so.

Für Ideen sehr dankbar

Andreas

von Max H. (hartl192)


Lesenswert?

Schaltplan? Vollständiger Code?

von Frank K. (fchk)


Lesenswert?

Schwingt der Quarz sauber an? Ggf 1MΩ parallel zum Quarz.

fchk

von holger (Gast)


Lesenswert?

27pF an einem 20MHz Quarz könnte zu viel sein.
Besonders auf einem Steckbrett. Da kommt dann ja noch was dazu.
Ich würds mal in der Gegend 12-18pF versuchen.
Vieleicht sogar mal ganz ohne.

BOREN auf ON sollte man auch besser machen.

von Andreas S. (newpiccer)


Lesenswert?

Hallo zusammen,

mehr als das, was ich beschrieben habe, ist nicht verschaltet. Deshalb 
habe ich keinen Schaltplan dazu mitgesendet. das Programm läuft ja, 
meistens, deshalb habe ich kein Programm mitgesendet.

Was heißt das: Schwingt der Quarz sauber an? Wie stelle ich das fest? 
Was bewirkt der hohe Parallelwiderstand?

Ich versuche es mal mit kleineren Kondensatoren, habe aber bei Microchip 
gefunden, daß die bis 36pF haben dürfen, bei 20MHz. Wieviel, denkst du, 
macht denn son Steckbrett an Kapazität aus.

Vielen Dank für eure schnellen Antworten

Andreas

von Frank K. (fchk)


Lesenswert?

Andreas S. schrieb:

> Was heißt das: Schwingt der Quarz sauber an? Wie stelle ich das fest?
Siehst Du mit einem Oszilloskop eine Wechselspannung an den Quarzpins?

> Was bewirkt der hohe Parallelwiderstand?
Anlaufhilfe für den Quarzoszillator

> Ich versuche es mal mit kleineren Kondensatoren, habe aber bei Microchip
> gefunden, daß die bis 36pF haben dürfen, bei 20MHz. Wieviel, denkst du,
> macht denn son Steckbrett an Kapazität aus.

Je nach Länge der internen Schienen und dem mechanischen Aufbau einige p 
bis einige 10p.

Ansonsten nimm einen QuarzOSZILLATOR (die 4-Pinnigen Metallkännchen, die 
auch noch Strom brauchen). Die schwingen immer an. Ausgang des 
Oszillators an CLKI (siehe Datenblatt). Config Word passend einstellen!

Oder Steckbrett wegtun und Lochrasterplatine nehmen. Ist eh 
zuverlässiger.

fchk

von Andreas S. (newpiccer)


Lesenswert?

Hallo Frank,

Frank K. schrieb:
> Siehst Du mit einem Oszilloskop eine Wechselspannung an den Quarzpins?

Wenn ich da mein Oszi reinstecke bleibt der PIC stehen und ich habe 
keine Anzeige aufm Oszi. Aber immerhin habe ich dabei entdeckt, daß ich 
an einem PIC, beide Kondensatoren an einen Quarzpin angeschlossen habe.

Frank K. schrieb:
> Oder Steckbrett wegtun und Lochrasterplatine nehmen. Ist eh
> zuverlässiger.

Ja natürlich später gerne, aber jetzt bin ich ja erstmal beim Testen.

Na und außerdem habe ich jetzt das ganze mit nem komplizierteren 
Programm getestet und mir noch nen Blink-LED programmiert, und jetzt 
habe ich den beschriebenen Effekt nicht mehr. Aber das kann doch nicht 
sein, dass das vonner Software abhängt!?

Frank K. schrieb:
> Ansonsten nimm einen QuarzOSZILLATOR

Habe ich mal bei Reichelt & Co. geguckt, die gibts aber nicht in 20MHz 
oder?

Auf jeden Fall habe ich wieder einiges dazugelernt.
Vielen Dank
Andreas

von Max H. (hartl192)


Lesenswert?

Andreas S. schrieb:
> Aber immerhin habe ich dabei entdeckt, daß ich
> an einem PIC, beide Kondensatoren an einen Quarzpin angeschlossen habe.
Dann korrigiert das mal... Mal sehen ob es dein Problem löst.

von Frank K. (fchk)


Lesenswert?

Andreas S. schrieb:

Frank K. schrieb:
> Siehst Du mit einem Oszilloskop eine Wechselspannung an den Quarzpins?

Wenn ich da mein Oszi reinstecke bleibt der PIC stehen und ich habe
keine Anzeige aufm Oszi.

Hast Du eine 10x Probe oder 1x? 10x ist richtig.

> Aber immerhin habe ich dabei entdeckt, daß ich
an einem PIC, beide Kondensatoren an einen Quarzpin angeschlossen habe.

ok, dann kann das auch nicht gehen.

> Frank K. schrieb:
>> Ansonsten nimm einen QuarzOSZILLATOR
>
> Habe ich mal bei Reichelt & Co. geguckt, die gibts aber nicht in 20MHz
> oder?

Wenn man richtig sucht schon:

http://www.reichelt.de/Oszillatoren/OSZI-20-000000/3//index.html?ACTION=3&GROUPID=3174&ARTICLE=13694&SHOW=1&OFFSET=500&;

fchk

von Michael L. (michaelx)


Lesenswert?

Andreas S. schrieb:
> Hallo zusammen,
>
> mehr als das, was ich beschrieben habe, ist nicht verschaltet. Deshalb
> habe ich keinen Schaltplan dazu mitgesendet.

1. Der Schaltplan ist immer die geeignete "Sprache", egal wie simpel die 
Schaltung scheint.

2. Wenn man einen zeichnet ist die Chance groß, Fehler gleich selbst zu 
finden.

> Ich versuche es mal mit kleineren Kondensatoren, habe aber bei Microchip
> gefunden, daß die bis 36pF haben dürfen, bei 20MHz. Wieviel, denkst du,
> macht denn son Steckbrett an Kapazität aus.

Na, dann zieh dir das hier mal rein:

http://www.eevblog.com/2014/01/15/eevblog-568-solderless-breadboard-capacitance/

Danach siehst du die Welt hoffentlich mit anderen Augen. ;-)

Andreas S. schrieb:

> Frank K. schrieb:
>> Ansonsten nimm einen QuarzOSZILLATOR
>
> Habe ich mal bei Reichelt & Co. geguckt, die gibts aber nicht in 20MHz
> oder?

Wenn ich sowas lesen muss, sehe ich vor meinem geistigen Auge immer 
einen völlig hilflosen Menschen vorm vollen, geöffneten Kühlschrank 
verhungern, weil das Licht drinnen nicht angegangen ist.

Sorry, wenn du dich da beleidigt fühlst. - Ist aber so.

Zu den anderen Tips:

Ein Parallelwiderstand als Starthilfe ist berreits im PIC enthalten.
Dagegen wird für Quarze mit AT-Schnitt ggf. ein Serienwiderstand 
empfohlen.
(Beides -> Datasheet 14.2.1)

BOREN kann man aktivieren, wird sich damit aber später (oder eher 
früher) neue Probleme einhandeln, wenn man die Wirkung nicht bedenkt und 
entsprechend behandelt.

:-/

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.