Microcontroller: Wie misst man, ob ein Stromkreis geschlossen ist oder nicht?
Schaltung 1 enspricht Schaltung, die vom Relais geschaltet wird. Schaltung 2 steuert das Relais.
Es handelt sich um eine Blinkerschltung:
Ein Relais ist ständig so geschaltet, dass der Strom fließen könnte. Dabei ist der Stromkreis 1 zunächst unterbrochen. Wenn er geschlossen wird, soll für eine bestimmte Zeit das Relais geöffnet bleiben, danach wird es vom Microcontroller geschlossen. Danach wird das Blinken durch schalten des Relais gesteuert.
Wird der Stromkreis 1 geschlossen, soll das Relais wieder in den offenen Ausgangszustand übergehen.
Ich möchte nun messen, ob der Stromkreis 1 ohne Relais geschlossen wäre oder nicht. nicht. Es werden ca 12V und ca 1A fließen. Es ist Gleichstrom. Der Stromkreis 1 ist in der Regel nicht geschlossen
2 Antworten
Wenn du nur einen Blinker bauen willst und sowieso einen µC hast, dann gibt es doch nichts leichteres, als damit einen Blinker zu machen. Du kannst einfach einen Ausgang für 1 Sekunde (oder welche Zeit auch immer du haben willst) auf High und dann wieder für 1 Sekunde auf Low zu schalten.
Oder versteh ich jetzt dein Problem nicht ganz???
Falls du für Fehlersuche etc nur messen willst, ob der Stromkreis geschlossen ist, dann mess doch einfach am relais selber den durchgang.
Hab ich das jetzt richtig verstanden: Du willst EINEN Blinker, der immer leuchtet und wenn du den Schalter betätigst anfängt zu blinken? Du hast aber schon ein Relais mit einem Wechselkontakt?
Dann mach deinen Schaltkreis 1 einfach nur mit dem Öffner-Kontakt deines Relais und deiner Lampe.
Den Schaltkreis 2 machst du einfach so, dass du zwischen den µC und den Spulenanschluss des Relais deinen Schalter klemmst.
Dann leuchtet deine Lampe immer, wenn der Schalter nicht betätigt ist, und solange der Schalter betätigt ist, blinkt sie. Je nachdem wann du den Schalter umlegst, kann es dann sein, dass dann dein erstes Blinken etwas kürzer, als die anderen sind, aber wenn das nichts ausmacht ist es ja egal.
Alternativ könntest du natürlich den Schalter direkt auf einen Eingangspin des µC geben und dann dadurch erst das Blinken deines µCs starten.
Hab das links, rechts überlesen. Also du brauchst zwei verschieden Blinker. Entweder machst du dann, die erste von mir erwähnte Methode mit einem Wechselschalter, der entweder links oder rechts macht, aber dann sind wir langsam an einem Punkt, wo alles Softwaremäßig fast einfach ist. An was fehlts da im Programm?
Nein, das Problem ist nicht so grundlegend:
Ich weiß, wie ich das Relais steuere. Mit diesem werde ich auch das Blinken steuern. Ich weiß auch, wie ich das programmiertechnisch lösen will.
Leider fehlt mir ein Messwert dazu: Ich will wissen, ob der Blinkerknopf gedrückt ist oder nicht. Leider fließt durch ihn teilweise ein Strom an (Relais geschlossen -> Blinker leutet) und teilweise eben nicht (Relais geöffnet ->Blinker leutet nicht). Also kann der Schaltkreis vom Relais und vom Blinkerknopf geöffnet und geschlossen werden.
(Einfacher wäre es natürlich, den Schalter direkt am Controller anzuschließen. Hier müsste ich aber den Kabelbaum stark verändern. Dies will ich umbedingt vermeiden. Hier der Kabelbaum: http://www.a-k-f.de/moser/sr50c.pdf)
Das zu ersetzende Bauteil wäre die ELBA.
Um noch etwas zum Hintergrund des Projektes zu sagen: Es gibt die Elektrische Lade und Blinkereinheit (ELBA) auch als Ersatzteil. Ich versuche aber einen Digitalen Tacho verbauen, der vom Microcontroller gesteuert werden soll. Der grobe Plan für das Programm steht schon. Die Ladeschaltung ist auch schon ausgedacht, jetzt muss ich nur noch die Blinker kontrollieren.
Ich hoffe jetzt ist das ganze Problem etwas übersichtlicher. Danke für die Lösungsvorschläge.
Reicht es dir nicht aus, wenn du das Blinken softwaremäßig abfragst?
Wenn ich jetzt gerade nichts übersehen hab, dann schalten sämtliche Relais 12V und nicht Masse durch. Das bedeutet, dass wenn du deinen Kabelbaum um ein Kabel erweiterst, kannst du das ganze mit dem Mikrocontroller messen. Du musst einfach mit einem Kabel den Ausgang des Relais mit deinem µC verbinden und an diesen Pin des µC noch einen Pull-down Widerstand anbringen. (Ich würde da einfach mal 100kOhm nehmen)
Wenn dann das Relais durchgeschaltet ist, liegen an der Stelle 12V an und der Mirkocontroller erkennt das als High-Signal und wenn das Relais nicht durchgeschaltet ist, liegen über den Pull-down Widerstand 0V an.
Ich weiß jetzt nicht, was für eine Eingangsspannung dein µC verträgt. Falls er nur 5V will, musst du halt eben noch einen Spannungsteiler vorschalten.
Danke für die Hilfe, ich habe leider den letzten Kommentar überlesen.
Das Problem ist aber, dass nicht den Zustand des Blinkerschalters erfassen kann, wenn das Relais geschlossen ist. Dann liegt dort doch auch keien Spannung an oder?
Notfalls würde ich auf diese Erkennung auch verzichten, ist ja eigentlich nur ein Spielerei. Vermutlich würde ich das dann ähnlich machen, wie Sie es vorgeschlagen haben.
jup am ausgang relais druchgang messen wenn ja dann ja wenn nein dann nein
wenn du prüfen willst ob es schaltet durchgangstester rann und a1 und a2 mit spannung versorgen und von hand zu fuß blinken
Also ich habe eigentlich das Problem:
Der Blinkerstromkreis besteht eben aus einen Schalter und einen Schalter. Wenn der Schalter gedrückt wird, ist der Stromkreis geschlossen. Das Blinken lässt sich auch recht leicht realisieren.
Nun möchte ich, dass die Blinker immer genau dann aufleuchten, wenn ich den Blinkerschalter drücke. Also das Relais soll nicht ständig geschlossen und geöffnet werden.
Der Blinker soll auch aufleuchten, wenn zwei mal ganz kurz hintereinander blinke. Also den Blinkerstromkreis einmal kurz unterbreche (Dies kommt vor, wenn man erst rechts und dann sofort links blinkt).
Ich hoffe es ist jetzt etwas deutlicher geworden. Aber danke für deine Bemühung.