PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann ich TTL Signale anzeigen/verrechnen lassen ?



beben3
06.06.2005, 15:33
Hallo Forum,
ich brauche einen Rat :
Wir haben einen Drehgeber (ROD 426 von Heidenhain : Ausgangssignale: TTL Spannungsversorgung: 5 V ± 10% max. 150 mA (ohne Last) , 5000 Inkremente/s).
Diese TTL Signale möchte ich gerne auf einer Anzeige dargestellt bekommen, sodass ich weiss ob nach 1er Umdrehung auch wirklich 5000 Schritte gezählt wurden.
Das heisst ich würde gerne eingeben : 5000 Schritte = 1Umdrehung = 500mm.
Der Pegel der ausgegeben wird liegt bei ~3V.
Gibt es Anzeigen womit ich soetwas darstellen kann (ausser einem Oszilloskop:)) ?


Mfg
Oli

Anduze
06.06.2005, 15:52
Hm, also obs sowas fertig gibt...
Im Prinzip brauchst du nur nen Zähler aufzubauen, der bis 5000 zählt und dann das ganze irgendwie noch zeitlich auswerten. Am einfachsten wär das wohl mit nem µC oder PIC oder so.
Obwohl, es gibt glaub ich auch Frequenzzähler fertig aufgebaut, dann sollte die Frequenz eben 5000Hz betragen
--> z.B. bei Conrad:
http://www1.business.conrad.de/scripts/wgate/zcop_b2b/~flN0YXRlPTExNjE1MDEzMjE=?~template=pcat_product_d etails_document&product_show_id=000000000000120706&p_back_template=pcat_suchergebnis

Marco78
06.06.2005, 19:36
Warum muss das zeitlich ausgewertet werden? Ich habe es so verstanden, das es nur die einzelenen Teilschritte erfassen will und dann sehen, wann eine Umdrehung um ist.
Zu beachten ist da nur, das der Zähler 5kHz (worst case. Dreh mal so schnell :D ) verarbeiten kann.

Ein µC und 7-Segment-Anzeigen oder ein LCD wäre da bequem. Diskret mit Zähler-ICs aufgebaut wäre das eine Menge arbeit.

beben3
07.06.2005, 06:22
habe mich undeutlich ausgedrückt.
Normalerweise gehen die TTL Signale in einen Servo-regler der den Servo-Motor steuert.
Anhand der TTL Signale erkennt ja der Regler wieviele Signale reingekommen und somit welcher Weg zurückgelegt wurde.
Denn irgendwo steht in den Parametern : 5000 Signale = 200mm.
Nun brauche ich eine Anzeige die mir zB diesen Weg anzeigt.
Das heisst ich gebe in den Parametern ein : 1 U = 200mm = 5000 (oder2500 oder 1000) Inkremente.
Dann will ich den Rodgeber langsam drehen und nach 1er Umdrehung soll halt dann auf der ANzeige stehen : 200.
hmm..dachte dass es soetwas fertig gibt...wohl nicht ?

Blackbird
07.06.2005, 06:53
Die Impulse einfach durch einen Vorteiler (25) jagen, dann stimmt auch die Zähleranzeige bei 5000 Impulsen pro Umdrehung. Dann kannst Du irgendeinen Industriezähler nehmen der Dir den Weg dann in mm anzeigt. Wenn Du basteln und programmieren willst, geht das auch komplett mit einem Controller.

Blackbird

ranke
07.06.2005, 07:26
Die Sache mit dem Zähler hat aber einen Nachteil: Wenn sich die Mechanik um 500 mm in der einen Richtung bewegen kann, dann kann sie sich wahrscheinlich auch 500 mm zurück bewegen. Bei Rückwärtsbewegung muß der Zähler also auch rückwärts zählen. Hat der Winkelgeber einen Ausgang für die Drehrichtung? Gibt es vielleicht ein Datenblatt dazu?

beben3
07.06.2005, 07:29
http://www.heidenhain.de/dt/produkte/dg/rod400.htm
ja der soll auch rückwärts zählen können ;)
danke für eure mühe

ranke
07.06.2005, 08:32
Ich denke mal, das hier
http://www.schlaps-gmbh.de/index.php?cp_sid=541356e3ec0&cp_tpl=main
(klicke Impulszähler) könnte das sein, was du suchst.

beben3
07.06.2005, 08:37
die können nur 24V TTL Signale erfassen..
leider kommen bei mir aber nur 3V an...(was auch normal ist bei 5V Gebern)

ranke
07.06.2005, 09:25
Und wenn man es vom selben Hersteller wie den Geber nimmt
http://www.heidenhain.de/dt/pa_0.htm
dann sollte es doch zusammenpassen.

beben3
07.06.2005, 09:41
nein leider auch nicht,
da Heidenhain diese Drehgeber extra nur für Externe-Steuerungsanbieter baut und selber keine Prüfgeräte dafür verkauft.
Also zB für Siemens, Fanuc ect...die bieten aber nur CNC-Steuerungs-Visualisierungen an..das ist natürlich nicht mein Einsatzgebiet...

