-
-
Komisches verhalten meiner CC1
Hallo leute
also ich hab eine "kleine" CNC maschine im Keller selber gebaut. Der Mechanischen teil ist abgeschlossen nur mit dem elektrischen hab ich noch ein paar probleme. Bin nur Hobby Elektroniker aber kenn mich schon einigermaßen aus....
nun zum problem: ich habe 3 schrittmotorensteuerungen vom type SDM752. Diese steuerung verfügt über einen DRIVE_ENABEL, PULSE, DIR und ein GND Pin. Natürlich gibt es noch mehr funktionen jedoch benötige für dieses projekt nur diese.
So ich hab gedacht ich steuere diese steuerungen mit meinem C-control an, das funktioniert auch einwandfrei jedoch mit einer sehr sehr geringen drehzahl/puls folge.
Der benutzte befehl:
for a=1 to schritte
pulse achse_go
'print a
next
wenn ich print a rein tu dann kann man über die schnittstelle zugucken wie es so dahin trotet. ich kann mich erinnern das es schon früher um einiges schneller gelaufen ist. Da bin ich mir sicher!
nun wollt ich wissen ist das evt. ein hardware defekt oder ist an der programmierung was zu änder.
ich verzweifel fast :/
schonmal vielen dank
mfg
johannes
-
Super-Moderator
Robotik Visionär
Hi, Ich weiß nicht, um welche Dimensionen es Dir geht, aber so'n printf brauch schon seine Weile und hält in deinem Fall die ganze Partie auf.
mfg robert
-
ich habs auch schon raus genommen aber der prozess braucht immernoch 10 sek. für 1500 schritte kann das sein????
-
Super-Moderator
Robotik Visionär
Na ja, das sind 150 in der Sekunde, Datenblatt vom Motor gibt's wahrscheinlich nicht ?
Leider weiß nur der liebe Gott, was die Funktion "pulse" für Dinge treibt.
Probier mal umgekehrt: laß mal den "Pulse" weg und schau, wie flott der print alleine läuft. Dann wissen wir einmal, wo die Zeit liegt.
mfg
-
Erfahrener Benutzer
Fleißiges Mitglied
hallo,
hatte vor zwei jahren ein ähnliches problem mit einem motor und meine routine sah genauso aus wie deine. damals war es so, dass die impulsfolge zu schnell war und der motor mit wenig kraft dahingezuckelt ist. durch einfügen von mehreren i=i als verzögerung brachte die lösung. die pause funktion ist viel zu lang und mit den i=i als verögerung konnte ich die geschwindigkeit gut einstellen. vieleicht suchst du mal in der richtung.
z.B.
for a=1 to schritte
pulse achse_go
i=i
i=i
i=i
i=i
next
viele grüße
stageliner
-
hmm ne ist immernoch sehr sehr langsam.
aber trotzdem danke
hmm kann das was mit dem restlichen programm zusammenhängen????
SLOWMODE OFF
goto reset
'#### begin defines ####
define boot byte
define command byte
define schritte word
define richtung byte
define Achse_go port[2]
define Achse_dir port[3]
define a word
define i byte
'#### Ende Defines ####
'#### Set Parameters ####
boot=0
command=0
schritte=0
richtung=0
achse_go=0
achse_dir=0
'#### Ende set Parameters ###
'#### Programm begin ####
#reset
print "Treiberstart"
if boot=0 then print "Coldboot"
if boot=1 then print "warmboot(_reset)"
if boot=2 then print "Err than reset .... warmboot"
#command_
input command
if command=1 then goto start ' 1=X 2=Z 3=Y
if command=9 then end
goto command_
#start
print "11" '11 = Maschine:1 Achse:1
print "?"
input richtung
print "?"
input schritte
print "-"
if richtung = 1 then PULSE achse_dir
for a=1 to schritte
pulse achse_go
i=i
i=i
i=i
i=i
next
print "done."
goto command_
ist ein mini programm ich weis aber mehr brauch ich grade net hab software zu steuern am pc geschrieben übern com port das funzt auch aber die geschwindigkeit
-
Erfahrener Benutzer
Fleißiges Mitglied
hat der motor kraft beim drehen?
ist der impuls lange genug?
probier mal
for a=1 to schritte
achse_go = on
'i=I
achse_go = off
'i=i
next
wenn zu schnell dann mit den i=i bremsen
nen versuch ist es wert
-
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen