Forum: Mikrocontroller und Digitale Elektronik Arduino "pulseIn" Funktion!


von Alex K. (sanjakom)


Lesenswert?

Moin,

ich möchte mit pulseIn Funktion die Zeit zwischen den Impulsen messen,
dies gelingt mir auch teilweise, denn wenn ich denn Leiter auch nur ein
bisschen berühre kommt es zur Fehlmessung, Arduino gibt ein wert ab auch
wenn kein Signal (Impuls) anliegt. Kann mann den Leiter vielleicht mit 
einem
Widerstand mit Masse verbinden, damit nur bei anliegendem Signal zur 
Messung
kommt?

Außerdem verstehe ich gar nicht wie die Impulsmessung funktioniert, denn
gemessen wird nur mit einem Leiter und es ist ja kein geschlossener 
Stromkreislauf(Ein Link über Theorie wäre nett, selbst finde ich 
nichts).

MfG AK

von Markus (Gast)


Lesenswert?

Wie ist der Eingang beschaltet?
Üblich wird GND geschalten und der interne Pull-Up eingeschalten am 
Eingang.

von Max H. (hartl192)


Lesenswert?

Alex Kom schrieb:
> Außerdem verstehe ich gar nicht wie die Impulsmessung funktioniert, denn
> gemessen wird nur mit einem Leiter und es ist ja kein geschlossener
> Stromkreislauf
Das ist das Problem. Du musst die Masse der Signalquelle mit der Masse 
des Arduinos verbinden.

Zeig mal deine Schaltung.

von stef (Gast)


Lesenswert?

Hallo Alex

Hast du diesen Beitrag schon gelesen? 
http://arduino.cc/de/Reference/PulseIn
Die Funktion wird ziemlich gut erklärt...

Das Problem mit deinem Finger ist dass du über deinen Körper über irgend 
eine Verbindung einen geschlossen Stromkreis herstellst. Entweder Ziehst 
du den Pin auf GND oder auf 5V oder irgend etwas dazwischen.

Verwende einen Pullup oder einen Pulldown Widerstand und du wirst dein 
Problem gelöst haben. Soviel ich weis, kannst du in auch intern mit den 
Pullup aktivieren, indem du einfach digitalWrite(deinpin, HIGH) 
schreibst...

Viel Erfolg.

von Max H. (hartl192)


Lesenswert?

stef schrieb:
> Verwende einen Pullup oder einen Pulldown Widerstand und du wirst dein
> Problem gelöst haben.
Wenn er wirklich nur einen Pin und keine Masse verbunden hat, wird er 
dann konstant high/low am Pin messen.

von Alex K. (sanjakom)


Lesenswert?

Hallo,
danke für die schnelle Antwort.

Es ist etwas schwierig es in einer Schaltung da zu stellen, denn der 
Impuls
wird von einem Drehstromgenerator(VW T4) angegriffen, um damit den 
Drehzahlmesser anzusteuern.

Arduino wird  von einer 9v Batterie gespeist, an Klemme W des 
Drehstromgenerators wird eine halbe Sinuskurve pro Umdrehung erzeugt, 
die
ich mit pulseIn "enlese". Aber es ist ja ein zweiter Stromkreis, soll
ich Arduino an die Fahrzeugbatterie anschließen und so eine gemeinsame 
Masse
schaffen oder einfach Minuspol der Fahrzeugbatterie mit 9v Batterie 
verbinden?

PS. wenn meine Beschreibung nicht schlüssig ist bescheid sagen, dann 
werde ich Schaltplan erstellen(weis bloß noch nicht womit).

MfG AK

von Max H. (hartl192)


Lesenswert?

Alex Kom schrieb:
> (weis bloß noch nicht womit).
Wie wärs zum Anfangen mit einem Bleistift auf Papier?

Welche Spannung liefert die der Generator?

Ich würde das Signal mit einem Optokoppler galvanisch Trennen, dann 
müssen die Massen nicht verbunden werden und dein µC ist geschützt gegen 
Spannungsspitzen vom Generator.

: Bearbeitet durch User
von Alex K. (sanjakom)


Lesenswert?

mit "weis bloß noch nicht womit" meinte ich das es vielleicht ein 
Programm  gibts, um es danach in den Forum rein stellen.

Spannung an Klemme W ~ 7 V.

MfG AK

von stef (Gast)


Lesenswert?

nimm irgend ein Grafikprogramm, ein online Schemazeichnugsprogramm, oder 
eben Papier und Bleistift mit Scanner oder Fotoapparat....

Dem Vorschlag mit dem Optokoppler, kann ich nur beistimmen...

von Max H. (hartl192)


Lesenswert?

Alex Kom schrieb:
> Spannung an Klemme W ~ 7 V.
Und das misst du gegen Masse der Fahrzeug Batterie.
Bei den 7V~ würde ich den Optokoppler verwenden und noch ein Diode 
antiparallel zur LED im Optokoppler schalten.

Alex Kom schrieb:
> mit "weis bloß noch nicht womit" meinte ich das es vielleicht ein
> Programm  gibts, um es danach in den Forum rein stellen.
Wenn ich nur irgendwas skizzieren muss stelle ich oft nur eine 
Handzeichnung ins Forum, da bin ich viel schneller als wenn ich es mit 
meinem Schaltplan Editor zeichne.
Hier im Forum ist EAGLE der meinst verbreitest Schaltplan Editor.

: Bearbeitet durch User
von Alex K. (sanjakom)


Lesenswert?

Gut werde es erst mal mit Optokoppler versuchen.

> Bei den 7V~ würde ich den Optokoppler verwenden und noch ein Diode
> antiparallel zur LED im Optokoppler schalten.
Wozu soll die Diode gut sein?

> Hier im Forum ist EAGLE der meinst verbreitest Schaltplan Editor.

Danke, werde ich ausprobieren.

MfG AK

von Max H. (hartl192)


Lesenswert?

Alex Kom schrieb:
> Wozu soll die Diode gut sein?
Damit an de LED im Optokoppler in Sperrichtung nicht die vollen 7V, 
sonder nur 0.7V anleigen. Die LED im CY17 hält in Sperrichtung max. 6V 
aus, und bei 7V AC hat du einen Spizenwert von ca. 10V.

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.