- LiFePO4 Speicher Test         
Ergebnis 1 bis 5 von 5

Thema: Programme funktionieren nicht (richtig).

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    12.10.2006
    Ort
    Tübingen
    Alter
    32
    Beiträge
    31

    Programme funktionieren nicht (richtig).

    Anzeige

    Praxistest und DIY Projekte
    Hallo.
    hab heute mein Asuro mal in Betrieb genommen

    Allerdings ist der IC1 nicht reingeangen, also der Sockel sitzt fest auch richtigrum. Aber der Prozessor ist jetzt auf der einen Seite drinne, auf der anderen ist er zwar angeschlossen aber die Beinchen sind noch nicht im Sockel. Der Selbsttest verlief Problemlos. Kann man das Nochmal Korregieren? hab schiss das der Proz kaputt geht wenn ich den nochhmal rauszieh.

    2.: Die Motoren laufen bei FWD RÜCKWÄRTS!!! Motorkabel sowie Batteriekabel sind aber richtig angeschlossen.

    3.:
    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	Init();
    	unsigned char taste;
    	StatusLED(GREEN);
    	MotorDir(FWD,FWD);
    	MotorSpeed(150,150);
    	while(1)
    	{
    		taste = PollSwitch();
    		if(taste != 0)
    		{
    			MotorDir(BREAK,BREAK);
    			StatusLED(RED);
    		}
    	}
    	BackLED(ON,ON);
    
    	while(1);
    	return 0;
    }
    Dieser Code sollte folgendes Bewirken:
    Die Motoren gehen auf 150 vorwärts. Die Status-LED ist grün. Er fährt solange weiter bis ein Taster gedrückt wird, dann geht die S-L auf rot, die BackLeds an.

    Passieren tut aber folgendes:
    StatusLED grün.
    Kurzes Rückwärtsfahren (<0,5s).
    Status-LED rot, BackLED an.
    Obwohl kein Schalter gedrückt wurde!!!
    Manchamal fährt er auch garnicht rückwarts!

    Woran leigt das?

    mfg Pdd

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    37
    Beiträge
    478
    Die Pollswitch-funktion liefert keine verlässlichen Ergebnisse.

    FÜhre sie vllt 3-4mal vorher aus, bevor du nen verlässlichen Wert bekommst

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    12.10.2006
    Ort
    Tübingen
    Alter
    32
    Beiträge
    31
    Jop, jetzt tuts! Danke

    Ich muss jetzt einfach immer statt FWD RWD eingeben, dann klappt auch das mit den Motoren

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    12.10.2006
    Ort
    Tübingen
    Alter
    32
    Beiträge
    31
    Hum. Grade mal getestet:
    Beim Selftest tun die Motoren, aber wenn ich sie mit MotorDir(FWD,FWD); MotorSpeed(120,120); ansteuere, dann funktioniert nur der Linke o.O
    hatte jemadn von euch schonmal das selbe Problem?

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    12.10.2006
    Ort
    Tübingen
    Alter
    32
    Beiträge
    31
    OK, sry das ich nochmal Pushe, aber das muss sein

    Hab rausgefunden das ich 4 wiederstände falsch eingelötet habe (den kleinen Strich am Kreis sollte man beachten!) Nachdem ich diese in mühevoller kleinarbeit wieder ausgelötet habe und sie richtig eingelötet sind, funktioniert nun alles. Nur die Odometriesensoren haben beim Selbsttest nicht getan !?!
    Also hab ich, sowieso mal zur Übung, dieses Prog geschrieben, womit man leicht testen kann ob die Odometrie funktioniert:
    Funktionsweise: Hyperterminal starten. Asuro anmachen. Wenn einer der Schalter gedrückt wird, gibt er Gaß.

    Code:
    #include "asuro.h"
    
    unsigned char taste;
    
    void SerOdoData(int wert)
    {     
       char text[16]="      ";
       itoa(wert,text,10);
       SerWrite(text,strlen(text));
    }
    
    int main(void)
    {
    	Init();
    	
    	StatusLED(GREEN);
    	
    	unsigned int data[2];	//Speicher für Odometrie
    	
    	while(1)
    	{
    		if(PollSwitch()>0)
    		{
    			MotorDir(FWD,FWD);
    			MotorSpeed(150,150);
    		}
    		else
    		{
    			MotorDir(FREE,FREE);
    			MotorSpeed(0,0);
    		}
    		OdometrieData(data);
    		SerWrite("\n\rLinks:",10);
    		SerOdoData(data[0]);
    		SerWrite(" Rechts:",8);
    		SerOdoData(data[1]);
    	}
    	
    	while(1);
    	return 0;
    }
    Ausserdem fährt jetzt der linke Motor auch in beide Richtungen *freu*

Berechtigungen

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

12V Akku bauen