Guten Morgen meine Lieben, ich möchte ein Recheck-Signal um einen konstanten Faktor erhöhen. Das Eingangssignal welches ich erhöhen möchte reicht von etwa 1kHz bis 10kHz. Dieses Signal möchte ich vorerst um den Faktor 4 erhöhen (nach einigen Tests später vielleicht um den Faktor 9 bis 10). Habt ihr Ideen wie man das ohne großen Aufwand und wenig Geld hinbekommt? Ich kenne mich nicht sehr mit der gesamten Thematik aus, jede ausführtliche Hilfe wäre großartig. FYI worum es eigentlich geht: Bei einem 3D-Drucker möchte ich das STEP-Signal, welcher die Schrittmotoren antreibt erhöhen. Der Schrittmotor soll mit einem Servomotor ausgetauscht werden. Der Encoder des Servomotors ist aber leider sehr genau. Er verlangt bei meinem bisherigen Aufbau 13000 Step-Signale um sich eine Umdrehung zu drehen. Der alte Schrittmotor hat lediglich 3200 Steps verlangt. Der Prozessor des Druckers, kann aber nur eine maximale Step-Frequenz von 10kHz erzeugen. Wenn ich mit gleicher Geschwindigkeit Drucken möchte brauche ich aber etwa eine Frequenz von 40kHz. Wenn ich noch schneller drucken möchte brauche ich eine Frequenz von bis zu 90-100kHz. Deshalb dachte ich wäre es gut zwischen Drucker-Ausgang und Motor-Eingang eine Art Multiplier einzubauen, welcher die Frequenz um einen bestimmten Faktor erhöht. Idealerweise sollte dieses Signal so schnell wie möglich erhöht werden, aber ich schätze einige 100ms wären noch verkraftbar. Vielen Dank für jede Anwort Liebe Grüße maxim
Du kannst vielleicht auch das Encoder Signal vom Motor durch 4 teilen. Alles andere wie PLL oder Frequenzvervielfachung wird vermutlich zu Positionsfehlern führen.
pegel schrieb: > Du kannst vielleicht auch das Encoder Signal vom Motor durch 4 teilen. hilft nicht bei folgendem Problem: maxim schrieb: > Der Prozessor des Druckers, kann aber nur > eine maximale Step-Frequenz von 10kHz erzeugen. Wenn ich mit gleicher > Geschwindigkeit Drucken möchte brauche ich aber etwa eine Frequenz von > 40kHz. pegel schrieb: > Alles andere wie PLL oder Frequenzvervielfachung wird vermutlich zu > Positionsfehlern führen. das wird aber leider stimmen, je nachdem wie schnell sich die Frequenz ändert, aber besonders bei den Beschleunigungsrampen wirst du Probleme bekommen (der Stepper wird sehr wahrscheinlich von 0Hz aus anlaufen). Die PLL müsste sehr schnell (Sekunden oder eher weniger) mit anlaufen und bis 0Hz Eingangsfrequenz verarbeiten können. wenn du programmieren kannst wäre ein µC eventuell die Lösung - miss die Zeit vom ersten zum Zweiten Impuls - gib vier Pulse (nach dem zweiten Impuls) in derselben Dauer aus -> sollte je nach Implementierung bis zum Stillstand gehen -> nur ein Step Verzögerung -> Step count wird nicht verfälscht - eventuell reset nach einigen Sekunden(bruchteilen)(motor steht etwas länger) + Einschaltverzögerung einbauen, falls es damit Probleme gibt du könntest den Eingang als Interrupt schalten, mit einem schnellen Timer (>100kHz) die Zeitdauer messen, und mit einem zweiten Timer den Ausgang regeln, es wird etwas Jitter geben der sich aber im Mittel ausgleicht, da das Ende des ersten Pulses der Start des Zweiten ist. theoretisch würd nen Tiny85 oder so reichen (der kann einen Timer über PLL mit 64MHz takten, Stichwort fast PWM). mit nem Atmga/STM32/etwas größerem PIC könntest du sogar mit 2-3 Steps Verzögerung eine richtige Rampe rekonstruieren, aber das wird wohl kaum nötig
:
Bearbeitet durch User
Hallo, das kannst Du mit 4024 und 4046 machen. PLL ist normalerweise für dauerhafte Signale geeignet. Der Einschwingvorgang dürfte hier stören. MfG
Vielen Dank für eure Hilfe. Die Idee mit den Frequenzteiler hört sich für mich erstmal plausibel an. Warum rechnest du dabei mit Problemen @K.S. ? Im Groben ist die Motorsteuerung wie folgt aufgebaut: Wenn ein Step-Signal reinkommt wird ein Zähler hochgezählt. Der Motor wird in Drehung versetzt. Jetzt gibt der Motor ein Encoder-Signal zurück, welcher diesen gleichen Zähler um 1 reduziert. Mit µC Programierung kenne ich mich nicht aus, würde mich freuen wenn das vermeidbar wäre ;)
Christian S. schrieb: > das kannst Du mit 4024 und 4046 machen. PLL ist normalerweise für > dauerhafte Signale geeignet. Der Einschwingvorgang dürfte hier stören. was macht nen Counter und eine PLL besser als nur eine PLL? Wenn das wirklich funktioniert würde es mich interessieren wie.
maxim schrieb: > Die Idee mit den Frequenzteiler hört sich für mich erstmal plausibel an. > Warum rechnest du dabei mit Problemen @K.S. ? Aufgrund deiner Aussage dass der Controller nur 10kHz ausgeben kann, du aber gerne 40kHz hättest für die gleiche Geschwindigkeit wie früher. Ansonsten sehe ich keine Probleme, das wäre sogar recht einfach mit Logik ICs aufgebaut.
Ist hier momentan ein Hotspot von Frequenzteilern und -erhöhen? :-)) În jeder vernünftigen 3D-Drucker-Firmware kann man die Steps/Länge eingeben. Die funktionieren ja meist mit irgend einem Arduino. Was ist es denn für einen Drucker? Gruss Chregu
K. S. schrieb: > Aufgrund deiner Aussage dass der Controller nur 10kHz ausgeben kann, du > aber gerne 40kHz hättest für die gleiche Geschwindigkeit wie früher. > Ansonsten sehe ich keine Probleme, das wäre sogar recht einfach mit > Logik ICs aufgebaut. Ja ich denke auch, dass das die einfachste Lösung wäre, Danke ;) Christian M. schrieb: > În jeder vernünftigen 3D-Drucker-Firmware kann man die Steps/Länge > eingeben. Die funktionieren ja meist mit irgend einem Arduino. Was ist > es denn für einen Drucker? Es ist ein Anycubic i3 Mega, wahrscheinlich die 8-Bit Variante. Das Problem ist, dass es nicht mein Drucker ist und ich nicht auf die schnelle nachschauen kann. Ja was man einstellen kann ist die steps/mm-Rate. Was ich ausgerechnet habe ist, dass ich 400 Steps für einen Millimeter brauche. Bei einem Schrittmotor brauch man aber nur etwa 90 Steps. Möchte ich jetzt die gleiche Geschwindigkeit wie vorher muss der Prozessor 4-mal schneller Steps generieren.
maxim schrieb: > FYI worum es eigentlich geht Immerhin. So können sich die Leute dutzende von Antworten sparen, mit PLL oder RateMultiplier. maxim schrieb: > Vielen Dank für jede Anwort Vergiss se, falscher Ansatz. Die vernüftigste Lösung: Den Umbau ganz sein lassen. Es kommt bei solchen Dingen auch auf die Motordynamik an, die du nicht anpassen kannst. Ausserdem bin ich ziemlich sicher, dass der ganze Umbasu nur auf Hörensagen basiet, weil irgendwi irgendjeamd einfach mal dummgeschwätzt hat. So was wie 'druckt viel schneller' wenn man nur hunderte investietr.
maxim schrieb: > Ja was man einstellen kann ist die steps/mm-Rate. Was ich ausgerechnet > habe ist, dass ich 400 Steps für einen Millimeter brauche. Bei einem > Schrittmotor brauch man aber nur etwa 90 Steps. Möchte ich jetzt die > gleiche Geschwindigkeit wie vorher muss der Prozessor 4-mal schneller > Steps generieren. das ist aber was anderes als maxim schrieb: > Der Prozessor des Druckers, kann aber nur > eine maximale Step-Frequenz von 10kHz erzeugen. so wie ich das jetzt verstehe ist das mit dem Teiler wirklich das einfachste, das sollte entweder mit einem Counter (nach 4 counts resetten) oder ein paar Flip-Flops erledigt sein. /2 mit einem Flip-Flop, also nimm zwei hintereinander: https://www.electronics-tutorials.ws/counter/count_1.html
:
Bearbeitet durch User
Michael B. schrieb: > Ausserdem bin ich ziemlich sicher, dass der ganze Umbasu nur auf > Hörensagen basiet, weil irgendwi irgendjeamd einfach mal dummgeschwätzt > hat. > So was wie 'druckt viel schneller' wenn man nur hunderte investietr. Bei allem respekt, wenn man keine Ahnung hat und nichts produktives zu dem oben benannten Problem beitragen kann kann man sich auch so einen Kommentar sparen. K. S. schrieb: > so wie ich das jetzt verstehe ist das mit dem Teiler wirklich das > einfachste, das sollte entweder mit einem Counter (nach 4 counts > resetten) oder ein paar Flip-Flops erledigt sein. Danke das werde ich demnächst mal ausprobieren.
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.