- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 255

Thema: IR-bake

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2006
    Beiträge
    17
    hallo inka,

    das schaut sehr gut aus. Danke für Deine Arbeit.

    Ich wollte mir eben den Schaltplan anschauen und fand dort kein Dokument. Weißt Du, woran das liegen könnte?
    Danke und Gruß

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    jetzt müsste das mit dem schaltplan gehen...
    gruß inka

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi inka,
    Ich glaube auch, dass der sender und der RP6 sich gegenseitig austricksen, weil wenn der einer sendet, empfängt der andere gerade nicht und umgekehrt.
    Die direkte Abfrage von PB2 beißt sich auf jeden Fall mit dem ACS. Das sollte also nicht parallel genutzt werden.

    Wenn die abfrage - das ist jetzt einfach nur eine hausnummer - 10 "ok" zeichen hintereinander als bestätigung eines IR-empfangs findet macht der RP6 irgendwas. Blebt stehen, piepst die ode an die freude oder was auch immer...
    Wenn man sich z.B. vorstellt, dass sich der RP6 am Anfang der Suche zwecks Orientierung auf der Stelle dreht, dann könnte man parallel die Positionen "merken", bei denen er die Bake erkennt. Er würde sich dann zur gemittelten Bakenposition drehen und losfahren. Auf dem Weg könnte er sich noch ein paarmal durch kleinere Rechts-/Links-Drehungen zur Bake ausrichten.
    Anforderungen:
    1. Der IR-Empfänger müßte in einer Röhre sitzen wegen der nötigen Richtwirkung.
    2. Es muss einen erkennbaren Zusammenhang zwischen der gemittelten Bakenposition und der "Drehposition" des RP6 geben, damit er in die richtige Richtung fahren kann. Wenn man nicht rein nach Versuch und Irrtum vorgehen will, braucht man evtl. einen Kompasssensor oder Gyro.
    3. Es macht wenig Sinn, einen sehr breiten IR-Licht-Fächer im Raum zu haben (so dass er fast den ganzen Raum füllt), sondern ein schmaleres IR-Licht-Feld wäre wohl besser.
    4. ... das gibt's bestimmt noch was, aber mehr fällt mir jetzt nicht ein ...
    Gruß
    Dirk

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi Dirk,

    wieder ein paar tests gemacht:

    die vorwiderstände auf 10 ohm verringert, die blinkfrequenz der bake auf ca. 1/sec eingestellt und bei der abfrage im RP6 es so eingerichtet, dass er keine pausen beim messen macht, die reichweite ist nun bei 2m! Ansonsten die erfahrungen im text:

    Zitat Zitat von Dirk Beitrag anzeigen
    Die direkte Abfrage von PB2 beißt sich auf jeden Fall mit dem ACS. Das sollte also nicht parallel genutzt werden.
    klar, läuft auch nicht mit...

    Zitat Zitat von Dirk Beitrag anzeigen
    1. Der IR-Empfänger müßte in einer Röhre sitzen wegen der nötigen Richtwirkung.
    die 5 IR-dioden sind ja in einer art kranz, bzw. halbkreis mit lücken angeordnet. Bereits bei einer entfernung von 2 metern reicht eine sehr kleine verdrehung des RP6 (1 - 2 °) um das IR signal der empfangenen diode zu verlieren...

    Zitat Zitat von Dirk Beitrag anzeigen
    2. Es muss einen erkennbaren Zusammenhang zwischen der gemittelten Bakenposition und der "Drehposition" des RP6 geben, damit er in die richtige Richtung fahren kann. Wenn man nicht rein nach Versuch und Irrtum vorgehen will, braucht man evtl. einen Kompasssensor oder Gyro.
    bei zwischenmessungen auf dem weg zu der bake verringert sich ja die entfernung, das signal wird besser, aber evtl. hast du recht...


    Zitat Zitat von Dirk Beitrag anzeigen
    3. Es macht wenig Sinn, einen sehr breiten IR-Licht-Fächer im Raum zu haben (so dass er fast den ganzen Raum füllt), sondern ein schmaleres IR-Licht-Feld wäre wohl besser.
    der fächer ist ja in vertikaler richtung ziemlich flach, und es ist in horizontaler richtung kein geschlossener kreis/halbkreis, die lücken zwischen den einzelnen IR-kegeln werden ja mit der entfernung zwischen sender und empfänger immer größer...

    Ich habe noch verschiedene temperaturen gemessen:

    die 10 ohm vorwiderstände - 55°
    die IR-dioden selbst - 36°
    der Q2 - 89°, mit kühlkörper (siehe foto) immer noch 60°
    Klicke auf die Grafik für eine größere Ansicht

