www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16F84 heftige Probleme, kein Oscillator schwingt an MPLAB, MPSIM.etc.bin Neuling!


Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle Nutzer,

ich hoffe dass mir hier jemand weiterhelfen kann, ich habe nämlich ein
erhebliches Problem.

Ich bin vollkommener Neuling auf dem Gebiet der Microcontroller, nun
habe ich den ICD2 und schon etwas mit Ihm, MPLAB und MPSIM rumgespielt.
Ich habe ein eigenes Projekt entworfen und ein Programm geschrieben. Es
war möglich das Programm in ein .ASM und ein .HEX file zu konvertieren.
Ich kann den Controller (PIC16F84) auch programmieren und alles. Das
Proghramm läuft in der Simulation MPSIM. Allerdings ist es halt ein
Anfängerprogramm und somit nicht besonders elegant geschrieben, aber es
läuft.

Wenn ich den PIC aber nun programmiere und in die Schaltung stecke,
schwingt der Oszillator (4Mhz Quarz´) nicht an. Auch ein RC Glied
schwingt nicht an. Habe mit der Konfiguration auch schon alles versucht,
also als RC Glied, als Xt, HS, LP und alles! Mit einem Oszilloskop
konnte ich feststellen, dass alle diese Glieder keine Frequenz liefern.


Ich bitte hiermit flehentlich um eine Auskunft wenn mir jemand helfen
kann!


BITTE BITTE BITTE BITTE BITTE BITTE BITTE BITTE BITTE BITTE BITTE BITTE



MfG: Manjavi

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte Schaltplan posten...

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar, den stelle ich von zu Hause aus rein! Denke er ist 
spätestens heute abend gegen 23 Uhr on!

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kommst du denn darauf, dass der Quarz nicht schwingt?
Vielleicht läuft auch einfach das Programm nicht wie gewünscht...

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
XT müßte richtig sein, Kondensatoren nicht vergessen! Falls vorhanden, 
mit Oszi nachsehen, ob da wirklich nichts passiert.

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder das, aber wenn ich am Quarz keine Frequenz messe...? Habe da leider 
noch keine Erfahrung mit... und in der Simulation lief das Programm ja 
auch!

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit dem Oszilloskop habe ich das ganze schonmal etwas untersucht, 
ich messe dort lediglich 5V und keine Frequenz! Mit dem Oszi kann ich 
umgehen... und mein Chef hat da auch nix gefunden (Techniker). Aber 
danke erstmal, ich werde es fröhlich weiter versuchen! Wenn Ihr sonst 
noch Ideen habt...immer her damit! ;-)

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So, hier einmal die Schaltung! Habe nen netten Chef ;-) Durfte Sie grad 
hochladen ^^ Irgendwie fehlen leider einige Verbindungen, versuche Sie 
nachher nochmal besser hochzuladen....

Autor: sei ruhig du kleine fotze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
buuuuuuuuuuuuuuuuuuuuuu

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was buuuuuuuuuuuuu?

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An unseren lieben Gast hier: Ich denke wir sind bgebildete vernünftige 
Menschen und können uns gebildet artikulieren, ich glaube auch dass 
solche Gastnamen nicht unbedingt nötig sind! Oder hast du dich im Forum 
vertan?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es ein Quarz, oder ein Quarzoszillator?
Wenn es ein Quarz ist, dann fehlen die Kapazitäten!!!!

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, gerade gefunden...
Bisschen $%§$%$&§ gezeichnet...
Was haben die denn für einen Wert?

Autor: Enrock Ja (Firma: studi) (enrock)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
musst im Datenblatt schauen unter crystal... in der Regel um die 22 pF

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe 27pF genommen. Das ist ein Quarz!

Autor: Atlas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe für einen 4 MHz Quarz an 16F PIC's Kondensatoren von
15 pF bis 22 pF  verwendet. Lief immer ohne Probleme.
Wenn die Kondensatoren zu groß sind, kann es sein, dass der Oszillator
nicht anschwingt.

MfG

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auch bei so kleinen werten? ich habe nun nochmal ein neues kleines 
Programm geschrieben welches nur alle LEDs des PORTB blinken lässt, das 
Programm funktioniert, auch inner Schaltung, allerdings schwingt nicht 
der Quarz, sondern es blinkt in ungleicher Zeitfolge ohne besc haltung 
an den OSC Pins. Und das macht es mit der Konfiguration HS, LP, RC, und 
XT.... ist das normal?

Autor: Claus P. (claus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
watchdog off?

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, der ist eingeschaltet, hatte ihn aber auch mal aus! Jetzt beim 
neuen Programm habe ich den wieder drin, aber beim vorherigen habe ich 
ihn rausgenommen weil er einen Überlauf gemacht hat!

Sollte ich den lieber rausnehmen?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JAAAAAAAAAAAAAAAAAAAAAAA!

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du die Oszillator Selection Bits FOSC0 und FOSC1 richtig gesetzt?

Autor: Sven Woehlbier (woehlb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also was ich in der Schaltung bei allen IC's wirklich vermisse, sind die 
Stützkondensatoren.

Autor: Sven Woehlbier (woehlb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch zwei weitere Probleme.

1) Wenn du nach dem Einschalten nicht immer per Hand den Resetschalter 
betätigen willst, dann brauchst Du parallel zum Schalter einen 
Kondensator. Aus der minimalen Resetdauer (siehe Datenblatt) und dem 
Pull-up Widerstand kannst du über die Zeitkonstante Tau den Kondensator 
berechnen.

Tau = R*C (für Zeit zum Aufladen eines Kondensators setzt man ca. 3...5 
* Tau)

2) Der PIC16F84 hatte noch kein internes Brown out. Er erkennt also ein 
langsames absinken der Spannung nicht, und löst dann auch keinen 
automatischen Reset aus. Mit Hilfe eines Komparators mit digitalen 
Ausgang und vorgeschalteten Spannungsteiler, könntest Du eine 
Resetschaltung realisieren.

Sollte der Quarz nicht anschwingen, kann es am Quarz selber liegen. Ein 
ähnliches Problem hatte ich auch schon. Dann passen eventuell die 
Kennwerte des quarzes nicht. Ich habe damals den ursprünglichen Quarz 
gegen einen Quarz von Epson tauschen müssen. Schau mal im PDF "Mid-Range 
MCU Familie" auf Seite 2-7 dort werden Quarze empfohlen.

Autor: Sven Woehlbier (woehlb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann die PDF-Datei "Mid-Range MCU Familie" nicht hochladen. 
Anscheined ist die Datei zu groß. Mein PDF hat die Nummer DS31002A und 
ist aus dem Jahr 1997. Die Quarz Empfehlungen waren dort im Abschnitt 
"2.3.2 Component Selection". Das aktuelle PDF kannst Du Dir auf der 
Seite von Microchip herunterladen. www.microchip.com

Tschau Sven!

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mike wrote:
> Hast Du die Oszillator Selection Bits FOSC0 und FOSC1 richtig gesetzt?

Wo kann ich diese Bits denn setzen? Oder wie mache ich das? Doch nicht 
in der .inc oder? Soll ich die bei der Initialisierung im ASM file 
setzen?


SCHONMAL HERZLICHEN DANK AN ALLE, DIE SICH SOLCHE MÜHE GEBEN MIR ZU 
HELFEN!!!!

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
René Manjavi wrote:
> Mike wrote:
>> Hast Du die Oszillator Selection Bits FOSC0 und FOSC1 richtig gesetzt?
>
> Wo kann ich diese Bits denn setzen? Oder wie mache ich das? Doch nicht
> in der .inc oder? Soll ich die bei der Initialisierung im ASM file
> setzen?

in Assembler in der Zeile:
  __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
                                                    ^^^^^^^
Alternativ _HS_OSC

Diese Symbole sind in der Datei P16F84.INC definiert und beeinflussen 
eben die FOSC1:FOSC0 Bits.
Daraus wird ein entsprechender Eintrag in der Hexdatei erzeugt, welche 
der Programmer dann nutzt, um die Bits korrekt zu programmieren.

Alternativ kannst Du die Bits im Programmer bzw. in MPLAB einstellen 
(Configure -> Configuration bits). Aber im Sourcecode ist es besser, da 
es nicht vergessen werden kann.
(die AVR-Fans können sicher ein Lied davon singen...)

P.S.: Hast Du wirklich einen PIC16F84, nicht einen '84A? Weil der '84A 
den alten '84 schon seit langem abgelöst hat. Hat aber auf Dein Problem 
wohl keinen Einfluss.

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genauso wie Du es geschrieben hast sieht meine Konfigurationszeile auch 
aus.... aber tut sich dennoch nix....

Vielleicht kann ich auch mal versuchen die FOSC0, FOSC1 Bits direkt zu 
setzen!


Ich habe momentan einen 16F84 drin, habe es mit dem 84A auch schon 
getestet, habe alle 5 Stück günstig in einem Set erhalten, deshalb habe 
ich den neuen und auch den alten Typen. Ich denke zum Einstieg soll das 
wohl reichen! Auch wenn er veraltet ist....



DANKE Dir aber schonmal für Deine Mühe!

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch ganz dollen Dank an Sven Wohlbier!!!!!

An die Stützkondensatoren werde ich bei der neuen Schaltung denken, 
bringe sie vorerst auf meinem Steckbrett mit unter!


Der RESET stimmt! Das ist logisch, habe ich vorher auch nicht dran 
gedacht, werde die neue Platine auch damit ausstatten!


DANKE DANKE DANKE!

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier mal grad das Programm hochgeladen, wenn das wen 
interessiert. Wundert Euch nicht über die Kommentare, ich habe die Datei 
von Microchip ins Deutsche übersetzt um erstmal zu verstehen was da 
alles so passiert   ;-) Ist mein erstes Programm, habe es in ein 
Beispielprogramm von Microchip geschrieben!


Hoffe, Ihr findet meinen Fehler....    ;-)

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
René Manjavi wrote:

> Hoffe, Ihr findet meinen Fehler....    ;-)

Welchen Fehler? Ist das ein Quiz im Stil: Finde die zehn Unterschiede?
Und was bekommt der Gewinner?

Im Ernst: Läuft jetzt Dein Oszillator? Läuft das Programm? Lässt es sich 
korrekt assemblieren? Wenn nicht, wie lautet die Fehlermeldung?
Was sollte das Programm tun, und was tut es statt dessen?

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, das Programm läuft, es läuft im PIC, es läuft in der Simulation, 
es gibt weder Error noch Fehlermeldungen, noch Warnings im MPLAB. Mein 
einziges Problem ist, dass das Programm im PIC nur sehr ungenau läuft, 
die Zeit passt nicht im geringsten (das Programm lässt alle 8 LEDs am 
PortB des PICs blinken). Außerdem läuft der PIC nur wenn weder 
Oszillator, noch RC-Glied angeschlossen sind und ich den OSC1 Pin mit 
einem Draht berühre der mit meinem Körper (Hand) verbunden ist, 
ansonsten stockt das Programm sehr häufig und überschlägt sich indem es 
in unkontrollierten Abständen blinkt!

Am Oszillator messe ich eine Frequenz von exakt 100Hz



P.S.: Der Gewinner erhält ein  fettes Danke und RESPECT


     ^^^^^^^^^
   (  o     o  )
    (   /_\   )
     (   =   )
      ( --- )
       /   \

Autor: Sergey (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem, dass der PIC stockend das Programm abarbeitet, kann auch
an einer nicht oder falsch angeschlossenen MCLR-Leitung liegen. Dann
resettet er andauernd. Die MCLR Leitung muss durch 10K mit VDD
verbunden sein.

Probier mal einen Resonator (MURATA CST x.xx) aus, der braucht keine
Kondensatoren, damit muss es also funktionieren.

Vergiss ausserdem den normalen 100nf Bypass-Kondensator nicht.

Hier findest du weitere Infos:
http://www.sprut.de/electronic/pic/osc/index.htm

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich weiß ist nun mit der Schaltung alles in Ordnung, läuft aber 
immernoch nicht mit richtiger Frequenz, sprich der Oscillator ,macht 
immernoch nix....   :-(


Aber dennoch herzlichen Dank an alle, die mir hier so zur Seite stehen!

Autor: Murratalover (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jepp, die Murrata-Teils sind wirklich cool..

http://www.conrad.ch/goto.php?artikel=726406

Ich verwende immer selbige, gibts aber bei Conrad
nur bis 10MHZ..

Unlöblich !

Autor: René Manjavi (Firma: Mahee.AG) (majavi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nja, das mit dem Resonator kann ich ja nochmal testen. Muss ich dann 
auch auf RC_OSC konfigurieren?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.