Beckhoff CX7080 und den Motor Ansteuerung

Tarique

Level-1
Beiträge
21
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen
ich bin neue in Beckhoff Hardware. Ich benutze CX7080 Embedded PC von Beckhoff. Ich wollte eine Stepper Motor ansteuern. CX7080 hat PWM Output. Meine Frage ist muss ich in TwinCAT 3 in Motion Bereich eine AXIS bauen. Der Motor ist nicht von Beckhoff und ich besitze keine Steppermotor Klemmen von Beckhoff. Ich wollte nur PWM Output der CX7080 benutzen. Im Anhang habe ich den PWM Signal Mode Dokument angehängt. ich habe ein Programm für PWM geschrieben. Aber es läuft nicht wenn ich im real Hardware versuche. Wenn jemand weiß, wo ist die Problem in der Programm, bitte hier kurz schreiben.

IF GVL_Visu.MotorOff
AND GVL_Io_OMotorOn THEN
GVL_Visu.MotorOn := FALSE;
END_IF

IF GVL_Visu.MotorOn
AND GVL_Io_OMotorOff THEN
GVL_Visu.MotorOff := FALSE;
END_IF


GVL_Io_OMotorOn := GVL_Visu.MotorOn;
GVL_Io_OMotorOff := GVL_Visu.MotorOff;


iMotorSpeedCalc := ((GVL_Visu.MotorSpeed - Input_min)*(Range_max - Range_min))/(Input_max-Input_min) + Input_min;
GVL_Io_OMotorSpeed := iMotorSpeedCalc;
GVL_Io_OSpeedPeriod := 10; // 10 kHz

vielen Dank
 

Anhänge

  • PWM signal mode.pdf
    388,6 KB · Aufrufe: 9
Ich wollte nur PWM Output der CX7080 benutzen. Im Anhang habe ich den PWM Signal Mode Dokument angehängt.
:unsure: Ich kann in dem angehängten Dokument leider nicht die Stelle finden, wo steht, dass sich PWM zur Ansteuerung eines StepperMotors eignen soll.
ich habe ein Programm für PWM geschrieben. Aber es läuft nicht wenn ich im real Hardware versuche.
Ja, für PWM, aber nicht für die Ansteuerung eines StepperMotors, weil die reale Hardware eines StepperMotors etwas ganz anderes ist, als Du Dir anscheinend vorstellst.
Wenn jemand weiß, wo ist die Problem in der Programm, bitte hier kurz schreiben.
S.o.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi..
Mit PWM Output der CX7080 habe ich den Stepper Motor angesteuert. Aber Probleme ist wenn ich mache die Frequenz (bis 10 kHz läuft gut. mit 90.909 kHz geht stopp, wenn pulse/rev 800 ist) hoch geht es STOP. Wenn von Software mache ich den Programm Stopp, macht den Motor sofort bremst. Es stoppt nicht smooth. Weiß du wie kann ich die Probleme löschen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die cx 7080 ist eine PLC.
KAnnst Du ein Schema skizzieren?
Ich glaub, sonst versteht keiner Dein Problem...
Einen Stepper kannst Du nicht direkt am PWM Ausgang betreiben.
Typ Stepper? Integrierter Controller?

Steppercontroller werden üblicherweise mit eiem Taktsignal angesteuert für die Drehzahl. Dzu müsstest Du den DutyCycle fest auf 50% legen und die PWM Frequenz für die Drehzahl variieren. Dabei musst Du aber die Frequenzgrenzen des Controllers beachten.
 
hi... Ich benutze CX7080 beckhoff
Und genau das ist Dein Fehler. Du kannst einen reinen Schrittmotor (Steppermotor) nicht direkt an einen PWM Ausgang anschließen, weil ein Schrittmotor zum einen mehr als ein Leitungspaar hat, zum anderen ganz speziell angesteuert werden muss. Soweit Dein Schrittmotor schon einen Controller integriert hat und damit ist nicht der CX gemeint, sondern einen Controller für die Ansteuerung von Schrittmotoren kann dieser Controller dann wiederum, je nach Typ, direkt vom CX angesteuert werden.
Was für einen Motor hast Du denn genau?
Mit dem Motion Knoten in TwinCAT kannst Du nur etwas anfangen, wenn die Hardware von TwinCAT für Motion unterstützt wird, der PWM Ausgang zählt aber denke ich mal nicht dazu. Die Klemme EL7037 oder EL7047 zum Beispiel sind für Schrittmotore und können bei Motion eingebunden werden.
 
