liebe Leute, bei http://dse-faq.elektronik-kompendium.de/dse-faq.htm lese ich unter 29. Quadraturdecoder für Inkrementaldrehgeber > Inkrementale Drehgeber wie auswerten? (..d.h. Drehwinkelgeber mit Spur A und Spur B, um 90° phasenverschoben, für Schrittmotor): ...die (folgende) Schaltung ist eher aufwändig, benötigt einen Logik-Baustein 74xx175 und einen Logik-Baustein 74xx86. Das Taktsignal T muss mehr als doppelt so hoch sein wie die höchste Frequenz des Inkrementalgebers A, B und geringer als die maximale Zählfrequenz des nachfolgenden flankengetriggerten Zählers wie CD4516 oder 74HC191 auch BCD dezimal mit CD4029. +---+ A -------|D Q|-----+ +--|T | | | +---+ | | +-----|\ | +---+ | |+)---------- Up / Down B ----(--|D Q|--+ | +--|/ +--|T | | | | | +---+ | | | XOR +-----(---------+ | | | +--(---------(--+--(--|\ | | | +---+ | | |+)--+ | +--(--|D Q|--(-----(--|/ +--|\ | +--|T | | | |+)-- Clock Enable (Carry In CD4516) | | +---+ | | +--|/ | | +-----(--|\ | | | +---+ | |+)--+ +-----(--|D Q|--------+--|/ +--|T | | +---+ T ----+------------------------------- Clock oder mit Kuli "analog" dargestellt: Da beim Übergang von einer Position zur nächsten die Signale prellen können (mechanische Tastkontakte prellen, Welle vibriert, elektrische Einstreuung in Photodiodensignal) zählt jede der obenstehenden Lösungen an den Übergängen eventuell hoch und runter, was die Auswertelogik stören kann (hat plötzlich ein Drehrichtungswechsel stattgefunden ?). Wenn man das Nutzsignal y aber nur bei geraden Werten der Position x setzt, wird man die flatternden Übergänge los, bekommt aber nur die halbe Auflösung. ------------------ Meine Frage: Ich übersehe nicht ganz das Timing im Logik-Baustein 74xx175, da ja je 2 der 4 Flipflops in Reihe geschaltet sind, es müssten also 2 Takte benötigt werden, um eine Zustandsänderung von A oder B an den nicht getakteten Logik-Baustein 74xx86 weiter zu leiten. Ach ja, steht da ja. Weiter: ------------------- Die WACOM Graphiktablettmaus verwendet, um einen Zähler zu bedienen, einen flankengetriggerten Decoder, bei dem Quadratursignal B durch ein RC-Netzwerk und Schmitt-Trigger entprellt wird, und dann als Takt zum Sampeln des Zustandes des (nicht entprellten) Quadratursignals A verwendet wird. Allerdings braucht man ein Power On Reset Signal an S und R um den Anfangszustand richtig zu setzen, z. B. erzeugt durch eine RC Kombination. +-----+ POR | | | +-----+ A -------------------------+--(--|D S Q| 74HC132 | | | _| B --R--+--|S>o--+--|>o--+--(--(--|C Q|--| \ | | | | | 74HC74 | )o-- UP C | | +--(--|D O|--| / | | | | | | _| GND +-------(--(--(--|C R Q| | | | | +-----+ | | | | | | | | +-----+ | | | | | | | | | +-----+ | | +--(--|D S Q| | | | | | _| +-------(--(--(--|C Q|--| \ | | | 74HC74 | )o-- DOWN | +--(--|D Q|--| / | | | _| +-----(--|C R Q| | +----+ | | GND --C--+-----+--R-- VCC -------------------------- Zitat Ende. Wenn ich es richtig sehe, könnte man also so wie für Spur B in dieser 2. Schaltung ausgeführt, aus einem Flankenansteg (irgendwie digital) zwei Clockpulse erzeugen, wahrscheinlich so typ. 100 nsec zeitversetzt, ) und damit die 1. Schaltung takten?
:
Bearbeitet durch User
Bastian N. schrieb: > Zitat Ende. Pack dein Zitat oder wenigstens Teile davon entsprechend der Bedienungsanleitung in die passenden [ pre ] Tags. Ich hab das mal behelfsweise erledigt...
Bastian N. schrieb: > Wenn ich es richtig sehe, könnte man also so wie für Spur B in dieser > 2. Schaltung ausgeführt, aus einem Flankenansteg (irgendwie digital) > zwei Clockpulse erzeugen, wahrscheinlich so typ. 100 nsec zeitversetzt, > ) und damit die 1. Schaltung takten? Nei. Die erste Schaltung wird mit einem festen ausreichend schnellen Takt getaktet, z.B. aus einem 74HC14 oder NE555 Oszillator.Die 2 FF hintereinander sind Absicht, die speichern den aktuellen Zustand und den vorigen Zustand, damit er verglichen werden kann. Die zweite Schaltung arbeitet ganz anders, flankengesteuert, und ist schlechter, weil man die analog mit RC Glied bei ihr realisierte Zeitverzögerung genau an die Prellzeit vs. Drehgeschwindigkeit anpassen muss. Baut man die Drehgeberauswertung schlecht, kommt so ein Scheiss wie bei dem Vaillant EcoFit 226/4 Raumtemperaturregler bei raus, dessen Zahlen bei Drehen munter hoch und runterhüpfen wenn der Bourns PEC11S-9215F-N0015 Drehgeber ooidiert. Eben weil immer irgendein selbstüberheblicher Software-Hirnie meint, den Drehgeber nicht nach Lehrbuch ordentlich sondern schon irgendwie so higepfuscht auswerten zu können.
Danke MaWin, also Ne555 Baustein als Taktgeber. Sehe ich es richtig, ich habe mir einen Winkelencoder mit diesen um 90° versetzten Spuren besorgt, 600 Impulse pro Umdrehung ("Single-phase 600 pulses /R,Two phase 4 frequency doubling to 2400 pulses"), dass ich 600 Pulse / Umdrehung auslesen können müsste? Was ich verstehe: Green = A phase, white = B phase, red = Vcc power +, black = V0 Was ich nicht verstehe: Output :AB 2phase output rectangular orthogonal pulse circuit, the output for the NPN open collector output type Wie muss denn nun auslesen?
Bastian N. schrieb: > Wie muss denn nun auslesen Pull up, sagen wir 4k7 an VCC von A und B, wieviele Umdrehungen pro Minute muss er den zählen ? Wenn TTL Logik folgt, kann die ja meist bis 20MHz zählen, der Encoder braucht nur 2400Hz bei 1 Umdrehung pro Sekunde, dazwischen ist viel Raum.
Danke, MaWin Gast, dass Du mir hilfst, bin älteres Semester. Ich habe mal in das Datenblatt meines Nema23 Schrittmotors geschaut, also bei 500U/min ist das Drehmoment auf 1/3 abgesunken. Also 8 U/sec sei die Grenze. Dann macht der Encoder knapp 5000 Pulse/sec pro Spur, seine Grenze ist ja mit 20KHz angegeben, das sollte also passen. Ich müsste dann wohl einen Leitungstreiber dahinter setzen, oder? (weil das Kabel bis zu Arduino circa 3m lang sein wird). Dann ggf Leitungsempfänger (so hatte ich das vor zig Jahren mit Heidenhain Auswertelogik EXE710 machen lassen, als ich noch im Job war) und dann die Schaltung 1.
:
Bearbeitet durch User
MaWin schrieb: > Pull up, sagen wir 4k7 an VCC von A und B, wieviele Umdrehungen pro > Minute muss er den zählen ? > > Wenn TTL Logik folgt, kann die ja meist bis 20MHz zählen, der Encoder > braucht nur 2400Hz bei 1 Umdrehung pro Sekunde, dazwischen ist viel > Raum. ich würde sagen Low-Power-Schottky-TTL reicht hinsichtlich der Geschwindigkeit, weil: z.B. für den NE555 würde ich so 10-20 µs Pulsbreite als ausreichend ansehen für den Taktgenerator in Schaltung 1
:
Bearbeitet durch User
Bastian N. schrieb: > Ich müsste dann wohl einen Leitungstreiber dahinter setzen, oder? (weil > das Kabel bis zu Arduino circa 3m lang sein wird). Schrittmotor, Encoder, 3m ? Irgendwas ist falsch, man verwendet Schrittmotore, weil man eben KEINE Encoder bezahlen will. Was soll man auch machen, wenn der Encoder andere Schritte anzeigt als man dem Schrittmotor gegeben hat ? Traut man Encoder oder Schrittmotor ? War das eine Fahrt an einem Werkstück, weiss man nur, daß das Werkstück nun versaut ist und der Schrittmotor zu schwach war. Beheben kann man das elektronisch nicht. Aber Encoder über 3m mit 5kHz Signalen sind problemlos ohne Leitungstreiber anschliessbar. Man nimmt ggf. (falls es doch zu Störungen kommt) als pull up weniger als 4k7, so 470R. Interessanter ist, ob starke elektriche Imüulse (motor ausschalten) zur Zerstörung führen. Vor die 74HCxx Eigänge einen RCR Schutz zu bauen, ist möglich.
1 | +5V |
2 | | |
3 | 4k7 oder 470R |
4 | | |
5 | Signal --+--1k--+--1k--|74HCxx |
6 | | |
7 | 10nF |
8 | | |
9 | GND |
Bastian N. schrieb: > ich würde sagen Low-Power-Schottky-TTL reicht hinsichtlich der > Geschwindigkeit, Geriatronik ? Wühlkiste von 1980 ? Auch CD40xx reicht. Sogar RTL oder DTL, wenn die ICs unbedingt wegmüssen.
Danke für den Kommentar! Ich las viel über verlorene Schritte, würde gerne x und y Achse auf Schrittverlust hin überwachen, weil ich dann anhalten kann, wenn zuviel verlorene, und neu eineichen bzw. Tempo verringern. Sonst ist die Kleinserie verloren, also es muss nicht supergenau sein (Holzbearbeitung) , aber Kontrolle ist besser, um Erfahrungswerte zu sammeln.
CD4001 ist ein NOR, kein XOR??
:
Bearbeitet durch User
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.