mikrocontroller.net

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


Autor: Sebastian Kreuzer (bastik)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Olli (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Stichwort heißt Entprellen:

Beitrag "Tasten entprellen - Bulletproof"


Peter

Autor: Olli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter S. (psavr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwende ein 2-Adriges Kabel, sonst wird das nix....

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. 
;)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter S. (psavr)
Datum:
Angehängte Dateien:

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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter S. (psavr)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter S. (psavr)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter S. (psavr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du bist der Chef!
Klare Sache!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sebastian Kreuzer (bastik)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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