Eigentlich ist ja das TTL Signal ein einfaches,definiertes Signal was jeder verarbeiten kann..daher dachte ich dass es bestimmt schon Lösungen zur Visualisierung auf dem freien Markt gibt...
hmm..

ranke
07.06.2005, 10:39
Wenn es nur darum geht, den Signalpegel von TTL auf ein anderes Spannungsniveau umzusetzen, dann ist die Sache wahrscheinlich leicht zu lösen. Ich bin mir aber nicht ganz klar darüber, welche Siglale aus dem Drehgeber rauskommen. Normalerweise hat man 2 Ausgänge (und evt. zusätzlich deren Invertierung). Auf einem Ausgang liegt ein Rechtecksignal, dessen Frequenz proportional der Drehzahl ist. Der zweite Ausgang hat das selbe Signal mit einer festen Phasenverschiebung von 90° zum ersten Signal. Daraus läßt sich Drehzahl und Drehrichtung ersehen. Der Heidenhain scheint aber 3 Ausgänge (plus deren Invertierung) zu haben, im Datenblatt steht aber nirgendwo, was da genau rauskommt. Solange man das nicht weiss, kann man eigentlich auch keinen Schaltungsvorschlag machen.

LoD
07.06.2005, 13:56
Fertig gibt es da sicher einiges. Nur so vielfältig die Sensoren sind, so vielfältig sind auch die angebotenen auswerte Einheiten. Im Detail lohnt sich häufig die Selbstentwicklung, da es eigentlich eh nur um ein paar Bauteile geht.

Bei 5000 Inkrementen würde ich mir allerdings auch genau überlegen, wie schnell sich das ding drehen soll.
Bei den im Datenblatt angegebenen Werten steht was von 300kHz max Abtastrate. Daraus folgt, dass spätestens ab einer Drehzahl von 3600 U/min der Sensor Unsinn ausgibt, da die Sensoren / interne Logik für die wechselden Signale zu träge ist. Die externe Beschaltung muss da erstmal mindestens genausogut sein.

Ein µC kann da gelegentlich schon mal ins schwitzen kommen, denn er darf ja kein Inkrement verpassen und wenn man z.B. nen AVR bei 4 MHz betreibt darf die Abarbeitung einer Interrupt Routine nur 12 Taktzyklen bestehen (48 bei 16MHz) da sollte man sich schon überlegen, ob man nicht doch lieber direkt in Assembler programmiert...

Die Zähler Variante halte ich da für deutlich schlauer. Man benötigt ein (oder zwei kasskadierte) Aufwärz- Abwärz- Zählerbausteine. Ein Signal aus dem Inkrementalgeber kommt auf den Frequenzeingang, das andere auf den Richtungs Eingang. Der Zähler wird seinen Wert immer bei einer z.B. positiven Flanke im einen Signal ändern. Das andere Signal ist (ob wohl es genauso oft wechselt wie das erste) in diesem Moment je nach Drehrichtung positiv oder negativ.
Nun muss man sich noch genau darüber einigen, welche Inkremente mit den 5000 eigentlich angegeben sind. Wenn es sich um die maximale Auflösung handelt werden pro Kanal wahrscheinlich nur 2500 Pegelwechsel bei einer Umdehung auftreten. Zählen wir also nur die positiven Flanken eines Kanals sind es sogar nur 1250 Zähleinheiten pro Umdrehung.

Je ach dem, was Du auf deine 7Segmentanzeige bringen willst kannst Du nun bei dieser ersten Zählereinheit einen Anfangs bzw Endwert einstellen. Bei erreichen dieses Wertes gibt er einmal Laut (auch mit Richtungsangabe). Gibt man dieses Signal wieder auf einen Zähler hat man sozusagen eine Kaskade aufgebaut. Dieser zweite Zähler Zählt dann aber bereits in Millimetern oder Umderhungen, je nach dem, wie der Umschlagswert vorgegeben wurde, Der Zählerwert wird je nach Baustein in allen möglichen und unmöglichen Formaten ausgegeben (seriell, als Pegelwerte, auf Anfrage andauernt, binär, dezmal,...) es sollte mich nicht wundern, wenn da auch gleich ein Zähler zu finden ist, der ne 7Segmentanzeige (oder zumindest eine Ziffer) direkt treiben kann.

Bleibt noch die Frage des Pegels: Wenn also bei Dir tatsächlich ein echter TTL Pegel rauskommt, wie es den anschein hat, wenn Du von High-Pegeln in der Größenordnung von 3V für eine 5V Logik sprichst (darf glaube belibig zwischen 2,4v und 5V liegen, wobei 5V bauartbedingt bei TTL nicht möglich ist). Verwendest Du entweder TTL Zählerbausteine (TTL sind die Bausteine die 74LS... anfangen) alternativ schaust Du nach CMOS Substituten (74HC...). Wenn Du irgentwie doch bei reinen CMOS Bausteinen landest (4000'der) dann klemmst Du noch einen 2kOhm Wiederstand vom Signalausgang deines Sensors gegen 5V. Mit dem Wiederstand werden die Signalpegel für High und Low angehoben, so dass der Highpegel in den Bereich von CMOS bausteinen rutscht und der Lowpegel noch nicht zu hoch liegt.