Forum: Mikrocontroller und Digitale Elektronik Taster + sehr sehr langes Kabel


von Sebastian K. (bastik)


Angehängte Dateien:

Lesenswert?

Hallo!

Im Rahmen meiner Facharbeit habe ich eine Zeitmessung für Sprintläufer 
entwickelt. Funktioniert super außer das folgende Detail:

Ab und zu löst die Startpistole willkürlich von selbst aus. Siehe 
Schaltung im Anhang.Der Ne556 Ausgang ist mit dem Interrupt des Atmegas 
verbunden.

Bei der 2 VERSION der Schranke soll das verbessert werden. Der NE556 mit 
der Monostabilen Schaltung FÄLLT GANZ WEG! Es ist nur noch ein Atmega 8 
vorhanden.

Meine Frage:

Vorraussetzung:
1) Sher langes Kabel, 200-300m!
2) Jedes Kabel soll verwendet werden können ( also keine Schirmung oder 
so..)
3) Kabel ist eventuell aufgewickelt ( also wirkt zum teil wie eine 
Spule..Induktion... im Schaltplan auch so angedeutet.)
4) Schaltung sollte mit wenigen standart Bauteilen aufzubauen sein ( 
Transistor, Dioden, Widerstände)

Ziel: SICHERES Auslösen der Zeitmessung durch Interrupt am Atmel nur 
wenn auch wircklich der Taster gedrückt wurde.

Ich hab irgendwann mal was von einem Klingelschalter gelesen gehabt...
---"Schulter zucken"

Ich hoffe es kann mir wer helfen! Schönen Abend noch! Gegoogelt und 
gesucht hab ich natürlich schon , eventuell kennt jemand auch vielleicht 
ein Stichwort!

PS: Bitte kein Rätseln warum die Schaltung mit dem NE556 nicht 
funktioniert hat... wollte das nur als kleine Einleitung zum besseren 
Verständniss des Problems und der Sache dazu schreiben.

von Olli (Gast)


Lesenswert?

pack einen optokoppler dazwischen, sonst hast du immer fehlauslösungen.
Mit Optokoppler ist dann alles OK.
Olli

von Peter D. (peda)


Lesenswert?

Das Stichwort heißt Entprellen:

Beitrag "Tasten entprellen - Bulletproof"


Peter

von Olli (Gast)


Lesenswert?

200-300 meter Kabel - nee nee: erstmal galvanisch entkoppeln - eine 
kleine Entprell Routine zusätzlich kann auch nie schaden aber 300 Meter 
Kabel würde ich nicht an einen AVR ohne galvanische Trennung 
anschließen.
Olli

von Winfried (Gast)


Lesenswert?

Wenn du direkt auf einen Eingang gehst, würde ich auf jeden Fall ein 
Tiefpass einbauen, z.B. 100nF Kondensator und 100 Ohm Widerstand. Der 
filtert dir irgendwelche Spikes auf der Leitung weg. Und dann noch 2 
Schutzdioden nach + und Masse, falls mal energiereichere Spikes.

von Thomas (kosmos)


Lesenswert?

verringere mal die 10k auf 1k und setzt sicherheitshalber noch ne 5,1V 
Z-Diode von der Masse zum Eingangspin, dann kann der Eingang nicht so 
leicht runtergezogen werden, da das Kabel ja ne riesen Antenne 
darstellt.

Wieso wird so ein langes Kabel benötigt, kann man nicht die Startpistole 
und den AVR am Ziel belassen. Pistole zum starten und IR-Lichtschranke 
zum stoppen nehmen?

Wozu hast du nen NE555 in der Schaltung soll der was verzögern oder zu 
kurze Impulse filtern? Also ich würde nur nen AVR nehmen und das dann 
per Software machen.

Ist schon ein ziemlich einfaches Projekt für ne Facharbeit.

von Hagen R. (hagen)


Lesenswert?

Was ist an Olli's Vorschlag so schlecht ? Mit Optokoppler schaltest du 
Stromgesteuert und das ist weniger störanfällig als Spannungsgesteuert 
wenn du den Schalter direkt am Pin hängen hast. Davonj abgesehen gibt 
Koppler mit Schmitt Trigger und TTL Ausgang, das dürte nochmals helfen.

In Software dann noch eine Entprellroutine wie es Peter vorschlägt, 
falls der Taster prellen sollte.

Gruß Hagen

von Peter S. (psavr)


Lesenswert?

Verwende ein 2-Adriges Kabel, sonst wird das nix....

von Falk B. (falk)


Lesenswert?

@ Sebastian Kreuzer (bastik)

>Dateianhang: Taster-Problem.JPG (39,6 KB, 110 Downloads)

Bildformate

>Ziel: SICHERES Auslösen der Zeitmessung durch Interrupt am Atmel nur
>wenn auch wircklich der Taster gedrückt wurde.

Wie sämtliche Vorposter schon geschrieben haben. Entprellen bzw. mit 
Optokoppler.
Entprellen kann man recht einfach so, und da du einen Interrupt auslösen 
willst MUSST du mit Hardware entprellen, in Software geht das nicht!

Schmitt-trigger

Der AVR hat schon Schmitt-Trigger Eingänge, brauchst du also nur noch 2 
Widerstände und einen Kondensator.

MFG
Falk

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:

> Entprellen kann man recht einfach so, und da du einen Interrupt auslösen
> willst MUSST du mit Hardware entprellen, in Software geht das nicht!

Son Quatsch.

Du kannst natürlich auch in dem Timerinterrupt für die Entprellung 
gleich die Taste auswerten.
Niemand sagt, daß Du das erst im Main darfst.

Und wenn Du den Timerinterrupt gleich der gewünschten Zeitauflösung 
wählst (z.B. 10ms) kannst Du darin auch einfach die Zeiten hochzählen.


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>> Entprellen kann man recht einfach so, und da du einen Interrupt auslösen
>> willst MUSST du mit Hardware entprellen, in Software geht das nicht!

>Son Quatsch.

Es war EXPLIZIT gesagt, dass er einen Interrupt über den Taster auslösen 
will.

Klar, man kann sicherlich auch einen 10ms Timer laufen lassen und 
pollen, das sollte für die Zeitmessung allemal reichen. Das ist aber 
schon wieder ne andere Geschichte! Und niemand hat das dem OP gesagt!

MfG
Falk

von Falk B. (falk)


Lesenswert?

Und abgesehen davon muss man bei 300m Kabel ein KLEIN wenig Hardware 
investieren, um Fehlimpulse zu unterdrücken bzw. noch viel wichtiger, um 
ESD/EMV zu blocken.

MFG
Falk

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:

> Es war EXPLIZIT gesagt, dass er einen Interrupt über den Taster auslösen
> will.

Ist ein Timerinterrupt etwa kein Interrupt ?
Was ist er dann ?


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>> Es war EXPLIZIT gesagt, dass er einen Interrupt über den Taster auslösen
>> will.

>Ist ein Timerinterrupt etwa kein Interrupt ?

Der wird wohl kaum vom Taster ausgelöst.

Mensch Peter, du bist mal wieder bockig!
Es ist FREITAG!

MFG
Falk

von Thilo M. (Gast)


Lesenswert?

Kannst die Zeitnahme auch mit dem Analog-Komparator-INT starten, mit 
oben erwähnter Entkopplung über Optokoppler, Tiefpass, Entprellung mit 
einem Timer (wie peda geschrieben hat) und die Zeitmessung per 
1ms-Polling realisieren.

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:

>>Ist ein Timerinterrupt etwa kein Interrupt ?
>
> Der wird wohl kaum vom Taster ausgelöst.

Das war auch nicht die Frage.

Er unterbricht das Main und kann die Taste nach Entprellung auswerten.

D.h. er kann sehr wohl eine Behandlung auf Tastendruck auslösen.


Peter

von Karl H. (kbuchegg)


Lesenswert?

Also ich möchte nicht 300 Meter Kabel auslegen müssen.
Vom zusammenpacken und in die Kabine schleppen, red
ich dabei noch gar nicht.

von Thilo M. (Gast)


Lesenswert?

@ Karl heinz:
Das ist kein Problem. Dafür gibt's große Kabeltrommeln mit Rollen 
untendran, ist kaum Aufwand. Ich mach' das auf Messen mit DMX-Kabel so. 
;)

von Falk B. (falk)


Lesenswert?

@  Karl heinz Buchegger (kbuchegg)

>Also ich möchte nicht 300 Meter Kabel auslegen müssen.
>Vom zusammenpacken und in die Kabine schleppen, red
>ich dabei noch gar nicht.

Du warst wohl nicht beim Bund? Dort heisst es "Lauf Kabelbongo, dann 
wirds leichter!"
;-)
Naja, minimaler Schaltungsaufwand wird mit geringem praktischem Komfort 
bezahlt. Man könnte hier sichrlich eines dieser kleinen RS232 Funkmodule 
im ISM Band nehmen.

MFG
Falk


@ Peter Dannegger (peda)

http://de.wikipedia.org/wiki/Pedanterie

von Peter S. (psavr)


Angehängte Dateien:

Lesenswert?

So gehts problemlos: Störungssicher und entprellt, inklusive 
Schutzschaltung!(Einen Optokoppler braucht's nun wirklich nicht)

von Falk B. (falk)


Lesenswert?

@ Peter S. (psavr)

>So gehts problemlos: Störungssicher und entprellt, inklusive

Wirklich?
Dein Schalter wird es dir nicht danken, wenn er dauern 100nF blitzartig 
entladen darf. Da fehlt definitiv ein Vorwiderstand!

MFG
Falk

von Peter S. (psavr)


Lesenswert?

@Falk Brunner

>Dein Schalter wird es dir nicht danken, wenn er dauern 100nF blitzartig
>entladen darf.

Q = 100nF * 5V = 0.0000005 As (bzw. 0.5 uAs)

Du glaubst hoffentlich nicht ernsthaft daran, dass diese Ladung für 
irgend einen mechanischen Schalter ein Problem sein könnte? Diese Ladung 
traue ich selbst noch den kleinsten Mikroschaltern zu!

Aber damit auch Du ruhig schlafen kannst: Man könnte natürlich auch noch 
einen 10..50 Ohm Widerstand in Serie zum Schalter einbauen...

von Falk B. (falk)


Lesenswert?

@ Peter S. (psavr)

>>Dein Schalter wird es dir nicht danken, wenn er dauern 100nF blitzartig
>>entladen darf.

>Q = 100nF * 5V = 0.0000005 As (bzw. 0.5 uAs)

>Du glaubst hoffentlich nicht ernsthaft daran, dass diese Ladung für
>irgend einen mechanischen Schalter ein Prblem sein könnte? Diese Ladung

Schon mal den Strom ausgerechnet? Ein Blitz hat auch relativ wenig 
Energie. Aber ORDENTLICH Leistung!

Ausserem ist der 100nF direkt am Schalter relativ nutzlos. die 100nF am 
uC reichen locker.
Und wenn man die Schaltung aus dem Wiki nehmen würde, könnte man sich 
die exteren Dioden sparen.
Aber warum einfach, wenns auch unständlich geht.

MfG
Falk

von Peter S. (psavr)


Lesenswert?

Naja, auch die Energie im Kondensator haut mich auch nicht um:

W = 0.5*C*U^2 = 0.00000125 J

Die Energie im Blitz hingegen schon, die ist um ein zig-faches höher!

>Schon mal den Strom ausgerechnet?
Der "rechnerische" Peakstrom erscheint einem sicherlich hoch, er ist 
aber auch ebenso kurz, so dass nix passieren kann!

>Ausserem ist der 100nF direkt am Schalter relativ nutzlos.
Bau es mal auf (mit 1 km Kabel, abgewickelt), gucke Dir die Signale mit 
einem Oszilloskop an und staune....

>Aber warum einfach, wenns auch unständlich geht.
Sagt einer, der was von Optokoppler schwaffelt...

von Falk B. (falk)


Lesenswert?

@ Peter S. (psavr)

>Der "rechnerische" Peakstrom erscheint einem sicherlich hoch, er ist
>aber auch ebenso kurz, so dass nix passieren kann!

Du redest wie du es verstehst . . .

>>Ausserem ist der 100nF direkt am Schalter relativ nutzlos.
>Bau es mal auf (mit 1 km Kabel, abgewickelt), gucke Dir die Signale mit
>einem Oszilloskop an und staune....

Welche Signale? Wo? Das einzige was zählt ist das Signal am uC. welche 
wilden Störungen am Schalter anliegen ist praktisch egal.

>>Aber warum einfach, wenns auch unständlich geht.
>Sagt einer, der was von Optokoppler schwaffelt...

Du bist der Chef!

MFG
Falk

von Peter S. (psavr)


Lesenswert?

>Du bist der Chef!
Klare Sache!

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:

> @ Peter Dannegger (peda)
>
> http://de.wikipedia.org/wiki/Pedanterie


Daran ist nichts pedantisch, wenn man Anfängern erklärt, daß nicht nur 
externe Interrupts auf externe Ereignisse reagieren können und das sie 
im Gegenteil, sogar ungünstiger (störempfindlich) sein können.


Pedantisch ist dagegen, auf externen Interrupts zu beharren, nur weil 
sie so heißen, statt seinen Horizont auch auf andere besser 
funktionierende Lösungen zu erweitern.


Peter

von Spess53 (Gast)


Lesenswert?

Hi

Ich würde den Widerstand nicht vor den Schalter, sondern, eng am µC nach
Masse legen. Der kann dann relativ niederohmig sein und unterdrückt bei 
offenen Schalter Störungen recht wirksam. Kondensatoren natürlich nicht 
vergessen.

MfG Spess

von Winfried (Gast)


Lesenswert?

Feine Goldkontaktschalter mögen das wirklich nicht sonderlich, wenn Sie 
direkt 100nF kurzschließen. Wir hatten damit schon Probleme, weshalb ich 
so ein Design vermeide.

von Christian (Gast)


Lesenswert?

Hallo!

Ich habe ein ähnliches Problem, bin aber noch beim Planen.
Ich möchte Impulse über ein langes Kabel (fertige Ethernetkabel) an 
einen Mikrocontroller  senden und diese dort vermesen - d.h. Länge und 
Zeit zwischen 2 Pulsen.
zZ hab ich einfach Schutzdioden nach + und Masse vorgesehen und greife 
das Signal über eine Widerstand ab. Da mein PIC eine 
Capture&Compare-Einheit hat, hätte ich diese für die Messerei verwendet. 
Denkt ihr, wird das reichen oder sollte ich lieber einen Optokoppler 
dazwischenschalten? An Sachen wie Entprellen muß ich nicht denken, das 
ist Sache des anderen Kabelendes :-). Mich interessieren nur Impulslänge 
und Zeit zwischen 2 Impulsen. Das alles bei einer Genauigkeit von <10 ms 
- also optimaler Weise 1-5ms.

Vielen Dank für die Hilfe!

von Winfried (Gast)


Lesenswert?

Kommt noch drauf an, ob deine Controllerschaltung irgendwo galvanisch 
mit Erde gekoppelt ist. Wenn du ein Steckernetzteil nutzt und die 
Controllerschaltung autonom ist, also keine Signale irgendwohin weiter 
transportiert werden, ist es völlig unproblematisch. Jede Form 
galvanischer Kopplung verändert die Situation wieder.

von Christian (Gast)


Lesenswert?

hmmm.... das Ganze geht via USB (bus-powered) an einen Laptop.
Also über das Netzteil des Laptops könnte eine galv. Verbinung mit Masse 
vorhanden sein. Solange der nicht auf Akku-betrieb ist. Aber darauf 
sollte man sich nicht verlassen. Ich vermute, d.h Optokoppler... oder?

von Sebastian K. (bastik)


Lesenswert?

@ Christian

Dann muss ich mich mal aus dem Urlaub melden...

Erst mal danke fuer die vielen Beitraege, hatte leider in letzter Zeit 
keine Zeit alles praktisch umzusetezen...

aber im Kopf gruebelts weiter...

MAX485 also RS485 waere glaub ich auch ne Loesung, etwas teurer halt.

vielleicht konnt ich Dir weiterhelfen

von Christian (Gast)


Lesenswert?

ach ja... was mir noch eingefallen ist und ev. nicht unwichtig ist: die 
Elektronik am anderen Kabelende wird spannungstechnisch von mir 
versorgt. d.h. über mein Kabel geht Vcc,Vss,Rx,Tx und mittlerweile kenn 
ich mich einfach nimma aus :-(
Danke!

von Winfried (Gast)


Lesenswert?

In diesem Fall würde ich auf jeden Fall die lange Leitung über 
Optokoppler galvanisch abkoppeln. Sonst kann dir der Müll auf der 
Leitung irgendwo ins Notebook einschlagen und mehr, als nur deine 
IO-Schaltung zerstören.

von Christian (Gast)


Lesenswert?

stimmt, Laptop abschießen wäre ziemlich doof!

Danke!

und die Störungen, die sich Vcc und Vss enfangen, sind egal? nur kann 
man die durch nix ersetzen ...

von Winfried (Gast)


Lesenswert?

Speißt du denn ein Fremdgerät über das lange Kabel mit VCC? Das wäre 
nicht so gut. Ich würde keinem Notebook zumuten, über z.B. 100Meter 
Kabel irgendwo ein anderes Gerät mit Notebook-5 Volt zu versorgen.

von Christian (Gast)


Lesenswert?

genau. zumindest ist das der gegenwärtige plan.
ziel ist es, die sache möglichst einfach zu halten, d.h. nach 
möglichkeit keine externe spannungsversorgung (wenns sein muß dann halt 
ein steckernetzteil). aber wenn eben auch nur eine und keine batterien - 
das macht das Warten mühsam. Sogesehen wird die spannungsversorgung 
immer über das Kabel mitkommen müssen. aber - und das ist das gute 
daran, das andere endgerät braucht nicht viel saft, also sollte es 
eigentlich klappen. denk ich mal...

von Winfried (Gast)


Lesenswert?

Wenn du auch VCC galvanisch entkoppeln willst, wäre ein DC/DC-Wandler 
eine Möglichkeit. Wenn du VCC nicht entkoppelst, kannst du dir wohl auch 
die Optokoppler sparen, das macht dann nämlich wenig Sinn. Dann reichen 
wohl die Standard-Eingangs-Schutzbeschaltungen (Tiefpass und 
Schutzdioden).

von Christian (Gast)


Lesenswert?

ah... klar! warum bin ich nicht von selber drauf gekommen! an die DC/DC 
wandler hab ich gar nicht gedacht!

nocheinmal vielen dank Winfried!

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.