Adaptives Bremslicht

Guten Abend

Zurzeit arbeite ich an meinem Meisterprojekt und möchte folgende Schaltung bauen. LED Rücklicht am Motorrad wird normalerweise mit ca. 12-13,5v betrieben. Da ich aber ein Adaptives Bremslicht realisieren möchte habe ich mittels L7808cv die Spannung auf beiden seiten (Bremslicht und Fahrlicht, um die differenz zu gewährleisten) auf 8V reduziert, noch ne Diode dazwischen und ein Paar Kondensatoren und gut. Nun Mochte ich die Bordspannung von ca. 12-13,5V vor dem L7808cv abnehmen und hinter der Diode wieder einspeißen. Dazu wollte ich ein Transistor BC 337 benutzen kann 500mah. So nun möchte ich den Transistor mit dem Arduino UNO ansteuern aber wie? Habe schon soviel gelesen und auch zwei Bücher hier, aber irgenwie komme ich nicht so recht weiter. Die schaltung muss ich Zweimal bauen, einmal als Prototyp auf nem Brett und einmal als fertige Schaltung im Fahrzeug wozu ich ein Arduino Mini Pro hier habe. Bei dem Mini Pro dient als eingangssignal ein G-Sensor von Sparkfun (Tri Ax Breakout) und bei dem Prototyp soll das ein Poti übernehmen. Nur nochmal zum Verständniss, mit zunehmender Negativ beschleunigung soll mein Bremslicht heller werden und ab einem gewissen Punkt mit ca. 3-5Hz blinken (ab wann muss ich noch berechnen, muss ja Bremskraft, Gewicht etc mit rein). Habe schon stunde um stunde am Rechner verbracht und komme irgendwie zu keinem ergebniss weil die Informationen so vielfälltig sind und ich nicht weiß welche richtig sind habe ich mir auch in diesem bereich einige Bücher besorgt, um mich mittels OPV und div. sachen einzulesen.

Muss noch erwähnen das ich bis vor 2 Wochen mit elektronik und so nicht viel zu tun hatte (ausser das was man am Motorrad findet) bin also Blutiger anfänger und kenne auch keinen der mir in der Richtung Helfen könnte, habt bitte ein wenig nachsicht mit mir.

Achso Ja bin 30 Jahre Alt, komme aus dem sonnigen Taunus und besuche zurzeit die Meisterschule für Motorradtechnik. Ich danke euch schon vielmals im vorraus für euer bemühen und eure Hilfe.

Hoffe von euch zu hören

MFG Ben

Willkommen! Das ist ja mal ein praktisches Projekt mit Sinn!

Warum nimmst du nicht einfach einen NPN Transistor, klemmst den zwischen die Masse der Bordspannung und Masse der Lampe, und steuerst den mit einer Leitung durch den Arduino an.

Dann hast du zB als Dauerlicht zb 120 analogWrite, bei Vollbelastung 255 (oder halt ein schnelles Blinken durch den Transistor).

Grüsse

apogee

Zu deutsch anstatt mit 2 Spannungen zu arbeiten (8v und 12V) Regelst Du die Helligketi mit dem PWM signal des Arduinos. Lies analogWrite() - Arduino Reference
Zum schalten nimm einen MOSFET zb IRF540.

Grüße Uwe

Und dann noch ne if-schleife für "Werte starker Belastung" die die Led mit delay(x); blinkt.

Schnelle Antwort tolle sache.....

NPN Transistor? Und wie realisiere ich das Blinken?
Was war für mich als Laie daß einfachste was ich ohne Vorkenntniss ermitteln konnte. Wollte für meine Ausarbeitung des Projektes noch ein Schaltplan zeichnen und eine Platine Ätzen lassen (macht halt einiges her!) Was kann den so ein NPN für ne Last?

MFG Ben

Benutz den Mosfet den Uwe vorgeschlagen hat, da biste auf der sicheren Seite.

Du frägst ja den Sensor ab, der gibt dir Werte von 0-1024 zurück.

Wenn der Wert über zB 900 geht, rufst du durch eine if-schleife

"wenn sensortwert grösser als 900 dann blinken"

die Blinkroutine auf.

Den Code kann ich sogar schnell zusammenschreiben.

Vielleicht ist es sinnvoller den schnell mit einer Led und Poti zu simulieren, und dann erst den FET und die Lampenschaltung einzubauen.

Coole sache...

Habe mir das gerade mal angeschaut und aus dem Rücklicht kommen nur drei Kabel 1. Masse 2. Plus Fahrlicht 3. Plus Bremslicht
Ich denke das die das Rücklicht mit zwei Wiederständen schalten und beim Bremslicht einfach nur einen umgehen... Kann ich das Arduino auch so Programieren das ich zb. nur die Leitung zum Bremslicht benutze und ihm eine mindesthelligkeit vorgebe (nur im Bereich Bremslicht) zb. immer min Wert 600 und dann aufbauen bis auf 900 und dann Blinken?
NPN und Mosfet wie könnte das aussehen?
Den Code als vorlage wäre echt super..
MFG Ben

Erste Elektronikerregel: Es gibt keine Wiederstände, wohl aber Widerstände :wink:

Das glaube ich nicht, weil Widerstände variabel zu machen sehr teuer ist.

Genau das hatte ich gemeint, nach dem du fragst.

Mosfet ersetzt NPN. Aussehen tut der so:

Da du aber die Plusleitungen schalten willst, brauchst du wohl einen P-Kanal Mosfet, da müsstest du uwe nochmal fragen.

Du verbindest einen PWM-Pin des Arduino (zB D9) mit einem Vorwiderstand mit dem Gate des FET, und schaltest die Plusleitung.

Hast du eine Led, ein Poti und einen Arduino da um einen Code zu testen, wie das aussehen könnte?

Ich könnte ja das Fahrlicht einfach weglassen wenn es geht das Bremslicht mit einem bestimmten Wert permanent anzusteuern, und dann alles über masse zu schalten???

Das kannst du machen, klar.

Hast du eine Led, ein Poti und einen Arduino da um einen Code zu testen, wie das aussehen könnte?

Ja alles da...

Binary sketch size: 3572 bytes (of a 30720 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

was bedeutet diese Fehlermeldung am Mini Pro????

Wie hast du denn den angeschlossen?

Welchen Programmer benutzt du?

Ich werd in ner halben Stunde schnell nen Sketch schreiben.

Grüsse

Sparkfun FTDI Basic 5V an Arduino Mini Pro

GND-BLK an Arduino GND
3V3 an Arduino VCC
TXO an Arduino RXI
RXI an Arduino TXO
DTR-GRN an Arduino RST

Arduino 0021

One of the nice features of this board is a jumper on the back of the board that allows the board to be configured to either 3.3V or 5V (both power output and IO level). This board ship default to 5V, but you can cut the default trace and add a solder jumper if you need to switch to 3.3V.

Gemacht?

Richtiges Board eingestellt?

Alternativ auch mal testen, kurz (1sec) nach dem Klicken des "Upload" Buttons in der IDE den reset auf dem Pro Mini zu drücken.

int Fahrlicht = 1; // Helligkeit des dauerhaft leuchtenden Fahrlichtes (0 bis 255)
int Blinkfrequenz = 50; //Ändern um die Frequenz des Blinkens zu ändern (in ms)
int Grenzwert = 220; //Ändern um den Sensorwert, bei dem das Blinken anfängt zu bestimmen (0 bis 255)

int Wert;

void setup() {

pinMode(9, OUTPUT);
}

void loop() {

Wert = analogRead(0);
Wert = map(Wert, 0, 1024, Fahrlicht, 255);

if (Wert > 200)

{

digitalWrite(9, HIGH);
delay(Blinkfrequenz);
digitalWrite(9, LOW);
delay(Blinkfrequenz);
}

else

analogWrite(9, Wert);

}

Hier mal der Code. Poti an Analog0, Led mit Vorwiderstand an D9

Nein geht nicht......

Doch geht.

Merkst du was?

der Sketch geht super... muss mich jetzt nur noch einlesen und einige sachen ändern, zb muss gewährleistet sein das dass Bremslicht auch im stand funzt, etc
und was soll ich merken?

Dass man ohne Informationen nicht helfen kann.

"Geht nicht" bringt keinen weiter :wink:

Das Bremslicht geht natürlich im Stand, da ich aber nicht weiss wie es am Ende aussieht hab ich das nicht eingebaut.

Bitte übrigens. Hab ich gerne gemacht.