Hilfe: Kurzer Spannungsimpuls in andauernden Spannungsimpuls umwandeln.

Gast #6113186
Lesenswert?

Ich habe folgende Ausgangslage:
Ich möchte folgende 2 Zustände nach dem Strom angelegt wurde mit dem 
Analogeingang eines Mikrocontrollers unterscheiden:
(1) Die Spannung bleibt bei 0V
(2) Es gib einen kurzen Spannungsimpuls. Hier steigt die Spannung von 0 
auf 3,3V und fällt wieder auf 0V. Das ganze passiert innerhalb einer 
halben Sekunde.

Es ist kein Problem diese 2 Zustände zu unterscheiden, allerdings nach 
dem die Spannung in Fall (2) ebenfalls wieder 0V erreicht hat, sind die 
Zustände nicht mehr zu unterscheiden. Sollte es also später erneut nötig 
sein den Zustand zu unterscheiden, ist es nicht möglich.

Wie kann ich ohne Schmitt Trigger oder D-Type Flip-Flop mit einem 
möglichst einfachen & kostengünstigen Aufbau diesen kurzen 
Spannungsimpuls in eine andauernde Spannung verwandeln? So dass es nur 
noch diese beiden Zustände gibt:
(1) Die Spannung bleibt bei 0V
(2) Die Spannung ist größer oder gleich 1V und bleibt stabil.

Liebe Grüße
Andrea
Gast #6113217
Lesenswert?

Andrea Stier schrieb:
> Es ist kein Problem diese 2 Zustände zu unterscheiden, allerdings nach
> dem die Spannung in Fall (2) ebenfalls wieder 0V erreicht hat, sind die
> Zustände nicht mehr zu unterscheiden. Sollte es also später erneut nötig
> sein den Zustand zu unterscheiden, ist es nicht möglich.

Das ist aber nicht die Versorgung des µC mit dem Analogeingang? Sonst 
geht das nur, wenn du in der Zeit z.B. das EEPROM beschreiben kannst.

Im µC hast du doch alles in der Hand.
Nach dem Reset ist ein Zählvariable mit 0 initialisiert.
Stellst du einen solchen Spannungspeak fest, dann merkst du dir in der 
Variable das Ereignis.
Danach erfolgt die Auswertung des Ereignisses und du kannst die Variable 
wieder mit 0 belegen für den nächsten Event.

Kann aber auch sein, dass ich wieder mal alles missverstanden habe oder 
dass deine Spezifikation zu unklar ist ....
Gast #6113230
Lesenswert?

Andrea Stier schrieb:
> Es ist kein Problem diese 2 Zustände zu unterscheiden, allerdings nach
> dem die Spannung in Fall (2) ebenfalls wieder 0V erreicht hat, sind die
> Zustände nicht mehr zu unterscheiden. Sollte es also später erneut nötig
> sein den Zustand zu unterscheiden, ist es nicht möglich

Ganz einfach: merken.
Dein uC kann sich das meeken, sogar per PinChange Interrupt.

Was bringt es aber ?

Hast du einmal gemerkt, dass die Spannung high war, ist deine Schaltung 
defekt, denn sie kann nie wieder merken ob ein Impuls kommt. Der Merker 
ist ja dauerhaft high.

Du brauchst wieder einen Weg des Rücksetzens, bei Verarbeitung des 
Zustands dur h ddn uC, und das kann am besten ddin uC.

Du brauchst keine Hardware, nur Software. Programmieren müsste man hakt 
können.
Gast #6113354
Lesenswert?

Vielen Dank für die vielen Antworten :)

Mein Problem ist, dass einer der beiden genannten Zustände direkt nach 
dem Anlegen des Stroms auftreten. Mein µC bootet nicht immer schnell 
genug. bzw. muss zwingend noch andere Aufgaben erledigen. Mein Vorteil 
ist, dass sich der Zustand nicht ändert bis zu einem Neustart, bei dem 
der Strom kurz wegfällt. Kann ich durch dieses Zurücksetzen nicht 
einfach einen Transistor nehmen um den Trigger Implus in einen 
beständigen Impuls zu ändern, indem der Triggerimpuls einen 
Stromkreislauf eines Transistors schließt? Sollte das nicht möglich 
sein, oder stehe ich auf dem Schlauch?

LG
Andrea
Gast #6113428
Lesenswert?

1
Ganz zu schweigen vom "andauernden Spanungsimpuls"...
Ok, das ist natürlich quatsch ;) Ich möchte einfach das eine konstante 
Spannung gehalten wird, damit die beiden mögliche Zustände 
auseinanderzuhalsen sind, bis der Strom unterbrochen und neu angelegt 
wurde.
1
hast uns bis jetzt noch 
2
nichts über die Impulsdauer gesagt.

Der Impuls verläuft wie eine Sinuskurve. 0V; 0,3V; 0,6V;...;3,3V;... 
0,6V;0,3V;0V. Das ganze dauert etwa 500 Millisekunden. Hängt man eine 
LED dran, blinkt diese für etwa 300 Millisekunden auf.
Gast #6113450
Lesenswert?

