- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 46

Thema: Problem 1 mit Snake-Vision

  1. #11
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    Anzeige

    E-Bike
    die gedruckten leiterbahnen der platine müssen UNBEDINGT nach unten zeigen. ansonsten kann gar nichts klappen. dann ist nämlich einer der adcs auf vcc gelegt. die platine ist leider nicht symmetrisch, man muss vor dem zusammenbau darauf achetn, dass man die teile auf der seite anlötet, auf der keine gedruckten leitungen sind. ansonsten, wenn die leiterbahnen bei dir auf der seite sind, wo die teile sind... dann hast du leider echt mal pech gehabt, die platine ist so recht nutzlos.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.12.2006
    Ort
    Saarland
    Alter
    44
    Beiträge
    314
    Jop so habe ichs die gedruckten leiter bahnen sind unten

    obwohl eigendlich auf beiden Leiterbahnen gedruckt sind ich habe die vielen bahnen unten und die schrieften oben und die Sensoren stehen nach oben

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.12.2006
    Ort
    Saarland
    Alter
    44
    Beiträge
    314
    Ich glaube den fehler gefunden zu haben es ligt glaube ich eher am asuro ich habe jetzt mal den selbstest wieder drauf gemacht und die phototransistoren drauf gesteckt und siehe da die linienverfolgung funktioniert nicht die Linke back LED ist dauernd an obwohl es dunkel ist und die rechte glimmt leicht

    Allerdings funktioniert mein LCD noch einwandfrei

  4. #14
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    hmm.. dann liegts evtl tatsächlich dran. die linienverfolgung benutzt die gleichen adcs wie der sensor, der geht also nur wenn auch die linienverfolgung geht... lass dir mal die phototransistor-werte ausgeben über hyperterm
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.12.2006
    Ort
    Saarland
    Alter
    44
    Beiträge
    314
    Ok funktioniert wieder aber snake version geht immer noch nicht leider

  6. #16
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    miss mal, welche spannung an dem adc anliegt. also minus des multimeters an masse, plus an den pin der erweiterungsplatine (adc2 oder adc3, je nachdem wo der sknakevision angeschlossen ist). und dann machst du was kaltes davor, und machst das nochmal, und dann ne kerze oder so und wieder. welche spannungen liegen dann an?
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.12.2006
    Ort
    Saarland
    Alter
    44
    Beiträge
    314
    Also habe jetzt gemessen habe den multie an masse gehalten dann die spannung gemessen wenn ich ein teelämpchen vor halte sind es 1,87 volt an beiden pins (ADC2und3) und wenn ich eine kalte flasche sprudel davor halte ist die Spannung auf 0 Volt. V+2 und V+1 sind kontinuerlich auf 10,53 Volt

    Habe den Quelltext mal geändert für die auswertung

    Code:
    #include "asuro.h" 
    
    #define THRESH1 20
    #define THRESH2 80
    #define THRESH3 200
    
    void ThermalData(unsigned int *data)  {
    	ADMUX = (1 << REFS0) | (1 << REFS1) | IR_LEFT;
    	ADCSRA |= (1 << ADSC);
    	while (!(ADCSRA & (1 << ADIF)));
    	ADCSRA |= (1 << ADIF);
    	data[0] = ADCL + (ADCH << 8);
    	ADMUX = (1 << REFS0) | (1 << REFS1) | IR_RIGHT;
    	ADCSRA |= (1 << ADSC);
    	while (!(ADCSRA & (1 << ADIF)));
    	ADCSRA |= (1 << ADIF);
    	data[1] = ADCL + (ADCH << 8);
    }
    
    int main(void) {
    	unsigned int tdata[2],offset[2];
    	unsigned int speed;
    	signed int diff,sum;
    	Init();
    	DDRD&=~(1<<6);
    	PORTD|=(1<<6);
    	
    	MotorDir(FWD,FWD);
    	
    	offset[0]=0;
    	offset[1]=0;
    	
    	while(1);
    	{
    		ThermalData(tdata);
    		if ((PIND&(1<<6))==0){
    		offset[0]=tdata[0];
    		offset[1]=tdata[1];
    		}
    		if (tdata[0]>offset[0]) tdata[0]-=offset[0];
    		else tdata[0]=0;
    		if (tdata[1]>offset[1]) tdata[1]-=offset[1];
    		else tdata[1]=0;
    		
    		sum=tdata[0]+tdata[1];
    	
    		if (sum>THRESH1) {
    			StatusLED(GREEN);
    			speed=140;
    			if (sum>THRESH2) {
    			StatusLED(YELLOW);
    			speed=200;
    			}
    			if (sum>THRESH3) {
    			StatusLED(RED);
    			speed=255;
    			}
    		
    			diff=((signed)tdata[0]-(signed)tdata[1])*32/sum;
    			if (diff>4) {
    				BackLED(ON,OFF);
    				MotorSpeed(0,speed);
    			}
    			else if (diff<-4) {
    				BackLED(OFF,ON);
    				MotorSpeed(speed,0);
    			}
    			else {
    				BackLED(OFF,OFF);
    				MotorSpeed(speed,speed);
    			}
    		}	
    		else {
    			StatusLED(OFF);
    			BackLED(OFF,OFF);
    			MotorSpeed(0,0);
    		}
    	}
    		
    	return 0;
    }
    Das funktioniert aber leider auch nicht ich weiss nemmer weiter

  8. #18
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    also offensichtlich funktionieren die sensoren. welche farbei hat die statusled bei dir?
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  9. #19
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.12.2006
    Ort
    Saarland
    Alter
    44
    Beiträge
    314
    durchgehend grün. Ich habe im buchgelesen das es mit der Linienverfolgung simmlich gleich ist jetzt habe ich den PhototransistorenAbgleichtest drauf gemacht und es funktioniert auch mit der erweiterung halt nur mit wärme und kälte wenn es einfach so läuft ohne was vordrann ist sind die werte bei ca. 53 wenn ich ein teelicht vorndran mache sind die werte bei ca 210 wenn ich den taster drücke steht es da und wenn ich meine hand vorhalte die in mom kalt ist sind die werte bei ca. 20

    EDIT: Lol na gut mit dem normalen Linienverfolgungs programm funktioniert es
    Code:
    //****************************************************************************************************
    // Liniefolgeprogramm
    // entwickelt aus dem mitglieferten Demoprogramm
    //
    // Geschwindigkeiten wurden geändert, das Verhalten invertiert (Bei Verlassen der Ideallinie wird abgebremst statt beschleunigt)
    //
    // letzte Änderung 29.11.2004
    
    
    
    
    #include "asuro.h"
    #define SPEED  0xBF
    int speedLeft,speedRight;
    unsigned int lineData[2];
    int ADOffset;
    void LineLeft (void)
    {
       speedRight  -=2;
       if (speedRight < 0x5F) speedRight = 0x5F;
    }
    void LineRight (void)
    {
       speedLeft  -=2;
       if (speedLeft < 0x5F) speedLeft = 0x5F;
    }
    void LineDemo(void)
    {
    int i;
    unsigned char j;
       FrontLED(ON);
       for (j = 0; j < 0xFF; j++) LineData(lineData);
       LineData(lineData);
       ADOffset = lineData[0] - lineData[1];
       speedLeft = speedRight = SPEED;
       MotorSpeed(speedLeft,speedRight);
       for(;;) {
          LineData(lineData);
          i = (lineData[0] - lineData[1]) - ADOffset;
          if ( i > 4) {
             StatusLED(GREEN);
             LineLeft();
          }
          else if ( i < -4) {
             StatusLED(RED);
             LineRight();
          }
          else {
             StatusLED(YELLOW);
             speedLeft = speedRight = SPEED;
          }
          MotorSpeed(speedLeft,speedRight);
       }
    }
    int main(void)
    {
       Init();
       LineDemo ();
       while(1);
       return 0;
    }
    wenn er keine Wärmequelle hat ist die StatusLED grün und er sucht sie sobald er eine hat fährt er vorwärts die status LED wird rot.

  10. #20
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    ok, das ist doch schonmal nicht schlecht.

    ich vermute mal, dass mit den drei if-abfragen was nicht stimmt. bitte prüfe hier nochmal genz genau die klammern {}, denn aus irgendeinem grund sind die if-abfragen verschachtelt. prüfe nochmal die vorlage, da stimmt was nicht.

    sollte das programm exakt so stimmen, dann melde dich nochmal, ich denke mir dann was aus.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress