Schrittmotoren in Reihe schalten und mit Arduino ansteuern mit TB6600?

Gast #6239532
Lesenswert?

Hallo,

ich möchte auch Schrittmotoren in Reihe schalten.
Leider laufen sie aktuell nur in eine Richtung... habe irgendwo einen 
gravierenden Fehler

ich habe hier einen TB6600 mit 5A
gesteuert wird alles über einen Arduino Uno

Der TB6600 erhält 24V
der Arduino 9V

Beim TB6600 habe ich folgende Einstellung an den Fip-Schaltern

0,6A
und
1/8 Schritte

Der Arduino Code ist wie folgt
1
#include <AccelStepper.h>
2

3
// defines pins numbers
4
#define stepPin 5 
5
#define dirPin  4 
6
const int enPin = 6; // wird nicht genutzt, ist aber angeschlossen 
7
#define motorInterfaceType 1
8

9
// das sind die Schalter die ich verwenden möchte um den Motor Links oder rechts drehen zu lassen bzw. zu stoppen... wird auch noch nicht genutzt
10

11
const int UpPin = 1; // the number of the pushbutton pin
12
const int StopPin = 2; // the number of the pushbutton pin
13
const int DownPin = 3; // the number of the pushbutton pin
14

15
// Create a new instance of the AccelStepper class:
16
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);
17

18

19
int UpState = 0; // variable for reading the pushbutton status
20
int StopState = 0; // variable for reading the pushbutton status
21
int DownState = 0; // variable for reading the pushbutton status
22

23
void setup() {
24
  stepper.setMaxSpeed(1000);
25
  stepper.setAcceleration(500);
26
  
27
  // Sets the two pins as Outputs
28
  pinMode(stepPin,OUTPUT); 
29
  pinMode(dirPin,OUTPUT);
30

31
  pinMode(enPin,OUTPUT);
32
  digitalWrite(enPin,LOW);
33

34
  pinMode(UpPin, INPUT);
35
  pinMode(StopPin, INPUT);
36
  pinMode(DownPin, INPUT);
37
  
38
}
39

40

41

42
void loop() {
43
   UpState = digitalRead(UpPin);
44
  StopState = digitalRead(StopPin);
45
  DownState = digitalRead(DownPin);
46
  
47
  // Set the target position:
48
  stepper.moveTo(8000);
49
  // Run to target position with set speed and acceleration/deceleration:
50
  stepper.runToPosition();
51
  delay(1000);
52
  // Move back to zero:
53
  stepper.moveTo(0);
54
  stepper.runToPosition();
55
  delay(1000);
56
  
57
}

Sieht jemand das Problem... habe ich die Verkabelung falsch?

ich habe die Motooren 2x12V in Reihe geschaltet deshalb bekommen sie 
auch 24V über den Treiber


Grüße Jürgen
Angehängte Dateien:
#6239545
Lesenswert?

Dann werde ich mich als erster aufs Glatteis wagen. Vorausgesetzt, Dein 
Program funktioniert, würde ich hauptsächlich Motorphysik verdächtigen. 
Da bei Deinem TBB600 der Motorstrom gemessen und kontrolliert wird, 
vermute ich, daß sich durch die Induktivität des 2. Motors die 
Magnetfelder falsch aufbauen und deswegen Schrittmotor Fehlfunktion 
einstellt weil ja die magnetischen Felder zur Rotorbewegung genau ihre 
vorgeschriebene Unterschiede zwischen den Wicklungen einhalten müssen. 
Der zweite Motor verändert die Verhältnisse ungünstig.

Aber. Da der TBB6000 den Strom der Windungen reguliert, würde ich 
vorschlagen nur einen Motor anzuschliessen. Die Spannungsangabe beim 
Motor kannst Du ignorieren. Es kommt auf die korrekte Stromeinstellung 
an. Solange der TBB6000 richtig eingestellt wurde, kann nichts 
passieren. Wenn ein einzelner Motor sich richtig verhält, dann beweist 
das, daß magnetische Fehlfunktion die Ursache Deines Problems ist. 
Ansonsten würde ich vorschlagen, zwei Motortreiber parallel anzusteuern 
und die Motoren wie vorgesehen, einzeln zu betreiben. Magnetisch ist die 
Serienschaltung zweier Motoren nicht elektrisch/physikalisch 
"schmutzig".

Aber vielleicht wissen mehr Erfahrene hier mehr. Ist halt meine Meinung.
Gast #6239585
Lesenswert?

Hallo
Danke für die Antworten

Mmhh... Muss es zuhause umbauen...wenn ich einen Motor zum laufen bringe 
(links und rechts Rum) Muss ich dann um 2 Motoren zu betreiben diese 
parallel schalten oder wurde auch seriell funktionieren wenn korrekt 
angeschlossen.


?
Grüsse Jürgen
Gast #6239620
Lesenswert?

Helmut -. schrieb:
> Nein, um zwei Motoren zum Laufen zu bringen, brauchst du zwei
> Ansteuerschaltungen. Du kannst zwar die Ausgänge DIR und PUL an beide
> Endstufen parallel anschliessen, aber die Motortreiber können jeweils
> nur einen Motor ansteuern.

Und für die 12V 0,8A tuns diese Teile

https://www.ebay.de/itm/5x-A4988-Schrittmotor-Treiber-Stepper-Driver-Board-fur-3D-Drucker-CNC-RepRap/392743953062?_trkparms=ispr%3D1&hash=item5b715d22a6:g:6MAAAOSwhLhegaKc&enc=AQAEAAACYIQvEcHUrT7nmUC3yY5qbPyaBN1nJEDYW8MyypsJPgXKcMTUiP84T5kv%2FuCsjbxUm2yq%2BBzj%2FG7GGnSAA7ZuR%2BMR404nfiO%2BG7Tgm%2BSseKRXYchX6vzUmjMDpelu6JScMrUcwLBgovgq381CM42O63GeHAbRzDh%2BIMP%2FsyuH1ZWPsdxyFzELJE5ykzf6sPRqS3hxKdIGuGWl%2BiwvIzmphWdTSnIFwKdNPfCgcAke6IVhJz9ctnCMLkdhVl7sIf0544If37%2FHFFUBx3MamVh4ZXsROxsHgIY%2FX23wHBVaz5DR9bEY1JZaia1zseTJzgJxwGIWegr67e6ZBwfIWenfCvG6UuykyFWFmY9rHXpw1JrWyXoipV6uMKbTtqJHmmMhJv%2FQR8P%2FJv0pVhz8AGO1gS8e9bZrmJ86uMPrQfJM1MioQJBijbIqY%2FpY0MRBZHs10R%2F3o0BhNnaLHsBrTQHgYEZWTxyFiG9fE4GpPzRVUnz%2BXMyX0M%2F%2BkZCtU6ETYK90cSNR%2FLCmmIV2qFqZjRjfRvOYcaODq2e9aI8sqaQS%2Fv0Ax2aHHDQFG2wsSQPrWaeElacyS0qPw1Gcv2M02x9p439063IMh2LxRQwtOWwcZwsRhU2RJIlHfDyyGzkDA372sTCSzaGvxNnwRoa4Gs9FO7dDWG8QlDvZbbotvA6AJAPfs5TKvGUiqs5U65Ft0QV406YaxHIJP%2F1Giqw9AfUQibkUm709MPR4ru3lS%2FRmOCTOyP76ywhh9wd4RvP%2BXGOwu0aEBa3d7Y90NWG6vWk4QsKKzQ0hTCSvX%2FvbGCKNot1I&checksum=3927439530623071b2a45275447f96049a59e33841e4

Da bekommst du 5 Stück für knapp 8€. Da kannst du beim experimentieren 
auch mal einen abbrennen.

MfG Klaus
Gast #6239658
Lesenswert?

