- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 16

Thema: Selbsttest hängt sich auf

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Naja wenn der Selbsttest den Fototransistor abfragt und dieser kaputt ist (oder die Diode kaputt ist) und er deswegen nicht durchschalten kann, kann das Programm nicht weiter durchlaufen.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    14.01.2012
    Beiträge
    8
    Die Fototransistoren (die rosa Teile LPT80A) leuchten beide. Der linke etwas stärker wie mir scheint.
    Ein Unterschied besteht beim Start, der linke leuchtet beim Start sofort schwach und wird dann kurzzeitig heller, der rechte bleibt anfangs dunkel und wird dann erst hell, allerdings nicht so stark.
    Beide werden dann erst wieder beim Odometrietest hell und der Selbsttest bleibt hängen. Da haben beide das Dauerleuchten.

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Öh sind die Rosa Bauteile nicht die Dioden? Wenn die leuchten können es nur die Dioden sein. Hast du die vielleicht falsch eingebaut? Also Dioden mit Transistor vertauscht?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    14.01.2012
    Beiträge
    8
    Äh, habe grade noch mal nachgeschaut, das ist tatsächlich möglich:
    In der Anleitung steht:
    T11/T12: LPT80A Fototransistor (farblos)
    D13/D14: IRL80A IR-LED (rosa)

    In der Stückliste derselben Anleitung steht's aber grad andersherum:
    IIL80A IR-LED (farblos)
    LPT80A Fototransistor (rosa)

    Echt bescheuert, was gilt denn nun?

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Die Rosa Bauteile sind die LEDs. Das siehst du auch daran das die leuchten wenn du den Trick mit der Handykamera machst
    Ich hab auch den ein oder anderen Fehler in den Anleitungen des Asuros gefunden....u.a. der Schaltplan vom Snake Vision. Da muss man echt gut aufpassen
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    14.01.2012
    Beiträge
    8
    Ich habe noch mal alles überprüft. Die rosa Teile sind die IR-LED, das heißt die Anleitung stimmt, aber die Stückliste ist falsch.
    Das bedeutet aber auch, daß ich die IR-LED IRL80A richtig auf D13/D14 plaziert habe und die farblosen Fototransistoren LPT80A auf T11/T12.
    Leider bedeutet das aber auch, daß mein kurzer Hoffnungsschimmer grade abgeraucht ist und ich wieder am Anfang des Problems stehe.

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Da sich der Selbsttest bei den Reflexgebern aufhängt und du sagst das die Dioden leuchten würde ich mal bei den Transistoren ansetzen, also neue Einlöten bzw. die Strecke vom Transistor zum Controller überprüfen.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von Kampi Beitrag anzeigen
    Naja wenn der Selbsttest den Fototransistor abfragt und dieser kaputt ist (oder die Diode kaputt ist) und er deswegen nicht durchschalten kann, kann das Programm nicht weiter durchlaufen.
    Doch, weiterlaufen wird es. Schau mal die SelbTest Code an:

    Code:
    SelfTest.c:
    
    ... // line 46
    
    SerWrite("Odometrie Test\n\r",16);
            FrontLED(ON);
            for (i = 0; i < 0xFFF0; i++)
                OdometrieTest();
            StatusLED(OFF); FrontLED(OFF);
    ...
    Code:
    Test.c:
    
    ...
    // line 104
    
    /* ---------- Odometrie Sensor Test ------------- */
    /* Left Sensor -> Status LED GREEN ON when Light on 
       Left Phototransistor bright enough             */
    /* Right Sensor -> Status LED RED ON when Light on 
       Right Phototransistor bright enough            */
    void OdometrieTest(void)
    {
        unsigned int data[2];
    
        OdometrieData(data);
        StatusLED(OFF);
        if (data[0] < 512)
            StatusLED(GREEN);
        if (data[1] < 512) 
            StatusLED(RED);
    }
    /* END Odometrie Sensor Test ------------------- */
    Es misst einfach nur die Spannungswerten 65520 mal und lasst den StatusLED leuchten. Aufhängen kann das Programm nur wann irgendwie ein Reset-situation detektiert wird. (Spannungseinbruch tiefer als Reset-pin Bedingung, und vielleicht blockiert den Bootloader wegen schwache Akku-spannung) Sonnst wird das Programm in einiger Sekunden weiter gehen mit den Motor Test.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    14.01.2012
    Beiträge
    8
    Das verstehe ich als Neuling ehrlicherweise nicht ganz. Die StatusLED leuchtet dauergrün. Bedeutet das nun, daß das Programm wegen dieses Reset als ganzes beendet wird? Müsste durch diesen Reset nicht auch die LED erlöschen?

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Wann ein Reset eintrit, wird das laufende Programm beendet. Den Prozessor wird komplett neu eingestellt als wie bei anschalten. Und dann startet den Bootloader von anfang an. Also, wann diese Reset wirklich passiert wurdest du das dadurch erkennen. Nach dem Bootloader abgearbeitet ist geht er weiter mit das gespeicherte Programm. (nur nicht wann die Akku spannung nicht reicht) In deinem Fall sollte das dass SelbTest Programm sein. Aber das wird auch den Statusled Gelb oder Rot leuchten lassen. Ein Reset ist es dan vermutlich doch nicht.

    Hat er zwischen den OdometrieTest und 'aufhängen' den MotorTest gemacht? Dann ist er vermutlich schön bei den sehr langweilige Serielle KommunikationsTest an gekommen. Diese Test wartet ganz lange wann es kein Zeichen empfangt. (Mit StatusLED grun! ) Es wartet ein Timeout-dauer ab äquivalent zu 65534 Zeichen (timeout= FFFE hexadezimal), mal 10 bits pro Zeichen ist 655340 UART-bits, ist 273 Sekunden timeout (mit 2400 Baud). Und das versucht er 254 mal (FE hexadezimal etwas zu empfangen und dann dass nächste höher Zeichen zu senden. Also dauert den SerielTest total 69342 Sekunden, oder 19 Uhr bis den Selbtest wieder von Start mit "-- ASURO Testing --" widerholt. Wann die Empfang Baustein nichts bekommt! Das könnte sicher den Eindrück von 'aufhängen' geben. Aber dann musste erst den Motoren (versucht) gedreht (zu) haben.

    [EDIT] Vielleicht irre ich mich mit den Timeout Sekunden dauer. Könnte auch nur 65534 mal testen des UCSRA Register sein ob etwas empfangen ist. Was sicher schneller passiert. Aber keine ahnung wieviel genau.

    Code:
    void SerialTest(void)
    {
        unsigned char data;
        unsigned char i;
        for (i = 0; i < 0xFE; i++) { 
            StatusLED(GREEN);
            SerRead(&data,1,0xFFFE);
            StatusLED(RED);
            if (data != 'T') data += 1;
            SerWrite(&data,1);
     }
    Geändert von Valen (19.01.2012 um 10:56 Uhr)

Ähnliche Themen

  1. Unit 1.2 hängt sich auf
    Von Billy51 im Forum Open Source Software Projekte
    Antworten: 0
    Letzter Beitrag: 06.03.2011, 12:52
  2. AVR Studio hängt sich auf !!
    Von AndyTrendy im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 29.04.2008, 22:04
  3. Programm hängt sich auf
    Von martin66119 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 07.10.2007, 21:06
  4. LCD hängt sich auf
    Von hotijack im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 30.05.2007, 16:47
  5. MEGA8 hängt sich auf
    Von rathma im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 13.04.2007, 18:19

Stichworte

Berechtigungen

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

12V Akku bauen