Forum: Mikrocontroller und Digitale Elektronik Impulserfassung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Neuling A. (jesuisla)


Angehängte Dateien:

Lesenswert?

guten Tag zusammen.
ich möchte mit esp8266, einem Impulsgeber (Impulslänge = 200ms) an einer 
Wasseruhr den Wasserverbrauch beobachten, es sollte einen Impuls pro 
Liter bzw pro Umdrehung des Magnets geben, das hat der Multimeter auch 
bestätigt, aber ich bekomme leider zu viele Impulse bzw einsen ( 
s.Bild).

pot = ADC(0)

while True:
    try:
        pot_value = pot.read()
        print(pot_value)
        time.sleep(0.15)
        client.publish('testclient', str(pot_value))
    except :
        client.disconnect()
        sys.exit()

hat jemand Ahnung woran es liegen könnte?

: Bearbeitet durch User
von Testuser (Gast)


Lesenswert?

Guck dir mal den Spannungsverlauf am ADC Eingang an. Vielleicht passt 
der Bereich nicht, vielleicht ist der Impuls lang, wer weiß.

von FOp (Gast)


Lesenswert?

Vermutlich am sogenannten Prellen. Da Dein Geber wohl keine 
Versorgungsspannung benötigt, handelt es sich um um einen mechanischen 
Kontakt. Die schliessen nicht und bleiben zu, wie man es sich 
idealerweise wünschen würde, vielmehr hüpfen sie unter Umständen noch 
mehrmals, bevor dann Ruhe einkehrt. Das passiert viel zu schnell für 
Dein Multimeter, aber der ESP ist schnell genug, um das als einzelne 
Pulse zu zählen.

Das gesuchte Zauberwort heißt : "Entprellung", kann man auch in Software 
erledigen.

von Peter D. (peda)


Lesenswert?

Einen Kontakt liest man digital ein und nicht mit dem ADC. Und natürlich 
ist ein Pullup nötig (kann intern programmiert werden).
Entprellen muß man auch, wenn man die Flanken zählen will.

von Mario P. (mario_71950c)


Lesenswert?

was ist das für ein Impulsgeber - bitte die genaue Bezeichnung angeben

Mario P.

von Neuling A. (jesuisla)


Lesenswert?

PM +m Kommunikationsmodul
Reed-kontakt Äquivalent, Passiver, Impulsgeber, Open Drain.

https://www.allmess.de/fileadmin/multimedia/alle_Dateien/MA/MA_12715-AC%20MA%20BM+m%20PM+m_TS0921.pdf

von Neuling A. (jesuisla)


Lesenswert?

FOp schrieb:

> Das gesuchte Zauberwort heißt : "Entprellung", kann man auch in Software
> erledigen.

hast Du bitte einen Hinweis? meinst du vlt bounctime funktion?

von Mario P. (mario_71950c)


Lesenswert?

FOp schrieb:
> Das gesuchte Zauberwort heißt : "Entprellung"

Neuling A. schrieb:
> Reed-kontakt Äquivalent, Passiver, Impulsgeber, Open Drain.

Der Impulsgeber besitzt eine Elektronik. Er gibt einen 200ms-Impuls aus. 
Da kein mechanischer Kontakt vorliegt, schließe ich Prellen aus.

Mario P.

von Neuling A. (jesuisla)


Lesenswert?

Mario P. schrieb:
> FOp schrieb:
>> Das gesuchte Zauberwort heißt : "Entprellung"
>
> Neuling A. schrieb:
>> Reed-kontakt Äquivalent, Passiver, Impulsgeber, Open Drain.
>
> Der Impulsgeber besitzt eine Elektronik. Er gibt einen 200ms-Impuls aus.
> Da kein mechanischer Kontakt vorliegt, schließe ich Prellen aus.
>
> Mario P.

was kann dann dabei helfen, die Impulse richtig zu erfassen?

von Wolfgang (Gast)


Lesenswert?

Peter D. schrieb:
> Und natürlich ist ein Pullup nötig (kann intern programmiert werden).

Je nach Leitungslänge emp­fiehlt es sich jedoch, einen niederohmigeren 
externen Pullup-Widerstand zu verwenden, um die Störempfindlichkeit zu 
verringern.

von Peter D. (peda)


Lesenswert?

Mario P. schrieb:
> Da kein mechanischer Kontakt vorliegt, schließe ich Prellen aus.

Dann meint "Reed-kontakt Äquivalent" wohl Optokoppler.
Trotzdem kann Entprellen nie schaden. Es unterdrückt auch Störungen, je 
nach Leitungslänge, Größe des Pullup und durch starke Verbraucher 
(Motoren) in der Nähe.

von Mario P. (mario_71950c)


Lesenswert?

Neuling A. schrieb:
> ich bekomme leider zu viele Impulse bzw einsen

Der Impulsgeber liefert einen 200ms-Impuls, in Deinem Programm wartest 
Du aber nur 150ms. Da wirst Du den selben Impuls wohl (öfter) 2x 
erfassen.
Bei open Drain am Impulsgeber ist die Abfrage über den ADC eher 
ungünstig, da ich nur 2 Potentiale habe. Ich würde hier eher einen 
"normalen" Eingangspin wählen und bei Potentialänderung am Pin einen 
Interrupt auslösen lassen (geht vielleicht auch für eine Flanke - ich 
kenne die Möglichkeiten des ESP nicht. Da können hier sicher Andere 
helfen).

Mario P.

von Wolfgang (Gast)


Lesenswert?

Neuling A. schrieb:
> was kann dann dabei helfen, die Impulse richtig zu erfassen?

Erstmal würde ich ein Messwerkzeug bemühen, um beurteilen zu können, ob 
die Eingangssignal wie erwartet aussehen, i.e. ein Oszi.

von Mario P. (mario_71950c)


Lesenswert?

Peter D. schrieb:
> Dann meint "Reed-kontakt Äquivalent" wohl Optokoppler.

aus dem Datenblatt:
Impuls-Charakteristik    : Reed-Kontakt Äquivalent,
                           Passiver Impulsgeber,
                           Open Drain
Maximale Abfragespannung : 30 V
Maximale Strombelastung  : 25 mA

kann Optokoppler sein oder auch einfach Transistor/Fet

Wolfgang schrieb:
> Je nach Leitungslänge emp­fiehlt es sich jedoch, einen niederohmigeren
> externen Pullup-Widerstand zu verwenden, um die Störempfindlichkeit zu
> verringern.

ACK

Mario P.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.