...
ich hab das noch nicht ganz begriffen. (mit dem seriell schon aber 
parallel macht kopfzerbrechen)

wenn ich beide Motoren parallel an  einen Treiber hänge so dachte ich 
das die Motoren es gar nicht merken und der Treiber auch nicht

ich will ja nicht jeden Motor einzeln steuern... ich möchte nur das 
diese einigermaßen parallel laufen also gleichmäßig.

oder geht das rein gar nicht?
Persönliche Seite #6239668
Lesenswert?

Jürgen schrieb:
> wenn ich beide Motoren parallel an  einen Treiber hänge so dachte ich
> das die Motoren es gar nicht merken und der Treiber auch nicht

Bei Parallelschaltung teilen sich die beiden Schrittmotoren den Strom 
des Treibers - jeder Motor bekommt nur noch den halben Strom (in Deinem 
Fall sind das dann nur noch 0,3A).

> ich will ja nicht jeden Motor einzeln steuern... ich möchte nur das
> diese einigermaßen parallel laufen also gleichmäßig.
>
> oder geht das rein gar nicht?

Die Lösung mit Parallel- bzw. Reihenschaltung ist in der Tat suboptimal. 
Es sollte besser für jeden Schrittmotor ein eigener Treiber eingesetzt 
werden. Die Steuereingänge der Treiber musst Du dann parallel schalten.
#6239672
Lesenswert?

Ich bin nicht der Motorspezialist.
Das Thema Serien oder Parallelschaltung kenne ich aus der 3D-Drucker 
Welt.
Dort werden die Z-Motoren öfters in Serie geschaltet.

Bei Parallelschaltung (keine Ahnung ob es funktioniert) musst du 
beachten dass jeder Motor nur mehr den halben Strom abbekommt.

Besser wäre es sicher mit 2 getrennten Treibern.

Aber probiers doch einfach aus bevor du verzweifelst die Klippe 
runterspringst ;)
Gast #6239701
Lesenswert?

wenn ich sie parallel schalte dreht sich gar nix mehr..  grrr

wie soll dann die serielle Schaltung funktionieren?
die hatte ich ja schon .. hatte aber 2 drähte vom Motor seriell und die 
anderen parallel... ok das ist natürlich mist.. kann ich dann die 
anderen beiden auch seriell schalten

bzw. muss ich

TB6600 A+ ==> Motor1-A+
Motor1 A- ===> Motor2 A+
Motor2 A- ===> TB6600 A-

TB6600 B+ ===> Motor1 B+
Motor1 B- ===> Motor2 B+
Motor2 B- ===> TB6600 B-

?
Persönliche Seite #6239718
Lesenswert?

Jürgen schrieb:
> wenn ich sie parallel schalte dreht sich gar nix mehr..  grrr

Magnus M. schrieb:
> Bei Parallelschaltung sollte der Strom auf 1,2A eingestellt werden.

Jürgen schrieb:
> wie soll dann die serielle Schaltung funktionieren?

> TB6600 A+ ==> Motor1-A+
> Motor1 A- ===> Motor2 A+
> Motor2 A- ===> TB6600 A-
>
> TB6600 B+ ===> Motor1 B+
> Motor1 B- ===> Motor2 B+
> Motor2 B- ===> TB6600 B-
>
> ?

Das sieht erst mal "vernünftig" aus. Probiere es und berichte vom 
Ergebnis.
Gast #6239741
Lesenswert?

habe ich jetzt alles zerstört?

ich bin jetzt auf Singlebetrieb gegangen und kein Motor dreht sich mehr

Ich habe also nur einen Motor angeschlossen
wenn ich am Motor drehe (mit der Hand) so dreht er sich sehr schwer...) 
wenn kein Strom drauf ist, ist er leichtgängig...

Das ist nun bei beiden Motoren der Fall... sind nun die Motoren oder der 
TB6600 kaputt?
Gast #6239744
Lesenswert?

