Ich versuche gerade, einen 3D-Druckkopf auf eine billige chinesische CNC-Fräse zu montieren. Bisher konnte ich den Lüfter, das Heizelement (einschließlich des Auslesens eines Thermistors) und den Feeder-Motor mit einem Arduino Uno erfolgreich steuern.
Die CNC selbst hat ein Terminal, das mit dem Frässpindelmotor verbunden ist. Dies erzeugt ein 24-V-2-MHz-PWM-Signal, das die Drehzahl des Spindelmotors steuern soll.
Nachdem ich den Druckkopf installiert habe, möchte ich in der Lage sein, die Geschwindigkeit des Filamentzufuhrmotors zu steuern, indem ich die Spindelgeschwindigkeitseinstellung der CNC verwende. Dazu brauche ich den Arduino, um die Ausgabe des Spindeldrehzahlterminals lesen zu können.
Nun zu meiner Frage: Wie ist es möglich, ein 24-V-PWM-Signal auf 5 V herunterzuschieben, damit ich das Tastverhältnis mit meinem Arduino lesen und messen kann?
Mein erster Gedanke war, einen Optokoppler zu verwenden: Dies scheint ein möglicher Weg zu sein, aber meine Optokoppler (LTV-817A) haben eine Grenzfrequenz von 80 kHz. Soweit ich weiß, sind sie für eine 2-MHz-PWM zu langsam Signal.
Welche Alternativen habe ich?
Mein Vorschlag ist:
Schritt 2 muss funktionieren, ohne den Filter zu stark zu belasten.
Wouter van Ooijen hat einige Vorschläge in seiner Antwort auf Benötigen Sie einen Optokoppler, um einen direkt proportionalen Ausgang zu erhalten, der vom DC-Eingang galvanisch getrennt ist . Besonders der lineare Trennverstärker HCPL-7510 sieht interessant aus.
Wenn Masse zwischen PWM-Controller und Arduino gemeinsam ist, können Sie einfach einen Widerstandsteiler verwenden.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Bryan Böttcher
Chris Stratton
Lukas_Skywalker