- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Atmega2560 hat undefinierte Schaltzustände bei Spannungswied

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    44
    Beiträge
    237

    Atmega2560 hat undefinierte Schaltzustände bei Spannungswied

    Anzeige

    Powerstation Test
    Hallo,

    ich habe ein Problem mit dem RN-Mega2560 Board. Sowie ich es von der Spannung trenne und wieder ans Netz nehme schalten ab und zu einfach ein paar Ausgänge auf 5 Volt obwohl ich das im µC nicht programmiert habe.


    Ich habe schon das komplette Programm im Bascom auf die Anweisung für den Quarz und das Def File begrenzt und trotzdem passiert es wieder.

    Wenn ich den µC komplett leere also kein Programm mehr drinn ist, schaltet er auch nicht mehr irgendwas.


    Kann es sein das das Definitionsfile die Ursache ist das die Ausgänge beim neustart undefiniert schalten ?


    Gruß
    Steffen

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    hast du mal ein kleines Testprogramm, das solches Verhalten zeigt, dann kann man mal im Assembler forschen was Bascom da draus gemacht hat.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    44
    Beiträge
    237
    Hallo linux_80,

    wiedermal schön mit dir zu "tippen"


    Ein Testprogramm kann man dazu schon fast nicht mehr sagen weil fast nichts mehr da ist ^^

    Code:
    'Diese Anweisung setzt die Fusebits automatisch korrekt (Syntax $PROG LB, FB , FBH , FBX )
    $prog , 255 , &B11011001 ,                                  'Quarz an / Teiler aus / Jtag aus
    
    $regfile = "m2560def.dat"
    $hwstack = 82                                               '80
    $framesize = 68                                             ' 64
    $swstack = 68                                               '44
    
    $crystal = 16000000                                         'Quarzfrequenz
    Wie du siehst ist es einfach nur die Definition des Controllers und die Quarzfrequenz.

    Das Verhalten der undefinierten Schaltzustände tritt unregelmäßig auf ich mußte den Prozessor manchmal 10-15 mal vom Netz nehmen und wieder ans Netz nehmen und dann haben ein paar Ausgänge geschalten.

    Das komische ist schon das keine Ausgänge definiert sind aber schalten tun sie trotzdem das verstehe ich überhaupt nicht.

    Kann man so ein Verhalten im Assambler nachvollziehen ?


    Gruß

    Steffen

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    mit Assembler kann man nur das finden was die Software macht, und das was Basom hier draus macht ist nur Stackpointer setzen und Speicher löschen, dann gehts in die Endlosschleife. Bzw. wenn man überhaupt kein Programm angibt (Do..Loop, oder End) macht er das immer wieder mit dem Speicherlöschen, da am Ende wieder zum Reset gesprungen wird.
    Also nix bewegendes eigentlich.

    Kannst Du mal etwas zu deiner Schaltung sagen, denn nach einem Reset sind alle Ports auf Eingang.
    Ist an diesen Ports irgendwas angeschlossen, das nur grad nicht gebraucht wird ?

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von linux_80
    und das was Basom hier draus macht ist nur Stackpointer setzen und Speicher löschen, dann gehts in die Endlosschleife.
    Nuja, damit ist doch sein Problem geklärt. Denn wie schon richtig erkannt sind die einzelnen Pins nach einem reset als Eingang definiert. Als TriState Eingang übrigens.

    Wenn man sich die Mühe machen würde, den Pins einfach einen definierten Zustand zu geben (z.B. mit dem internem Pullup) bekommt man auch reproduzierbar das gleiche Ergebniss.

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    44
    Beiträge
    237
    meine Ausgänge haben Transistoren als Schalter dahinter und dahinter hängt ein Optokopplerrelais um das Schaltvermögen zu erhöhen.


    Wieso sollte denn ein Transistor bei Zustand "Reset" schalten ?


    Gruß
    Steffen

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Es könnte ja sein, das irgendwas bei low aktiviert wird, dann könnte ab dem Reset des µC bis zum gewünschten initialisieren des Ports durchaus etwas aktiv sein was so nicht gewollt ist.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    44
    Beiträge
    237
    ja das wäre eine Variante únd deswegen habe ich mit meinem Bascom Programm gleich nach dem initilisieren gesagt er soll alle Port auf Low ziehen.

    Das hat aber nichts gebracht. Wenn der Controller gestartet hat dann bleiben die Ausgänge die eigentlich nicht schalten dürften trotzdem auf high.

    Ich habe noch eine LED vor dem Transistor zur Kontrolle und diese leuchtet ebenfalls das heißt dann also das die Transistoransteuerung einwandfrei funktioniert und nur das tut was auch der Schaltausgang vom µC tut.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.12.2004
    Alter
    39
    Beiträge
    165
    werden die betreffenden Pins zufaellig fuer JTAG benutzt?

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    44
    Beiträge
    237
    ich denke nein zumindest sagt mir "jtag" nicht viel.

    Gruß
    Steffen

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

12V Akku bauen