Magnus M. schrieb:
> Jürgen schrieb:
>> wenn ich sie parallel schalte dreht sich gar nix mehr..  grrr
>
> Magnus M. schrieb:
>> Bei Parallelschaltung sollte der Strom auf 1,2A eingestellt werden.

habe ich ja eingestellt...
es dreht sich aber keiner mehr

>
> Jürgen schrieb:
>> wie soll dann die serielle Schaltung funktionieren?
>
>> TB6600 A+ ==> Motor1-A+
>> Motor1 A- ===> Motor2 A+
>> Motor2 A- ===> TB6600 A-
>>
>> TB6600 B+ ===> Motor1 B+
>> Motor1 B- ===> Motor2 B+
>> Motor2 B- ===> TB6600 B-
>>
>> ?
>
> Das sieht erst mal "vernünftig" aus. Probiere es und berichte vom
> Ergebnis.
 Bei dem seriellen Betrieb
hatte ich 0,6A eingestellt
beim Parallel Betrieb 1,2A
Bei beiden Schaltungen lies ich die Spannung beim TB6600 auf 24V...

da hier gar nichts mehr ging bin ich zurück zum reinen Singlebetrieb

also 0,6A und nur ein Motor angeschl...
der Motor dreht sich nicht... wenn ich ihn via hand bewegen möchte dann 
geht er sehr schwer... ist alles ausgeschaltet geht der Motor mit der 
Hand gedreht leichtgängig.

irgend was habe ich wohl zerschossen

aber was?
Gast #6239796
Lesenswert?

Magnus M. schrieb:
> Nachtrag:
>
> Du hast doch nicht etwa die Motoren umgekabelt während der TB6600 noch
> mit Spannung versorgt wurde?

nein das habe ich natürlich nicht

muss mal sehn ob sich da was gelockert hat...
die vom TB6600 abgehenden Kabel waren zumindest korrekt und an der 
Arduino-Seite hatte ich nichts gemacht...
Vielleicht hat sich dort was gelockert
Gast #6239822
Lesenswert?

Jürgen schrieb:
> Magnus M. schrieb:
>> Nachtrag:
>>
>> Du hast doch nicht etwa die Motoren umgekabelt während der TB6600 noch
>> mit Spannung versorgt wurde?
>

ok
im Singlebetrieb geht der eine Motor (anderen habe ich noch nicht 
getestet)
(Ich habe nur den Sketch neu hochgeladen) dann ging es


Was aber auch bei dem einen motor nicht geht ist das er zurück fährt... 
er läuft also nur in eine Richtung (siehe mein Sketch oben)

Am Motor habe ich folgende Farben
die wie folgt angeschlossen sind

Motor-Rot===> TB6600 A+
Motor-Blau===> TB6600 A-
Motor-Grün ===> TB6600 B+
Motor-Schwarz===> TB6600 B-

Die sind auch so in der Reihenfolge am Motor via Stecker dran

Rot, Blau, Grün, Schwarz

habe ich da was falsch gemacht?
Gast #6239868
Lesenswert?

Magnus M. schrieb:
> Warum hast Du die ENABLE-Eingänge (ENA+/ENA-) nicht angeschlossen?

die habe ich jetzt angeschlossen im sketch aber auf Low gesetzt (ich 
gehe dabei nur nach Beispiele aus dem Netz)

Ok.. jetzt läuft zumindest der eine Motor korrekt Vor und zurück
es lag an den Kabeln... sorry... ich sah den Wald vor lauter...


Frage.
aktuell läuft er wie im sketch 5000 steps vor und dann zurück auf 0

Ich möchte hier eine Hebeanlage bauen die via Schalter rauf und runter 
fahren soll... ich habe dazu 3 Schalter eingebaut.
Auf, Ab und stop

bis jetzt habe ich nur Beispiele mit Steps gefunden wo diese fix 
definiert sind
weiss jemand wie ich den sketch umschreiben muss das der Motor ständig 
vor oder zurück fährt... wie ich die schalter dann im Programm einbauen 
muss weiss ich...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren