Schrittmotor einfach drehen- Arduino?

Seid gegrüßt,

Ich möchte über einen PS2 Controller einfach einen Schrittmotor ansteuern, also sprich ich drücke eine Taste und er dreht solange in diese Richtung, wie die Taste gehalten wird. Nur mit zwei Tasten, für 2 Richtungen, vor und zurück.

Eigentlich Frage: Wie code ich das am Besten?

Also etwa so (mal so erklärend):

if(ps2x.ButtonPressed(PSB_L1)) {
for (drehe dich vorwärts)
solange vorwärts drehen, wie die Taste gehalten wird
}
if(ps2x.ButtonPressed(PSB_R1)) {
for (drehe dich rückwarts)
solange rückwarts drehen, wie Taste gedrückt wird
}

Soweit, so gut. Danke für alle Antworten!

MFG Alex

Hier mein aktueller Code dafür: (ganz unten ist der Part, wo später das mit dem Motor hin soll....)

#include <PS2X_lib.h>  
PS2X ps2x; 
//right now, the library does NOT support hot-pluggable controllers, meaning 
//you must always either restart your Arduino after you connect the controller, 
//or call config_gamepad(pins) again after connecting the controller.
int error = 0; 
byte type = 0;
byte vibrate = 0;
int magenta=2;
int gruen=3;
int blau=4;
int rot=5;
// Stepper Bibliothek hinzufügen
#include <Stepper.h>
// Anzahl der Schritte pro interner Motorumdrehung
const float STEPS_PER_REV = 32; 
// Betrag der Untersetzung
const float GEAR_RED = 64;
// Anzahl der Schritte pro Getriebeausgangrotation
const float STEPS_PER_OUT_REV = STEPS_PER_REV * GEAR_RED;
// Number of Steps Required
int StepsRequired;
// PIN BELEGUNG
// Benutze PINs 8,9,10,11 des Arduinos
// und verbinde diese mit ULN2003 Motor Driver In1, In2, In3, In4 
// Pins, die in der Sequenz 1-3-2-4 für die richtige Schrittsequenzierung eingegeben wurden
Stepper steppermotor(STEPS_PER_REV, 7, 6, 5, 4);
void setup(){
Serial.begin(9600);
error = ps2x.config_gamepad(13,11,10,12, true, true);  //GamePad(clock, command, attention, data, Pressures?, Rumble?) 
if(error == 0){
 Serial.println("Found Controller, configured successful");
 Serial.println("Try out all the buttons, X will vibrate the controller, faster as you press harder;");
 Serial.println("holding L1 or R1 will print out the analog stick values.");
 Serial.println("Go to www.billporter.info for updates and to report bugs.");
}
type=1;
error=0;
pinMode(2,OUTPUT);
pinMode(3, OUTPUT); //gruen
pinMode(4, OUTPUT); //blau
pinMode(5, OUTPUT); //rot
}
void loop(){
 /
error=0;
type=1;
if(error == 1) 
 return; 
if(type == 2){ 
 ps2x.read_gamepad();     //read controller 
}
else {
ps2x.read_gamepad(false, vibrate); //Ab hier beginnt der eigentliche loop, davor nur weil es auch type 2- Controller gibt, hier für den richtigen
if(ps2x.ButtonPressed(PSB_L1){
  --->Hier Motor...
}
delay(50);
} 
}
Computer, Technik, PlayStation, Drehung, Arduino, Technologie, C (Programmiersprache), Schrittmotor, Servo
Franzis Mendel. 3D Drucker: Überspannungsschutz in Schrittmotorstromkreise und Spulen der Schrittmotoren mit Gerätesicherung oder KFZ- Sicherung absichern?

Hallo,

sorry wenn meine Frage oben etwas komisch und kurz erscheint. Aber mehr Zeichen für eine ausführliche Fragestellung stand mir leider nicht zur Verfügung.

Hier wär meine Frage nochmal etwas Ausführlicher:

Ich bau aktuell einen 3D Drucker nach dem Buch "3D Drucker selber bauen. Machs einfach".

Jetzt war meine Überlegung ob es nicht sinnvoll wäre, einen Art Überspannungsschutz in die einzelnen Schrittmotorstromkreise einzubauen um die empfindliche Elektronik (Ramp 1.4) vor Induktionsspannungen des Schrittmotors zu schützen z.B. durch von Hand verschieben des Extruders würde ich schon im Motor eine Spannung induzieren. (Ich hab so eine Platine vor ein paar Tagen gefunden, leider aber vergessen wie die heißt und finde sie nicht mehr)

Als zweites noch die zwei Spulen des Schrittmotors (Nema17 17HS4417P1 Schrittmotor 1.7A 40mm 4000g.cm D-Shaft) mit jeweils einer kleinen Sicherung gegen Überstrom zu schützen, falls es mal eine Fehlfunktion in der Elektronik gibt und der Motor versucht über den Endanschlag hinaus zu fahren. Da die Schrittmotoren auch einen Anlaufstrom haben, müsste die Sicherung etwas träge in der Auslösung sein.

Ich hoffe jemand kann mir weiterhelfen.

Danke schon mal im Voraus.

Elektronik, Strom, Elektrotechnik, Spannung, 3D-Drucker, Schrittmotor, arduino mega

Meistgelesene Fragen zum Thema Schrittmotor