Alten Druckermotor mit Stellring ansteuern

Ich habe heute zwei alte Drucker bei einem Flohmarkt gekauft, in der Hoffnung, sie zu zerlegen und mit einigen Schrittmotoren herumzuspielen. Nachdem ich beide auseinandergerissen hatte, entdeckte ich, dass es keine Schrittmotoren gibt. Was sie alle steuern, ist ein durchscheinender Kunststoffring mit mehreren „Punkten/Strichen“ außen herum. Es hat auch eine Art Sensor, der die Position des Rings liest.

Ich frage mich, ob es eine relativ einfache Möglichkeit gibt, diese Motoren so zu steuern, wie sie mit den Kunststoffringen und Sensoren beabsichtigt waren. Mein Ziel ist es, sie wie einen Schrittmotor steuerbar zu machen. Ich würde gerne mehr über dieses System erfahren, das sie vielleicht mit dem richtigen Namen dafür verwenden. Schließlich möchte ich, dass die Motoren von meinem RaspberryPi gesteuert werden.

Aktualisieren:

Nachdem ich einen der Sensoren mit einer Hochleistungslupe betrachtet hatte, konnte ich einen Hersteller finden und genau herausfinden, was es ist. Ich konnte jedoch kein Modell finden. Hat jemand mit so einem System gearbeitet? Wie funktioniert es genau, die Position eines Motors zu steuern?

Hier

Encoder

Antworten (1)

Diese Art von Encoder steuert einen Motor nicht direkt, sein einziger Zweck besteht darin, Ihnen eine Rückmeldung über die Position der Motorwelle zu geben. Unabhängig von der Art des Motors müssen Sie die Position des Motors mithilfe des Encoders überwachen und ihn dann entsprechend steuern, bis er sich in der erforderlichen Position befindet.

Der Algorithmus könnte so etwas wie ein PID-Regler sein oder einfach etwas Einfaches, das den Motor in die richtige Richtung bewegt, bis die Position erreicht ist, und ihn möglicherweise verlangsamt, wenn er sich der gewünschten Position nähert.

Ein wahrscheinliches Problem beim Versuch, es direkt mit einem Raspberry Pi zu verwenden, besteht darin, dass die im Datenblatt gezeigten Encoder-Ausgaben wahrscheinlich zu schnell erfolgen, um in einem Userland-Programm behandelt zu werden, und wahrscheinlich Interrupts (dh Kernel-Code) verwenden müssten, um zuverlässig zu funktionieren. Normalerweise würde ich für eine solche Aufgabe einen separaten Mikrocontroller verwenden, um den Encoder zu lesen und den Motor in Echtzeit zu steuern und über eine SPI- oder serielle Schnittstelle an den Pi anzuschließen.

Obwohl es ein interessantes Projekt wäre, fällt mir keine besonders einfache Möglichkeit ein, die Kombination mit einem Raspberry Pi zu verwenden, und es wäre wahrscheinlich ein herausforderndes Projekt, wenn Sie nicht viel mit Motorsteuerungssystemen gemacht haben.