-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Diverse Problemchen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.12.2006
    Ort
    Eberbach
    Beiträge
    199

    Diverse Problemchen

    Anzeige

    Hallo,

    seit einiger Zeit funktionierten bei mir die Taster nicht (mehr) richtig, aber die brauchte ich auch nicht.

    Nachdem ich einmal den Prozessor neu eingesteckt habe, funktionieren die Taster wieder perfekt, und auch die Motoren, die Liniensensoren und die Odometrie, aber die rechte BackLED geht nicht mehr, und die StatusLED kennt nur noch die Zustände GREEN und OFF.
    Hiermit könnte ich ja leben (BackLED's kann man sowiso nicht benutzen, wenn man Odometrie macht), aber fast alle meine Programme fangen wie folgt an:
    Code:
    Init();
    
    SerPrint("\r\nBatterie=");
    PrintInt(Batterie());
    SerPrint("\r\n");
    Bisher bekam ich da auch immer Werte zwischen 970 (voll) und etwas über 800 (kurz vor VLVLVL) angezeigt.

    Seit neuestem werden aber nur Werte unter 200 angezeigt ...

    Hat jemand 'ne Idee?

  2. #2
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    Was ist denn SerWrint? warum nicht SerWrite?
    Versuch mal eine ältere Version der Asuro Lib, vielleicht hat sich da ein tippfehler in der batterie-funktion eingeschlichen.
    kleinschreibung ist cool!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.12.2006
    Ort
    Eberbach
    Beiträge
    199
    Hi,
    Zitat Zitat von damaltor
    Was ist denn SerWrint? warum nicht SerWrite?
    ich verwende die Lib v270, da gibt es sowohl:
    Code:
    void SerPrint  ( unsigned char *  data )   
    Sendet einen null-terminierten String ueber die serielle Schnittstelle. (Autor: stochri)
    als auch:
    Code:
    void SerWrite  ( unsigned char *  data,  unsigned char  length )    
    Ausgabe von Zeichen ueber die serielle Schnittstell
    Zitat Zitat von damaltor
    Versuch mal eine ältere Version der Asuro Lib, vielleicht hat sich da ein tippfehler in der batterie-funktion eingeschlichen.
    Das hat aber bis vor kurzem auch mit der Lib v270 funktioniert ...

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    Naja aber einen Versuch ist es doch wert... bei sourceforge gibt es noch die version 2.61, teste mal mit der.
    kleinschreibung ist cool!

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    arbeitest du mit auto_encode=TRUE?

    Es gibt Probleme, wenn die Rad Encoder im Interrupt Betrieb laufen. Das kann dann A/D Wandler Messungen stören, die in der Hauptschleife aufgerufen werden.

    Das steht auch schon auf der Bugliste. In der LineData Funktion ist es z.B. schon gefixed, in der Batterie Funktion noch nicht.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.12.2006
    Ort
    Eberbach
    Beiträge
    199
    Hi,
    Zitat Zitat von m.a.r.v.i.n
    Hi,

    arbeitest du mit auto_encode=TRUE?
    guter Hinweis, aber leider ist das nicht das Problem

    Die letzten Zeilen von Init() setzen ja autoencode auf FALSE ...
    Code:
      ...
      MotorSpeed(0,0);
      autoencode = FALSE;
      sei();
    }
    Es gibt Probleme, wenn die Rad Encoder im Interrupt Betrieb laufen. Das kann dann A/D Wandler Messungen stören, die in der Hauptschleife aufgerufen werden.

    Das steht auch schon auf der Bugliste. In der LineData Funktion ist es z.B. schon gefixed, in der Batterie Funktion noch nicht.
    Danke für diese Hinweise.

    Werden die neuen Versionen der Lib bzw. Hinweise darauf hier im Asuro-Forum gepostet?

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    Die letzten Zeilen von Init() setzen ja autoencode auf FALSE ...
    das stimmt, aber der Aufruf der Funktionen EncoderInit() oder EncoderStart() setzt autoencode auf TRUE.

    Die AsuroLib V2.70rc2 wird heute noch veröffentlicht (mit Bugliste, erweiterter Doku).

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.12.2006
    Ort
    Eberbach
    Beiträge
    199
    Hi,
    Zitat Zitat von m.a.r.v.i.n
    Die letzten Zeilen von Init() setzen ja autoencode auf FALSE ...
    das stimmt, aber der Aufruf der Funktionen EncoderInit() oder EncoderStart() setzt autoencode auf TRUE. ...
    aber leider liefert das obige Programmstück ohne Aufruf von EncoderInit() die falschen Werte ...

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.12.2006
    Ort
    Eberbach
    Beiträge
    199

    Update

    Hi,

    ich habe die rechte BackLED meines Asuro's mit einem Multifunktionsmeßgerät und der Einstellung "--|>+--" getestet -- und sie hat geleuchtet! Dann habe ich die Leiterbahnen durchgemessen, und da gab es keine Verbindung, wo Kontakt sein sollte.
    Auflösung:
    R21 direkt vor der rechten BackLED war wohl durch häufiges wechseln des Batteriepacks in Mitleidenschaft gezogen worden, und die beiden zu R21 gehörenden Lötpunkte auf der Unterseite der Platine hatten keine Verbindung ... .
    Zuerst half einfaches Wackeln am Widerstand, und dann ging die rechte BackLED wieder; später habe ich die Lötstelle aber dann auch noch richtig nachgelötet.

    Und das schönste: nachdem die rechte BackLED wieder funktioniert, ist die StatusLED wieder voll funktionsfähig (inkl. RED und YELLOW)!

    Bleibt nur noch das Problem mit der Funktion Batterie() und den Werten <255 anstelle >800 ...

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.062
    Blog-Einträge
    2
    Hallo Herman,

    ohne jetzt genauer nachschauen zu wollen meine ich mich grob zu erinnern, dass es problematisch sein kann, den AD-Wandler zu benutzen, wenn die Encoder-Interrupts laufen. Beisst sich die Konfiguration des Wandlers bei autoencode mit der Konfiguration der Batterie()-Funktion?

    Gruss,
    stochri

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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