Gutenmorgäähn.
Für meine CNC Fräse, genauer gesagt meine Spindel, brauch ich eine Umwandlung eines step/direction Signals in ein Inkrementalgebersignal mit A und B Kanal.
Als Eingang im Umformer habe ich also ein Rechtecksignal mit variabler Frequenz (je nach gewünschter Solldrehzahl der Spindel) wobei die Positive Flanke nur sehr Kurz ist. Ändert sich die Flanke von 0 auf 1 wird also ein Schritt gefahren. Die Drehrichtung wird über ein zweites Signal dargestellt (z.B. 0 = Rechtslauf; 1 = Linkslauf).
Dieses Signal muss ich in folgendes Signal Umformen (hab hier die Erklärung von Wikipedia genommen):
Bei der Mehrfeldabtastung wird ein Lichtstrahl, der durch eine Lichtquelle, in der Regel eine LED, erzeugt wird, durch einen Kondensor, eine mit Strichen versehene Abtastplatte und eine Maßverkörperung auf ein photooptisches Bauelement geleitet. Einfachste Ausführungen, wie sie zum Beispiel bei Computermäusen verwendet werden, verzichten auf Kondensor und Abtastplatte. Zwischen der Leuchtdiode und zwei leicht versetzt angeordneten optischen Sensoren befindet sich eine mit Schlitzen versehene Scheibe. Rotiert nun diese Scheibe, wird der Lichtstrahl zwischen LED und Sensoren zyklisch moduliert. Bei einer Bewegung geben die beiden Sensoren zwei um 90° phasenverschobene symmetrische Sinussignale ab. Bewegt sich die Maßverkörperung nach rechts, ist das Sinussignal des ersten Kanals gegenüber dem zweiten Kanal um 90° voreilend. In der anderen Richtung ist das Sinussignal des ersten Kanals gegenüber dem zweiten Kanal um 90° nacheilend.
(Quelle:
http://de.wikipedia.org/wiki/Inkrementalgeber)
nun zur umsetzung:
Ziel ist also vom Taktsignal ein zweites, um 90° verschobenes Signal zu erzeugen. Welches, jeh nach vorgegebener Drehrichtung, dem erstem Signal voreilt oder nacheilt.
Ich hab mit Digitaltechnik leider noch nicht all zu viel gemacht. Aber ich denke mit Logischen Verknüpfungen wird das wohl nichts. Währe das vielleicht mit einem Atmega möglich.
btw.: das eingangstaktsignal im Signalumformer wird warscheinlich schon in den Megaherz bereich gehen.
Ich hoffe mir kann da jemand von euch helfen. Nemon vielleicht?
Edit: hat sich erledigt. Leider kann mein Servoregler nicht mal ein externes Gebersignal verarbeiten. Also nix mit Syncronfunktion