- 3D-Druck Einstieg und Tipps         
Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 45

Thema: AT90S2343: LED als Blinklicht und Lichtsensor

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2005
    Beiträge
    20
    Moin,

    stimmt, die Ladezeit kann man ja deshalb noch stark verkürzen, weil die Kapazität der LED ja nur über den Vorwiderstand allein geladen wird.

    Eine Zeitmessung mache ich übrigens nicht, da ich die Kapazität selbst nicht messen möchte; weder relativ noch absolut. Ich gebe eine Fixzeit vor, nach der ich einfach nur schaue, ob die Kapazität noch ge- oder schon entladen ist. Für mich bzw. meine Schaltung reicht das im Moment so aus.

    Als Lichtquelle habe ich einfach eine Taschenlampe verwendet. Den Nahversuch auf dem Steckbrett habe ich mit einer 1-LED-Lampe (5 mm, weiß) mit kleiner Leistung gemacht, den 9 m-Versuch mit einer Dorcy 1 W-LED-Lampe (weiß). Auch das Licht normaler Glühlampen funktioniert einwandfrei.

    Faszinierend dabei ist für mich die Empfindlichkeit einer LED; ihr Vorteil als Sensor ist der recht schmale Ein- und Austrittswinkel für das Licht. So kann man Störeinflüsse durch Seitenlicht, wie z.B. bei einem LDR, vermeiden.

    Die Sache mit dem 'gleichzeitigen' Leuchten dürfte doch aber kein Problem sein, da Du ja per Programm recht schnell zwischen 'Messen' und 'Ausgeben' umschalten kannst. Und LED's im weiß-diffusen Gehäuse sollten als Sensor auch gut funktionieren. Allerdings müßtest Du dabei dann tatsächlich die Kapazität 'messen', zumindest relativ, da Du ja nicht nur zwei Zustände (hell - dunkel) wie ich unterscheiden möchtest.

    Du solltest das auf jeden Fall mal ausprobieren, das funktioniert wirklich gut. Und in welchem Zeitraum (Laden, Entladen) sich das ganze abspielt, weißt Du ja jetzt ungefähr.

    Ich habe mir gestern bei Reichelt noch ein paar unterschiedliche AVR's bestellt, weil ich nun noch den Strom-'Verbrauch' der Schaltung drastisch senken möchte. Ein Sleepmode kommt bei dieser Umsetzung ja leider nicht in Frage, deshalb möchte ich das nun mit einem ATtiny13 realisieren. Den schalte ich dann auf den internen 128kHz-Oszillator, so daß er bei 3 V dann nur noch 50 µA zieht; Ladung der LED ausgenommen. Wenn ich dann noch den Widerstand per PWM eleminieren würde, gäbe es für meinen Zweck keine einfachere Schaltung mehr. Mal schauen...

    Viele Grüße,

    Radio Eriwan

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.11.2005
    Beiträge
    321
    Gibt es ein Programmablauf für den Schaltplan und die vorgeschlagenen "1ms" in Bascom und mit beispiel des Datenrichtungsregister:
    - LED wird für 1 ms 'geladen' (kann ggf. noch drastisch verkürzt werden)
    - 1 ms (Entlade-)Wartezeit (diese Zeit bestimmt die Ansprechempfindlichkeit)
    - danach Abfrage, ob Eingang '0' (hell) oder '1' (dunkel)

    Danke.

    Castle

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Zitat Zitat von Radio Eriwan
    Die Sache mit dem 'gleichzeitigen' Leuchten dürfte doch aber kein Problem sein, da Du ja per Programm recht schnell zwischen 'Messen' und 'Ausgeben' umschalten kannst.
    Leider nein. Die LED häng mit einigen anderen LEDs in einer Matrix mit Anoden und Kathodentreibern, und das Signal von der LED ist sehr stark verrauscht. Über R-C-Filter oder so kann ich nicht gehen, weil das die Messung zu langsam macht und die LED schon wieder leuchten soll. Meine bisherigen Erfahrunge ist, daß es im Schummerlicht-Bereich seht schwer ist, da was zu erkennen. Softwaremässig zu filtern hilft etwas, aber das Signal ist eben sehr stark verrauscht.

    Ich hatte geplant, die LED als Stromquelle zu verwenden und den Strom über einen Transimpedanzwandler zu messen.

    IMHO wird bei deiner Schaltung auch nicht die Kapazitätsänderung der LED gemessen -- man belehre mich da eines besseren

    Die LED ist ein C, der aufgeladen wird. Ok. Durch die Beleuchtung wird die LED dann unterschiedlich schnell entladen, weil sie unter Beleuchtung eine kleine Stromquelle ist, deren Größe von der Lichtstärke abhängt. Dadurch pumpt sie ihre Kapazität unterscheidlich schnell leer. Mit C-Änderung hat das wohl nix zu tun denk ich...

    Jedenfalls ein spannendes Thema.
    Disclaimer: none. Sue me.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2005
    Beiträge
    20
    Hi Sprinter,

    ja, in einer solchen Matrix, wie geschildert, dürfte das wirklich schwierig werden!

    Zu meiner Schaltung: Die LED hat tatsächlich eine lichtabhängige Kapazität. Diese wird nicht vom Licht entladen, sondern vom µC. In der Funktechnik nimmt man für einen VCO z.B. normale Gleichrichterdioden (1N4001), deren Kapazität spannungsabhängig ist. Jede Art der Energiezuführung (Licht, Spannung, Wärme) verändert die Kapazität eines PN-Überganges.

    Aber wie gesagt: Ich 'messe' in meiner Schaltung nicht die Kapazität, ich benutze eine Fixzeit. Der Ri des µC ist nahezu konstant; verändern tut sich nur die Kapazität der LED mit dem Lichteinfall. Das zusammen ergibt unterschiedliche Entladezeiten, die ich dann mit meinem Programm auswerte.

    An Castle:
    Soll ich mein Programm mal hier rein stellen?

    Es grüßt...

    ...Radio Eriwan

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.11.2005
    Beiträge
    321
    Joop, mach das mal.

    Gruß Castle

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2005
    Beiträge
    20
    Ok, bitte sehr (ist aber noch nicht optimiert ):

    Code:
    '
    $regfile = "2343DEF.dat"
    $crystal = 1000000
    '
    Config Portb = &B00011000                                   'Pinb.3 und .4 auf 'Ausgang', Rest auf 'Eingang' schalten
    Portb = &B11100111                                          'Pullups zuschalten, außer für Pinb.3 und .4
    '
    Dim A As Byte
    Dim Hell_dunkel As Bit
    '
    Do
    '
    Portb.3 = 0                                                 'Portb.3 auf Masse schalten
    Portb.4 = 1                                                 'Portb.4 auf +Ub schalten, um die LED zu 'laden'
    Waitms 1                                                    'Ladezeit 1 ms
    Config Portb.4 = Input                                      'Portb.4 nun zwecks Abfrage der LED-Ladung auf 'Eingang' schalten
    Portb.4 = 0                                                 'Pullup abschalten, sonst geht's nicht!
    Waitms 1                                                    'Entladezeit 1 ms - je kleiner, je unempfindlicher
    Hell_dunkel = Pinb.4                                        'Ladezustand einlesen
    Config Portb.4 = Output                                     'Portb.4 wieder auf Ausgang schalten
    Portb.4 = 0                                                 'Portb.4 auf Masse schalten
    '
    If Hell_dunkel = 0 Then
        For A = 1 To 10
            Portb.3 = 1
            Waitms 50
            Portb.3 = 0
            Waitms 500
        Next A
    End If
    '
    Loop
    '
    End
    Wird die LED kurz angeleuchtet, dann blinkt sie mit 10 gut sichtbaren Impulsen zurück.

    Es grüßt...

    ...Radio Eriwan

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.11.2005
    Beiträge
    321
    Hallo, ich habe eine LD 274-Ir-Diode angeschlossen.
    Geht wunderbar bis auf 10m mit einer normalen Taschenlampe.
    Wenn die Diode zu schräg noch oben steht, reicht auch zum Auslösen
    schon die Deckenlampe.
    Mit meiner IR-Fernsehfernbedienung geht es bis auf 4m, danach nicht mehr, weil man nicht mehr so genau die Empfangsdiode trifft.

    Lösung : Es werden in der Diode die Gasteilchen durch das Licht leitend
    gemacht, dann kann der Strom fliessen. Hat nichts mit kondensatorähnlichen Aufladungen zu tun.
    Bei der Leuchtdiode leuchtet das Gas noch zusätzlich und bei der IR-Diode nicht.

    Gruss Castle

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.11.2005
    Beiträge
    321
    Geht wunderbar als Liniensensor.
    Habe bei 2 Ir-Dioden eine kleine helle Leuchtdiode als Bodenbeleuchtung in der Mitte angebracht. Alles 3cm vom Boden entfernt, bei weissen Papierstreifen gibt es ein Impuls und bei den anderen Farben (Parkett, Teppich) kein Impuls. Der Robby folgt schön der weissen Linie, die auch gleichmässig von der Leuchdiode ausgeleuchtet wird.

    Castle

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Zitat Zitat von super_castle
    Es werden in der Diode die Gasteilchen durch das Licht leitend gemacht, dann kann der Strom fliessen. Hat nichts mit kondensatorähnlichen Aufladungen zu tun.
    Bei der Leuchtdiode leuchtet das Gas noch zusätzlich und bei der IR-Diode nicht.

    Gruss Castle
    *kopfkratz*
    Disclaimer: none. Sue me.

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.11.2005
    Beiträge
    321
    Ich habe den Pinb.3 jetzt auf gnd gelegt und funktioniert genauso.
    Man kann einen Pinanschluss am AVR sparen.
    Zum senden(ausleuchten) nehme ich auch eine LD 274. Mit einem Poti bestimme ich die Sendeleistung, sozusagen eine Abstimmung für den Untergrund.
    Der Robby folgt einer Linie, die ich vorher mit dem Poti für die Sendediode kalibriert habe.

    Fazit: Es geht auch im Infrarotbereich, ohne störenden Lichteinwirkungen für andere und auch nur mit einem Pin vom AVR zur Masse, bei der Sendediode und beim Empfangsdiode.

    Castle

Seite 3 von 5 ErsteErste 12345 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress