- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Probleme beim Start des PIC 16F884

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.01.2008
    Ort
    Bensheim
    Alter
    42
    Beiträge
    12

    Probleme beim Start des PIC 16F884

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo, Leute!

    Ich bin ganz neu in diesem Forum und möchte mich deshalb kurz vorstellen:

    Also, ich heisse Marc, bin 26, Studiere derzeit Automatisierungstechnik an der Hochschule Darmstadt. Davor habe ich eine Ausbildung zum Mechatroniker gemacht. Ich beschäftige mich schon seit langem mit Elektronik und Technik aller Art. Seit etwa 4 Jahren programmiere ich PICs. Bisher ausschliesslich in Assembler.

    Zu meinem Problem:

    In einem aktuellen Projekt habe ich den 16f884 verbaut. Die software läuft einwandfrei - wenn sie mal läuft.

    Wenn die Leiterplatte, auf der der PIC sitzt komplett spannungsfrei ist, (alle kondensatoren komplett entladen) bevor ich die Betriebsspannung anlege, dann kann es vorkommen, dass der PIC bei Anlegen der Betriebsspannung scheinbar völlig verrückt spielt oder aber das PRG startet ganz Normal.

    (achso, es handelt sich dabei um einen TIMER, mit Anzeige über 4 7-Segment anzeigen, vier tasten zum zeit einstellen-starten-stoppen,summer, relaisansteuerung.)

    Es ist zwar an der Anzeige zu erkennen, dass es sich um das programm handelt ( Dezimalpunkt der LED-Anzeige Blinkt im Sekundentakt)
    aber es scheint so, als hätte das programm nicht bei 00HEX gestartet oder so...

    Nimmt man die Betriebsspannung kurz weg und schliest sie wieder an, dann läuft das programm wie es soll.

    Hat jemand schon mal ein solches Problem gehabt?
    Habe auch schon mit Microchip telefoniert, die wussten aber auch nicht so recht weiter.

    im voraus schon mal danke, für eure Antworten!!

    Marc

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.10.2007
    Ort
    Bayern
    Alter
    35
    Beiträge
    116
    Hallo Marc,

    hast Du folgendes in der Config aktiviert:
    Power-up Timer (PWRT)
    Brown-out Reset (BOR)

    PWRT lässt das Programme rst Verzögert anlaufen (ich glaube erst 72ms nachdem die Spannung angelegt wurde)
    BOR lösst einen Reset aus sobald die Versorgungsspannung einbricht, das z.B. dann wenn du mit einer Strippe deine Versorgungsspannung anklemmst und dabei beim anklemmen kurzzeitig wieder vom Draht wegkommst, der PIC stoppt und dann wenn die Strippe entgültig fest angeklemmt wurde macht er müll. Mit BOR macht er nun einen Reset.

    mfg
    Benny
    cooming soon...

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    12.01.2008
    Ort
    Bensheim
    Alter
    42
    Beiträge
    12
    Hallo, Benny!

    danke erstmal für deine Antwort!

    verstehe aber noch nicht genau, was du meinst...

    nach jedem unterbrechen und wieder anlegen der betriebsspannung, auch wenn es eine sehr kürze unterbrechung ist, wie z.b. das kontaktprellen beim anklemmen, macht der Pic doch einen Reset?
    Wenn nicht, dann läuft er an der stelle wieter, an der er aufgehört hat.
    extrem kurzes prellen müsste eigentlich durch den Kondensator zwischen Vdd und Vss abgefangen werden.

    ansonsten, wenn ein brown out reset ausgelöst wird, dann wartet der Pic
    die zeit des PWRT bevor er wieder losläuft. Wird BOR aktiviert, dann aktiviert sich automatisch der PWRT mit (zumindest beim 16f884).

    mir kommt es so vor, als würden die ersten befehle im programm einfach übersprungen werden.... bin momentan echt ratlos!

    Hier mal mei config Word , falls es was nützt.

    Code:
    	__CONFIG    _CONFIG1, _DEBUG_OFF & _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_ON & _CPD_OFF & _CP_ON & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTOSCIO
    	__CONFIG    _CONFIG2, _WRT_OFF & _BOR40V
    *** Theorie und Praxis - Zwei Welten prallen aufeinander... ***

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Alter
    60
    Beiträge
    114
    Ich finde, es klingt nach einer nicht initialisierten Variable.
    Check das doch mal.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    12.01.2008
    Ort
    Bensheim
    Alter
    42
    Beiträge
    12
    Hi phaidros

    danke, für den tipp aber das ist es leider auch nicht. Ich habe schon so einiges probiert aber ich find den Fehler nicht....
    *** Theorie und Praxis - Zwei Welten prallen aufeinander... ***

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Du Hast im Config Register den MCLR Pin ausgeschaltet.
    Versuche doch mal testweise den MCLR Pin zu aktivieren und lege ihn über 10 K an +5 Volt.
    Dann probiere ob der PIC immer richtig startet.
    Und wenn der MCLR kurz an Masse gebracht wird muss er einen
    "richtigen" Reset ausführen.

    Führst Du nach einem Reset einen kompletten RAM Clear aus ?
    Das ist sehr hilfreich, damit Du immer mit gleichem RAM Inhalten
    startest. So lassen sich eventuell versteckte Fehler schneller auffinden.

    Bei dem PIC18F252 kann es passieren, daß er den Resetvector NICHT
    erwischt. Hier hat Microchip vorgeschlagen bei ORG 0 zunächst
    2 NOP Befehle einzufügen. Vielleicht hat dein PIC ein ähnliches Problem
    ist jedoch nicht im Errata Scheet deines PICs zu finden.
    Aber die beiden NOPs schaden in keinem Falle.
    mfg. Siro

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    12.01.2008
    Ort
    Bensheim
    Alter
    42
    Beiträge
    12
    Hi Siro!

    DAs mit dem MCLR Habe ich schon probiert. der pin ist in meiner schaltung eigentlich ein eingang hatte ihn aber probeweise schon auf +5V.
    der reset hat einwandferi funktioniert und das programm ist nach jedem reset über den MCLR richtig gestartet.

    einen RAM CLEAR führe ich nicht aus. eigentlich werden alle variablen vor deren benutzung mit entsprechendem inhalt gefüllt. werde ich aber auch mal probieren.

    Die sache mit den zwei nops hört sich aber sehr interessant an, da mein erster befehl im programm ein goto INIT ist. überspringt er den, dann landet er in der interruptschleife und danach durch das retfie sonstwo im programm....

    vielen dank für die tipps, werde ich morgen gleich probieren!

    ich gebe dann bericht, wie es ausgegangen ist...

    bis dann..
    *** Theorie und Praxis - Zwei Welten prallen aufeinander... ***

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    12.01.2008
    Ort
    Bensheim
    Alter
    42
    Beiträge
    12
    Tja, schade... das hat auch alles nichts gebracht...
    das gibts doch nicht!
    *** Theorie und Praxis - Zwei Welten prallen aufeinander... ***

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.11.2007
    Alter
    40
    Beiträge
    140
    Servus,

    hast du das ganze schon mal auf nem anderen PIC probiert? Um einfach mal den Kontroller auszuschließen.

    Gruß

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    12.01.2008
    Ort
    Bensheim
    Alter
    42
    Beiträge
    12
    Ich habe es schon mit mehreren 16F884 probiert. überall der gleiche effekt.... einen anderen mit eeprom und annähernd gleicher pinbelegung habe ich nicht...

    gruss ME
    *** Theorie und Praxis - Zwei Welten prallen aufeinander... ***

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test