INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
teilapperat
30.09.2019, 11:19 (Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2019 11:22 von Noobedynoobnoob.)
Beitrag #1
teilapperat
Guten tag.
ich baue einen Teilapperat, mit einem nema 23Stepper,24v,2,1A
,dem Dm542 Stepper driver und einer spielfreien 1:2,25Übersetzung. jetzt möchte ich aber einen modus haben, der den stepper mit maximaler drehzahl dreht. das datasheet des drivers sagt, input am pulse pin bis zu 200kHz möglich. Würde ja bedeuten bei 200 schritten pro umdrehung 1000upm am motorschaft.
mein problem liegt darin, dass ich bei allen schnelleren pulsen als 600microsek pro puls nurnoch gewackel bekomme.woran liegt das und kann ich das beheben?
danke im voraus. hier mein code. so ca...


int PULpin =9;
int X = 300; //alles darunter zittert nurnoch
while (1){
digitalWrite(PULpin,High);
delaymicroseconds(X);
digitalWrite(PULpin,LOW);
delaymicroseconds(X);
}


aufgrund der masseträgheit des motors müsste ich natürlich das delay langsam verringern, was ich auch versucht hab, aber alles unter 300 zittert nurnoch.
ps zum arretieren habe ich einen e-magneten, der nach den stepps angesteuert wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.09.2019, 14:10
Beitrag #2
RE: teilapperat
Hallo,

Delay blockiert, und sollte nur eingesetzt werden,
wenn nichts Zeitkritisches passieren soll.
Bei dir ist das das Hauptproblem.
Schau dir millis(), das unbekannte Wesen oder die Nachtwächterschaltung an.

Ansonnsten kannst du noch die Timer direkt setzen,
aber dazu mußt du die Grundlagen intus haben.
Das ist eher was für Fortgeschrittene.

(30.09.2019 11:19)Noobedynoobnoob schrieb:  ps zum arretieren habe ich einen e-magneten, der nach den stepps angesteuert wird.

Was meinst du hier eigendlich ?
Hast du eine Art Bremse mit E-Magnet ?
Der wird villeicht auch zu träge sein.

Gruß, Markus

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.09.2019, 14:36
Beitrag #3
RE: teilapperat
danke, das werde ich mir mal anschauen.
Mit dem E-Magneten meine ich eine Art bremse.
nachdem der stepper Motor fertig ist, lasse ich den letzten steppinterval aktiviert für 100millis. damit blockiert der stepper, würde auf dauer aber sehr
heiß werden. also lasse ich den stepper nur für 1/10sekunde blockieren, danach schalten sich die stepperphasen ab und der e-magnet übernimmt die haltekraft.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.09.2019, 20:30 (Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2019 20:31 von MicroBahner.)
Beitrag #4
RE: teilapperat
(30.09.2019 11:19)Noobedynoobnoob schrieb:  jetzt möchte ich aber einen modus haben, der den stepper mit maximaler drehzahl dreht. das datasheet des drivers sagt, input am pulse pin bis zu 200kHz möglich.
Das der Treiber 200kHz am Eingang verträgt, sagt noch lange nichts darüber aus, welche Steprate dein Motor maximal mitmacht. Das hängt auch davon ab, wie der Treiber bezügl. der Microsteps eingestellt ist. Hat Du da auch ein entsprechendes Datenblatt vom Motor? Was steht denn da drin?


P.S. Du solltest mal deine Shift-Taste prüfen, so ist dein Text schwer zu lesen.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.10.2019, 22:00
Beitrag #5
RE: teilapperat
Hallo,
vergesst die Mechanik nicht! Damit es nicht zum Schrittverlust und damit zum Gewackel kommt, muss der Motor ja bereits mit dem ersten Schritt auf Maximaldrehl beschleunigen. Beim Anhalten ergibt sich das gleiche Problem: Aus hoher Drehzahl läuft nach "aus" der Motor noch weiter.

Das Problem ist behoben, wenn man die Taktrate langsam erhöht bzw. senkt.

Ich plane so etwas mit EXCEL o. ä. und lege die gefundenen delay-Zeiten für die Rauf- und Runterrampen zwischen den Schritten in einem array ab. Statt Rampen kann man da auch leich schönere Funktionen nehmen, die z. B. für einen weichen Anlauf sorgen.

Gruß
GuaAck
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste