-         

Ergebnis 1 bis 4 von 4

Thema: Asuro Code Problem

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.03.2013
    Beiträge
    18

    Asuro Code Problem

    Anzeige

    Hallo,

    ich flashe den Asuro mit folgendem Code:

    #include "asuro.h"

    int main(void)
    {
    Init();
    while (PollSwitch() == 0)
    {
    MotorDir(FWD,FWD);
    MotorSpeed(180,180);
    StatusLED(GREEN);
    SerWrite("Alles Ok!",9);
    }
    SerWrite("STOP!",7);
    MotorSpeed(0,0);
    StatusLED(RED);
    while(1);
    return 0;
    }


    Leider tritt beim Einschalten folgendes Phänomen auf:
    Der Asuro fährt ca 2 - 6 sek. und hält dann an. Die Zeit variiert je nach Durchgang. Ich kann keine Regelmäßigkeit erkennen. Mal sind es 2, mal sind es 6 Sekunden.
    Während er fährt kann man einen der Taster drücken und er hält an. Also der Code an sich scheint zu funktionieren, nur leider bricht er nach einer bestimmten Zeit immer selber ab.
    Woran liegt das?

    Viele Grüße,
    Philipp

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

    Vermutlich stören die Motoren die Tastenauswertung:

    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	Init();
    	MotorDir(FWD,FWD);
    	MotorSpeed(180,180);
    	StatusLED(GREEN);
    	while((PollSwitch() == 0) || (PollSwitch() == 0))
    	{
    		SerWrite("Alles Ok!",9);
    	}
    	SerWrite("STOP!",5); // Der String hat nur 5 Zeichen!
    	MotorSpeed(0,0);
    	StatusLED(RED);
    	while(1);
    	return 0;
    }
    (ungetestet)

    Wenn nur bei einer der beiden Tastenlesung eine null erkannt wird ist die andere Lesung vermutlich Schrott. Das kann man natürlich auch steigern:

    while((PollSwitch() == 0) || (PollSwitch() == 0) || (PollSwitch() == 0))

    Nicht sehr hübsch, sollte aber funktionieren.

    Gruß

    mic

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

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.03.2013
    Beiträge
    18
    Super, die Lösung funktioniert. Kannst du mir vielleicht nochmal genauer erklären, wieso das so ist?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Wenn die Asuro IC1 Chip die Taster-messung macht wird Pin 5, wo Widerstand R24 angeschlossen ist, intern mit die Bordspannung verbunden. Dann werden die R24 und das Netzwerk von Taster Widerstanden zu ein Spanungsteiler gemacht. Mit einer Feste Widerstand (R24) und ein Parallele Kombination von den Ein-geprellte Tastern und Widerstanden (R25 bis R30 und R32) darunter bekommt man dann einer bestimmte Fraktion von den Bordspannung an Pin 27: die Analoge Taster Messpunkt. Aber an die Bordspannung hängen auch die Motor-Treibern an. Und mit das drehen der Achsen bekommt man auch Schwankungen in die Bordspannung wenn die Kommutatoren und Kohlenbürsten ein Unterbrechung machen. Also wird die Spannung auf die Taster Messpin auch sich ändern. Die Analoge Messreferenz der die Asuro chip benutzt zum auswerten von die Tasterwert, ist Relativ Stabil. Weil die Schwankungen schon durch R11 (oder die Spule Ersetzung) und C5 ausgefiltert werden sind.

Ähnliche Themen

  1. Asuro - Linieverfolgung. Code-Probleme !
    Von slycap im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 01.12.2011, 13:46
  2. Code::Blocks für Asuro verwenden???
    Von Pajonilaus im Forum Asuro
    Antworten: 0
    Letzter Beitrag: 30.05.2009, 16:00
  3. Ultraschall-code für asuro
    Von Theux im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 04.02.2008, 13:03
  4. UART Code Problem
    Von cteisbaer im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 02.08.2006, 16:50
  5. C Code Problem
    Von Nadors im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 28.02.2006, 15:23

Berechtigungen

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