-         

Ergebnis 1 bis 8 von 8

Thema: Phänomen oder Denkfehler ?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.07.2008
    Beiträge
    12

    Phänomen oder Denkfehler ?

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo allen hilfreichen Mitgliedern,

    ich habe seit dem Wochenende ein Phänomen oder auch einen Denkfehler zu verarbeiten:
    Um bei einem Spannungsausfall bzw. Ausschaltbefehl an einem RN-Board mit ATmega32 keinen Datenverlust zu erleiden habe ich einen Stützkondensator (GoldCap 1,0F) in die Spannungszuführung VCC eingebaut. Anschließend wollte ich die Betriebsspannung auf INT1 führen um bei fallender Flanke die betreffenden Werte in den EEPROM zu schreiben zu lassen.
    Entsprechend wurde INT1 als INPUT konfiguriert und die Interrupt-Service-Routinne auf fallende Flanke programmiert.

    Das Phänomen: Der ATmega speichert die Werte bei Spannungsausfall oder Ausschalten wie gewünscht; allerdings bereits schon bei unbeschaltenem Port INT1 >> also ohne, daß das auszuwertende Signal der abfallenden Spannung überhaupt am Port INT1 anliegt !!!
    Warum ist das so und kann diese Lösung ohne INPUT-Signal so dauerhaft beibehalten werden ???

    Eine schöne Woche
    Frank

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    allerdings bereits schon bei unbeschaltenem Port INT1
    Heißt "unbeschaltet", dass der Interrupt-Pin "in der Luft" hängt, d.h. ohne irgendeinen PullUp- oder PullDown-Widerstand?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.07.2008
    Beiträge
    12
    Korrekt, das Pin hängt momentan noch in der Luft. (ohne Pullup)
    Ich habe den ATmega nur programmiert und wollte anschließend den PIN noch beschalten; da war die Funktion des Rückschreibens aber schon gegeben.

    Frank

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Dann könnte es gut sein, dass der (extrem hochohmige) Eingang sich irgendein 50Hz-Signal einfängt und permanent die ISR ausführt. Das passiert gar nicht so selten...

    Aktivier´ doch mal den internen PulUp mit

    PORTD.3=1

    vielleicht ist der Spuk dann vorbei

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    02.07.2008
    Beiträge
    12
    Danke, werde ich versuchen.
    Allerdings speise ich die Schaltung aus einem hochkarätigem Labornetzteil >> 50Hz also unwahrscheinlich.
    Mich macht nur unruhig, daß die Funktion dauerhaft gegenben ist; d.h. ich habe den Test bestimmt 20x mit positivem Ergebnis ausgeführt.
    Wenn am INT1 eine vagabuntierende Spannung vorhanden ist und die ISR den Abfall dieser Spannung als H/L-Flanke erkennt, woher bekommt dann der ATmega noch genug Energie zu Rückschreiben >> wir befinden uns ja dann schon im Lo-Bereich ?
    Ursprünglich war geplant, die Auswertespannung vor dem Festspannungsregler auszuwerten und mit dem GoldCap hinter den Regler einzuspeisen. Eine Diode im Eingang des 7805 hätte mir den Rückfluß der Energie in die Spannunsversorgung verhindert so daß selbst, wenn am Eingang des 7805 schon Lo ist, für eine gewisse Zeit durch den Kondensator auf der Seite des ATmega Hi gehalten wird.

    Frank

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Ich meinte auch nicht einen Restbrumm auf der Versorgungsspannung - das wäre in der Tat sehr unwahrscheinlich.

    Aber wenn der Pin tatsächlich komplett frei in der Luft hängt, d.h. an nichts angeschlossen ist (weder an die Eingangsspannung des U-Reglers noch an sonstwas), dann kann es gut sein, dass er sich aus irgendwelchen Netzkabeln, Trafos oder sonstigen "Strahlungsquellen" ein 50Hz-Signal einfängt. Quasi drahtlos...

    Wenn Du ganz sicher wissen willst was auf PinD.3 los ist, mach doch mal ein Mini-Programm:


    Code:
    Config PinX.Y = Output    'daran eine LED anschließen
    
    Do
    PortX.Y = PIND.3
    Loop
    Ich bin sicher, dass die LED spätestens dann anfangen wird zu flackern, wenn Du mit der Hand in die Nähe des PinD.3 kommst...

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    02.07.2008
    Beiträge
    12
    Danke für die Antworten.
    Ich werde es heute Abend testen und dann eine Rückinfo geben.

    Schöne Woche
    Frank

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Das kann nicht nur gut sein, sondern das ist immer so - und zwar je nach Umgebung ein paar hundert mal in der Sekunde.
    Ohne PullUp/-Down fängt der halt jede noch so kleine Schwankung auf. Mit der Hand in die Nähe -> GND - mit ner Spannung in die Nähe -> High-Pegel.

Berechtigungen

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