Forum: Mikrocontroller und Digitale Elektronik Fallende Flanke diskret erkennen


von Vincent H. (vinci)


Angehängte Dateien:

Lesenswert?

Grüß euch

Ich suche nach einer möglichst simplen Möglichkeit eine fallende Flanke 
bei unterschiedlichen Spannungen zuverlässig zu erkennen. Ich hab mal 4x 
Oszilloskop Bilder angehängt die diverse Fälle im Bereich 10-18V zeigen. 
Das entspräche auch jenem Bereich den ich in etwa abdecken möchte.

Türkis ist hierbei ein Ausgangssignal das von einer H-Brücke erzeugt 
wird, die Eingangsspannung entspricht konstant der maximalen 
Ausgangsspannung (also rund 10/14/16 oder 18V).

von Sebastian (siooo21)


Lesenswert?

Hallo Vincent,

ich würde hierfür einfach einen Haus Wald und Wiesen µC verwenden.
Ein Spannungsteiler und noch ein bisschen Hühnerfutter und ein paar 
Zeilen Code, schon hast du eine vernünftige Flankendetektion.

Gruß Siooo

von Andras H. (andras_h)


Lesenswert?

Vincent H. schrieb:
> Ich suche nach einer möglichst simplen Möglichkeit eine fallende Flanke
> bei unterschiedlichen Spannungen zuverlässig zu erkennen.

Mit dem Osszci oder mit einer uC?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Vincent H. schrieb:
> Ich suche nach einer möglichst simplen Möglichkeit eine fallende Flanke
> bei unterschiedlichen Spannungen zuverlässig zu erkennen.
Was soll daraufhin passieren?

Prinzipiell erkennt man Flanken mit einem D-Glied (aka Hochpass).

> Ich hab mal 4x Oszilloskop Bilder angehängt die diverse Fälle im Bereich
> 10-18V zeigen.
Das sind einige fallende Flanken drauf. Welche willst du erkennen?

von Vincent H. (vinci)


Lesenswert?

Andras H. schrieb:
> Vincent H. schrieb:
>> Ich suche nach einer möglichst simplen Möglichkeit eine fallende Flanke
>> bei unterschiedlichen Spannungen zuverlässig zu erkennen.
>
> Mit dem Osszci oder mit einer uC?

Ich brauch einen Interrupt an einem Prozessor Pin.

Lothar M. schrieb:
>> Ich hab mal 4x Oszilloskop Bilder angehängt die diverse Fälle im Bereich
>> 10-18V zeigen.
> Das sind einige fallende Flanken drauf. Welche willst du erkennen?

Alle. :p
Praktikabel vielleicht alle wo der Ausgang um >=2V oder so einbricht.

Ich hab bereits 2x Ideen ausprobiert, einmal eine Transistorschaltung 
die bei Differenz aus Ein- und Ausgangsschaltung einschaltet und einmal 
einen Komparator irgendwo bei ~7V herum. Beides hat aber seine Tücken. 
Der Ausgang wird von einem TPS281C100 begrenzt und steigt viel langsamer 
an als ich dachte...

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Vincent H. schrieb:
> Alle. :p
> Praktikabel vielleicht alle wo der Ausgang um >=2V oder so einbricht.
"Alle" sind auch die im blauen Signal...

> Ich brauch einen Interrupt an einem Prozessor Pin.
Kannst du den so konfigurieren, dass er eine die fallende Flanke 
getriggert wird? Oder ist das ein pegelsensitiver Interrupteingang?

> wo der Ausgang um >=2V oder so einbricht.
Ich würde mir da erst mal einen Kondensator und eine Klemmschaltung mit 
Dioden näher anschauen.


> Ich hab bereits 2x Ideen ausprobiert, einmal eine Transistorschaltung
> die bei Differenz aus Ein- und Ausgangsschaltung einschaltet und einmal
> einen Komparator irgendwo bei ~7V herum.
Was willst du denn überhaupt erkennen? Was ist das grundlegende Problem 
für dienen Lösungsansatz? Wie kann ich diesen "Fehlerfall" im 
Oszilloskopbild erkennen?

: Bearbeitet durch Moderator
von Vincent H. (vinci)


Lesenswert?

Lothar M. schrieb:
> Vincent H. schrieb:
>> Alle. :p
>> Praktikabel vielleicht alle wo der Ausgang um >=2V oder so einbricht.
> "Alle" sind auch die im blauen Signal...