Welchen Motorcontroller benutzt Du?
hi... Ich benutze CX7080 beckhoff
:unsure: Häää?
Mit anderen Worten, Du benutzt keinen MotorController, denn ...
CX7080 hat PWM Output.
...
Der Motor ist nicht von Beckhoff und ich besitze keine Steppermotor Klemmen von Beckhoff.
...
Ich wollte nur PWM Output der CX7080 benutzen.
:unsure: Wenn Du nur PWM benutzen willst, was genau hast Du dann am PWM-Ausgang angeschlossen???
Die Wicklung A des Steppers? Oder sie Wicklung B des Steppers? Oder sogar beide? Parallel oder seriell?
Wie machst Du die PhasenVerschiebung? Wie die nur zeitweise Überlappung beider SpulenStröme?
iMotorSpeedCalc := ((GVL_Visu.MotorSpeed - Input_min)*(Range_max - Range_min))/(Input_max-Input_min) + Input_min;
GVL_Io _OMotorSpeed := iMotorSpeedCalc;
GVL_Io _OSpeedPeriod := 10; // 10 kHz
:unsure: Willst Du mit Deiner Hardware bzw. OHNE einen MotorController etwa die Drehzahl des StepperMotors beeinflussen können???
Wie sieht Deine Schaltung aus???
Hast Du schon getestet, ob und wie und in welchem Bereich Du die Frequenz des PWM-Signals variieren kannst?

Ehe Du uns hier hoffnungslos weiter spekulieren lässt, erzähl uns doch einfach mal, wie Dein Plan aussieht, BITTE!

Edit:
Und bitte erklär uns auch mal, wie Deine Weltbider von ...
- PWM und
- StepperMotoren
... aussehen! ;)
Gibt es irgendwelche Ähnlichkeiten zwischen Deinen und real existierenden?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
ich glaube, ich habe nicht deutlich erklärt. ich benutze natürlich ein Treiber (motor driver) zwischen CX7080 und Steppermotor. Der Treiber ist CL86T. And die Anschluss habe ich so gemacht.
 

Anhänge

  • WhatsApp Image 2023-08-08 at 16.31.57.jpeg
    WhatsApp Image 2023-08-08 at 16.31.57.jpeg
    104,1 KB · Aufrufe: 18
ich glaube, ich habe nicht deutlich erklärt.
Na ja, sagen wir mal recht lückenhaft.
ich benutze natürlich ein Treiber (motor driver) zwischen CX7080 und Steppermotor. Der Treiber ist CL86T. And die Anschluss habe ich so gemacht.
Das beruhigt mich sehr. Aber, wie sieht es aus mit der Änderung der Drehzahl?
Hast Du schon getestet, ob und wie und in welchem Bereich Du die Frequenz des PWM-Signals variieren kannst?
Oder soll der Motor nur eine einzige Drehzahl können?
Falls ja, soll er unendlich schnell be- und entschleunigen können?
 
Zuletzt bearbeitet:
sieht also wie vermutet nach Takt/Richtung aus.
Problem hierbei ist, dass die Zahl der Pulse am PWM Out nicht steuerbar ist. Damit kannste nicht positionieren. Dafür würde eine PulseTrain-Klemme benötigt. Die ist IMHO auch in einen Motion Knoten implementierbar.

Aber zunächst: Duty Cycle auf 50%.
Wenn Du Dein Programm stoppst, stoppt auch der Motor sofort.
Für einen sanften Stopp musst Du die Frequenz langsam auf 0 fahren. Wie Oliver schon sagte, geht das nicht über den Motionbaustein, das kannste nur von Hand programmieren.
Einfacher wirds mit der PulseTrain Klemme.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ab etwas über 90kHz wird bei 25% DutyCycle übrigens die Impulslänge zu kurz. Mindestpulslänge ist 2,5us.

@Heinileini
Mit etwas Programmieraufwand sollte sich auch am PWM Ausgang die Frequenz verändern lassen. So muss der Motor nicht "unendlich schnell" beschleunigen.

@Tarique
Schau dir mal die el2521 bei Beckhoff an.
 
Zuletzt bearbeitet:
Zurück
Oben