Hallo,
ich bin Arduino-Neuling und möchte gerne folgenden Aufbau betreiben. Ein Schrittmotor soll über eine Zahnstange ein Linearführungsschlitten auf einer Linearführung bewegen. Ich habe dann mal an die Linearführung eine Federwaage angehängt und den Motor mit einer Geschwindigkeit X1 laufen lassen. Ab ca. 6N stoppt der Motor und summt nur noch. Meine Frage ist, ob da noch mehr geht? Wenn ich die Geschwindigkeit des Motors erhöhe auf X2, dann stoppt der Motor bereits bei weniger als 6N
Ich habe einen Nema 17 Motor mit 42Ncm Haltemoment 42BYGHM810 Datenblatt: http://www.phidgets.com/documentation/Phidgets/3302_0_Datasheet.pdf
Ich nutze einen Easydriver und ein Arduino. An den Easydriver habe ich ein 24V 2A Netzteil drangehängt. Den Motor steuere ich mit folgenden Code an:
i
nt pinDir = 9;
int pinStep = 8;
int pinButton = 1;
int pinButton2 = 2;
int pinButton3 = 3;
int pinButton4 = 4;
void setup()
{
pinMode(pinDir, OUTPUT);
pinMode(pinStep, OUTPUT);
pinMode(pinButton, INPUT);
pinMode(pinButton2, INPUT);
pinMode(pinButton3, INPUT);
pinMode(pinButton4, INPUT);
digitalWrite(pinDir, LOW);
digitalWrite(pinStep, LOW);
}
void loop()
{
while(digitalRead(pinButton2)==HIGH){
digitalWrite(pinDir, LOW);
if(digitalRead(pinButton3)==HIGH){
digitalWrite(pinStep,HIGH);
delayMicroseconds(90);
digitalWrite(pinStep, LOW);
delayMicroseconds(90);}
else{
digitalWrite(pinStep,HIGH);
delayMicroseconds(400);
digitalWrite(pinStep, LOW);
delayMicroseconds(400);
}}
while(digitalRead(pinButton)==HIGH){
digitalWrite(pinDir, HIGH);
digitalWrite(pinStep,HIGH);
delayMicroseconds(260);
digitalWrite(pinStep, LOW);
delayMicroseconds(260);
}
}
Wenn ich button2 gedrückthalte und dann den schalter button 3 umlege, dann soll der Motor mit einer Geschwindigkeit X2 fahren, wenn Button 3 nicht high ist, dann mit Gewschwindigkeit X1. Wenn button gedrückt wird, dann soll er rückwärts drehen...
Wichtig für mich wäre, dass der Motor schon etwas mehr Last ziehen kann und das mit einer gleichmäßigen Geschwindigkeit.
Ist das Netzteil für diesen Motor und den Easydriver richtig gewählt oder wo seht ihr da noch Potential, dass ich mehr als nur 6N schaffe... Der Easydriver läuft im 1/8 Schritt Betrieb. Wenn ich diesen Wert verändere, auf 1/2 Schritt...bringt das was?
Oder ist der Code vll. zu resourcenfressend? Oder geht einfach nicht mehr mit dem Schrittmotor? 6N sind ja gerademal 600g :-/
Für Hilfestellungen und Tipps wäre ich euch sehr dankbar.