[vz-dev] Easymeter mir Ethersex
Martin Jangowski
martin at jangowski-itservice.de
Wed Apr 4 13:37:07 CEST 2012
Am 04.04.2012 11:26, schrieb Tom Weber:
> Hi,
>
> ich habe auch mit R/C Entprellung alle Geister wegbekommen - nur nicht den
> einen, der an der Pumpe sitzt. Der Einschaltvorgang erzeugt bei mir fast
> immer mehrere Impulse.
> Da stellt sich die Frage, ob man das irgendwie noch besser entstören kann?
>
> Habe nun 390 Ohm pullup, dazu 100nF parallel (direkt am S0) werde noch mal
> 100nF direkt am Polin legen.
>
> Martin hatte auch eine gute Idee, mit Dioden, habe ich aber leider nicht
> verstanden (ob er uns mal was malt?)
Ich hatte beschrieben, wie man einen AVR-Eingang mit höheren
Spannungspegeln (als der AVR Speisespannung hat) betreiben kann, ist
hier nicht das Problem.
Solange man die ganze Sache niederohmig macht, nutzen die Parallel-Cs
nichts. Der Transistor im Optokoppler des S0-Ausgangs schafft es
durchaus, den 100nF-Kondensator sehr schnell zu entladen, und der
Pullup-R mit 390 Ohm und der 100nF Kondensator haben eine Zeitkonstante
von 39 Microsekunden.... da wird nix entprellt. Das dient nur dem
unschädlichmachen von irgendwelchen eingekoppelten (hochohmigen) Störungen.
Man kann das ganze noch zusätzlich mit einem Reihen-R ausbremsen, damit
die Flanken weniger steil werden und der geringe Innenwiderstand des
Optokopplers sich nicht auswirkt. Einfach mal einen 100k-R in Reihe
schalten. Dieser Tiefpass hat dann etwa 10ms Zeitkonstante (stark
vereinfacht bedeutet das, daß ein Kurzschluss links des 100k-R etwa so
lange braucht, bis sich die Spannung am Kondensator und damit am AVR
merklich verändert). Sollte das zu viel sein (laut S0-Beschreibung
dauern Zählimpulse normalerweise 90ms, also erhelblich länger, angeblich
kann es aber auch in 30ms rum sein), kann man den Längs-R mal auf 39k
verringern. Die Schaltung sieht dann so aus (Versuch ASCII-Art)
o +5V
|
+++
| | 390R
--+ +++ | AVR
| | +---------+ |
+ o------+----------+ 100k +-------+----------o
| +---------+ | |
| SO | |
- o--+ ---+---
| | 100nF ---+---
--+ | |
| |
--+-- --+--
Wirkungsweise: im Ruhezustand hängt der + Anschluss des S0 über 390Ohm
an 5V. Der Kondensator lädt sich über die Reihenschaltung 390R und 100k
auf 5V auf. Kommt der S0-Zählimpuls, schaltet der Transistor im
S0-Zähler den +-Anschluss schlagartig gegen Masse. Der 100nF-Kondensator
entlädt sich jetzt über den 100k-Widerstand (und den Innenwiderstand des
Transistor). Die Zeitkonstante sagt aus, wie lange es dauert, bis sich
der C auf 1/e (also etwa 37%) entladen hat, bei 100k und 100nF also
10ms. Zu deutsch muss der Zählimpuls mindestens so lange anstehen, bis
der AVR was merkt. Geht der S0-Ausgang wieder hoch (wird hochohmig),
lädt sich der Kondensator wieder auf (dauert minimal länger, da hier 390
Ohm und 100k in Reihe sind).
Damit werden kurze Störimpuls wirkungsvoll unterdrückt. Man darf die
Zeitkonstante halt nicht zu groß machen, sonst gehen echte Zählimpulse
verloren. Ausserdem bin ich mir nicht ganz sicher, ob ein AVR-Eingang
einen Schmitt-Trigger hat, hier kann es sonst unschöne Überraschungen
geben (schliesslich beaufschlagen wir einen Digital-Eingang, der schöne
Pegel haben will, mit langsamen Flanken im "verbotenen Bereich"). Als am
besten mal klein anfangen und langsam größer werden, bis die Störungen
weg sind.
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: martin.vcf
Type: text/x-vcard
Size: 319 bytes
Desc: not available
URL: <http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20120404/a3d96c83/attachment.vcf>
More information about the volkszaehler-dev
mailing list