-         

Ergebnis 1 bis 2 von 2

Thema: ATmega16+Aussetzter

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.04.2006
    Ort
    Bayern
    Alter
    27
    Beiträge
    182

    ATmega16+Aussetzter

    Anzeige

    Hallo,

    ich habe ein Problem mit einem ATmega 16.
    Der Controller ist in einem Teil eines Netzgeätes eingebaut und hat bis vo kurzen noch tadellos als TWI-Slave funktioniert.
    Bis es ihn gestern zerrissen hat.
    Nach 2 Stunden fehlersuche und einem weiteren zerstörten Controller konnte ich den Fehler ausmachen. Es war ein abgebrochenes Beinchen des Festspannungsreglers, das immer dann wen ich gemessen habe Kontakt hatte und sonst eben manchmal nicht, was zur Folge hatte das der Controller und der Rest der Schaltung(Optokoppler zu optoisolation des TWI-Busses) mit 20 Volt lief.

    Zuzeit habe ich wieder einen neuen Controller drin, hab aber leider die Optokoppler zuvor nicht getauscht(hab nicht dran gedacht, weil die auf einer anderen Platine sitzen^^).
    Nach dem ändern der Fuses und aufspielen des alten Programms lief der Controller so ca. 10minuten ordnungsgemäß und seit dem spinnt er.

    Er lässt sich zur zeit ohne Probleme Flashn, Fuses ändern etc.

    Wenn ich ein einfaches Programm aufspiele, bei dem eine LED dauerhaft leuchten soll und eine andere den Pegel eines Inputpins(Pullup+ Taster) anzeigen soll, arbeitet er das Programm teilweise vollkommen richtig ab, teilweise beginnt keine Led zu leuchten oder sie flimmern oder blinken.

    Das heist, das der Kontroller seine Schleife verlässt und sonst irgendetwas tut.
    Es bringt keine Änderung wenn ich von internen Oszillator auf externen Quarz umschalte, die Brownoutdetection ändere etc.

    Hier das kurze Testprogramm:

    Code:
    $regfile = "m16def.dat "                                    'Prozessordaten
    $framesize = 32
    $swstack = 40
    $hwstack = 40
    $crystal = 1000000
    '____________________________________________________________________________________
    'I/O konfigurieren
    
    Config Portb = Output
    
    5v_k1 Alias Portb.4
    33v_k2 Alias Portb.3
    Posv_k3 Alias Portb.2 :
    Fan1 Alias Portb.0
    Fan2 Alias Portb.1
    
    
    Ddrc = &B11111011
    Portc.2 = 1                                                 'Pull up für Taster aktiviert
    
    Fan3 Alias Portc.7
    Negv_k4 Alias Portc.6 :
    Led_gr Alias Portc.5
    Led_ge Alias Portc.4
    Led_rt Alias Portc.3
    Taster Alias Pinc.2
    '_________________________________________________________________________________
    Main:
    
    Led_gr = 1
    Led_rt = Taster
    
    Goto Main
    
    End
    Kann es sein das der Controller durch die defekten Optokoppler in der TWI-Optoisolation einen Schaden genommen hat?



    Es sind 6N137er Koppler.

    Die Optische Isolation ist nach dem Bsp. von Phillips aufgebaut und hat tadellos funktioniert.

    Die Optokoppler habe ich nun auch mal extern durchgemessen und festgestellt das sie Ausgangsseitig keine richtigen Pegel mehr erzeugen.
    Der Opencollector-Ausgang sperrt zeitweise nicht mehr völlig, so das im High zustand noch Strom fließen kann und so Spannung über den Pullup abfällt.

    Dies sollte aber ja bei TWI keine zersörenden Wirkungen haben, da der Controller ja die Pins auch nur auf LOW zieht.

    Ich würde den Fehler gerne finden oder eingrenzen, bevor ich bei Reichelt neue Teile bestell.

    mfg Benedikt

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.04.2006
    Ort
    Bayern
    Alter
    27
    Beiträge
    182
    mhh, glaube ich hab den Fehler gefunden.

    Hab nochmal den Controller nachgelötet und bis jetzt funktioniert er seit ca. 5 Minuten fehlerfrei so weit ich es ohne TWI festellen kann.

    Hoffe das es so bleibt und er wieder mit dem Twi-Master spricht, nachdem die neuen 6N137 da sind.

    mfg
    Benedikt

    PS: Der Thread kann wegen mir gelöscht werden

Berechtigungen

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