-         

Ergebnis 1 bis 8 von 8

Thema: Asuro "hängt" sich auf

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    25

    Asuro "hängt" sich auf

    Anzeige

    Hallo folgendes Problem.
    Der ASURO fährt ne linie nach. Das ganze programm läuft wunderbar. Wenn er die Line verliert findet er sie mit z.b. MotorSpeed(220,0); wieder.
    Jetzt wollte ich den einen Motor (im Moment 0) rückwärts drehen lassen damit er schneller wieder zurückkommt. Jetzt hägt er sich aber nach einiger zeit auf (zwischen 30sec und 1min). Dabei dreht er sich entweder wie wild um die eigene achse oder fährt einfach gerade aus. Kurz gesagt:
    Ohne rückwärtsgang ist alles bestens.
    Mit rückwärtsgang spinnt der Asuro total.
    Hab schon versucht 10ms davor und danach sleep hilft aber nichts.
    Ist es vlt zu viel für den Asuro?
    Ähnliches Problem wie BackLED und Odometrie?
    lg Ollo

    ps.: möchte mein komplettes programm nur ungern hier veröffentlichen um der kreativität einiger benutzter nicht im wege zu stehn.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.11.2006
    Ort
    Wien
    Beiträge
    120

    Re: Asuro "hängt" sich auf

    Zitat Zitat von Ollowain
    ps.: möchte mein komplettes programm nur ungern hier veröffentlichen um der kreativität einiger benutzter nicht im wege zu stehn.
    poste bitte den programm-ausschnitt in dem der fehler auftritt, dann kann dir sicher besser geholfen werden.
    mfg
    Lync

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    25
    okay:

    Code:
    else if ((T9>X) && (T10>Y))		// Hier verliert der Asuro die Linie
    {
    	{
    	MotorDir(RWD,FWD);
    	MotorSpeed(100,250);
    		Sleep(72);
    	}
    im prinzip isses das. wenn beide vorwärts drehen is es kein problem aber so ...

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo

    Wenn die Drehrichtungen der Motoren bei voller Fahrt geändert werden, ist ihre Stromaufnahme sehr groß. Vielleicht bricht dabei die Bordspannung ein oder Störimpulse irritieren den Prozessor. Besser wäre die Verwendung einer Bremsrampe:
    Code:
    #include "asuro.h"
    
    void Motor(unsigned char richtung, unsigned char geschwindigkeit, unsigned int dauer)
    {
    	if(geschwindigkeit) StatusLED(YELLOW); else StatusLED(RED);
    	MotorDir(richtung,richtung);
    	MotorSpeed(geschwindigkeit,geschwindigkeit);
    	while(dauer--) Sleep(72); // 36 bei neueren Libraries für 1ms ;)
    }
    
    int main(void)
    {
    	Init();
       while(1)
       {
          Motor(FWD,200,1000);	// Vorwärts mit Speed 200 während einer Sekunde
          Motor(BREAK,0,100);	// Bremsen mit Speed 0 während 0,1 Sekunden
          Motor(RWD,200,1000);	// Rückwärts mit Speed 200 während einer Sekunde
          Motor(BREAK,0,100);	// Bremsen mit Speed 0 während 0,1 Sekunden
       }
       return(0);
    }
    (nicht getestet)

    Die Bremszeit sollte so groß sein, dass man beim Vorwärts-/Rückwärtspendeln einen kurzen Stillstand erahnen kann.

    Ich hoffe, das ist der richtige Ansatz.

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    25
    super danke, werd ich heut abend gleich ausprobieren

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    25
    funktioniert nicht... .
    Hab zwar nicht dein Programm benutzt sondern was eigenes geschrieben hätte aber genauso funktioniert. Leider liegt es wohl nicht dadran.
    Früher oder später hängt er sich wieder auf.
    Weiß wirklich nicht was ich noch verändern könnte. Muss mich wohl damit abfinden dass der schnell wechsel von FWD zu RWD zu viel für den ASURO is.
    lg Ollo

    ps.: vlt findet ja doch noch jemand was, dann bitte hier posten

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Naja, das ist ein ganz kleines code-schnipsel. Da kan man nichts viel uber sagen. Ich verstehe du möchtest es nicht ganz an das forum publikum veröffentlichen, aber ein bisschen mehr wurde vielleicht helfen.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    28.12.2009
    Beiträge
    5
    Hallo,

    ich hab annähernd das selbe Problem.
    Immer wenn ich Programme schreibe die die Motoren rückwärts laufen lassen dann "hängt" sich der Asuro quasi auf. Allerdings nicht immer mit Voltage Low sondern nur ab und zu. Dann auch mal wieder direkt im Retourgang, dann mal wieder ein paar Befehle weiter aber immer nach ca. 30 sek. bis 1 min.
    Ich habe bereits R11,R12,R13 kontrolliert und es hat auch bis gestern (also seit 24.Dez weils ein Weihnachtsgeschenk war) gut funktioniert. Ab und zu funktioniert das Programm nach dem Aus und Einschalten wieder und ab und zu bleibt der Asuro in einer gerade Vorwärtsbewegung hängen und ich muss ihn neu flashen. Dann funktioniert es wieder für die angegebene Zeit.

    Ich hab auch schon versucht den Motor immer bei der Richtungsänderung zuerst auf 0 zu stellen und dann die Richtung umzukehren, allerdings funktioniert das genausowenig. Auch ein kurzes Delay auf 0 bringt nichts.
    Ich hab keine Ahnung mehr, was ich noch tun kann.

    Weiß vielleicht hier irgendjemand etwas?

    Merci Grande

    Liebe Grüße

    P.S.: Nachtrag: Wenn ich egal welches Programm die MotorSpeed nicht über 120 setze dann funktioiert alles. Komisch oder? Ich seh mich da grad gar nicht raus....

Berechtigungen

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