Forum: Mikrocontroller und Digitale Elektronik Erzeugung Rechteckimpuls definierten Länge


von Michael_SS (Gast)


Lesenswert?

Hallo.

Ich brauche mal wieder euren Rat.

Ich möchte einen einzelnen Rechteckimpuls (5V aus µC der AVR Serie, 
ATMEGA64) mit definierter Länge erzeugen: 200-500ms. Damit möchte ich 
einen Pegelwandler anteuern der das Rechteck auf 12V bringt.
Damit möchte ich eine Spule kurzzeitig (200-500ms) mit Strom versorgen.

Die Zeit sollte nicht länger sein, da die Spule ansonsten durchbrennt. 
Es handelt sich dabei um einen Weichenantrieb für die Eisenbahn.

Im Falle eines Fehlers, d.h. der µC fährt in die Ecke und läßt das PORT 
PIN, aus dem der 5V Impuls hauskommt auf high. In diesem Fall würde 
meine Spule durchbrennen, ohne das ich es merke. Oder erst wenn es zu 
spät ist (Wolken, Gestank).

Ich brauche also so eine Art Sicherheitsschaltung.

Mit einem MONO FLOP könnte man so etwas machen. Ist Flankengesteuert. 
Jedoch ist die Länge des Impulses vom RC Glied abhängig. Gibt es da 
nicht etwas ähnliches nur präziser?

von ich (Gast)


Lesenswert?

>Gibt es da nicht etwas ähnliches nur präziser?

Gibt es schon, aber du sprichst selbst von 200 - 500ms. Diese 
Genauigkeit bekommst du auch mit einem Monoflop hin.

von Michael_SS (Gast)


Lesenswert?

Wenn es das gibt, was wäre das denn?

von Volker Z. (vza)


Lesenswert?

Timer + Watchdog  ?

von Michael_SS (Gast)


Lesenswert?

Die Erzeugung des Rechteck Impulses ist nicht das Problem.

Watchdog habe ich auch schon dran gedacht. Arbeite ich nicht so gern 
mit. Da vergisst man gern den Timer zurück zu setzen und dann machte der 
µC ständig einen Neustart und man weis nicht wieso.

Ist aber noch eine Option.

von Michael_SS (Gast)


Lesenswert?

Danke, Leute

von frame (Gast)


Lesenswert?

Den Strom durch die Spule zu begrenzen ist auch eine Möglichkeit.
Würde ich sogar für sicherer erachten.

von Stefan (Gast)


Lesenswert?

Hallo,

also den Impuls für die Spule köntest du gut mit einem Monoflop 
(74xx121) oder mit dem bewährten NE555 erzeugen. Die Länge lässt sich 
über Bauteilwerte einstellen und 200ms bis 500ms sind da kein Problem.

Vorteil: Du triggerst das Monoflop mit dem yC und es macht dann genau 
einen Impuls mit der gewünschten Länge. Wenn der yC hängen bleibt dann 
passiert einfach nichts. Man muss nur sicherstellen, dass das Monoflop 
nur auf die Flanke triggert und nicht bei anliegendem Triggerimpuls 
immer wieder von neuem startet. Das kann man aber z.B. mit einem 
Hochpass in der Triggerleitung erreichen. Dann wird nur die Flanke 
ausgewertet.

von Micha H. (mlh) Benutzerseite


Lesenswert?

Wenn man quasi ständig mit wildgewordener SW rechnen muß (von selber 
macht ein Mikrocontroller keine Ausflüge in die Botanik), dann muß man 
mit zusätzlicher Hardware gegensteuern. Dazu genügt hier ein Kondensator 
nach dem Treiber, die Dimensionierung ist nicht kritisch da eine 
Weichenspule auch bei mehreren Sekunden Bestromung nicht abbrennt. Also 
ist hier mitnichten Präzision gefordert.
Freilich muß der Kondensator durch einen geeigneten Widerstand auf 
definierten Pegel vorgespannt werden, sonst funktioniert das nur einmal.