Warum willst du dann kein FF? Ein 1G74 ist kaum größer als ein 
Transistor +  Widerstände. Das kann man auch als RS-FF betreiben. Setzen 
mit dem Puls, Rücksetzen mit dem μC, wenn er soweit ist und den Zustand 
gelesen hat. Oder mit dem nächste Power-Cycle.
Moderator (Firma: Titel) Persönliche Seite #6113679
Lesenswert?

Andrea Stier schrieb:
> Mein µC bootet nicht immer schnell genug. bzw. muss zwingend noch andere
> Aufgaben erledigen.
Kannst du wenigstens sagen, wie lange dein umständlich programmierter µC 
im schlimmsten Fall zum Booten braucht?

Andrea Stier schrieb:
> Das ganze passiert innerhalb einer halben Sekunde.
In einer halben Sekunde kann ein handelsüblicher µC zig Millionen von 
Befehlen ausführen.

> (2) Es gib einen kurzen Spannungsimpuls.
Was ist die Quelle dieses Impulses? Wieviel Energie steckt in diesem 
Impuls? Aber wenn sogar eine LED damit angesteuert werden kann, dann 
könnte man auch ein "analoges Monoflop" nehmen:
1
Signal ----->|----o----o--- µC ADC
2
                  |    |
3
                  |    -
4
                 ===  | |
5
                  |   | |
6
                  |    -
7
                  |    |
8
GND     ----------o----o---

Denn wenn du sagst: der µC hat nach 5 Sekunden dann endlich sicher mal 
Zeit, sich nach diesen Signal zu erkundigen, dann reicht es ggfs. aus, 
über eine Diode einen Kondensator zu laden. Der hält dann bei passender 
Auslegung die Ladung so lange, bis der trödelige µC mal Zeit findet, den 
Wert einzulesen.
Gast #6113704
Lesenswert?

Lothar M. schrieb:
> dann könnte man auch ein "analoges Monoflop" nehmen
Ja, daran hatte ich auch schon gedacht. Zudem sich herausstellte, dass 
der Puls wohl eher eine Sinushalbwelle für 500ms ist. Da ist ein 
digitaler Baustein (z.B. RS-FF), wie in meinem Ansatz, nicht so 
geeignet.
Und es sind auch etwas weniger als "zig Millionen" von Befehlen ... :-)
Aber immer noch genügend!
Gast #6114434
Lesenswert?

Man könnte Lothars Schaltung noch erweitern um eine Diode gegen die 
Versorgungsspannung, wenn die weg ist wird auch der Kondensator 
entladen, quasi ein Reset.



Alternativ könnte ein Interrupt eine Variable setzen ohne dass
"muss zwingend noch andere Aufgaben erledigen"
nennenswert unterbrochen wird.

Hast Du eine Ahnung was ein Interrupt ist?

Was für einen yC verwendest Du? Wenn es sich um irgendwas in der 
Richtung Raspberry handelt, das erst ein Betriebssystem laden muß, sehe 
ich das Problem.
Ansonsten erscheint es etwas seltsam wenn ein yC eine viertel Sekunde 
lang derart beschäftigt ist, dass er einen Impuls am Eingang nicht 
feststellen kann.
Gast #6114452
Lesenswert?

@ Andrea

Die nächst einfachere Variante wäre vielleicht ein Kondensator, der von 
dem Impuls aufgeladen wird. Wenn die Quelle ausreichend niederohmig, der 
Kondensator groß genug ist und das auslesen entsprechend hochohmig 
erfolgt, müsste das gehen. Mit dem im AVR (wir wissen ja nicht, welcher 
uC verwendet wird) eingebauten Komparator sogar mit einer gewissen 
Toleranz, solange recht früh den Wert ausliest.

Zur Berechnung wären Angaben über die Quelle und den uC hilfreich und ob 
an dem Signal noch weitere Bauteile angeschlossen sein sollen.


Wie auch immer: Irgendeine Art von Speicher ist unvermeidbar, solange 
der uC das Signal nicht ständig abtasten kann.


Warum eigentlich kein Schmitt-Trigger oder sonstiges Bauteil? 
Kombination aus Schmitt-Trigger und Flip-Flop wäre eigentlich 
konstruktiv fast ideal.
Moderator (Firma: Titel) Persönliche Seite #6114486
Lesenswert?

Theor schrieb:
> Wenn die Quelle ausreichend niederohmig...  Ist
Dann entlädt sie ohne die Diode den Kondensator ziemlich genau so 
schnell, wie sie ihn aufgeladen hat.


Markus schrieb:
> Man könnte Lothars Schaltung noch erweitern um eine Diode gegen die
> Versorgungsspannung
Diese Diode ist mit hoher Wahrscheinlichkeit schon im uC Pin 
eingebaut... ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren