- Modernes Energiemessgeraet    Werbung      
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 255

Thema: IR-bake

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    78
    Beiträge
    2.180
    ich experimentiere jetzt mit verschiedenen varianten von bauteilen...

    Um zu vermeiden, dass die IR-LEDs zu warm werden, möchte ich die IR schaltung jeweils für 1 sec einschalten und für zwei sec ausschalten, also quasi eine blinkschaltung, mit der die versorgungsspannung der bake an- und ausgeschaltet werden soll. Dieses etwa...

    nur wo bringe ich die anschlüsse des blinkers, an denen die LED angeschlossen ist, an die schaltung der bake an?

    Bild  
    oder gibt es einfachere möglichkeiten?
    gruß inka

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi inka,

    wenn die 2. Blinkschaltung auch einen Ausgangstreiber (NPN in Emitterschaltung, so wie der Q1 deiner jetzigen Schaltung) hat, kann sein Collector an die Basis von Q1. Wenn er dann durchgeschaltet wird, zieht er die Basis von Q1 gegen GND und die LEDs leuchten nicht mehr. Sperrt er, dann blinken die LEDs wieder mit 36 kHz.

    Wenn man die LEDs mal komplexer modulieren will, sollte man eher an einen kleinen µC (anstelle des NE555) denken, mit dem man dann (fast) jede Impulsform (auch RC5) hinkriegt.

    Um Leistung (an Q1) zu sparen und die IR-Reichweite zu erhöhen, gäbe es noch das:
    1. Nicht jede LED einzeln mit Vorwiderstand betreiben, sondern je 2 in Reihe. Das halbiert schon mal die Leistung.
    2. Q1 durch einen MOSFet ersetzen.
    3. LEDs in eine Innenreflektor-Fassung setzen ("Scheinwerfer").
    4. LEDs mit engem Öffnungswinkel nehmen (10°).
    5. LEDs nicht zu stark gefächert anbringen, sondern gebündelt parallel ausrichten (z.B. mithilfe einer IR Karte).
    6. Als Lichtfarbe 940..950 nm nehmen (da hat der Empfänger auf dem RP6 die höchste Empfindlichkeit).
    7. Hoch leistungsfähige IR-LEDs nehmen (teuer!).
    Gruß
    Dirk

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

    es gibt neuigkeiten:

    - ich habe einige bauteile "gesockelt" um flexibler beim beuteiletausch zu sein
    - reflektoren an den IR dioden angebracht

    Bild  

    und eine zweite platine "huckepack" , steckbar draufgesetzt mit einer zweiten blinkschaltung, die die IR bake ein und ausschaltet:

    Bild  
    mit den beiden potis kann ich fast beliebige schaltintervalle einstellen...
    Bild  

    Bild  

    allein durch die reflektoren und das "blinken" der IR-LEDs ist jetzt die reichweite bis auf ca. einen meter gestiegen...

    Nächste woche werde ich andere vorwiderstände an den dioden testen und andere transistoren...
    Geändert von inka (08.12.2013 um 15:29 Uhr)

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi inka,

    du bist ja wirklich hartnäckig da dran!

    Wenn ich dein Projekt von Anfang an sehe, dann könnte/sollte daraus sicher mal ein RN-Wissen-Artikel werden.
    Gruß
    Dirk

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

    zielstrebig ja, ich will ja schließlich eine ladestation - die auch gefunden wird - bauen...

    schon wieder taucht eine frage auf:

    ich dachte, ich könnte auf die gleiche art und weise die frequenz der zweiten schaltung (blinker) messen wie bei der ersten - zwischen dem anschluss 3 des zweiten ne555 und zwischen masse. Dort kann ich aber nur sehen wie die spannung zwischen 2 und 4 volt wechselt, kann ich so nicht die blinkfrequenz sehen und einstellen?
    gruß inka

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi inka,
    Dort kann ich aber nur sehen wie die spannung zwischen 2 und 4 volt wechselt, kann ich so nicht die blinkfrequenz sehen und einstellen?
    Dem Oszilloskop ist die Höhe der Spannung ja egal. Da müßtest du doch die Frequenz messen können.
    Für die Verbindung mit der 1. Schaltung würde ich aber noch einen Transistor-Treiber (wie Q1 in der 1. Schaltung) dranbauen. Da der Transistor nicht viel leisten muss, genügt ein NPN-Universaltyp.
    Gruß
    Dirk

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

    am kontakt 3 des blinker-NE555 habe ich über einen basiswiderstand einen NPN transistor, zu sehen im bild DSCI2529-1...

    von der unteren (grünen) platine zapfe ich nur die versorgungsspannung ab und vom collector des treibertransistors (blinker) gehe ich an die basis des NPN transistors der die IR-Dionen (auf der grünen platine) ansteuert...
    Geändert von inka (13.12.2013 um 14:33 Uhr)
    gruß inka

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    78
    Beiträge
    2.180
    hallo,

    inzwischen bin ich durch die verkleinerung des basiswiderstandes R13 von 4,7k auf 3,2k auf einer reichweite der bake von 3 metern angekommen, wohlgemerkt bei (noch) auf niedrigerer temperatur arbeitendem Q2, nach ca. 1 minute wird es schlechter...

    jetzt möchte ich außer der reaktion auf dem LCD eine andere reaktion sehen und es klappt nicht:

    mit dem aufruf dieser Funktion aus der while schleife (siehe weiter unten):
    Code:
    void read_IR_value(void)
    {
    
        I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
        I2CTWI_readBytes(I2C_RP6_BASE_ADR, ir_value, 1);
    
    }
    while-schleife:
    Code:
        while(true)
        {
    
        read_IR_value();
    
        clearLCD();
    
        setCursorPosLCD(0, 0);
        writeStringLCD_P("dez: ");
        setCursorPosLCD(0, 13);
        writeIntegerLengthLCD(ir_value[0], DEC, 4);
    
        setCursorPosLCD(1, 0);
        writeStringLCD_P("bin: ");
        setCursorPosLCD(1, 8);
        writeIntegerLengthLCD(ir_value[0], BIN, 8);
    
        setCursorPosLCD(2, 0);
        writeStringLCD_P("hex: ");
        setCursorPosLCD(2, 8);
        writeIntegerLengthLCD(ir_value[0], HEX, 4);
    
    /*
        if (ir_value[0] = 0)
            {
            sound(180,80,25);
            setLEDs(0b1000);
            sound(220,80,25);
            mSleep(500);
            }
    */
        readAllRegisters();
    
    
        }
        return 0;
    werden die werte der variablen "ir_value", also 0 oder 4 je nachdem ob bake "gesehen" wird oder nicht auf dem LCD ausgegeben.

    die if abfrage (hier auskommentiert) der variablen "ir_value" habe ich (bei abgeschalteter bake) mit den werten 1 bis 4 probeweise ausgeführt, die reaktion erfolgt richtig, es piepst. Frage ich nach dem wert "0", passiert nichts, auch bei eingeschalteter bake und auf dem display erscheinendem wert "0"


    ich verstehe es einfach nicht. Frage ich die falsche variable ab? Oder nach falschen werten? Oder sind die abfrageabstände zu kurz? kann der beeper nicht so schnell reagieren?
    Geändert von inka (19.12.2013 um 16:54 Uhr)
    gruß inka

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi inka,

    3 Sachen:
    1. Die Abfrage if (ir_value[0] = 0) ergibt nie das gewünschte Ergebnis, aber if (ir_value[0] == 0) würde helfen.
    2. Die Abfragefrequenz sollte man auch reduzieren, z.B. mit einer Stopwatch. 250 bis 500ms sind sicher ausreichend. Immerhin muss auch noch die I2C-Kommunikation zwischen RP6 und M32 erfolgen: Das braucht Zeit.
    3. ir_value[0] ist ein Feld-Variable. Wo wird die gefüllt?
    Gruß
    Dirk

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


    zumindest der punkt 1 hätte mir auffallen müssen...- jetzt reagiert die abfrage auf das empfangen des IR-signals...

    die verzögerung habe ich mit "mSleep(500)" gemacht , das ist wohl blockierend - wenn ich es richtig in erinnerung habe - stört das hier?

    Zitat Zitat von Dirk Beitrag anzeigen
    3. ir_value[0] ist ein Feld-Variable. Wo wird die gefüllt?
    oh, ich dachte das passiert hier Bild  

    Code:
    void read_IR_value(void)
    { 
    I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
    I2CTWI_readBytes(I2C_RP6_BASE_ADR, ir_value, 1);
    }
    ist das nicht so?

    ansonsten ist sie in der programmdatei so:
    Code:
    uint8_t ir_value[1];
    deklariert...
    gruß inka

Seite 1 von 2 12 LetzteLetzte

Ä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
  •  

    Werbung      12V Akku bauen