Ah Pardon, so war das gemeint.
Es geht mir nur um mein Ausgangssignal, sprich türkis.

Das blaue Signal war irgendeiner meiner Versuche, der aber mein Problem 
recht schön veranschaulicht. Wie man sieht verändern sich hier die 
Ein/Ausschaltzeitpunkte in Abhängigkeit zur absoluten Spannung. Also 
quasi genau das was nicht zielführend ist.

/edit
Lothar M. schrieb:
> Was willst du denn überhaupt erkennen? Was ist das grundlegende Problem
> für dienen Lösungsansatz? Wie kann ich diesen "Fehlerfall" im
> Oszilloskopbild erkennen?

Alle fallenden Flanken im türkisen Signal ab t=250µs.

: Bearbeitet durch User
von Arno R. (arnor)


Angehängte Dateien:

Lesenswert?

Vincent H. schrieb:
> Ich hab bereits 2x Ideen ausprobiert, einmal eine Transistorschaltung
> die bei Differenz aus Ein- und Ausgangsschaltung einschaltet und einmal
> einen Komparator irgendwo bei ~7V herum. Beides hat aber seine Tücken.

Ein Vorschlag mit einem 555 im Anhang. Der Kondensator am Eingang 
bestimmt die Flankensteilheit die erkannt werden kann. Die Dioden 
verhindern die Zerstörung des 555, die RC-Kombination am 555 bestimmt 
die Pulslänge nach der Auslösung (rote Kurve).

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Probiers mal mit einem auf die fallende Flanke konfigurierten 
Interrutpin und mit dieser Schaltung:
1
               Vcc 
2
                |               µC
3
                o----o------------o----------...
4
                |    |         ___|____
5
                |    |        |   Vcc
6
                -   10k       |
7
             D1 ^    |        |
8
                |    |        |
9
türkis ----||---o----o---1k---| Interrupteingang                
10
          10n   |             |
11
                -             |  GND
12
             D2 ^             |________
13
                |                |
14
                o----------------o-----------...
15
                |
16
               GND
Nimm für D1 und D2 kleine Schottkydioden.

: Bearbeitet durch Moderator
von Vincent H. (vinci)


Lesenswert?

Lothar M. schrieb:
> Probiers mal mit...

Funktioniert blendend. Danke!

von Vincent H. (vinci)


Lesenswert?

Ok, zu früh gefreut, leider zu sensibel. Ich schalte teils kapazitive 
Lasten mit bis zu 20kHz und das gibt einen Haufen Interrupts.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Vincent H. schrieb:
> Ok, zu früh gefreut, leider zu sensibel.
Unsensibler geht immer. Du musst nur ein paar Messungen beisteuern, wo 
man die Sensibilität erkennt und auch erkennen kann, was da weniger 
sensibler reagieren soll.

Aber leider: nach wie vor ist das zugrunde liegende Problem (für das 
diese "Lösung" gedacht ist) völlig unbekannt. Woher kommen diese 
"fallende Flanken im türkisen Signal ab t=250µs" und welche Information 
steckt in ihnen?

von Vincent H. (vinci)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Aber leider: nach wie vor ist das zugrunde liegende Problem (für das
> diese "Lösung" gedacht ist) völlig unbekannt. Woher kommen diese
> "fallende Flanken im türkisen Signal ab t=250µs" und welche Information
> steckt in ihnen?

Ich möchte einen Modellbahn-Decoder updaten der (recht branchenüblich) 
Kurzschlüsse zur Quittung von Datenpaketen erzeugt. Ein Update Protokoll 
sieht leider zwei 8µs lange Kurzschlüsse vor die im Abstand von 
lediglich 150µs erfolgen. Da der ESP32 den ich verwende nur einen sehr 
bescheidenen ADC besitzt kann ich die kurzen Impulse nicht direkt 
messen.