Name:	DSCI2593-1.jpg
Hits:	17
Größe:	49,7 KB
ID:	26923

    ich habe beobachtet, dass, wenn die bake länger blinkt die leistung nachlässt, das signal wird offensichtlich mit wärmer werden des 2N222 immer schlechter. Durch welchen transistor könnte ich den ersetzen?
    gruß inka

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Hi,

    mit den änderungen

    Code:
    case 2://
        setLEDs(0b0010);
        writeString_P("\n\n messung feldvariable\n");
    
        initRP6Control();
        initLCD();
    
        while(true)
        {
    //    rotate (20, RIGHT, 3, false);
    
    //    read_IR_value();
            uint8_t i = 0;
        for(i = 0; i < 499; i++)
            {
            temp_IR[i] = read_IR_value();
            feld_IR[i] = temp_IR[i];
    //        feld_IR[i] = read_IR_value();
            writeIntegerLength(temp_IR[i],DEC,4);
            if(i % 7 == 0)
                writeChar('\n');
            else
                writeString_P(" | ");
            mSleep(100);
    //        move(50, FWD, DIST_MM(100), false);
            }
    
        clearLCD();
    
        setCursorPosLCD(0, 0);
        writeStringLCD_P("bin: ");
        setCursorPosLCD(0, 8);
        writeIntegerLengthLCD(temp_IR[0], BIN, 8);
        mSleep(300);
        setMultiIOLED3(0);
    
        readAllRegisters();
        mSleep(100);
    
    
            /**************************/
            uint8_t key_1 = getMultiIOPressedButtonNumber();
            key_1 = getMultiIOPressedButtonNumber();
            if(key_1 != 0) break;
    
            /**************************/
        }
    
        break;
    konnte ich nun herausfinden, wie oft, bzw. mit welchem muster meine IR-bake sendet - und empfangen wird. Hier ein teilinhalt der feldvariablen "uint8_t feld_IR[500]" :
    Klicke auf die Grafik für eine größere Ansicht

