INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Drehimpulsgeber / Inkrementalgeber entprellen
03.03.2015, 21:58 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2015 08:50 von Gelegenheitsbastler.)
Beitrag #1
Drehimpulsgeber / Inkrementalgeber entprellen
In meinem aktuellen Projekt nutze ich einen Drehimpulsgeber (ALPS STEC11B), um einen Schrittmotor zu steuern. Der Motor übersprang immer mal wieder einen oder mehrere Schritte in die eine oder andere Richtung oder taktete auf der Stelle. Dies ist auf ein "Prellen" des Drehimpulsgebers zurück zu führen, ähnlich dem von Tastern.

Um das Problem auf der Hardwareseite zu lösen, habe ich auf der Ausgangsseite des Drehimpulsgebers ein RC Glied installiert. Das funktioniert so lange gut, wie der Drehimpulsgeber nicht zu schnell gedreht wird. Bei einer Betätigung per Hand sollte es ausreichen. Das Ausgangssignal wurde danach noch einmal durch einen Schmitt-Trigger geschickt. Damit es auch wieder "richtig herum" ist, noch ein zweites Mal. Da ich künftig auch den integrierten Taster nutzen möchte, habe ich diesen ebenfalls auf die genannte Art entprellt. Dadurch erhält der Arduino jetzt ein sauberes und eindeutiges Signal. Sowohl vom Drehimpulsgeber als auch vom darin integrierten Taster.

Der Motor macht nun exakt das, was der soll, springt nicht mehr und reagiert erstaunlich genau. Eine Entprellung per Software ist nicht nötig.

Die Platine ist so gestaltet, dass sie direkt auf den Drehimpulsgeber gelötet wird. Aus diesem Grund wurden SMD Bauteile verwendet und die Platine möglichst eng bestückt, damit sie so klein wie möglich bleibt.

Für diejenigen, die Interesse an einem Nachbau haben, habe ich die eagle Board-Datei angehangen.

Wer sich das Ätzen und Bestücken mit SMD Bauteilen nicht zutraut, kann sich gerne an mich wenden. Ich habe noch ein paar der Platinen hier liegen. Den einen oder anderen Satz an Bauteilen finde ich bestimmt auch noch.

Da die Platinen aus Kostengründen nicht durchkontaktiert wurden, müssen die 11 Durchkontaktierungen mit 0,4 mm Draht erfolgen, der beidseitig verlötet wird. Dadurch muss eine Isolierung (ein Streifen Isoband genügt) zwischen Platine und Drehimpulsgeber geklebt werden.

P. S. Die Schweinerei auf der Platine ist dem Umstand geschuldet, dass ich versehentlich bleihaltiges und bleifreies Lot "vermischt" habe. Sonst wäre sie höchstens halb so groß Wink


Angehängte Datei(en) Thumbnail(s)
           

.zip  Drehimpulsgeber und Taster entprellen.brd.zip (Größe: 4,35 KB / Downloads: 150)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.08.2015, 17:21
Beitrag #2
RE: Drehimpulsgeber / Inkrementalgeber entprellen
Ich schreibe dann auch nochmal hier meine Anfrage :

Da ich ein totaler Laie im Bereich Elektrotechnik bin, wollte ich mal fragen, ob du mir vielleicht weiterhelfen könntest.

Folgendes habe ich geplant :

Eine Bluetooth-Tastatur auseinanderbauen. Dort an die Kontakte einen Drehimpulsgeber löten um damit dann auf der Playstation 4 bei einem Rennspiel (Project Cars) pro Drehrichtung eine Eingabe zu machen.
Den Drehimpulsgeber habe ich also an die Platine gelötet und er wurde im Spiel auch "erkannt". Jedoch gibt dieser ja mit jedem Drehen sowohl den "richtigen" als auch den "falschen" Impuls ab. Nun wollte ich wissen, ob deine Platine den 2ten Impuls "löscht". Oder ob du mir vielleicht einen Tip geben könntest, wie ich das ansonsten anstellen könnte. Ich benötige eigentlich nur einen Impuls fürs nach Rechts-Drehen und einen fürs nach Links-Drehen. Es muss nicht abgefragt werden, welche Stellung im Moment der Drehimpulsgeber besitzt.


Um mein Projekt zu verdeutlichen, habe ich hier unten mal ein paar Renderings die ich in 3D erstellt habe. Es soll eine so genannte "Buttonbox" gebaut werden. Dabei werden Schalter an eine Tastaturplatine gelötet, damit im Spiel eigentlich nur Tastatureingaben erkannt werden. Dies klappt bis auf den Drehimpulsgeber auch super.

[Bild: rvvmgge4.jpg]
[Bild: zsh6qgsz.jpg]
[Bild: cm5bx6dl.jpg]
[Bild: i45qyvbz.jpg]
[Bild: m9h93uzb.jpg]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.08.2015, 17:45
Beitrag #3
RE: Drehimpulsgeber / Inkrementalgeber entprellen
(03.03.2015 21:58)Gelegenheitsbastler schrieb:  In meinem aktuellen Projekt nutze ich einen Drehimpulsgeber (ALPS STEC11B), um einen Schrittmotor zu steuern.
....

Hallo,
dir ist aber schon klar das der ALPS Encoder nicht für so was ausgelegt ist.
Zudem hat der nur 15 Impulse pro Umdrehung während ein Schrittmotor 100 ober noch mehr Schritte pro Umdrehung macht.
Um an einer Motorwelle die Stellung per Inkrementalgeber zu ermitteln würde ich auf einen Optoelektronischen Geber zurückgreifen der sicherlich etwas teurer ist als der STEC11.
Auch ist die Auswertung bei hochdynamischen Ereignisen wie einer Motorwelle etwas aufwendiger wie nur ein bischen Schmitt Trigger etc. Dazu gibt es Quatraturdecoder wie man sich in höherwertigen Prozessoren findet. Ob es dazu einzelne Interfacebausteine gibt kann ich aus dem effeff nicht beantworten.
Aber das hier will ich nur mal so am Rande zu dem Thema beitragen weil ich damit schon Beruflich zu tun hatte.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste