Forum: Mikrocontroller und Digitale Elektronik Drehgeber anschließen über 1m-Zuleitung - Leitung schirmen?


von Jens B. (nixiefreak)


Lesenswert?

Hallo Leute,

ich probiere gerade mit Drehgebern herum und möchte bei meinem nächsten 
Projekt vier davon verwenden, Typ: EC11 von ALPS.

Mit der Auswerteroutine von Peter Dannegger klappt auch alles in der 
Test-Schaltung, wo aber bis jetzt nur ein EC11 direkt auf der Platine 
verbaut ist. OK, ob einer oder vier EC11 ist der Auswertung ja egal, 
aber mein Problem ist folgendes:

Die Drehgeber müssen ca. 1m entfernt von der Platine angebracht werden 
(zwei 1m links davon, zwei 1m rechts davon), und da wollte ich einfachen 
Schaltdraht ("Klingeldraht") für die Zuleitungen verwenden, die ja nur 
aus A, B, und GND bestehen. Interne Pullups am uC sind aktiviert.

Wird so eine Konstruktion eher als Antenne wirken und Störungen in die 
Schaltung einkoppeln, oder ist bei dieser Konstellation nichts 
dergleichen zu befürchten? Als Alternative könnte ich Kopfhörerkabel 
verwenden, lohnt sich das? Oder ist es noch sinnvoll, irgendeine Art 
RC-Tiefpass an die uC-Eingänge zu hängen (bzw. ein einfacher C nach GND 
reicht ja wegen der Pullups)?

Danke für eure Einschätzungen.

Gruß
Jens

von Falk B. (falk)


Lesenswert?

@  Jens B. (nixiefreak)

>Wird so eine Konstruktion eher als Antenne wirken und Störungen in die
>Schaltung einkoppeln,

Kann passieren.

>verwenden, lohnt sich das? Oder ist es noch sinnvoll, irgendeine Art
>RC-Tiefpass an die uC-Eingänge zu hängen

Ja, siehe hier.

http://www.mikrocontroller.net/articles/Schmitt-Trigger

MFG
Falk

von Jens B. (nixiefreak)


Lesenswert?

Hallo,

na gut, mit Schmitt-Trigger ist es dann die Königsversion, was ist mit 
der Idee eines einfachen 100nF nach GND von den Inputs des uC sowie 
Verwendung eines geschirmten Kabels? Bringt das überhaupt was, oder nur 
weniger?

Grtuß
Jens

von Falk B. (falk)


Lesenswert?

@  Jens B. (nixiefreak)

>der Idee eines einfachen 100nF nach GND von den Inputs des uC

Schlecht, denn dann schließt dein Drehgeber immer einen geladenen 
Kondensator kurz, das wird er auf Dauer nicht mögen. Die zwei 
Widerstände braucht man schon noch. Und wenn du einen AVR hast, dann hat 
der schon Schmitt-Trigger eingebaut.

von Jens B. (nixiefreak)


Lesenswert?

Ich nutze den PIC16LF722, genauer, dessen PORTB wegen der internen 
Pullups.

Na gut, man kann dem 100nF ja noch einen R in Reihe spendieren (150R 
oder so), ändert die Tiefpasscharakteristik nicht zu sensibel und die 
Entladung dürfte dann auch stressfreier für das Kerlchen sein.

Ich habe auf der Platine keinen Platz mehr für einen dedizierten 
Schmitt-Trigger, und die Drehgeber-Routine von Peter ist ja spitze, die 
fängt sogar Prellen ab, daher dachte ich, die Spar-Maßnahme reicht.

Gruß
Jens

von oszi40 (Gast)


Lesenswert?

Man sieht von hier aus Dein Störfeld nicht. In einfachen Fällen könnte 
auf dem Schreibtisch verdrillter Klingeldraht reichen. Wenn jedoch PWM 
und Motoren ins Spiel kommen wird die Sache kniffliger. Schon mal 
LAN-Kabel getestet?

von Jens B. (nixiefreak)


Lesenswert?

Die Schaltung (Schaltplan hab ich nur im Kopf) besteht aus insgesamt elf 
Sieben-Segment-Anzeigen, die mittels CD4094-Schieberegister -> ULN2803A 
angesteuert werden, ohne PWM, also einfach nur statisch an. Dann noch 
die vier Drehgeber und ein Taster, das war's.

Allerdings soll die Schaltung auf einem Messestand verwendet werden, wie 
es da mit Störquellen aussieht weiß man vorher ja nie so genau.

Gruß
Jens

von Falk B. (falk)


Lesenswert?

@  Jens B. (nixiefreak)

>Ich nutze den PIC16LF722, genauer, dessen PORTB wegen der internen
>Pullups.

Hat der Schmitt-Trigger EIngänge? Datenblatt?

von Jens B. (nixiefreak)


Lesenswert?

Ach so, ich vergesse das immer, hier sind ja eher die AVR-ler unterwegs, 
Datenblatt hier: 
http://ww1.microchip.com/downloads/en/DeviceDoc/41341A.pdf

Frei beschaltbare Schmitt-Trigger-Eingänge hat der nicht.

Gruß
Jens

von Peter D. (peda)


Lesenswert?