Name:	2014_01_11_IR_log.jpg
Hits:	21
Größe:	122,5 KB
ID:	27136
    es ist folgendes muster, welches empfangen wird:

    4x nichts / treffer / 3x nichts / treffer / 4x nichts / treffer usw, usw...

    ich nehme an, dass der IR empfänger nicht dauernd empfängt, sondern in einem bestimmten rhythmus. Das würde evtl. erklären warum die optische anzeige (LED)

    Code:
      case 1://
        setLEDs(0b0001);
        writeString_P("\n\n messung einzelsignal\n");
    
        initRP6Control();
        initLCD();
    
        // ---------------------------------------
        WDT_setRequestHandler(watchDogRequest);
    
    /*************************************************************/
    
        while(true)
        {
    //    rotate (20, RIGHT, 3, false);
    
            temp = read_IR_value();
    
            mSleep(100);
    
        if (temp == 0)
            {
            setMultiIOLED3(1);
            mSleep(100);
            setMultiIOLED3(0);
    //        move(50, FWD, DIST_MM(100), false);
            }
    
        clearLCD();
    
        setCursorPosLCD(0, 0);
        writeStringLCD_P("dec: ");
        setCursorPosLCD(0, 8);
        writeIntegerLengthLCD(temp, DEC, 1);
        mSleep(300);
    //    setMultiIOLED3(0);
    
        readAllRegisters();
        mSleep(100);
    
    
            /**************************/
            uint8_t key_1 = getMultiIOPressedButtonNumber();
            key_1 = getMultiIOPressedButtonNumber();
            if(key_1 != 0) break;
    
            /**************************/
        }
    break;
    zwar funktioniert (reaktion auf einzelne empfangene IR-signale), aber in wesentlich unregelmäßigen abständen als dieses 3 - 1 - 4 - 1 - 3 - 1 - 4 - 1 -...
    Diesen rhythmuss möchte ich beibehalten, er scheint mir insofern günstig, weil man mit diesem rhythmus die IR-bake identifizieren könnte...

    es beschäftigen mich nun folgende fragen:

    - wie finde ich den IR-empfangsrhythmus des RP6 raus?
    - Ist er irgendwo angegeben, muss ich ihn irgendwie berechnen/messen (stopwatches?)?
    - wie passe ich die beiden frequenzen aneinander an?

    für ideen und tipps bin ich wie immer dankbar...
    gruß inka

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi inka,
    da bist du ja schon etwas weiter gekommen!
    Diesen rhythmuss möchte ich beibehalten, er scheint mir insofern günstig, weil man mit diesem rhythmus die IR-bake identifizieren könnte...
    Tatsächlich könnte man Baken mit unterschiedlicher Modulationsfrequenz so erkennen.
    Dein Ausdruck der Werte scheint zu sagen, dass die Bake in regelmäßigen Abständen erkannt wird, wobei die AN-Phase nur kurz (1-3 Werte) erscheint und die AUS-Phase wohl etwa 4x so lang ist. Halt mal das Oszilloskop an den Treiber der Bake, um zu sehen, ob das so etwa auch gesendet wird (AN-AUS = 1-4).
    Der "Leserhythmus" des IR-Signals wird im Wesentlichen bestimmt durch die zeitliche Länge der for(i = 0; i < 499; i++) - Schleife. Darin gibt es einerseits die feste Pause von 100ms (mSleep(100); ), dann die Zeit, die die UART-Ausgabe der Werte (writeIntegerLength(...) u.a.) braucht und die Zeit für die I2C-Kommunikation in der IR-Lesefunktion (read_IR_value(); ).
    Messen kann man die Zyklusdauer der Schleife z.B. mit den Stopwatches:
    1. Starten am Programmanfang mit: startStopwatch1();
    2. Variable definieren: uint16_t zeitdauer;
    3. Zurücksetzen auf 0 am Anfang der for(i = 0; i < 499; i++) - Schleife: if (i==498 ) setStopwatch1(0);
    4. Lesen des Stopwatch Werts mit: if (i==498 ) zeitdauer = getStopwatch1(); am Ende der Schleife
    5. Nach der Schleife den Wert von zeitdauer ausgeben.
    Damit wird im letzten Schleifendurchlauf die Dauer in Millisekunden gemessen. Man kann das dann in die Frequenz umrechnen.
    Gruß
    Dirk

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi Dirk,
    den "rest" dann in aller ruhe, zunächst zu der interpretation der IR-logdatei:
    Zitat Zitat von Dirk Beitrag anzeigen
    Dein Ausdruck der Werte scheint zu sagen, dass die Bake in regelmäßigen Abständen erkannt wird, wobei die AN-Phase nur kurz (1-3 Werte) erscheint und die AUS-Phase wohl etwa 4x so lang ist. Halt mal das Oszilloskop an den Treiber der Bake, um zu sehen, ob das so etwa auch gesendet wird (AN-AUS = 1-4).
    das mit derm oszi funktioniert nicht, ich sehe bei allen möglichen einstellungen nur einen waagerechten strich, der seine lage im blinkinterwall der bake rauf und runter ändert, bekomme also keine darstellung der abwechselnden phasen in waagerechetn richtung aneinander gereiht, keine ahnung warum...

    nun zu der logdatei:

    ich würde die AN/AUS phasen anders interpretieren:

    0004 bedeute kein signal
    0000 bedeutet signal empfangen

    in der reienfolge aus dem bild ist es dann doch so:

    aus aus aus aus an aus aus aus an aus aus aus aus an aus aus aus an .............

    also hätte die AN-phase jeweils nur ein wert und die AUS-phase abwechselnd 3 oder 4 werte. oder sehe ich da was falsch?
    gruß inka

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi,
    also hätte die AN-phase jeweils nur ein wert und die AUS-phase abwechselnd 3 oder 4 werte. oder sehe ich da was falsch?
    Ne, habe ich genau so gesehen. S.o.!
    Gruß
    Dirk

Ähnliche Themen

  1. IR-Bake
    Von tornado im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 05.07.2007, 17:37
  2. IR-Bake
    Von Bernd-das-Brot im Forum Sensoren / Sensorik
    Antworten: 38
    Letzter Beitrag: 13.12.2005, 16:14
  3. ir-bake
    Von pebisoft im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 8
    Letzter Beitrag: 17.01.2005, 13:41
  4. ir-bake
    Von pebisoft im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 17.01.2005, 07:01
  5. Bake
    Von techboy im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 02.11.2004, 10:17

Berechtigungen

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

12V Akku bauen