-         

Ergebnis 1 bis 9 von 9

Thema: Probleme mit Reset

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892

    Probleme mit Reset

    Anzeige

    Ich bastel zur Zeit an einem SD Kartenschreiber für einen ATMEGA 32 rum.
    Es klappt auch soweit alles wunderbar, allerdings hab ich noch ein kleines Problem.
    Man kann während des schreibens auf die SD Karte ja den Strom abschalten.
    Dadurch wird die Datei nicht ordnungsgemäss geschlossen und ist somit für den PC nicht lesbar.

    Ich hab versucht, das Problem mit einem GoldCap Kondensator vor dem Spannungsregler zu lösen.
    Das klappt auch soweit ganz gut. Wenn man allerding kurz nach dem Ausschalten den Strom wieder einschaltet befindet sich die Karte und der Controller in einem undefinierten zustand und die Schaltung funktioniert nicht mehr richtig.

    Ich hab auch schon versucht die Brown Out detection zu aktivieren.
    Das funktioniert aber leider nicht.
    Der Controller wird resettet und schaltet die Ports hochohmig.
    Dadurch erholt sich die Spannung ein wenig und der Controller startet neu.
    Dadurch wird aber dann die Stromaufnahme wieder höher und die Brown Out detection schlägt wieder zu.
    Das Spielchen geht dann so über mehrere Sekunden.

    Ich möchte wenn möglich keine zusätzliche Hardware verwenden, da ich schon fertige Platinen habe.

    Hab Ihr dazu noch eine Idee ?

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    In welche Situation tritt das Pendeln zwischen Reset und Aktiv denn auf? Wenn der Strom weg ist und der GoldCap einspringt, oder beim Wiedereinschalten?

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    In welche Situation tritt das Pendeln zwischen Reset und Aktiv denn auf? Wenn der Strom weg ist und der GoldCap einspringt
    Wen die Brown Out Detection an ist, passiert das wenn der Gold Cap den Strom liefern muß.
    Ohne Brown Out detection fällt die Spannung einfach langsam ab.
    Ich hab den Gold Cap jetzt gegen einen 4700µF Kondensator getauscht und die Brown Out abgeschaltet.

    Das funktioniert so auch einigermassen.
    Wenn man aber auch hier unmittelbar nach dem Abschalten den Strom wieder einschaltet, hängt sich auch hier der Controller wieder auf.
    Die Schaltung nimmt im Betrieb, je nach Betriebszustand zwischen 18mA und 64mA auf.

    Es ist ein 3,3V Low Drop Spannungsregler drin, der auf dem Eingang mit 5V versorgt wird. Hier sitzt auch der Gold Cap.
    Die 5V werden hier über eine Schottky Diode und einen 10Ohm Widerstand eingespeist.

    Ich hab mal den kompletten Schaltplan angehängt.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken sd_writer.jpg  

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Kannst du sagen, ob der AVR selbst hängt, oder nur die Karte, und der AVR wartet dann endlos auf ne Antwort?

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Kann ich leider nicht sicher sagen.
    Manchmal funktionieren die LED's am Gerät anscheinend richtig, aber auf der Karte wird nur Mist oder gar nichts aufgezeichnet.
    Dann scheint der Controller wieder selber zu hängen, da sich überhaupt nichts mehr tut, obwohl beim Start nur ein Hardwareschalter im SD Slot abgefragt wird.

    Einen Watchdog kann ich leider auch nicht einsetzen. Wenn der bei geöffneter Datei zuschlägt sind die Dateien auf der Karte ( können bis zu 512 Stück sein ) nicht mehr lesbar.

    Ich möchte erreichen, das bei einer geöffneten Datei diese beim Abschalten der Betriebsspannung geschlossen wird.
    Das ist zwar eigentlich ein Bedienfehler - so ähnlich als ob man den PC ohne runterfahren abschaltet - Ich möchte das aber trotzdem abgesichert haben.

    Beim erneuten Einschalten soll der Controller wieder einen sauberen Reset fahren, damit die Karte richtig initialisiert wird.

    Ich hab mir überlegt, ob man den Controller nicht beim Einschalten die Versorgungsspannung etwas belasten lässt ( mit ca. 10 mA ) und dahinter eine kleine Zeitschleife ( 200...500ms ) einbaut.
    Wenn der Controller dann neu Startet wird die Versorgungsspannung belastet und es sollte nicht mehr zu wiederholten Resetvorgängen kommen.
    Wenn doch sollte der Controller noch vor der Karteninitialisierung stoppen.
    Im normalen Betrieb hätte das keine Auswirkung auf den Stromverbrauch der Schaltung.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.364
    du könntest einen controllerpin an die eigentliche versorgungsspannung klemmen

    idealerweise irgend nen interruptpin mit noise canceler .. vielleicht sogar nen spannungsteiler, damit bei <5V (leichte unterspannung) gerade so 2-2.5V am spannungsteiler anliegt (TTL Level)

    wenn die spannung vor deiner schottky einbricht, kommt der strom ausm goldcap und dein controller sollte noch wenige mS zeit haben um alle schreiboperationen zu beenden und dann solange warten bis die eingangsspannung wiederhergestellt ist oder eben der brownout kommt ...

    zu beginn deines programm solltest du den pin ebenfalls abfragen, ist die versorgung noch nciht wieder online und der cap hat wieder spannung aufgebaut(dein kontroller kommt ausm reset), einfach NICHT starten

    das ganze könnte man auch extern mit nem schmitttrigger, nem logik-gatter und nem flipflop machen

    wenn strom weg, speicher alles, löse reset aus (pull down)

    wenn strom da und spannung ausreichen(schmitttrigger), reset beenden (pull up)

    ich knobel mal an der schaltung, vielleicht kommt mir die zündende idee wie es aussehen kann

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    ich knobel mal an der schaltung, vielleicht kommt mir die zündende idee wie es aussehen kann
    Danke schon mal im Vorraus.
    Auch ich werd versuchen eine Lösung zu finden.

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    @Ceos und uwegw
    Ich hab meine Idee jetzt umgesetzt und einen 360 Ohm Widerstand zwischen PORTC.7 und GND eingebaut.
    Dort war im Layout ohnehin ein Platz für eine Drahtbrücke vorgesehen, da ist eben jetzt ein Widerstand drin.

    Beim Start des Controllers wird dieser Pin auf high geschaltet und dann 0,7 sek gewartet.

    War es die Betriebsspannung, die den Controller aufgeweckt hat läuft er ganz normal weiter- der PORTC.7 wird zur Stromersaparnis natürlich wieder abgeschaltet.
    War es nur die Restladung vom Gold Cap wird die Stromversorgung soweit belastet, das die Spannung wieder zusammenbricht, wird der Brown Out Reset angestossen und gar nicht erst versucht die SD Karte zu initialisieren.

    Ich werd jetzt noch eine wenig mit den Kapazitätswerten des Puffer Kondensators rumexperimentieren.

    Ich lass den Threat aber trotzdem mal offen, eventuell haben ja noch Jemand eine noch bessere Idee.

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.364
    sry ich bin heut vor lauter räumen nicht mehr dazu gekommen zu posten ... leider liegt die lösung auf arbeit und ich hab n monat urlaub XD sry total vergessen zu posten

Berechtigungen

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