Pages: [1]   Go Down
Author Topic: MiniMover5 Versuchsprojekt  (Read 1383 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo an alle Arduino- Freunde,

ich bräuchte etwas eure Hilfe! Ich bin leider kein Elektroniker oder ähnliches, jedoch sehr am Basteln interessiert.
Ich konnte vor kurzem einen MiniMover5 erwerben. Welchen ich nun mittels des Arduino Uno r3 und einem EasyDriver ansteuern möchte.
Ganz ähnlich wie in diesem Beispiel:

http://www.almostscientific.com/2011/10/23/its-alive-mini-mover-5-resurrected-with-arduino/

Bei den eingebauten Schrittmotoren sind 6 Kabel vorhanden, welche ich mit Hilfe dieser Anleitung bereits auf 4 reduziert habe, da ich die "Center-Tabs" nicht benötige:

http://www.easterngeek.com/2010/06/how-to-identify-stepper-motor-lead.html

Die 4 Kabel (je pro Spule) habe ich mit dem EasyDriver verbunden. Zur Zeit wird mein EasyDriver durch ein Netzteil mit 12V und 8A versorgt.
Den Arduino habe ich mit meinem EasyDriver verbunden:

Pin2 --> Dir
Pin3 --> Step
GND --> GND

Den Versuchsaufbau kann man auch genau nochmal in den angehangen Bildern sehen.
Anschließend habe ich folgenden Code auf mein Arduino geladen, um den Schrittmotor zu testen:

Code:
int pinStep = 3;
int pinDir = 2;

void setup()
{
  pinMode(pinDir, OUTPUT); /* Richtung */
  pinMode(pinStep, OUTPUT); /* Schritte */
}

void loop()
{
 
/* Üblicherweise:
  - 1,8°/ Schritt
  - 200 Schritte/ Umdrehung
  - 8 Mirkoschritte = 1 Schritt
  --> 1600 Mikroschritte = 1 Umdrehung
*/ 
  drehen(1600,200); /* Anzahl der Mikroschritte , Zeit in ms */
  delay(1000); /* Pause */
  drehen(-1600,200); /* Anzahl der Mikroschritte , Zeit in ms */
  delay(1000); /* Pause */
}

void drehen(int schritte, int tempo)
{
  if(schritte > 0) /* Positive Drehrichtung */
    digitalWrite(pinDir,HIGH);
  else /* Negative Drehrichtung */
    digitalWrite(pinDir,LOW);
   
  schritte = abs(schritte); /* Absolute Schritte */
 
  for(int i=0; i < schritte; i++)
  {
    digitalWrite(pinStep, HIGH);
    delayMicroseconds(tempo);
    digitalWrite(pinStep, LOW);
    delayMicroseconds(tempo);
  }
}

Was dabei herauskommt, könnt ihr in dem Video sehen:

http://www.mherbig.de/1.swf

Erhöhe ich die Zeit, welche er für eine Umdrehung (1600Mikroschritte) braucht von 200ms auf 2000ms, so dreht er überhaupt nicht mehr...
Desweiteren, ließ sich kein Upload auf mein Arduino mehr machen, sobald ich den EasyDriver mit Strom versorgt habe. Deshalb bin ich auf diesen Theard gestoßen:

http://arduino.cc/forum/index.php?topic=112378.0

Vllt. ist das auch das Problem, dass mein Motor so komisch dreht - fehlende Spannung?!
Das Originalschild auf dem MiniMover5 schreibt:

"12VDC AT 4 AMPS"
Leider habe ich nicht mehr Angaben zum Motortyp oder ähnlichem.

Und 4A können vom EasyDriver nicht bereit gestellt werden..
Könnte das der Fehler sein?
Oder habt ihr noch eine andere Idee?


Ich hoffe Ihr könnt mir da weiterhelfen.

Danke smiley






* IMG_8540.jpg (1667.62 KB, 2005x1415 - viewed 49 times.)

* IMG_8541.JPG (1760.35 KB, 2074x1382 - viewed 31 times.)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Guten Morgen smiley,

da ich leider nicht wirklich weiter komme, habe ich gestern nochmal einen anderen Code versucht.
Hierbei habe ich festgestellt, sobald ich die Zeit für die Umdrehung des Motors nach oben setzte, sich der Motor flüssiger bewegt.
Allerdings werden nicht die eingestellten Schritte gefahren.

Zum besseren Verständnis, habe ich das ganze wieder gefilmt.

1600 Schritte, Zeit 140 ms:
http://www.mherbig.de/2.swf
1600 Schritte, Zeit 280 ms:
http://www.mherbig.de/3.swf
1600 Schritte, Zeit 87 ms:
http://www.mherbig.de/4.swf

Wieso auch immer, scheinen Schritte verloren zu gehen, würde mich sehr freuen, wenn Ihr mir etwas helfen könnt.

Danke smiley

Hier der neue Code:

Code:
#define DIR_PIN 2
#define STEP_PIN 3

void setup() {
  pinMode(DIR_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);
}

void loop(){
  //rotate a specific number of microsteps (8 microsteps per step)
  //a 200 step stepper would take 1600 micro steps for one full revolution
  //rotate(1600*4, .5);
  //delay(1000);
  rotate(-1600, 140); //reverse
  delay(1000);
}


void rotate(int steps, float speed){
  //rotate a specific number of microsteps (8 microsteps per step) - (negitive for reverse movement)
  //speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
  int dir = (steps > 0)? HIGH:LOW;
  steps = abs(steps);

  digitalWrite(DIR_PIN,dir);

  float usDelay = speed;

  for(int i=0; i < steps; i++){
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(usDelay);

    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(usDelay);
  }
}
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 127
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi

ich hab noch nie Schrittmotoren mittels Arduino angesteuert deshalb fehlt mir da die direkte Erfahrung aber was ich weiß müssen Schrittmotoren mittels einer Rampe beschleunigt und abgebremst werden ob das die Lib oder die Hardware erledigt oder das das Programm macht kann ich nicht sagen aber es sieht so aus als ob der Schrittmotor bei höheren Drehraten einige Schritte überspringt .
Dies ist das  Verhalten wenn keine Rampen verwendet werden.
Die maximale Drehzahl ist auch begrenzt und hängt auch von der Belastung und der Versorgungsspannung ab.
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 143
Posts: 3009
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hier der neue Code:

Mit vier Anschlussdrähten handelt es sich um einen bipolaren Steppermotor.

Bei bipolaren Steppern ist die Step-Schaltfolge an den Pins:
Code:
Step wire 1 wire 2 wire 3 wire 4
1 High low high low
2 low high high low
3 low high low high
4 high low low high

Mit sechs Anschlussdrähten handelt es sich um einen unipolaren Steppermotor.

Bei unipolaren Steppern sind verschiedene Step-Schaltfolge an den Pins möglich, am wenigsten Strom verbraucht:
Code:
Step wire 1 wire 2 wire 3 wire 4
1 low low low high
2 low low high low
3 low high low low
4 high low low low

Oder unipoloar mit mehr Stromverbrauch und mehr Drehmoment:
Code:
Step wire 1 wire 2 wire 3 wire 4
1 low low high high
2 low high high low
3 high high low low
4 high low low high

Also jedenfalls immer 4 Phasen als Schrittfolge, nicht nur 2, egal ob unipoloar oder bipolar.
Bei falscher Stepfolge dreht sich nix.

Hast Du die beiden Mittelabgriffe der Spulenwicklungen herausgefunden?
Wie hast Du alles angeschlossen?
Und warum verwendest Du eigentlich nicht die Arduino Stepper-Library zum Steppen?

Ach ja: Ein Treiber, der nur für 0,75 A ausgelegt wird, wird natürlich an einem 4A-Motor kräftig überlastet, selbst wenn sich die 4A auf die Motor-Gesamtstromaufnahme bezieht. Im Zweifelsfall mal mit einem Multimeter ausmessen, wenn kein Datenblatt vorliegt: Wieviel Strom zieht eine Spulenwicklung eigentlich, wenn sie an 12V angelegt wird?
« Last Edit: February 16, 2013, 07:43:38 am by jurs » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hier der neue Code:

Mit vier Anschlussdrähten handelt es sich um einen bipolaren Steppermotor.

Bei bipolaren Steppern ist die Step-Schaltfolge an den Pins:
Code:
Step wire 1 wire 2 wire 3 wire 4
1 High low high low
2 low high high low
3 low high low high
4 high low low high

Mit sechs Anschlussdrähten handelt es sich um einen unipolaren Steppermotor.

Bei unipolaren Steppern sind verschiedene Step-Schaltfolge an den Pins möglich, am wenigsten Strom verbraucht:
Code:
Step wire 1 wire 2 wire 3 wire 4
1 low low low high
2 low low high low
3 low high low low
4 high low low low

Oder unipoloar mit mehr Stromverbrauch und mehr Drehmoment:
Code:
Step wire 1 wire 2 wire 3 wire 4
1 low low high high
2 low high high low
3 high high low low
4 high low low high

Also jedenfalls immer 4 Phasen als Schrittfolge, nicht nur 2, egal ob unipoloar oder bipolar.
Bei falscher Stepfolge dreht sich nix.

Hast Du die beiden Mittelabgriffe der Spulenwicklungen herausgefunden?
Wie hast Du alles angeschlossen?
Und warum verwendest Du eigentlich nicht die Arduino Stepper-Library zum Steppen?

Ach ja: Ein Treiber, der nur für 0,75 A ausgelegt wird, wird natürlich an einem 4A-Motor kräftig überlastet, selbst wenn sich die 4A auf die Motor-Gesamtstromaufnahme bezieht. Im Zweifelsfall mal mit einem Multimeter ausmessen, wenn kein Datenblatt vorliegt: Wieviel Strom zieht eine Spulenwicklung eigentlich, wenn sie an 12V angelegt wird?

Hi vielen Dank für deine Antwort.

Die Mittelabgriffe habe ich herausgefunden, genaus wie die 2 Kabel pro Spule.
Dann habe ich die 2 Kabel der einen Spule an A und die 2 anderen Kabel an B meines Easydriver gehangen...

Ich hab gerade mal 12V an zwei Kabel meines Motors angeklemmt, und gemessen. Ungefähr 3A wird gezogen, wenn ich alles richtig gemacht habe smiley

Ich habe mich bisher immer an Beispiel aus dem Internet gehalten, weil ich wie bereits gesagt kaum Ahnung habe :/, so wusste ich bisher noch garnichts von der Stepper-Library.

Also meine Vermutung als Laie ist, dass mein EasyDriver nicht genug Ampere für meinen Motor bereitstellen kann, deshalb auch der Verlust der Schritte.
Nur frage ich mich dann, wie es hier klappen konnte:

http://www.almostscientific.com/2011/10/23/its-alive-mini-mover-5-resurrected-with-arduino/
Hier wird auch ein EasyDriver, was ich in dem Video sehe, sogar der gleiche wie meiner verwendet, und die angesteueten Motoren sind auch identisch..

Was habe ich noch für Möglichkeiten? Außer auf andere Motoren umzuschwenken?

Danke smiley
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 258
Posts: 21497
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...
Ach ja: Ein Treiber, der nur für 0,75 A ausgelegt wird, wird natürlich an einem 4A-Motor kräftig überlastet, selbst wenn sich die 4A auf die Motor-Gesamtstromaufnahme bezieht. Im Zweifelsfall mal mit einem Multimeter ausmessen, wenn kein Datenblatt vorliegt: Wieviel Strom zieht eine Spulenwicklung eigentlich, wenn sie an 12V angelegt wird?
Der Easydriver benutzt den A3967 einen Microschritt Stromtreiber für Schrittmotore. Da dieser aktiv (durch Chopperbetrieb der Ausgangstransistoren) den Motorstrom begrenzt, kann man ihn nicht überlasten.
Es ist umgekehrt. Bei zu niedriger Versorgungsspannung kann er den Strom nicht vernünftig regeln, da die Induktivität der Motorwindungen den Motorstrom langsam ansteigen läßt / begrenzt und so die Stromregelung nicht funktionieren kann.
Es ist also umgekehrt; Der Motor ist für den Easydriver nicht geeignet, da er eine zu große Nennspannung hat, da bei Stromsteuerung die 4-5 fache Nennspannung am Treiber anliegen soll, der A3967 aber nur 30V verträgt.
Das 2. Problem ist, daß der Motor, wenn er weniger Strom bekommt auch weniger Drehmoment / Kraft hat und somit ein unsinn ist einen großen Motor nicht bei seiner "Nennleistung" zu betreiben.

Ich habe aber immernoch den Verdacht, daß die Motordaten falsch sind, da auf den Fotos des Roboterarms die Motore nicht so groß sind.

@KeRo Der Easydriver hat mehrere Eingänge für die Schrittmodi. Wähle Vollschritt (MS1 = MS2 = L). Alles andere funktioniert nicht richtig. Dann den Eingang für die Drehrichtung (dir) und den Eingang für die Schritte(step) bei jedem L.H Übergang dreht der Motor einen Schritt weiter. Die Mittelanzapfungen der beiden Motorwicklungen müssen getrennt und nirgens angeschlossen sein und die beiden Wicklung muß an A die andere an B.
http://www.schmalzhaus.com/EasyDriver/

Grüße Uwe
« Last Edit: February 17, 2013, 02:31:24 pm by uwefed » Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 143
Posts: 3009
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe mich bisher immer an Beispiel aus dem Internet gehalten, weil ich wie bereits gesagt kaum Ahnung habe :/, so wusste ich bisher noch garnichts von der Stepper-Library.

Und ich wußte bisher nichts von Deinem verwendeten speziellen Treiber-Board, bis Uwe den Link gepostet hat.

Anhand des von Uwe geposteten Links mit Infos zu diesem Board sehe ich, dass Du auch gar nichts mit der Arduino Stepper-Library anfangen kannst, sondern Dein Treiber-Board tatsächlich nur die beiden Infos Step/Schritt und Dir/Richtung bekommt und dann steppt, ohne dass die einzelnen Motorwicklungen vom Arduino einzeln angesteuert werden.

Also meine Vermutung als Laie ist, dass mein EasyDriver nicht genug Ampere für meinen Motor bereitstellen kann, deshalb auch der Verlust der Schritte.

Meine Vermutung ist inzwischen eher, dass Du den Gesamt-Anschlußwert Deines Roboterarms gepostet hast und nicht die Daten eines einzelnen Schrittmotors. Wieviele Motoren hat der Arm insgesamt? Was kommt dabei heraus, wenn Du mal die 4A durch die Anzahl der im Roboterarm insgesamt enthaltenen Schrittmotore teilst?

Außerdem habe ich auf der von Uwe geposteten Seite zum Treiber-Board gesehen, dass der Spulenstrom des  Easy Driver Boards einstellbar ist, zwischen 150mA und 750mA.

Welchen Wert hast Du für den Spulenstrom am Easy Driver Board eingestellt?
Und welchen Wert hat der Strom, wenn Du 4A durch die Anzahl der im Arm enthaltenen Motoren teilst?




Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
@KeRo Der Easydriver hat mehrere Eingänge für die Schrittmodi. Wähle Vollschritt (MS1 = MS2 = L). Alles andere funktioniert nicht richtig. Dann den Eingang für die Drehrichtung (dir) und den Eingang für die Schritte(step) bei jedem L.H Übergang dreht der Motor einen Schritt weiter. Die Mittelanzapfungen der beiden Motorwicklungen müssen getrennt und nirgens angeschlossen sein und die beiden Wicklung muß an A die andere an B.

D.h. vom Arduino nicht an DIR und STEP, sondern an MS1 und MS2?

Quote
Welchen Wert hast Du für den Spulenstrom am Easy Driver Board eingestellt?
Und welchen Wert hat der Strom, wenn Du 4A durch die Anzahl der im Arm enthaltenen Motoren teilst?

Ich habe sowohl Min=150mA als auch Max=750mA versucht, hat sich jedoch nichts geändert.
Der Arm besitzt insgesamt 6 Motoren. Wäre also 0,6A pro Schrittmotor, wenn dies so wäre.

Wenn ich 12V an eine Spule des Motors klemme, also "+" an ein Kabel und "-" an das andere, und die Stromstärke messe, komm ich auf ca. 3,5A ...und mein Kabel wird warm :O

Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 258
Posts: 21497
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
D.h. vom Arduino nicht an DIR und STEP, sondern an MS1 und MS2?
Nein. Dir und Step ist schon richtig. MS1 und MS2 stellen die Ansteuerungsmodi des Schrittmotors ein. Da der Easydriver ein Stromtreiber ist und Du aber nicht die nötige hohe Spannung hast, kannst Du Vollschritte verwenden und es funktioniert einigermaßen.
Also MS1 und MS2 fix auf Masse schalten.

Quote
Wenn ich 12V an eine Spule des Motors klemme, also "+" an ein Kabel und "-" an das andere, und die Stromstärke messe, komm ich auf ca. 3,5A ...und mein Kabel wird warm :O
3,5A sind zuviel.
Wie sah die orginale Ansteuerung aus?
Ich hab mal ein wenig gegoogelt. In einem Projekt werden die Motore mit einem ULN2803angesteuert; jeweils 2 Motore mit einem ULN. Der ULN verträgt bei 4 aktiven Ausgängen ca 200 bis 300mA  http://www.aaronklapheck.com/MiniMover.html
Und dort war auch das Datenblatt der Motore:  http://www.aaronklapheck.com/Downloads/MiniMover5/Data_Sheets/MitsumiStepMotor_M42SP-5.pdf

Also 12V und 260mA bei 50 Ohm pro Wicklung und 48 Step pro Umdrehung. Miß mal den Wicklungswiderstand.

Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Nein. Dir und Step ist schon richtig. MS1 und MS2 stellen die Ansteuerungsmodi des Schrittmotors ein. Da der Easydriver ein Stromtreiber ist und Du aber nicht die nötige hohe Spannung hast, kannst Du Vollschritte verwenden und es funktioniert einigermaßen.
Also MS1 und MS2 fix auf Masse schalten.

Hab ich gemacht, doch ohne merkliche Änderung, Motor stottert weiterhin.
Foto im Anhang.

Quote
3,5A sind zuviel.
Wie sah die orginale Ansteuerung aus?
Ich hab mal ein wenig gegoogelt. In einem Projekt werden die Motore mit einem ULN2803angesteuert; jeweils 2 Motore mit einem ULN. Der ULN verträgt bei 4 aktiven Ausgängen ca 200 bis 300mA  http://www.aaronklapheck.com/MiniMover.html
Und dort war auch das Datenblatt der Motore:  http://www.aaronklapheck.com/Downloads/MiniMover5/Data_Sheets/MitsumiStepMotor_M42SP-5.pdf

Ja auf die Seite bin ich auch schon gestoßen, allerdings bezweifel ich, dass der Motor der gleiche ist! Meine Motoren haben ursprünglich 6 Kabel, und sind in einer Metallummantelung, welche ich nicht abbekomme, um auf genauere Motordaten zu schließen.
Die Original Ansteuerung habe ich als Foto angehangen.

Quote
Miß mal den Wicklungswiderstand.

Hier komme ich auf 72 Ohm pro Spule. Wenn ich als Elektro-Anfänger richtig gemessen habe.

:
Ich habe auch etwas weiter gebastelt, und auf Teile gewartet, deshalb melde ich mich erst so verspätet.
Undzwar habe ich mir noch einen Testmotor zugelegt, um zu überprüfen ob die Ansteuerung prinzipiell so gelingt.(Ohne MS1 und MS2)
Hierbei handelt es sich um diesen Motor:
http://www.physicalcomputing.at/shop/article_A-1107100/Stepper-Motor-Bipolar.html?sessid=fuyWTGQ9EvDkRs49VusSQJptpGgZGbLPcOo71O0zt26WLGHXEnviB3tCk5sZLRet&shop_param=cid%3D10%26aid%3DA-1107100%26
Die Ansteuerung mit dem Arduino und EasyDriver funktioniert soweit gut!
Dann habe ich versucht, das gleiche mit dem Big EasyDriver zu machen, anstatt einer Umdrehung wir nur noch eine Halbe Umdrehung gefahren...kann ich mir nicht wirklich erklären, denn alles andere ist das gleiche..

Der Grund, wieso ich mir noch einen BigEasyDriver gekauft habe, war die Bereitstellung von mehr Strom für meinen ursprünglichen Motor, doch verwende ich hier den BigEasyDriver, ändert sich nichts gegenüber dem normalen EasyDriver...

Also Fazit bisher:
- Neuer Testmotor mit EasyDriver funktioniert
- Neuer Testmotor mit BigEasyDriver fährt bei gleicher Einstellung nur eine Halbe- Umdrehung
- Ürsprünglicher Motor stottert, unabhäning von EasyDriver, BigEasyDriver mit und ohne Ms1 und M2

Alles mit 1600 Mikroschritte und 250ms/ Umdrehung.






* 2013-02-21 17.18.46.jpg (524.73 KB, 1306x980 - viewed 18 times.)

* 2013-02-21 17.20.45.jpg (557.13 KB, 1306x980 - viewed 25 times.)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Huhu,

also ich habe mich nun schon fast entschlossen, die alten Motoren nicht mehr anzusteuern, und es mit neuen, wo ich sämtliche technische Daten habe zu versuchen.
Ich bin nun schon soweit, dass ich Werte von Processing an Arduino auf Mausklick übertragen bekomme, und der Motor dem entsprechend fährt.
Allerdings habe ich noch ein Grundproblem, undzwar sobald ich weniger wie 200 Mikroschritte fahren will, dreht sich der Motor überhauptnicht smiley-sad alles was größer wie 200 ist funktioniert einwandfrei. Bei 1600 wird genau eine Umdrehung gefahren.

Angeschlossen ist das ganze so:
http://bildr.org/2011/06/easydriver/
Verwendeter Motor:
http://www.physicalcomputing.at/shop/article_A-1107100/Stepper-Motor-Bipolar.html?sessid=fuyWTGQ9EvDkRs49VusSQJptpGgZGbLPcOo71O0zt26WLGHXEnviB3tCk5sZLRet&shop_param=cid%3D10%26aid%3DA-1107100%26

Verwendeter Code auf dem Arduino:

Code:
int pinStep = 3;
int pinDir = 2;

// Wert, der von Processing uebergeben wird
int value = 0;  



void setup()
{
  pinMode(pinDir, OUTPUT); /* Richtung */
  pinMode(pinStep, OUTPUT); /* Schritte */
  Serial.begin(9600);
}

void loop()
{

  // Wenn seriale Daten von extern kommen, in dem Fall von Processing  
  if( Serial.available() )
  {
    //Wert von Processing
    value = Serial.read();
    //Ausgabe in Konsole
    Serial.println( value );

    //Schrittmotoren Uebergabe
    /* Üblicherweise:
     - 1,8°/ Schritt
     - 200 Schritte/ Umdrehung
     - 8 Mirkoschritte = 1 Schritt
     --> 1600 Mikroschritte = 1 Umdrehung
     */
    drehen(value,100); // Anzahl der Mikroschritte , Zeit in ms
    delay(1000); // Pause

  }

}

void drehen(int schritte, int tempo)
{
  if(schritte > 0) /* Positive Drehrichtung */
    digitalWrite(pinDir,HIGH);
  else /* Negative Drehrichtung */
  digitalWrite(pinDir,LOW);

  schritte = abs(schritte); /* Absolute Schritte */

  for(int i=0; i < schritte; i++)
  {
    digitalWrite(pinStep, HIGH);
    delayMicroseconds(tempo);
    digitalWrite(pinStep, LOW);
    delayMicroseconds(tempo);
  }
}


Hoffe Ihr könnt mir da einen Tipp geben.

Was noch nicht klappt, ist den Serial Monitor zu öffnen, während der Processing- Code gestartet ist, aber das bisher auch noch nicht so schlimm smiley

Danke.

PS: Was mir gerade noch auffällt, der Motor wird ziemlich warm, auch dann, wenn er garnicht bewegt wird, es reicht, wenn EasyDriver und Arduino an sind.
Ist das normal?
« Last Edit: February 26, 2013, 03:57:03 pm by KeRo » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Der Anfang ist gemacht smiley

http://www.youtube.com/watch?v=iwclBOGCIok&feature=youtu.be
Logged

Pages: [1]   Go Up
Jump to: