- 3D-Druck Einstieg und Tipps         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 23 von 23

Thema: Nibobee Liniensensoren kalibrieren

  1. #21
    Benutzer Stammmitglied
    Registriert seit
    12.01.2010
    Beiträge
    53
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    Zitat Zitat von Rabenauge
    Allerdings werde ich mir eventuell was einfallen lassen müssen, denn meine Biene wird nun konstant mit 5.07V versorgt, das ist deutlich weniger als mit vollen AAA-Zellen, und so dürften die IR-Dioden wohl noch schwächer funzeln nun.
    Häh? Anders ausgedrückt: Die Biene ist _nicht_ für Spannungen oberhalb von 5 V ausgelegt! Sie _darf_ nicht mit AAA-Primärzellen, sondern nur mit AAA-Akkus betrieben werden.

    Nein, ich meinte nicht, dass Du Deine geregelte Energiequelle da nicht anschließen darfst, sondern dass das "Original" mit dem AAA-Batteriefach eben nur mit Akkus betrieben werden darf.

    Die IR-Dioden werden mit genug Power betrieben. Wie ich schon geschrieben habe, "sehen" die IR-Transistoren unter Umständen die Leuchtkegel der IR-Dioden gar nicht vollständig.

    Leider bin ich noch an anderen Stellen mit der Biene unterwegs, weswegen ich diesen Teil noch nicht ausgiebig getestet habe. Was ich aber schon gemerkt habe: Ein leichtes verbiegen der Dioden / Transistoren zueinander oder voneinander weg hat einen deutlichen Einfluss auf die Messergebnisse. Also nehmt das nicht auf die leichte Schulter! Ich sag nur: Digitalkameratest...

    Viel Erfolg,
    Ciao bantyy

  2. #22
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Vier voll geladene 1.2V NiMh-Akkus haben schon "deutlich" mehr als 5V. Ich habe was um die 5.6V Leerlauf gemessen, bevor ich sie raus operiert hatte. Ich weiss: Leerlauf ist nicht Betrieb, aber trotzdem tritt anfangs sicherlich etwas mehr als 5V auf.

    Das mit dem ausrichten stimmt allerdings, sie haben (klug gedacht) einen sehr schmalen Lichtkegel. Aber der kann auch alles verderben, siehe die Leute mit den TT-Bällen, da wird der Kegel schlichtweg zu klein.

    Ich finde trotzdem, dass die Geschichte recht grenzwertig betrieben wird, wenn man die Nase auch nur 2-3cm höher anhebt, "sehen" die Sensoren gar nix mehr.
    Mit mehr Leuchtkraft liesse sich das sicherlich beheben, der Lichtsensor meines RCX kann Hindernisse noch auf nen halben Meter gut detektieren.
    Allerdings hat er zwei oder drei grosse IR-LED`s in der Nase, die reichen bei der PC-Verbindung etliche Meter weit.

    Da 5cm Absätze der Biene beim runterfallen nichts tun, sollte die Reichweite wenigstens in der Gegend sein *find

  3. #23
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Sodele.
    Meine Biene hat inzwischen ein I2C-Display, und als kleine Fingerübung habe ich mal ein Progrämmchen geschrieben, was die Werte der Lichtsensoren schön nebeneinander ausgibt, und zwar nicht in Hex, wie im erweiterten Testprogramm, sondern in Menschen-Zahlen... [-(

    So kann man ohne langes fummeln, herumspielen, warten und Blinkzeichen zählen live die Werte direkt ablesen.

    Einfach Biene auf den Untergrund, einschalten und schauen:

    Code:
    #include <nibobee/iodefs.h>
    #include <nibobee/usart.h>
    #include <nibobee/i2cmaster.h>
    #include <nibobee/lcdi2c.h>
    #include <nibobee/line.h>
    #include <nibobee/delay.h>
    #include <avr/eeprom.h> 
    #include <stdio.h>
    
    void __eewr_block (const void *src, void *dst, size_t n) //muss rein wegen neuerer Bibliotheken
    { 														 //----------oder so-------------------	
     eeprom_write_block(src,dst,n); 						 //--ergibt sonst Probleme-------------
     } 														 //-------beim einbinden der-----------
    void __eerd_block (void *dst, const void *src, size_t n) //---------line.h---------------------
    { 														 //------------------------------------
     eeprom_read_block(dst,src,n); 							 //------------------------------------	
     }														 //------------------------------------	
    
    int main() {
        
      usart_setbaudrate(9600);
      usart_enable();
      i2c_init();
      lcd_init(0x27);
      lcd_setBacklight(0);
      printf(" Liniensensoren ");								//Was sehn wir?
      set_output_group(IO_SENS);       							// Pull-ups aktivieren
      line_init();
     
    	uint16_t links = 0;										//Wert linker LS 
        uint16_t mitte = 0;										//--"-- mittlerer
        uint16_t rechts= 0;										//--"-- rechter  
    	
      while(1) {
        enable_interrupts();
           
     links= line_get(LINE_L);									//Linie links auslesen
     mitte= line_get(LINE_C);									//Linie mitte auslesen
     rechts=line_get(LINE_R);									//Linie rechts auslesen
     
        lcd_setCursor(0,1);										//Ausgabe Licht
        printf(" %4d %4d %4d ", links, mitte,rechts);
    
        delay(100);
       }
      return 0;                             
    }
    Funktioniert hervorragend, und gibt, da man sich Zettel, Stift und Geduld spart einige interessante Erkenntnisse.

    Falls ihr es benutzt: passt auf, meine Biene hat das Display _richtigherum_ drauf, also oben=vorne, sonst sind die Seiten vertauscht und rechts=links.

    Der obere Teil (mit der EEprom-Geschichte) musste rein, da ich vor einigen Tagen alles neu installiert habe hier, ohne läuft bei mir nix, sowie ich die Liniensensoren benutzen will, eventuell kann der Teil ansonsten noch weg.

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

Solar Speicher und Akkus Tests