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
@ 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
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
@ 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.
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
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?
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
@ Jens B. (nixiefreak) >Ich nutze den PIC16LF722, genauer, dessen PORTB wegen der internen >Pullups. Hat der Schmitt-Trigger EIngänge? Datenblatt?
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
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
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".
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
> 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.
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".
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
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. ;-)
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.
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 ;-).
Der Rächer der Transistormorde schrieb: > Das wichtigste auf Messen ist aber eher Stecker Belegung und Kabel > anständig zu beschriften ;-). ;-)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.