-         

Ergebnis 1 bis 3 von 3

Thema: RP6 Linien folger mit vorhandenen Sensoren Problem mit dem Motor Regler

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    16.06.2012
    Beiträge
    8

    RP6 Linien folger mit vorhandenen Sensoren Problem mit dem Motor Regler

    Anzeige

    Hallo
    Dies ist mein erstes richtiges Projekt am RP6, und zwar versuche ich einer schwarzen Linie auf hellem Untergrund zu folgen, und das nur über die mitgelieferten Sensoren des RP6 (denke das ich noch zu blöd bin um eigene anzuschließen).
    Jetzt kommt das Problem, der Roboter erkennt den unterschied ziwischen Linie und Untergrund inzwischen recht souverän und fährt dann auch in die richtige Richtung an, doch nach einer geschätzten halben Sekunde bleibt er stehhen und stockt höchstens noch einmal. Dann kommt die Meldung über die Schnittstelle, dass etwas mit dem Motor Strom nicht in Ordnung ist und der RP6 deswegen resettet werden muss . Ich hatte das schon öfter und habe deswegen die üblichen Fehlerquellen wie fehlendes powerON(); oder fehlendes task_motionControl(); schon überprüft . Allerdings habe ich keine Fehler gefunden . Da ich noch nicht so bewandert im Programmieren binn frage ich jetzt euch was denn der Fehler sein könnte .
    Denke dass es irgentetwas simples ist, dass ich übersehen habe und hoffe das auch kann aber nichts finden. Danke in voraus für die Mühen und die Antwort
    VG Robotmafiosi
    Code:
    // kleines Programm zur linien folgung mti fhelerhafter motoransteuerung
    
    #include "RP6RobotBaseLib.h" 
    
    
    
    
    
    
    //-------------------------------------------------------------------------------------------------------------------------------------------------
    int main(void)
    {
    
    initRobotBase();
    uint16_t untergrund;
    uint16_t linie ;
    uint16_t differenz ;
    startStopwatch1();
    powerON();
    writeString_P("   \\| RP6  Robotmafiosi s SYSTEM |/\n");
    writeString_P("   \\| programm zur linienerkennung |/\n");
    task_motionControl();
    startStopwatch3();
    changeDirection(FWD);
    
    
    setLEDs(0b100100);
    mSleep(5000);
    untergrund = readADC(ADC_LS_L);
    mSleep(1000);
    setLEDs(0b011011);
    mSleep(5000);
    linie = readADC(ADC_LS_L);
    differenz = untergrund - linie;	
    writeInteger(untergrund,DEC);	writeString_P("\n");
    writeInteger(linie,DEC);	writeString_P("\n");
    writeInteger(differenz,DEC);	writeString_P("\n");
    setLEDs(0b000000);
    
    
    
    
    
    while(true) 
    	{	
    	
    	
    	
    	
    	
    	
    	
    			if(readADC(ADC_LS_L) < untergrund - (3/4*differenz)) {moveAtSpeed(10,30); setLEDs(0b000111);}
    	
    		else if(readADC(ADC_LS_L) > linie + (3/4*differenz))  {moveAtSpeed(30,10); setLEDs(0b111000);}
    	
    		else {moveAtSpeed(30,30); setLEDs(0b100100);} 
    		
    		
    		task_motionControl();
    		task_RP6System();
    		task_ADC();
    		
    	}
    
    	return 0;
    
    }

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    Hallo,

    Du darfst readADC() nicht verwenden wenn Du task_ADC() oder task_RP6System() nutzt.
    task_ADC übernimmt das Auslesen aller ADC Kanäle sequentiell hintereinander (da gibts Variablen wo die Werte drinstehen) - aber wenn Du da mit eigenen Lesevorgängen reinfunkst kommen falsche Messwerte dabei heraus.
    task_ADC und task_MotionControl musst Du nicht aufrufen, die sind alle in task_RP6System enthalten.


    MfG,
    SlyD

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    16.06.2012
    Beiträge
    8
    ok danke werde das ändern
    hab grad in der Anleitung zum RP6 nochmal nachgeschaut und das noch mal nachgelesen
    VG
    Robotmafiosi

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 05.04.2013, 08:44
  2. Antworten: 13
    Letzter Beitrag: 28.06.2012, 16:31
  3. Widerstand vor dem Folger
    Von senmeis im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 30.12.2010, 03:39
  4. Problem mit PID-Regler
    Von mattsarz im Forum Asuro
    Antworten: 12
    Letzter Beitrag: 05.10.2007, 09:38
  5. einfache sensoren abfrage mit dem PC
    Von grind im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 4
    Letzter Beitrag: 17.03.2005, 15:18

Berechtigungen

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