Kondensatoren könnten das Entprellen durcheinander bringen.
Besser die Pullups schön niederohmig machen (1k).
Die Abfrage im Timerinterrupt sollte dann ausreichend resistent gegen 
Störungen sein.

Oder jedem Encoder seinen eigenen µC (ATtiny25) spendieren und alle als 
I2C-Slave an einen Bus.


Peter

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Jens B. schrieb:
> Ich nutze den PIC16LF722, genauer, dessen PORTB wegen der internen
> Pullups.

Die dir in diesem Fall nicht nutzen da es "weak pullups" sind. Auch 
Schmitt Trrigger etc führen in die falsche Richtung, die können 
Störungen auch  icht filtern (sonst wären es ja keine).

Mach die Leitungen niederohmig. Niemand hindert dich die Pullups auf 
(brutalstmögliche aber übertriebene) 100 Ohm zu setzen. Ein Schirm dazu. 
Auf Messen weiß man nie was drumherum ist, Handystrahlung ist auf jeden 
Fall immer "genug vorhanden".

von Jens B. (nixiefreak)


Lesenswert?

Hallo Peter,

danke, das beruhigt mich schon etwas. Weiß aber spontan nicht genau, wie 
ich den Wert des "weak internal pullups" aus dem Datenblatt extrahieren 
soll, finde da nirgends eine Angabe.

Gruß
Jens

von MaWin (Gast)


Lesenswert?

> Wird so eine Konstruktion eher als Antenne wirken und Störungen in die
> Schaltung einkoppeln

Ja

> Als Alternative könnte ich Kopfhörerkabel verwenden, lohnt sich das?

Geschirmtes Kabel ist sinnvoll, aber bei 1m nicht nötig.

> Oder ist es noch sinnvoll, irgendeine Art RC-Tiefpass an die
> uC-Eingänge zu hängen (bzw. ein einfacher C nach GND
> reicht ja wegen der Pullups)?

Nein, bloss nicht.

Aber nimm dringenst niederohmigere PullUps, ich würde 1k vorschlagen für 
5mA Strom. Damit werden die Leitungen ausreichend niederohmig 
angeschlossen damit Einstreuungen nicht zu Spannungsänderungen führen, 
die high zu low bzw. umgekehrt machen.

Nur wenn die 1k PullUps nicht reichen, dann das geschirmte Kabel 
(UKW-Antenne), ich geh aber davon aus daß 1k reichen.

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Oder jedem Encoder seinen eigenen µC (ATtiny25) spendieren und alle als
> I2C-Slave an einen Bus.

Bevor ich so einen Aufstand mache (der das Problem der Störstrahlung von 
einfachen GrayCoder Leitungen auf einen komplexeren Bus "verschiebt") 
nehme ich gleich Optokoppler und lasse die mit 20mA "bestromen".

von Jens B. (nixiefreak)


Lesenswert?

Ich arbeite bei 3.3V (ist ja ein LF-PIC), aber die 1k hören sich gut an, 
werde ich einbauen.

MaWin schrieb:
> Geschirmtes Kabel ist sinnvoll, aber bei 1m nicht nötig.

Ich schau mal, ob mein Elektronikladen ein Kopfhörerkabel in der 
Grabbelkiste hat, das dürfte ja schon langen wegen der Abschirmung.

Gruß
Jens

von Jens B. (nixiefreak)


Lesenswert?

Der Rächer der Transistormorde schrieb:
> nehme ich gleich Optokoppler und lasse die mit 20mA "bestromen".

Naja, wir reden ja über einen Meter, da muss noch nicht der Holzhammer 
her. ;-)

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Jens B. schrieb:
> weak internal pullups

Einfach messen (Strom gg Masse). Typ. 22k aber temperaturabhängig und 
für deinen Zweck eh nicht zu gebrauchen. Abgesehen davon ist es 
prinzipiell keine gute Idee Störstrahlung im Prozessor zu vernichten. 
Das ist Physik und unabhängig von Marke und irgendwelchen Feinheiten am 
Port.

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Jens B. schrieb:
> Naja, wir reden ja über einen Meter, da muss noch nicht der Holzhammer
> her. ;-)

Eben, ging auch um die Idee die Daten über I2C zu übetragen.



Kopfhörerkabel reicht, Schirmung an zentralen Massepunkt.

Das wichtigste auf Messen ist aber eher Stecker Belegung und Kabel 
anständig zu beschriften ;-).

von Jens B. (nixiefreak)


Lesenswert?

Der Rächer der Transistormorde schrieb:
> Das wichtigste auf Messen ist aber eher Stecker Belegung und Kabel
> anständig zu beschriften ;-).

;-)

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Jens B. schrieb:
> Ich arbeite bei 3.3V (ist ja ein LF-PIC), aber die 1k hören sich gut an,
> werde ich einbauen.

Wenn das Ding 5V tolerante Eingänge hat dann empfehle ich damit die 
Encoder zu versorgen. Hebt den (möglichen) Störabstand deutlich an.

von Jens B. (nixiefreak)


Lesenswert?

HV-Eingänge hat der nicht, nur den MCLR, und den brauch ich für MCLR. 
Aber ich versteh deinen Vorschlag auch nicht so ganz, der Encoder 
schaltet ja nach GND.

Gruß
Jens

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.