Hallo, Ich habe ein paar SFH9201 geschenkt bekommen. Es handelt sich dabei um reflexlichtschranken von osram. (Schaltbild im Anhang: Vcc=5V, Ic=1mA, Rl=1kOhm) Nun dachte ich mir anfangs das es sich hierbei um einen Schalter handelt. (weil ich tarnsistoren nur als solche kenne) also Licht an = aus, Licht aus = an. Dem ist aber leider nicht so. Es ist so das je nach Entfernung zum reflektor=zurueckgeworfenem licht der strom variert. Wie laesst sich sowas denn zur einfachen Verabeitung mit einem mikrocontroller denn in ein/aus wandeln? Ich moechte naemlich lieber ein paar ports auf High oder Low abfragen als mich mit den tuecken der adwandlung beschaeftigen. Danke fuer alle Anregungen Gruesse slotmichl
Welche Spannungen nimmt denn der Output an? Miß doch mal.. Vielleicht reicht es ja, damit der Controller high und low erkennt?
Du hast leider nicht geschrieben welcher µC. Wenn Du z.B. Atmel nimmst, hast Du bei vielen einen Analogkomparator dabei. (z.B. AtTiny45) Wie Du die Lichtschranke anschließt und zum Laufen bekommst, siehe Application Notes. Du brauchst lediglich Widerstände dazu, um einen Schsaltpunkt festzulegen und den Tiny45 + bisschen SW. Viel Spass Gruß Helmut
Solltest Du nur einen digitalen Eingang zur Verfügung haben, kannst Du obige OP-Schaltung. Handelt sich dabei um eine Schmitt-Trigger-Schaltung. Die Schaltschwelle Uein liegt bei ca. 2,1 V bei VCC = 5V. Uaus ist fast der gleiche Wert. Falls Du einen andere Schaltschwelle brauchst: Ich glaub da gibts auf Wikipedia ne Formel zum berechnen der Schwellen. Die Schwelle reicht so für ca. 1-2mm Abstand und gutem Kontrast aus. Solltest Du größeren Abstand haben, verschiebt sich auch der Pegel. Bei ca. 5mm Abstand brauch ich eine Schaltschwelle von ca. 3.4V damit ich ON/OFF sauber trennen kann. Gruß, Pepe.
Hallo, Danke fuer die Infos. blockiert: Die Spannung liegt laut Datenblatt bei 100mA. Hab mal das passende Bild aus dem Datenblatt kopiert und angehaengt. Helmut Ru: Ich haette einen Atmega16 oder einen Atmega169@16Mhz, 5V zur Verfuegung. Der Analogkomperatopr ist mir zu kompliziert, deshalb moechte ich gerne die gpios verwenden. Pepe: Danke fuer den Tip mit dem Schmitttrigger. Das von dir Angehaengte Schaltbild sieht fuer mich zwar sehr Aufwendig aus, aber wenns nciht anders geht dann muss es eben so sein. Werde mich mal bezueglich Schmitttrigger Schlau machen. Gruesse slotmichl
> Die Spannung liegt laut Datenblatt bei 100mA. Hab mal das passende > Bild aus dem Datenblatt kopiert und angehaengt. 1. Spannung wird in Volt und nicht in Ampere gemessen. Ampere ist die Maßeinheit des elektrischen Stroms. 2. die 100 in deinem Bild sind Prozent, auch keine Ampere.
Hi, Der gute alte Fehlerteufel war wiedermal hier. blockiert: 5V. Nur wenn ich den reflektor direkt auf den Sensor lege veraendert sich die Spannung. Schade, waer sonst ja alles geritzt. STK500-Besitzer: Danke fuer den Hinweis. War wohl doch ein wenig zu frueh gepostet. Hier nun die Daten aus dem Datenblatt: Kollektor-Emitterstrom IceMin 0.25 mA, IceTyp 0.70mA bei IF = 10mA, Ic=85 microA, 90% reflexion, 1mm Abstand. Gruesse slotmichl
Ich würde dir auch die Lösung mit dem Schmitt-Trigger empfehlen. Alternativ könntest du aber auch einen Operationsverstärker als Komparator nutzen, wäre zwar nicht so elegant (und ohen Hysterese), ist aber vom Aufbau her einfacher. An den einen Eingang des OPV (Operationsverstärker) schließt du das output-Signal deiner Lichtschranke (so wie es auf der Grafik in deinem ersten Beitrag gezeigt ist inkl. des wes Widerstandes) an. An den anderen Eingang des OPV schließt du den Mittelabgriff eines Potis, welches du zwischen GND und VCC geschaltet hast, an. Mit diesem Poti kannst du dann die Schaltschwelle einstellen. Deinen OPV betreibst du an GND und +5 V (unsymetrische Versongungsspannung). Ich hoffe du verstehst meine Beschreibung.
starwatcher: Dieser Opamp klingt sehr Interessant. Ein paar 10kOhm Potis habe ich hier sogar noch herumliegen. werd mich mla ein wenig schlau machen was so ein Opamp an "rundherum beschaltung" benoetig. Gruesse slotmichl
>Dieser Opamp klingt sehr Interessant.
Hmm... AD-Wandler als problematisch bezeichnen, aber etwas mit OPs
anfangen wollen...
Ich würde da eher zum AD-Wandler tendieren, da man sich einerseits ein
paar Bauteile spart und somit ein paar Fehlerquellen eliminert,
andererseits braucht man den AD-Wandler eh irgendwann...
stk500-Besitzer: Tjo, so ist das eben. Der eine Loetet lieber ein bisschen mehr. Der andre Programmiert drum herum. Ich loete lieber etwas mehr und frage dafuer via SOftware nurmehr High und Low ab. starwatcher: Wuerde zb. ein 741er fuer die Aufgabe geeignet sein? Gruesse slotmichl
>Wuerde zb. ein 741er fuer die Aufgabe geeignet sein?
Ja, aber den sollte es nur noch im Museum geben.
stk500-Besitzer: hehe, ok wie waers mit nem LM 3900 N ? Den gibts auch bei Conrad um die Ecke und er hat gleich 4 Opamps in einem Gehaeuse verbaut. Gruesse slotmichl
Hi Ich würde erst mal einem 74HC14 (6-fach Schmittrigger/Inverter) testen. Wenn dich die Invertierung stört kannst du das durch die Beschaltung des OK (RL an Emitter/Kollektor an VCC) wieder rückgängig machen. Die Empfindlichkeit von Reflexkoppler ist stark von der reflektierenden Fläche abhängig. Gute Erfahrungen habe ich mit CD-Material gemacht. MfG Spess
hallo, spess53: Schade das ich dein posting erst eben gelesen habe. Haette mir noch ein paar 74HC14 vom elo laden mitgenommen zumal die beschaltung dann doch nicht so wild ausfaellt. Das von Pepe bereitgestellte Schema: http://www.mikrocontroller.net/attachment/48014/sfh9201.jpg hat mich ein wenig vom Schmitttriggern abgeschreckt weshalb ich den Operations- verstaerker 741 gekauft habe. STK500-Besitzer: Hast du ein Programm bei der Hand das 8 ports eines atmegas ausliesst und das byte auf einfache weise(10101010) zum dump auf die serielle schnittstelle(he) zur verfuegung stellt? Ich hab keine ahnung wie das mit dem Comperator des avr funktionieren koennte oder wie das Programm dann aussieht, auch was das fuers timing bedeutet kann ich mir nicht ausmalen. Ich kann Portregister high und low schalten, ich kann erkennen ob ein input pin high oder low ist und das ganze dann ueber der USART des avr ausgeben. ich kann ein wenig loeten und simple schaltungen nachbauen, weshalb ich eine hardware loesung einer softwareloesung vorziehe. Gruesse slotmichl
Wenn es wirklich nur darum geht, den Inhalt eines zusammenhängenden Ports per USART zu verschicken geht das ganz einfach so: Nachdem man das USART initialisiert hat (steht im Datenblatt beschrienben), nimmt man das PIN-Register und schreibt es ins UDR (z.B. PortB): UDR = PINB; Der Rest um diesen Teil ist auch im Datenblatt beschrieben.
Hallo STK500-Besitzer, Danke, wie bereits gesagt stellt das versenden von einfachen is high is low informationen ueber den usart fuer mich kein problem dar. Auch das alle Funktionen des Avr im Datenblatt beschrieben sind ist mir Klar. Habe mich wohl ein wenig unklar ausgedrueckt als ich dich fragte ob du, da du ja den comperator mal erwaehnt hast und sehr ueberzeiugt von der avr_only variante bist, bereit bist ein Programm das 8Ports via adc und/oder comperator auszulesen vermag zur verfuegung zu stellen. Ich werde soetwas wie bereigts einige male erwaehnt nicht programmieren. Gruesse slotmichl
hallo, also wenn die schaltung aus dem datenblatt so in dem bauteil drin steckt, dann ist das ja nix anderes als ein lichtabhängiger spannungsteiler. im dunkeln bzw. ohne lichtreflexion sperrt der phototransistor, output ist auf vcc. bei lichtreflexion, wenn stark genug, leitet der phototransistor und zieht den output auf gnd. schon hast dein digitales signal. die empfindlichkeit des empfängers kann man mit RL einstellen -> großer widerstand -> sehr empfindlich. von den dingern habe ich schon etliche selbst aufgebaut. ich habe sie immer mit dem adc ausgewertet, weil ich da mehr freiraum hatte. aber bei richtiger dimensionierung des RL dürfte da auch über einen normalen digitalen io kein problem sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.