Hallo zusammen,
ich möchte seit einer etwas längeren Pause mal wieder mit einem
Microcontroller arbeiten.
Aus meiner Azubizeit habe ich noch einen Microcontroller mit ATMEL 89s52
Chip. Dieser soll nun unter anderem als Controller für einen Lichtsensor
fungieren, der bei Dunkelheit automatisch die Scheinwerfer des Kfz
einschaltet.
1.) Würde es ausreichen einen Fototransistor an einen Port (1xMasse,
1xBelibig zum Einlesen) anzuschließen und über den Pin die "Helligkeit"
zu messen oder würde ich mit solch einer Lösung nicht glücklich werden.
Was für Werte würde der uC erhalten?
1b) Welches Lichtsensor-Element wäre in meinem Fall das Geeignetste?
Laut Suchfunktion soll ein LDR reichen.
2) Wie sollte ich das Ein-Schalten der Scheinwerfer realisieren?
Mein uC liefert natürlich nur sehr geringe Spannungen, kann ich mit
einem Ausgans-Pin einen Transistor schalten, der 12V an ein bestimmtes
Kabel weitergibt? Welcher Transistor wäre geeignet? (Kenne nur die
Funktionsweise von Transistoren aber habe keine Ahnung von den
Bauteilen)
Vielen Dank für eure Hilfe!
>Dieser soll nun unter anderem als Controller für einen Lichtsensor>fungieren, der bei Dunkelheit automatisch die Scheinwerfer des Kfz>einschaltet.
Das lässt du mal schön sein! Erlöschen der Betriebserlaubnis,
kein Versicherungsschutz mehr.
Das es dunkel wird kannst du ja wohl selber sehen.
Dann Licht einschalten. Oder immer mit Licht fahren.
Hallo 2hot4tv,
geht es dir wirklich um die "richtigen" Scheinwerfer in einem realen
Auto, welches auf der Straße fährt, oder ist es nur ein Modell o.ä. ?
Nur mal so zusätzlich in den Raum geworfen:
Soll dein LDR auch die Scheinwerfer wieder ausschalten wenn es wieder
hell wird?
-> Dann würden nämlich deine Lichter ausgehen, sobald dir einer mit
Licht entgegenkommt.
Schöne Grüße,
Alex
Warum sollte deiner Meinung nach die Betriebserlaubnis erlischen?
Laut Rücksprache mit einem TÜV-Prüfer ist das ganze kein Problem,
solange der eigentliche Lichtschalter nicht abgelemmt wird und somit eim
falle eines Ausfalles des Controllers die Beleuchtung noch manuel
aktiviert werden kann.
Die Scheinwerfer selber werden auch nicht modifiziert.
Zudem gibt es einen Haufen solcher nachrüst Lichtsensor-Kits und bisher
habe ich noch keins mit ABE oder E-Prüfzeichen gesehen.
Auch kam mir dabei noch nie ein Hinweissatz in dieser Richtung unter.
@Alex Bürgel: Darüber habe ich mir noch keine konkreten Gedanken
gemacht.
Ein Lösungsansatz wäre natürlich die Belichtungsdauer ab einem
bestimmten Helligkeitsgrad zu messen und wenn das Licht 20 Sek. auf
Tageslichtniveau bleibt werden die Scheinwerfer wieder deaktiviert.
Grundsätzlich würde ich es erstmal Klären, was es für ein Auto ist
(Modell, Baujahr), denn wenn es ein aktuelleres Modell ist, dann ist die
Wahrscheinlichkeit hoch, daß du dir nicht mehr allzuviel Arbeit machen
brauchst. Bei VW und Opel z.B. braucht man in vielen Fällen nur das
schon verbaute Steuergerät kurz freischalten und einen Regen/Lichtsensor
sowie einen anderen Lichtschalter einbauen. Zwar ist diese Methode dann
vielleicht ein wenig teurer als selbst bauen und vielleicht auch nicht
so spannend, aber man kann sich sicher sein, daß es definitiv
funktioniert weil die ganze Treiberstufe ja schon im Auto verbaut ist.
■
Schon mal vielen Dank für die zahlreichenden Anregungen und Kritiken.
Also soweit ist schon alles abgeklärt, es ist ein Opel älteren
Baujahres, für den es ohne weiteres nicht möglich ist einen Lichtsensor
nachzurüsten, da das Steuergerät nicht dafür ausgelegt ist bzw. in dem
Sinne kein eingenes für solche Funktionen vorhanden ist.
Das muss ich dann schon von Hand realisieren.
Der uC soll dann einfach per Transistor (falls möglich?) Spannung "auf"
die entsprechenden Sicherungen geben um das Licht zu aktivieren.
Per Transistor wird das bei den dort fliessenden Stroemen nichts. Oft
gibt es schon Relais, um diese zu nutzen, braucht man dann den
Schaltplan des Autos.
Sonst mit einem Relais mit min. zwei Schliessern der noetigen
Strombelastbarkeit die Kontakte des Lichtschalters ueberbruecken.
Allerdings wirst Du beim Festlegen der Bedingungen fuer "Ein" und noch
mehr fuer "Aus" ziemlich schnell wahnsinnig.
Gast2
Bastel dir doch mal mit einem Lichtsensor (LDR, Fototransistor, -diode,
etc.) und dem Controller ein Helligkeitsmessgerät, dass dir die
momentane Helligkeit anzeigt z.B. LCD).
Damit kannst du dann mal herausfinden, was für dich hell erscheint (kein
Licht am Auto notwendig) und was dunkel erscheint, also Licht erfordert.
Die Messwerte müssen nicht einer SI-Einheit entsprechen. Es dürfte
reichen, sich den ADC-Wert ausgeben zu lassen.
Damit hast du zwei Wert für eine Hysterese. Wenn das Licht eingeschaltet
ist, sollte der "hellere" Wert eine gewisse Mindestzeit (Sekunden?!)
überschritten werden, damit das Licht wieder ausgeschaltet wird.
Zum Einschalten ist das nicht unbedingt nötig.
Zur Leistungsschaltung:
Je nach Kfz gibt es vermutlich Unterschiede.
Wenn die Scheinwerfer über ein Relais geschaltet werden, könnte man
"einfach" den Lichtschalter, der das Relais betätigt brücken. Ich habe
keine Ahnung von Kfz-Verdrahtung. Deswegen kann ich nicht sagen, ob die
Schalter gegen Masse schalten, oder die 12V. Das sollte man aber sehr
leicht herausfinden.
Bei den Lampen bin ich mir ziemlich sicher, dass + geschaltet wird.
Da kann ich aber komplett daneben liegen.
Auf jeden Fall gibt es elektronische Schalter (High-side-switch), die +
schalten können. Um gegen Masse zu schalten, braucht man nur einen
N-Transistor (und ggf. eine Freilaufdiode).
2hot4tv wrote:
> 1.) Würde es ausreichen einen Fototransistor an einen Port (1xMasse,> 1xBelibig zum Einlesen) anzuschließen und über den Pin die "Helligkeit"> zu messen
Der AT89S52 hat keinen ADC, also kannst Du so nichts messen.
Du brauchst einen ADC. Eine einfache Lösung ist ein 555 mit Kondensator,
der über den Fototransistor aufgeladen wird. Diese Zeit kannst Du dann
mit dem 8051 messen, z.B. im Gate-Modus des Timers.
Peter