Andererseits hat der Mikrocontroller bereits passende Hardware für genau 
solche Fälle eingebaut, die zu nutzen wäre die einfachere Methode.
Die Hardware nennt sich Watchdog. Wenn die Programmierkünste aber so 
bescheiden sind daß man auch davor Angst haben muß, dann wird´s eng und 
es hilft nur externe Hardware.

von Stefan (Gast)


Lesenswert?

Der Kondensator in Serie zur Weichenspule ist tatsächlich eine 
alternative. Allerdings müste man da durch probieren der Wert 
herausfinden. Ob das dann auch bei anderen Weichentypen funktioniert?

Man könnte auch einen PTC in serie zur Weiche schalten und ihn termisch 
mit der Spule koppeln. Das schützt sich dann auch selber.

Braucht es wirklich diesen Aufwand? Ich würde die Idee mit dem Monoflop 
vorziehen. Dann kann man auch nicht durch unüberlegtes Handeln (im 
Programm) die Weiche beschädigen. Weiters ist es eine Saubere Lösung, 
Langlebig und kann einfach auf andere Weichentypen adaptiert werden.

von Micha H. (mlh) Benutzerseite


Lesenswert?

Stefan schrieb:
> Ich würde die Idee mit dem Monoflop vorziehen.

Dann stellt sich allerdings die Frage, wozu man den Mikrocontroller 
eigentlich noch braucht, eine Ablaufsteuerung o.ä. ist auch rein diskret 
kein Hexenwerk.
Andererseits hat der Mikrocontroller alles an Bord was man zur sicheren 
Ansteuerung benötigt.
Dann lieber mal einen Abend spendieren und sich mit der Funktion des 
Watchdogtimers vertraut machen, sowie dann die Stellen im Programm 
identifizieren, an denen der Timer zurückgesetzt werden muss.

von Märklin (Gast)


Lesenswert?

Auch überlegt, ob du für die Weichenantriebe Wechselspannung nimmst,
oder sind es keine mit Doppelspulen?

von Peter D. (peda)


Lesenswert?

Michael_SS schrieb:
> Watchdog habe ich auch schon dran gedacht. Arbeite ich nicht so gern
> mit. Da vergisst man gern den Timer zurück zu setzen und dann machte der
> µC ständig einen Neustart und man weis nicht wieso.

Du kannst die Resetquelle auswerten und bei einem Watchdogreset 
entsprechend signalisieren (LED, Buzzer, LCD, UART).


Peter

von Michael_SS (Gast)


Lesenswert?

Hallo Leute.

Danke für Eure Beiträge. Besonders Stefan hat mir geholfen. Ich werde 
die Sache mit einem MonoFlop realisieren.

Ich brauche den µC um später das ganze per PC fernbedienen zu können. 
Jetzt bin ich erst mal dabei den µC zu ertüchtigen, um eben Weichen 
stellen zu können. Das muss ich jetzt noch per Tasten machen. Später wie 
gesagt per PC.

Ich habe vor, die Weiche eben mit einem Gleichspannungsimpuls (200 - 
500ms lang) zu befeuern. Habe ich bereits probiert. Funktioniert ohne 
Probleme.

Es sind jedoch zwei Spulen drin. Wieso das nicht gehen soll, verstehe 
ich nicht:

Märklin schrieb:
> Auch überlegt, ob du für die Weichenantriebe Wechselspannung nimmst,
> oder sind es keine mit Doppelspulen?

von Michael_SS (Gast)


Lesenswert?

Bei der Programmierung werde ich auch dann auch den Watchdog verwenden. 
So schwer wird das schon nicht sein.

Meine C und Assembler Kentnnise und Fähigkeiten sind sicher nicht die 
aller Besten, aber bisher hat es immer gereicht. Außerdem will ich ja 
auch was dazu lernen. :-)

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
Noch kein Account? Hier anmelden.