Meine Hardware (siehe Anhang) besitzt aber neben dem ESP32 auch einen 
TPS281C100A High-Side Switch mit Strombegrenzung. Dieser High-Side 
Switch dreht bei jedem Kurzschluss verlässlich den Ausgang ab. Nun hätte 
das Ding theoretisch auch einen Open-Drain Fault Ausgang... nur leider 
triggert dieser über den ganzen Spannungsbereich nicht verlässlich, 
unter anderem wohl weil die Ausgangsspannung zwischen zwei Kurzschlüssen 
nicht zu ihrem Ausgangswert zurückkehrt und so eine "Undervoltage 
Situation" bestehen bleibt. Soweit zumindest meine Theorie. Dieser 
langsame Anstieg der Ausgangsspannung des TPS281C100A ist mir noch ein 
wenig ein Rätsel. Im Datenblatt steht eigentlich was von 3.6V/µs, meine 
Messungen sagen eher 50mV/µs. Würde die Ausgangsspannung nämlich schnell 
genug wieder ansteigen, dann würde meine Transistor-Erkennung (Schematic 
rechts unten) nämlich funktionieren.

von Vincent H. (vinci)


Angehängte Dateien:

Lesenswert?

Hier mal eins der Probleme die ich mit dieser kleinen Schaltung hab. Die 
steigende Flanke verursacht selbst wenn man sie recht steil macht (hier 
10k) noch einen Interrupt im ESP32.

Türkis = Ausgangsspannung
Gelb = Pin Toggle innerhalb des ESP32 Interrupts auf "fallende Flanke"
Magenta = Spannung am Pin

Ich verstehe allerdings nicht wie dieser Interrupt zu Stande kommt. 
Sollte der Mikrocontroller nicht nur bei einem High->Low Wechsel einen 
IRQ auslösen? Das wären laut Datenblatt 0.75*VDD->0.25*VDD, also 
2.475V->0.825V?

/edit
Ich vermute der Zeitpunkt wo der ESP32 erneut seinen Interrupt triggert 
ist jener an dem der TPS281C100A seinen Ausgang wieder einschaltet.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Vincent H. schrieb:
> Grüß euch
>
> Ich suche nach einer möglichst simplen Möglichkeit eine fallende Flanke
> bei unterschiedlichen Spannungen zuverlässig zu erkennen.

Hallo,

Du benötigst nur einen Komparator oder OPV als Komparator beschalten. 
Zusätzlich kannste das erweitern für einstellbare Schwellwerte. Am 
Ausgang ggf. noch eine Spannungsanpassung für deine MCU Ub.

: Bearbeitet durch User
von Vincent H. (vinci)


Lesenswert?

Veit D. schrieb:
> Vincent H. schrieb:
>> Grüß euch
>>
>> Ich suche nach einer möglichst simplen Möglichkeit eine fallende Flanke
>> bei unterschiedlichen Spannungen zuverlässig zu erkennen.
>
> Hallo,
>
> Du benötigst nur einen Komparator oder OPV als Komparator beschalten.
> Zusätzlich kannste das erweitern für einstellbare Schwellwerte. Am
> Ausgang ggf. noch eine Spannungsanpassung für deine MCU Ub.

Ein simpler Komparator hat, wie ich bereits erwähnt habe, auf Grund der 
unterschiedlichen Spannungen nicht sehr gut funktioniert.

Nach etwas Input von einem Kollegen dürfte es wohl möglich sein das 
Problem mit der bestehenden Hardware in Software zu lösen und ich spare 
mir das Re-Design. Ansonsten hätte der kleine Kondensator an der 
Diodenklemme wohl funktioniert.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

man hätte sich einen einstellbaren Komparator aufbauen können, mit 
variablem Schwellwert und Hysterese. Am Ausgang der Schaltung einen open 
collector/drain, dann ist auch die Anpassung an die µC Ub variabel. Das 
Problem ist ja nicht irgendeine Flanke zu erkennen. Das ist mit µC 
einfach. Das Hauptproblem bei dir ist die Sache mit den verschiedenen 
Spannungen. Wie machst du das?

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Vincent H. schrieb:

> Ich möchte einen Modellbahn-Decoder updaten der (recht branchenüblich)
> Kurzschlüsse zur Quittung von Datenpaketen erzeugt. Ein Update Protokoll
> sieht leider zwei 8µs lange Kurzschlüsse vor die im Abstand von
> lediglich 150µs erfolgen. Da der ESP32 den ich verwende nur einen sehr
> bescheidenen ADC besitzt kann ich die kurzen Impulse nicht direkt
> messen.

Dann verwende halt keinen ESP32, wenn der für deine Anwendung nix taugt. 
Ist ja nicht so, dass es keine anderen µC gäbe.

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.