- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: I2C Bus "störungssicher" machen

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Hvalstad, Norwegen
    Beiträge
    140
    Anzeige

    Powerstation Test
    Du must das ergebnis der Abfrage natuerlich weiterverwerten.
    Dazu musst du erstmal ermitteln wie lange der Bus braucht bis das Signal ansteht.
    Zu dieser ermittelten Zeit addierst du noch eine Reserve von 10%.
    Wenn dann in dieser Wartezeit kein ACK empfangen wurde liegt ein Fehler vor und du solltest die Uebertragung wiederholen.
    Zum Warten kannst du die Funktionen aus der Delay.h verwenden, allerdings ist der MCU dann blockiert, oder
    einen Timer der einen Interrupt ausløst.
    Viel Erfolg!

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.09.2009
    Ort
    Geilenkirchen
    Beiträge
    419
    Hallo!

    Also der Watchdog wäre eine gute Lösung.
    Immer, wenn er nicht im Programm testetet wird löst er nach einer einstellbaren zeit ein redet aus.
    Sobald er dann hängen bleibt, wird er nach wenigen millisekunden resettet.
    http://www.mikrocontroller.net/artic...rial:_Watchdog

    Gruß
    olaf

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Hvalstad, Norwegen
    Beiträge
    140
    Die Idee mit dem Watchdog ist in sofern schlecht, als dass die alten Einstellungen verloren gehen und damit immer noch keine Kommunikation gewaehrleistet ist.
    Das heisst z.B. dass die Pumpe laeuft und kann nicht mehr erreicht werden.

  4. #14
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    32
    Beiträge
    802
    Naja, durch was wird die Pumpe genau angesteuert?
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  5. #15
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der Watchdog timer ist im Prinzip schon richtig um einen hängenden µC wiederzubeleben - nur sollte das Programm im Prinzip auch ohne richtig laufen. Der
    Watchdog ist mehr für den Fall das eventuell doch mal Fehler auftreten, die man bei der Fehlersuche nicht gefunden hat, weil sie so selten sind. Fehler die nach 5-10 minuten auftreten sollte man besser an der Ursache beheben. Es ist eine Frage des Programms ob der µC die Einstellungen vergisst, oder weiter lesen kann. Es fordert allerdings schon etwas mehr Aufwand als nur den WD zu aktivieren. Man kann testen ob der Reset vom WD ausgelöst wurde, und für den Fall die Variablen nicht neu initialisieren - dem C Compiler muss man dazu ggf. sagen das er die Variablen nicht automatisch alle 0 initialisieren soll.

    Viel langsamer machen hilft nur begrenzt gegen Störungen, denn es verhindert nicht, das die Leitungen zusätzliche Pulse einfangen. Für einen richtigen I2C bus helfen sonst niederohmigere Pullups und ggf. auch zusätzliche RC Glieder und eventuell ein Kondensator gegen GND.

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    33
    Beiträge
    460
    Hallo,

    in den letzten Tagen hatte ich wenig Zeit, ich hab bis jetzt einfach mal bei allen I2C Befehlen (senden, empfangen, und initialisieren) statt der while Schleife ein _delay_ms(10) eingefügt, ohne irgendwas mit dem Oszi zu messen.

    Es funktioniert bis jetzt sehr gut, die Steuerung läuft seit zwei Tagen durchgehend.

    Sogar ohne Watchdog, aber den werde ich auch noch einbauen, vielleicht nächstes Wochenende...

    Vielen Dank für die Hilfe!

    lg
    Christoph

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Versteckte Ordner wieder "unversteckt" machen
    Von Sebas im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 2
    Letzter Beitrag: 20.09.2011, 15:19
  2. Wie viel Sachen kann ein Atmega 2560 "gleichzeitig" machen
    Von super-robman im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 9
    Letzter Beitrag: 06.09.2011, 15:20
  3. "PIR D203S" was ist das, was kann man damit machen
    Von bnitram im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 18.04.2011, 15:38
  4. Microstepper "kräftiger" machen ? (geklärt)
    Von PICture im Forum Motoren
    Antworten: 12
    Letzter Beitrag: 09.10.2010, 13:37
  5. ASM: was machen "swap" und "cbr" genau?
    Von RHS im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 18.08.2004, 17:16

Berechtigungen

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

LiFePO4 Speicher Test