-         

Ergebnis 1 bis 3 von 3

Thema: Nibobee Advanced

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.12.2009
    Beiträge
    5

    Nibobee Advanced

    Anzeige

    Hallo Leute,

    da dieses Forum immer ein hilfreicher Begleiter auf meinem Roboterweg war, möchte ich jetzt mal, im Rahmen meiner Möglichkeiten, ein bißchen was zurückgeben.
    Ich habe die Nibobee mit folgenden Erweiterungen ausgestattet:


    • SRF-8 Ultraschallmodul (I2C) auf HS-55 Servo
    • 2 Zellen Lipo mit 78S05CV stabilisiert und mit LipoSaver überwacht
    • BTM-222 Modul (UART) zur Kommunikation mit PC und Android
    • DSCP01 E-Kompass (I2C)
    • 2 superhelle blaue Scheinwerfer LEDs
    • Filz auf den Stützball geklebt
    • Getriebeschutz aus Kunststoff


    So sieht mein Bienchen derzeit aus:

    Klicke auf die Grafik für eine größere Ansicht

Name:	nibobee.jpg
Hits:	53
Größe:	90,0 KB
ID:	27052


    Diese Aufgabenstellungen hab ich behandelt:



    • Schneller Linienfolger -> Finite State Machine mit PD-Regler kombiniert
    • Rekonstruktion einer gefahrenen Linie -> Algorithmus von oben kombiniert mit E-Kompass bzw. Odometrie und an gnuplot gesendet
    • Navigieren im Raum und Hindernisse erkennen -> Servo und Ultraschall
    • Radar -> Servo und Ultraschall
    • Kommunikation mit PC und Handy -> BTM-222 und putty bzw. BluetoothSPP Pro


    Den Code, die Dokumentation und Videos gibts hier
    http://www.gateways-home.org/wb/page.../--nibobee.php

    Leider ist die Dokumentation eher dürftig, aber mehr habe ich leider nicht mehr gefunden
    Bei Bedarf stehe ich erstens selbst für Fragen zur Verfügung und zweitens kann ich, wenn wirklich Interesse besteht, noch ein klein wenig mehr dokumentieren.

    Der Code ist wie auf der Seite erwähnt mein unbereinigter Arbeitscode, also setzt euch hin, bevor ihr die Datei öffnet.

    Hoffe es ist die eine oder andere Anregung für jemanden dabei.

    Liebe Grüße aus Österreich!

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Servus,

    das ist ja eine hübsche Plattform und du hast da schon einiges durchgearbeitet. Das gefällt mir gut.

    Persönlich würden mich die Schaltpläne und Details der Bluetooth Verbindung interessieren. Einerseits auf dem Bot und andrerseits am PC. Geht das da über die Serielle, über USB und welch api Funktionen sprechen die Verbindung an?

    Auch die Logik des Verbindungsaufbaus hätte mich interssiert.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    28.12.2009
    Beiträge
    5
    Hi vohopri,

    danke schön.

    Schaltplan ist recht einfach, auf der Nibobee sind bereits Stiftleisten mit diversen Ports des ATMega16 verbunden. Unter anderem ist dort am Connector X5 RXD und TXD der UART des Chips ausgeführt. Die hab ich über Widerstände an ein BTM-222 angeschlossen (Weil verschiedene Pegel BTM222 3,3V und Nibobee 5V). Mit einem 3,3V Stabi-IC wird das Modul versorgt. Status LEDs kann man am Modul anschließen, muss man aber nicht.

    Die Software dazu:

    Code:
    void writeChar(uint8_t data )
    {
       while ( !( UCSR0A & (1<<UDRE0)) );
       UDR0 = data;
    }
    
    void writeString(char *string)
    {
       while(*string)
          writeChar(*string++);
    } 
    
    /*void uart_init(void) ATMEGA16
    {
      UCSRB |= (1<<TXEN);  // UART TX einschalten
      UCSRB |= (1<<RXEN);                         // UART RX einschalten
      UCSRC |= (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);  // Asynchron 8N1 
     
      UBRRH = UBRR_VAL >> 8;
      UBRRL = UBRR_VAL & 0xFF;
    }*/
    
    void uart_init(void) //ATMEGA1284
    {
      UCSR0B |= (1<<TXEN0);  // UART TX einschalten
      UCSR0B |= (1<<RXEN0);                         // UART RX einschalten
      UCSR0C |= (1<<USBS0)|(3<<UCSZ00);  // Asynchron 8N1 
     
      UBRR0H = UBRR_VAL >> 8;
      UBRR0L = UBRR_VAL & 0xFF;
    }
    
    uint8_t uart_getc_nb(void) //non blocking
    {
        if (!(UCSR0A & (1<<RXC0))) {
                    return 0;
        } else {
            return UDR0;
            }                   // Zeichen aus UDR an Aufrufer zurueckgeben
    }
    
    uint8_t uart_getc(void)
    {
        while (!(UCSR0A & (1<<RXC0)))   // warten bis Zeichen verfuegbar
            ;
        return UDR0;                   // Zeichen aus UDR an Aufrufer zurueckgeben
    }
    
    void uart_gets( char* Buffer, uint8_t MaxLen )
    {
      uint8_t NextChar;
      uint8_t StringLen = 0;
     
      NextChar = uart_getc();         // Warte auf und empfange das nächste Zeichen
     
                                      // Sammle solange Zeichen, bis:
                                      // * entweder das String Ende Zeichen kam
                                      // * oder das aufnehmende Array voll ist
      while( NextChar != '\n' && StringLen < MaxLen - 1 ) {
        *Buffer++ = NextChar;
        StringLen++;
        NextChar = uart_getc();
      }
     
                                      // Noch ein '\0' anhängen um einen Standard
                                      // C-String daraus zu machen
      *Buffer = '\0';
    }
    


    Es gibt Anleitungen im Netz dazu aber so ganz haben die dann doch nicht funktioniert. Deswegen hab ich dann die Grundfunktionen einfach nach dem Datenblatt nach implementiert.

Ähnliche Themen

  1. nibobee chassis
    Von -re- im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 6
    Letzter Beitrag: 14.05.2011, 17:15
  2. [NiboBee] ATmega32
    Von waschtl im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 6
    Letzter Beitrag: 29.01.2011, 11:36
  3. AVTR - Advanced Vehicle for Terrestrial Research (AVaTaR)
    Von Coleone im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 24
    Letzter Beitrag: 28.10.2010, 22:15
  4. Hilfe !!! C-Control I Station Advanced Unit Advaced
    Von mary_bigmary im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 1
    Letzter Beitrag: 01.02.2010, 20:49
  5. Sprung Problem bei Station Advanced
    Von Filozof im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 2
    Letzter Beitrag: 16.12.2008, 19:46

Berechtigungen

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