-         

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 32

Thema: ATmega8 initialisiert bei Power on nicht immer

  1. #1
    Crazy:Hardware
    Gast

    ATmega8 initialisiert bei Power on nicht immer

    Anzeige

    Guten Abend,

    ich habe eine kleine Schaltung mit einem ATmega8 gebastelt.
    Als Takt benutze ich den internen RC-Oszillator ( 8MHz ), leider muß ich nach fast jedem Power on erst einen manuellen Reset durchführen, damit die Ports korrekt initialisiert werden und die Schaltung wie gewollt funktioniert.

    Hat jemand eine Idee was das sein könnte?

    Ich habe verschiedene ATmega8 ausprobiert, bei allen das gleiche Problem.

    Es ist auch nicht so, das der µC garnicht arbeitet, eine in der Programmschleife eingearbeitet Led blinkt und signalisiert Aktivität.

    MfG Hansi

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    schick mal bitte deine schaltung!!!
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Gast
    Die Schaltung ist nicht kompliziert, ich beschreide Sie am besten mal kurz:

    Der ATmega arbeitet als I2C-slave, angeschlossen an einem rn-control-Board.

    Über den I2C-Stecker vom rn-controlboard wird die Schaltung mit 5V versorgt. Den Resetpin habe ich über 10KOhm an VCC geklemmt.
    Außer SDA/SDL sind die Ports Portc.3 / Portc.4 beschaltet, an dem einen ist ein Funkempfänger und an dem anderen ein Sender.

    Das Modul benutzt die Funksignale des FS20-Funksystems von ELE / Conrad-Elektronik. Funke und Empfang klappen einwandfrei, auch der Datentransport über TWI arbeit super, bis auf den einen Manko mit dem "Anlauf". Ich habe in einer Do/Loop schleife eine Led ( Portd.4 ) eingebaut, manchmal blinkt die Led wie sie soll, aber Empfänger geht nicht oder Sender geht nicht, oder TWI funzt nicht , manchmal bleibt die Led auch aus. Die einzige Erklärung ist für mich, das die Ports nicht korrekt initialisiert werden. Wie geschrieben, nach Reset ( ohne Spg.-Abschaltung ) funzt es.

    Gruß Hansi

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.564
    ...ähmm, soweit ich weiss taktet der interne Oszillator doch nicht mit 8Mhz sondern nur mit 1 Mhz. Vielleicht da mal gucken...

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    und du hast nicht zufällig nen schaltplan?
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    ...ähmm, soweit ich weiss taktet der interne Oszillator doch nicht mit 8Mhz sondern nur mit 1 Mhz. Vielleicht da mal gucken...
    der Takt des internen Oszillators beim ATMEGA8 ist variabel, man kann 1, 2, 4 oder 8MHz einstellen

  7. #7
    Gast
    @x-ryder,

    die Beschreibung entspricht doch dem Schaltplan. Es funktioniert ja auch,
    nur der Power-on Reset arbeit wohl nicht wie gewollt.
    Ich habe bisher nur ATmega8L ( 2,7V bis 5,5V ) einer Serie verwendet.
    Heute wurden andere ATmega8 ( andere Serie ) geliefert die ich testen werden. Zusätzlich werde ich den Resetpin über einen 100nF Kondensator
    auf low ziehen. Mal schauen ob das hilft.
    Ich werde mich heute Nachmittag diesbezüglich wieder melden.

    Gruß Hansi

  8. #8
    Gast
    So, ich habe nun den Resetpin zusätzlich mit dem Kondensator beschaltet
    und einen ATmega8 16PI ( Industrie mit erweitertem Temp.-Bereich )
    eingesetzt.
    Der Erfolg: Fehler tritt anscheinend etwas seltener auf, aber er tritt auf.

    Bye Hansi

    PS.:
    Kann ja leider nicht reingucken, ob der TWI nur nicht arbeitet oder die Ports nicht etsprechend Eingang/Ausgang initialisiert sind.
    Programmiert habe ich die Sache mit dem Bascom-AVR mit Inline Assembler

  9. #9
    Gast
    Ach so, vieleicht noch als Zusatz-Info.

    Wenn Daten empfangen werden, dann hört bedingt durch die Auswertzeit die Led kurz auf zu blinken. Das ist manchmal nicht der Fall, weshalb ich darauf schließe, das der Port garnicht gelesen wird.
    Das gleiche gilt auch für das senden.
    Bei einem manuellen Reset wird nur der ATmega8 resetet, nicht die Sende- / Empfangsmodule weshalb ich einen Fehler dieser Module ausschließe.

    Gruß Hansi

  10. #10
    Gast
    Ich bin jetzt zu einer neuen Erkenntnis gekommen.

    Wenn das Empfangsmodul nicht eingesteckt ist funzt es richtig, zumindest der für das Senden zuständige Teil.

    Das Empfangsmodul liefert auch schon während des Resets Impulse an
    Pinc.3 , kann der Fehler damit zusammen hängen?
    Wird durch die Impulse der Programmiermodus oder ähnliches eingeleitet?

    MfG Hansi

Seite 1 von 4 123 ... LetzteLetzte

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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