RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#51 von Kriwatsch , 02.03.2017 18:05

Hallo Frank
Oder, wie ich schrieb, mit einem Reset-Taster welcher den derzeitigen Zustand abfragt und in den Speicher schreibt und beim einschalten abfragt und entsprechend wieder herstellt. Aber, wie gesagt, ich bin noch Analogie, ich weiss also nicht ob der Rechenknecht das frißt! ops: Andererseits, die Dinger sind so TEUER dass sie Dir beim Klauen hinterher geschmissen werden!!!
Da werde ich mal bei ALIBABA schauen wegen Chinazeugs. Was anderes fällt mir auf die Schnelle nicht ein
Ciao
Mischa

PS.: Vorrang hat aber noch meine Roco 151. Gehäuse kaputt darum Umbau auf DR250(Stromcontainer). Ich bin N-Bahner


 
Kriwatsch
InterRegio (IR)
Beiträge: 230
Registriert am: 26.10.2015
Ort: Dresden
Spurweite N
Stromart DC, Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#52 von Clooney , 02.03.2017 18:36

Kleiner Tipp:
Ersetze EEPROM.write durch EEPROM.put
Dann wird das EPROM nur beschrieben, falls der Inhalt ungleich des zu schreibenden Wert ist.


Gesendet von iPhone mit Tapatalk Pro


Gruß Jochen

Meine Saunakellerbahn: RE: Saunakellerbahn
Anlageplanung: RE: Endlich eigene MoBa im Saunakeller


Clooney  
Clooney
InterCity (IC)
Beiträge: 582
Registriert am: 02.01.2016
Ort: Gammelshausen
Gleise Märklin C-Gleis
Spurweite H0
Steuerung CS3 & iTrain 5
Stromart AC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#53 von MicroBahner , 02.03.2017 18:41

Hallo Frank,

Zitat

der Schreibvorgang findet bei jedem Schaltvorgang der Weiche statt.

Und das heißt, dass Du die Weiche 100000 mal umschalten musst, um an das theoretische Lebensdauerende der EEPROM-Zelle zu kommen. Da ist dann schon die Frage, was zuerst den Geist aufgibt: die Weiche, das Servo oder das EEPROM. Ich würde mal darauf tippen, dass das EEPROM am längsten aushält ....

Toll das jetzt alles so läuft wie Du dir das vorstellt, Klasse gemacht .


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#54 von fbstr , 02.03.2017 22:18

Zitat

Oder mit einem Reset-Taster ...



Hallo Mischa,
alle Leitungen vom Gleisstellpult sind in Benutzung. Nur durch das Zusammenziehen der roten und grünen LEDs konnte ich von 50pol. auf das 40pol. Flachbandkabel wechseln.

Zitat

Kleiner Tipp:
Ersetze EEPROM.write durch EEPROM.put



Hallo Jochen,
das werde ich doch glatt mal testen. Ich habe heute abend gemerkt, dass ich doch noch etwas optimieren muß: Die Entkupplungsservos muß ich auch mittels EEPROM in die Ausgangsposition fahren. Als ich mit einem Stahllineal die Gleise berührt habe, zuckten einige Entkupplungsservos und 2 blieben sogar etwas ausgefahren stehen. Die Gleise sind eigentlich völlig getrennt von den Arduinos und Servos.

Zitat

...was zuerst den Geist aufgibt: die Weiche, das Servo oder das EEPROM...



Hallo Franz-Peter,
sind wir mal ehrlich. Du wolltest doch bestimmt schreiben: "...was zuerst den Geist aufgibt: die Weiche, das Servo, das EEPROM oder DU."


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#55 von Kriwatsch , 03.03.2017 10:13

Hallo
Darauf nur (Ironie an): Seid nett zueinander! (Ironie aus)
Ciao
Mischa


 
Kriwatsch
InterRegio (IR)
Beiträge: 230
Registriert am: 26.10.2015
Ort: Dresden
Spurweite N
Stromart DC, Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#56 von fbstr , 03.03.2017 11:22

Zitat

Seid nett zueinander!



Das sind wir doch!

Besonders in dieser Stummi-Arduino-Forums-Umgebung gibt's nur nette Leute - finde ich.


Das einzige was mir fehlt wäre ein Realtreffen. Bei dem monatlichen Stummi-BB-Treffen in Stuttgart habe ich praktisch keine Arduino-Mitstreiter und es ist auch sehr Märklin-lastig. Aber ich gehe trotzdem immer hin wenn es geht


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#57 von MicroBahner , 03.03.2017 11:44

Zitat

Du wolltest doch bestimmt schreiben: "...was zuerst den Geist aufgibt: die Weiche, das Servo, das EEPROM oder DU."


Hallo Frank,
eine Weiche 100000 mal umschalten ist ja auch echt 'ne Aufgabe. Könnte schon sein dass Du da als erstes aufgibst - zumal Du ja nicht nur eine Weiche hast.

So ein Realtreffen ist schon eine feine Sache. Bei unserem Altmühltaler Stummitreff gibt's inzwischen auch ein paar Arduino-Interessierte. Aber Stuttgart ist schon arg weit weg ...


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#58 von digi_thomas2003 , 03.03.2017 19:08

Hallo Frank,

Zitat

...
Das einzige was mir fehlt wäre ein Realtreffen. Bei dem monatlichen Stummi-BB-Treffen in Stuttgart habe ich praktisch keine Arduino-Mitstreiter und es ist auch sehr Märklin-lastig. Aber ich gehe trotzdem immer hin wenn es geht



habe verstanden, am 17.03. könnte es bei mir mal wieder klappen...

Freundliche Grüße
Thomas


Thomas
------------------
Anlage H0: U-Form, im kreativen Bau
Fahren: Tams MC
Schalten: IB
Melden: HSI 88
Steuern: TrainController 9.0 Gold
Denken: Brain 4.1


 
digi_thomas2003
InterRegioExpress (IRE)
Beiträge: 305
Registriert am: 03.05.2005
Gleise sind vorhanden
Spurweite H0
Steuerung TrainController
Stromart AC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#59 von fbstr , 03.03.2017 19:24

Zitat

habe verstanden, am 17.03. könnte es bei mir mal wieder klappen...



Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#60 von fbstr , 17.03.2017 08:41

Die Vorbereitungen laufen, um sich mal mit der Schrittmotor-Geschichte für die Drehscheiben zu beschäftigen.

Ich habe dafür schon letztes Jahr in China 2 Arduino Motor Shield v2.0 gekauft:



Ein UNO und dieses Shield bekommt jede Drehscheibe.
- Die "DS Nord" soll noch 2 drehbare Gleissperrsignale (mittels Servos), sowie Licht bekommen.
- Die "DS Süd" ist ziemlich verfallen, d.h. hier muß ich keine weiteren Funtionen über den Arduino ansteuern.

Die Beschreibung dieses Shields findet man HIER.


Jetzt die (ersten) Fragen an die Experten:
- Enthalten die Moba-Tools dafür auch Funktionen die ich nutzen kann/sollte oder verwende ich die dort erwähnten Libraries?
- Das Shield enthält 2 Servoanschlüsse. Das könnte praktisch sein für die 2 Gleissperrsignale der "DS Nord". Oder sollte ich hier auf die Moba-Tools zurückgreifen, um die Servogeschwindigkeit konfigurieren zu können?


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#61 von MicroBahner , 17.03.2017 09:48

Hallo Frank,
das ist ein recht spezielles Motorshield, dass über I2C angesprochen wird. Da kannst Du die MobaTools nicht einsetzen.
Lediglich die 2 Servos könnte man evtl. über die MobaTools betreiben. Soweit ich gelesen habe, sind die einfach fest mit Pin9 und Pin10 des Uno verbunden.
Inwieweit sich die Adafruit-Library mit den MobaTools 'verträgt' weis ich natürlich nicht. Wenn ich das richtig verstehe, sollten die Servos auf dem Board aber auch mit der Standard Arduino Servo-Lib betreibbar sein. Dann solllten auch die MobaTools gehen.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#62 von fbstr , 17.03.2017 11:14

Zitat

...das ist ein recht spezielles Motorshield, dass über I2C angesprochen wird. Da kannst Du die MobaTools nicht einsetzen...



Hallo Franz-Peter,
und ich dachte das wäre ein allerwelts-0815-Motor-Shield...

Mal rein hypothetisch: Welches Motor-Shield würdest Du denn für den Schrittmotor (ca. 2,5 A Stromaufnahme) nehmen, wenn Du die Moba-Tools verwenden möchtest?
(Ich habe nämlich versehentlich letztes Jahr zuerst einen 2,5A Schrittmotor gekauft, bevor ich gemerkt habe, dass bei den gekauften Motor Shield ganz groß 1,2A max. draufsteht. Also einen weiteren Schrittmotor angeschafft, den ersten würde ich aber gerne auch verwenden - die Dinger sind ja nicht billig (besonders weil ich die beim großen C gekauft habe...)


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#63 von MicroBahner , 17.03.2017 12:03

Hallo Frank,
wow, ein 2,5A Schrittmotor ist schon 'ne Hausnummer. Was willst Du denn da antreiben . Bei einem Schrittmotor fliesst dieser Strom ja praktisch immer, auch wenn er steht. Nur mit einem entsprechenden Treiber kannst Du im Stillstand den Motorstrom reduzieren.

Getestet habe ich die MobaTools mit einem A4988 Schrittmotortreiber. Da gibt es recht günstige Platinchen ( allerdings nicht direkt zum Aufstecken auf den Uno). Der schafft mit Kühlung aber auch nur 2A. Im Gegensatz zu dem Adafruit ist das ein spezieller Schrittmotortreiber, der nur Schrittmotore betreiben kann (der Adafruit kann auch normale DC-Motore). Dafür aber mit allerhand Spezialitäten, insbesondere mit einer Stromsteuerung. Grundsätzlich könntest Du da wohl auch den Strom des Schrittmotors dann auch auf verträgliche Werte begrenzen ( wobei sich dann auch das maximale Drehmoment verringert ). Bei den von mir verwendeten Modulen ist die Stromeinstellung aber etwas knifflig, da es nur ein unkalibriertes Poti dafür gibt.

P.S. inzwischen habe ich gesehen, dass es für den Uno Shields gibt, auf die man die von mir getesteten Module aufstecken kann.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#64 von fbstr , 19.03.2017 10:06

Inzwischen habe ich mein TimeWaster-Regal mit der Drehscheibe versehen. Das Testen kann beginnen... 8)

Zitat von MicroBahner im Beitrag #63

wow, ein 2,5A Schrittmotor ist schon 'ne Hausnummer. Was willst Du denn da antreiben . Bei einem Schrittmotor fliesst dieser Strom ja praktisch immer, auch wenn er steht. Nur mit einem entsprechenden Treiber kannst Du im Stillstand den Motorstrom reduzieren.



Du hast völlig Recht, der zieht permanent 2,3A:


So richtig glücklich bin ich mit dem Schrittmotor (EMIS E547-52500) nicht. Bei "SINGLE", "DOUBLE" und "INTERLEAVE" hört es sich an, als ob ich mit der Schlagbohrmaschine in der Wand herumbohre.
Nur der "MICROSTEPPING"-Modus ist einigermaßen erträglich, aber trotzdem quitscht das teil, als ob es Öl bräuchte. Man hört es gut zum Schluß in diesem Video:



Hier mal der erste Test-Sketch:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 

// Drehscheibe TimeWaster, Frank Becker 2017
// Version 1.0
// UNO R3 Com6, Motor Shield v2.0
 

// For use with the Adafruit Motor Shield v2
// ----> http://www.adafruit.com/products/1438
 

 
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_MS_PWMServoDriver.h"
#include <MobaTools.h>
 
// Create the motor shield object with the default I2C address
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
// Or, create it with a different I2C address (say for stacking)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61);
 
// Connect a stepper motor with 200 steps per revolution (1.8 degree)
// to motor port #1 (M1 and M2)
Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 1);
 
const byte buttonFullTurnClockwise = 8 ; //Taster 180Grad Uhrzeigersinn
const byte buttonFullTurnCounterClockwise = 9 ; //Taster 180Grad gegen Uhrzeigersinn
const byte buttonStepClockwise = 10 ; //Taster Step Uhrzeigersinn
const byte buttonStepCounterClockwise = 11 ; //Taster Step gegen Uhrzeigersinn
const byte buttonRelease = 12 ; //Taster um Motor stromlos zu schaltem
 
byte buttonStatusFullTurnClockwise = 0 ;
byte buttonStatusFullTurnCounterClockwise = 0 ;
byte buttonStatusStepClockwise = 0 ;
byte buttonStatusStepCounterClockwise = 0 ;
byte buttonStatusRelease = 0 ;
 
byte i; //Zählvariable
 
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Stepper test!");
 
pinMode(buttonFullTurnClockwise, INPUT);
pinMode(buttonFullTurnCounterClockwise, INPUT);
pinMode(buttonStepClockwise, INPUT);
pinMode(buttonStepCounterClockwise, INPUT);
pinMode(buttonRelease, INPUT);

AFMS.begin(); // create with the default frequency 1.6KHz
//AFMS.begin(1000); // OR with a different frequency, say 1KHz

myMotor->setSpeed(10); // original 10 rpm
}
 
void loop() {
 
buttonStatusFullTurnClockwise = digitalRead(buttonFullTurnClockwise);
buttonStatusFullTurnCounterClockwise = digitalRead(buttonFullTurnCounterClockwise);
buttonStatusStepClockwise = digitalRead(buttonStepClockwise);
buttonStatusStepCounterClockwise = digitalRead(buttonStepCounterClockwise);
buttonStatusRelease = digitalRead(buttonRelease);

if (buttonStatusFullTurnClockwise == LOW)
{
Serial.println("180 Grad Drehung (733 steps)im Uhrzeigersinn");
myMotor->setSpeed(1); // original 10 rpm
myMotor->step(10, FORWARD, MICROSTEP);
myMotor->setSpeed(10); // original 10 rpm
myMotor->step(10, FORWARD, MICROSTEP);
myMotor->setSpeed(30); // original 10 rpm
myMotor->step(10, FORWARD, MICROSTEP);
myMotor->setSpeed(40); // original 10 rpm
myMotor->step(10, FORWARD, MICROSTEP);
myMotor->setSpeed(255); // original 10 rpm
myMotor->step(653, FORWARD, MICROSTEP);
myMotor->setSpeed(40); // original 10 rpm
myMotor->step(10, FORWARD, MICROSTEP);
myMotor->setSpeed(30); // original 10 rpm
myMotor->step(10, FORWARD, MICROSTEP);
myMotor->setSpeed(10); // original 10 rpm
myMotor->step(10, FORWARD, MICROSTEP);
myMotor->setSpeed(1); // original 10 rpm
myMotor->step(15, FORWARD, MICROSTEP);
myMotor->step(8, BACKWARD, MICROSTEP);
myMotor->step(3, FORWARD, MICROSTEP);
}
else
{
if (buttonStatusFullTurnCounterClockwise == LOW)
{
Serial.println("180 Grad Drehung gegen Uhrzeigersinn");
myMotor->setSpeed(255); // original 10 rpm
myMotor->step(733, BACKWARD, MICROSTEP);
}
else
{
if (buttonStatusStepClockwise == LOW)
{
Serial.println("1 Step im Uhrzeigersinn");
myMotor->setSpeed(1); // original 10 rpm
myMotor->step(1, FORWARD, MICROSTEP);
delay(10);
}
else
{
if (buttonStatusStepCounterClockwise == LOW)
{
Serial.println("1 Step im Uhrzeigersinn");
myMotor->setSpeed(1); // original 10 rpm
myMotor->step(1, BACKWARD, MICROSTEP);
delay(10);
}
else
{
if (buttonStatusRelease == LOW)
{
myMotor->release();
}
}
}
}
}
 
}
 
 



Bei dem ersten Taster (buttonFullTurnClockwise) habe ich versucht eine Beschleunigung and Abbremsen mit Nachwippen darzustellen. Vermutlich geht das viel eleganter mit einer For-Schleife, damit die Geschwindigkeit gleichmäßig von 1 bis 255 hochfährt und umgekehrt. Auch das Nachwippen ist hoffentlich verbesserungsfähig.

Vorschläge sind herzlich willkomen! :D


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 10.06.2021 | Top

RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#65 von MicroBahner , 19.03.2017 10:45

Hallo Frank,
bist Du sicher, dass Du den Motor korrekt entsprechend der Spezifikation betreibst? Auf der Conrad-Seite steht für den von dir angegebenen Typ ein maximaler Phasenstrom von 0,6A! Auch im Datenblatt steht - je nach Betriebsart - unipolar oder bipolar - ein Strom von nur 0,6 - 1A.
Vielleicht ist das auch der Grund für die extreme Geräuschentwicklung.

Zitat

Auch das Nachwippen ist hoffentlich verbesserungsfähig.

Auf jeden Fall - indem Du es weglässt. Was soll bei einer Drehscheibe nachwippen? Beschleunigen/Bremsen reicht vollkommen aus.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#66 von michl080 , 19.03.2017 11:18

moin,

ein vernünftiger Schrittmotortreiber kann den Strom durch den Schrittmotor steuern. Den Riesenmotor, den den verwendest, kann man problemlos verwenden, wenn man den Strom durch den Motor reduziert.

ich habe mir mal das Datenblatt für den TBB6612 angesehen. Der Treiber hat zwar einen PWM Eingang, allerdings steht im Datenblatt nicht, wie man den Strom durch den angeschlossenen Motor steuern kann. Falls das funktionieren sollte, enthält die Software-Bibliothek auf jeden Fall KEINE Möglichkeit, den Motorstrom zu regulieren. Das ist SC.....E.
Ich muss leider sagen, dass so manche Arduino Erweiterung schlecht gemacht ist. Das Shield, das Du verwendest, gehört dazu.
Franz-Peter hat den A4988 erwähnt. Das ist ein hervorragender Schrittmotor-Treiber. Alternativ kann man auch den TMC2100 nehmen, den ich aus eigener Erfahrung empfehlen kann.

Grundsätzlich sollte man einen Schrittmotor nicht mit dem Nennstrom betreiben.

Ein Schrittmotor hat 200 "magnetische" Rastpunkte pro Umdrehung. In diesen Rastpunkten bleibt er stabil stehen.
Um den Schrittmotor zu bewegen, wird eine Spule umgepolt, so dass der Motor in die nächste Rastposition gezogen wird.
Wenn die nächste Spule umgepolt wird, erreicht der Motor die nächste Stufe u.s.w.
Der Trick besteht darin, den Strom so niedrig einzustellen, dass der Motor gerade noch genug Energie erhält, um gegen das Motordrehmoment noch die nächste Raststufe erreicht.
Man kann sich das so vorstellen, dass der Motor aus der einen Ruhelage gezogen wird und von selbst in die nächste Ruhelage fällt.
Wenn man den Strom höher als nötig einstellt, wird der Motor nicht in die nächste Ruhelage fallen, sondern er wird aktiv gezogen. Dadurch wird die Winkelgeschwindigkeit ungleichmässig. Wenn man den Motor also optimal betreibt, dann dreht er sich mit konstanter Winkelgeschwindigkeit, genau wie ein DC-Motor.
Ein Nebeneffekt der ungleichmässigen Winkelgeschwindigkeit ist das von Dir beobachtete laute Geräusch. Ein optimal betriebener Schrittmotor ist viel leiser.

Vorschlag: Schreibe die 20€ für Deinen Shield ab und besorg Dir einen, der einen TMC2100 verwendet.

Ich sehe mir gerne an, ob ein Shield geeignet ist, aber selbst suchen möchte ich nicht.

schönen Sonntag, Michael


meine Anlage findest Du unter viewtopic.php?f=64&t=65847


 
michl080
InterCity (IC)
Beiträge: 995
Registriert am: 21.11.2010


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#67 von garti62 , 19.03.2017 11:39

Hallo zusammen,

da ich mich gerade beim Fräsenbau recht ausführlich mit Schrittmotoren befassen mußte, hier mal ein link:
http://www.ebay.de/itm/CNC-V3-Shield-UNO...rcAAOSwHMJYI3wd
da ist alles dabei, was Du brauchst. Sogar noch etwas mehr .

Schöne Grüße
Ulli


erste Versuche: Weichenbau


 
garti62
InterCity (IC)
Beiträge: 645
Registriert am: 08.11.2011


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#68 von fbstr , 19.03.2017 12:31

Hallo an alle,

ich war auch über die 2,3 A erstaunt. Dann dachte ich aber, vielleicht sind die 0,6A pro Spule und davon sind ja sozusagen 4 Stück drin...

Ichhabe nichts in der MotorShield v2.0 Library gefunden wo ich noch was optimieren könnte, am Schrittmotor habe ich vorsichtshalber alle Anschlüße der zugehörigen Spule mal getauscht, das Ergebnis war aber das gleiche.

Was ich noch machen werde ist den ersten Schrittmotor mal zu testen, der aber laut Datenblatt 2,5A/Phase haben soll (42BYGHW811L20P1-X2). Hatte ich erst später gemerkt und deshalb dann den EMIS gekauft.

Zitat

http://www.ebay.de/itm/CNC-V3-Shield-UNO...rcAAOSwHMJYI3wd



Ich habe mal 2 von diesen bestellt. Müßten Anfang April dann da sein.


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#69 von MicroBahner , 19.03.2017 14:26

Zitat

ich war auch über die 2,3 A erstaunt. Dann dachte ich aber, vielleicht sind die 0,6A pro Spule und davon sind ja sozusagen 4 Stück drin...

Mehr als 2 Spulen sind bei einem Schrittmotor eigentlich nie aktiv. Und sind da wirklich 4 drin? Mir ist jetzt aufgefallen, dass sich auf der Produktseite vom Conrad die techn. Daten deutlich unterscheiden zwischen der Angebotsseite und den 2 verlinkten Datenblättern.... .
Der Strom hängt ja auch wesentlich von der Spannung ab, mit der Du den Motor betreibst und die 12V auf der Conrad-Seite scheinen definitiv nicht zu stimmen. In den Datenblättern ist es jedenfalls wesentlich weniger. Nicht dass dir der Motor irgendwann abraucht...
Das gilt übrigends ganz besonders auch für den Motor mit 2,5A. Da ist als Spulenspannung sogar nur 3,1V angegeben. Diese Motoren solltest Du nie ohne Stromsteuerung betreiben. Da ist das Adafruit Shield definitiv ungeeignet. Das ist auch eher für normale DC-Motore ausgelegt oder so kleine Modellbau Steppermotörchen, wie ich mal für meinen BÜ-Sketch genommen habe. Bei denen brauchst Du keine Stromsteuerung.

Zitat

Ich muss leider sagen, dass so manche Arduino Erweiterung schlecht gemacht ist. Das Shield, das Du verwendest, gehört dazu.

Ich will jetzt nicht behaupten, dass alle Shields toll sind . Aber - ohne Frank zu nahe treten zu wollen - manchmal ist es auch einfach eine Frage der richtigen Auswahl und ob das Shield zur vorgesehenen Aufgabe passt.
Wenn ich mit einem Golf GTI bei einem Formel 1 Rennen mitmachen will, darf ich auch nicht über den Golf schimpfen, wenn ich nicht hinterherkomme

Zitat

da ich mich gerade beim Fräsenbau recht ausführlich mit Schrittmotoren befassen mußte, hier mal ein link:
http://www.ebay.de/itm/CNC-V3-Shield-UN ... SwHMJYI3wd
da ist alles dabei, was Du brauchst. Sogar noch etwas mehr

Das ist so ein Shield wie ich oben im #63/P.S. angesprochen habe. Die Module da drauf sind die, mit denen ich die MobaTools getestet habe. Da hatte sich auch gezeigt, was Michael schon angesprochen hat. Die Stromsteuerung macht sich auch sehr bei der Geräuschentwicklung des Motors bemerkbar. Wenn die passt, läuft er fast wie ein DC-Motor.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#70 von fbstr , 19.03.2017 17:37

Zitat

Und sind da wirklich 4 drin?



Ich bin da absolut kein Experte. Der EMIS hat halt 6 Anschlüße und auf dem Schaubild sozusagen 4 Spulen, wobei jeweils 2 verbunden sind.

Zitat

Nicht dass dir der Motor irgendwann abraucht...



Jupp, der wurde glühend heiß. Habe per Google ein gleiches Thema gefunden - hat mir zwar jetzt noch keine Lösung gebracht, aber manchmal ist es schon gut zu wissen, daß andere das gleiche Problem haben

Inzwischen habe ich mein altes regelbares Netzteil (wo mir damals BigDiesel geholfen hat - dürften so 30 Jahre her sein) statt dem 12V-Netzteil angeschlossen. Obwohl bei dem EMIS von 12V gesprochen wird, wird das ganze bei 3,5 - 4,5V wesentlich besser. Da fließen nur noch 0,6 - 0,8 A und den Motor kann man wieder anfassen.
Allerdings ruckelt nun die Bewegung - auch bei MICROSTEP. Die anderen 3 Modi gehen überhaupt nicht.
Das einzige was ich noch beim Motor Shield anpassen kann ist die "Frequenz".

1
 
AFMS.begin(4000);  // create with the default frequency 1.6KHz
 


Ich habe da inzwischen Werte von 100 bis 4000 getestet, ohne jetzt eine Einstellung gefunden zu haben, wo es sauber ruckfrei läuft.
Und ich habe eigentlich auch keine Idee für was das ist....

Zitat

Das ist so ein Shield wie ich oben im #63/P.S. angesprochen habe. Die Module da drauf sind die, mit denen ich die MobaTools getestet habe. Da hatte sich auch gezeigt, was Michael schon angesprochen hat. Die Stromsteuerung macht sich auch sehr bei der Geräuschentwicklung des Motors bemerkbar. Wenn die passt, läuft er fast wie ein DC-Motor.



Da bin ich dann mal gespannt wie es mit diesem Shield läuft.


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#71 von MicroBahner , 19.03.2017 17:54

Zitat

Der EMIS hat halt 6 Anschlüße und auf dem Schaubild sozusagen 4 Spulen, wobei jeweils 2 verbunden sind.

Dann scheint das untere Datenblatt mit den technischen Daten zu passen. Mit den jeweils 2 verbundenen Spulen kannst Du den Motor bipolar oder unipolar betreiben.

Zitat

Obwohl bei dem EMIS von 12V gesprochen wird,

Also davon steht zumindest im Datenblatt nichts, und das auf der Conradseite ist einfach falsch. Mit einer höheren Spannung und Stromsteuerung kannst Du ein höheres Drehmoment und höhere mögliche Drehzahlen erreicht. Durch die höhere Spannung bekommst Du einen steileren Stromanstieg, aber die Stromsteuerung sorgt dafür, dass der Strom nicht zu hoch wird. Dafür ist dein Shield aber definitiv nicht geeignet - das kann sowas nicht.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#72 von fbstr , 21.03.2017 19:19

Solange ich auf den neuen Motortreiber warte, hätte ich da schonmal weitere 2 Fragen...

1.
Momentan habe ich 5 Taster um den Schrittmotor zu steuern. Beim TimeWaster-Regal konnte ich das ja mit Arrays für Weichen und Entkuppler - Dank Eurer Hilfe - den Sketch sehr übersichtlich gestalten.
Diesmal habe die momentan 5 Tasten unterschiedliche Befehle und ich habe also 5 IF-Kommandos verschachtelt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
void loop() {
 

if (Taster1)
{
Aktion1;
}
else
{
if (Taster2)
{
Aktion2;
}
else
{
if (Taster3)
{
Aktion3;
}
else
{
if (Taster4)
{
Aktion4;
}
else
{
if (Taster5)
{
Aktion5;
}
}
}
}
}
 
}
 


Frage: Gibt es eine Möglichkeit dies wesentlich übersichtlicher zu gestalten?

2.
Die zwei "1 Step"-Taster würde ich gerne mit einer speziellen Weise nutzen. Beim Versuch mittels Eggtimer und Abfrage bin ich aber .... kläglich gescheitert. ops:
Was würde ich gerne machen:
- Bei einem Druck < 2 Sekunden soll der Schrittmotor nur einen Step machen.
- Drücke ich schnell mehrmals hintereinander den Taster (also auch innerhalb 2 Sekunden) z.B. 3 mal, dann soll der Schrittmotor eben 3 Steps machen.
- Halte ich den Taster gedrückt für max. 2 Sekunden soll der Schrittmotor eben nur 1 Step machen
- Halte ich den Taster gedrückt mehr als 2 Sekunden, dann soll der Schrittmotor sich so lange drehen bis ich loslasse.

Leider habe ich meinen - ähem - kläglichen Versuch nicht gespeichert, das Resultat war daß die Bühne sich endlos gedreht hat...

Vielleicht hat jemand einen schönen Tip für mich...


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#73 von fbstr , 21.03.2017 20:28

Hier übrigens der letzte Status der Drehscheibe. Man sieht das Ruckeln ganz gut im Video. Der Hauptlärm kommt durch den Regen, der gegen das Dachfenster prasselt.



Im Hintergrund mein Neuzugang, eine 116er wie es natürlich eine im Bahnpark Augsburg gibt...


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 10.06.2021 | Top

RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#74 von MicroBahner , 22.03.2017 11:58

Hallo Frank,
zu Frage 1:
Ich bin der Meinung, dass Du da gar keine 'else' Zweige brauchst. Schreibe einfach die If's untereinander. Wenn Du dann noch die Aklonen jeweils in einzelne Funktionen verpackst, wird der loop schön übersichtlich:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
void loop() {
....
if (Taster1)
{
Rechtsdrehen180();
}
if (Taster2)
{
Linksdrehen180();
}
if (Taster3)
{
StepLinks();
}
if (Taster4)
{
StepRechts();
}
if (Taster5)
{
Release();
}
 
}
 


Das mit den unnötigen else gilt umsomehr, da deine Aktionen blockierend sind. D.h. solange sich die Scheibe dreht, läuft der Sketch ja nicht weiter und fragt die anderen Taster sowieso nicht ab.
Solltest Du mit dem neuen Shield und dem A4988 die MobaTools einsetzen wollen, musst Du da umdenken. Die Aufrufe der MobaTools blockieren nicht solange der Stepper läuft, sondern kehren sofort zum Sketch zurück. Daher kannst Du im Sketch parallel noch andere Dinge erledigen ( oder mehrere Stepper laufen lassen - was bei Dir jetzt nicht relevant ist ). Bedeutet aber eben auch einen ganz anderen Ablauf des Sketches.
Allerdings ist dadurch auch die maximale Stepfrequenz begrenzt: mehr als ca. 2kHz schafft der Arduino Uno/Nano als Hintergrundaufgabe nicht.
Auch das Microstepping ist mit dem A4988 anders: Dort macht das - im Gegensatz zu deiner jetzigen Lib - der A4988 selbstständig. Für die MobaTools bedeutet das nur, dass für eine Umdrehung mehr Steps benötigt werden ( und damit die Stepfrequenz steigt!). Wenn Du z.B. am A4988 4-fach Microstepping einstellst, braucht dein Motor eben nicht 200 sondern 800 Schritte / Umdrehung.

Zur 2. Frage:
schade, dass Du deinen Versuch nicht gespeichert hast. Wäre vielleicht ja ein Ausgangspunkt gewesen. Manchmal liegt es ja nur an Kleinigkeiten.
Machbar ist das aber. Wie man das am besten einbindet hängt aber auch von der gesamten Struktur des Sketches ab. Ich kann mir ja mal was beispielhaftes überlegen...


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: Optimierung Drehscheibensteuerung

#75 von fbstr , 22.03.2017 22:50

Zitat

Ich bin der Meinung, dass Du da gar keine 'else' Zweige brauchst. Schreibe einfach die If's untereinander.



Hervorragend, auf diese Antwort hatte ich gehofft.


Zitat

Wenn Du dann noch die Aklonen jeweils in einzelne Funktionen verpackst ...




Funktionen definieren ? Das hört sich interessant an! In den "Examples" habe ich darüber nie was gefunden. Also gleich mal gegoogelt und das ganze etwas umgestaltet.
Das funktioniert wie bisher und sieht m. Mng. nach schon viel übersichtlicher aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
 

// Drehscheibe TimeWaster, Frank Becker 2017
// Version 1.2
// UNO R3 Com6, Motor Shield v2.0
 

// For use with the Adafruit Motor Shield v2
// ----&gt; http://www.adafruit.com/products/1438
 

 
#include &lt;Wire.h&gt;
#include &lt;Adafruit_MotorShield.h&gt;
#include "utility/Adafruit_MS_PWMServoDriver.h"
#include &lt;MobaTools.h&gt;
 
// Create the motor shield object with the default I2C address
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
// Or, create it with a different I2C address (say for stacking)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61);
 
// Connect a stepper motor with 200 steps per revolution (1.8 degree)
// to motor port #1 (M1 and M2)
Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 1);
 
const byte buttonFullTurnClockwise = 8 ; //Taster 180Grad Uhrzeigersinn
const byte buttonFullTurnCounterClockwise = 9 ; //Taster 180Grad gegen Uhrzeigersinn
const byte buttonStepClockwise = 10 ; //Taster Step Uhrzeigersinn
const byte buttonStepCounterClockwise = 11 ; //Taster Step gegen Uhrzeigersinn
const byte buttonRelease = 12 ; //Taster um Motor stromlos zu schaltem
 
byte buttonStatusFullTurnClockwise = 0 ;
byte buttonStatusFullTurnCounterClockwise = 0 ;
byte buttonStatusStepClockwise = 0 ;
byte buttonStatusStepCounterClockwise = 0 ;
byte buttonStatusRelease = 0 ;
 
EggTimer myTimer2sec ; //Timer f&#252;r 2 Sekunden
 
byte i; //Z&#228;hlvariable
 
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Stepper test!");
 
pinMode(buttonFullTurnClockwise, INPUT);
pinMode(buttonFullTurnCounterClockwise, INPUT);
pinMode(buttonStepClockwise, INPUT);
pinMode(buttonStepCounterClockwise, INPUT);
pinMode(buttonRelease, INPUT);

AFMS.begin(1600); // create with the default frequency 1.6KHz
//AFMS.begin(1000); // OR with a different frequency, say 1KHz

myMotor-&gt;setSpeed(10); // original 10 rpm
}
 
void loop() {
 
// Stati der Taster einlesen
 
buttonStatusFullTurnClockwise = digitalRead(buttonFullTurnClockwise);
buttonStatusFullTurnCounterClockwise = digitalRead(buttonFullTurnCounterClockwise);
buttonStatusStepClockwise = digitalRead(buttonStepClockwise);
buttonStatusStepCounterClockwise = digitalRead(buttonStepCounterClockwise);
buttonStatusRelease = digitalRead(buttonRelease);

if (buttonStatusFullTurnClockwise == LOW) // Wenn Taster gedr&#252;ckt...
{
FullTurnClockwise(); // ... Funktion ausf&#252;hren
}
if (buttonStatusFullTurnCounterClockwise == LOW) // Wenn Taster gedr&#252;ckt...
{
FullTurnCounterClockwise(); // ... Funktion ausf&#252;hren
}
if (buttonStatusStepClockwise == LOW) // Wenn Taster gedr&#252;ckt...
{
StepClockwise(); // ... Funktion ausf&#252;hren
}
if (buttonStatusStepCounterClockwise == LOW) // Wenn Taster gedr&#252;ckt...
{
StepCounterClockwise(); // ... Funktion ausf&#252;hren
}
if (buttonStatusRelease == LOW) // Wenn Taster gedr&#252;ckt...
{
myMotor-&gt;release(); // ... Schrittmotor stromlos schalten
}
}
 
void FullTurnClockwise() { // Definition als Funktion
Serial.println("180 Grad Drehung (733 steps)im Uhrzeigersinn");
myMotor-&gt;setSpeed(1); // original 10 rpm
myMotor-&gt;step(10, FORWARD, MICROSTEP);
myMotor-&gt;setSpeed(10); // original 10 rpm
myMotor-&gt;step(10, FORWARD, MICROSTEP);
myMotor-&gt;setSpeed(30); // original 10 rpm
myMotor-&gt;step(10, FORWARD, MICROSTEP);
myMotor-&gt;setSpeed(40); // original 10 rpm
myMotor-&gt;step(10, FORWARD, MICROSTEP);
myMotor-&gt;setSpeed(255); // original 10 rpm
myMotor-&gt;step(653, FORWARD, MICROSTEP);
myMotor-&gt;setSpeed(40); // original 10 rpm
myMotor-&gt;step(10, FORWARD, MICROSTEP);
myMotor-&gt;setSpeed(30); // original 10 rpm
myMotor-&gt;step(10, FORWARD, MICROSTEP);
myMotor-&gt;setSpeed(10); // original 10 rpm
myMotor-&gt;step(10, FORWARD, MICROSTEP);
myMotor-&gt;setSpeed(1); // original 10 rpm
myMotor-&gt;step(15, FORWARD, MICROSTEP);
myMotor-&gt;step(8, BACKWARD, MICROSTEP);
myMotor-&gt;step(3, FORWARD, MICROSTEP);
}
 
void FullTurnCounterClockwise() { // Definition als Funktion
Serial.println("180 Grad Drehung gegen Uhrzeigersinn");
myMotor-&gt;setSpeed(255); // original 10 rpm
myMotor-&gt;step(733, BACKWARD, MICROSTEP);
}
 
void StepClockwise() { // Definition als Funktion
Serial.println("1 Step im Uhrzeigersinn");
myMotor-&gt;setSpeed(1); // original 10 rpm
myMotor-&gt;step(1, FORWARD, MICROSTEP);
delay(100);
}
 
void StepCounterClockwise() { // Definition als Funktion
Serial.println("1 Step im Uhrzeigersinn");
myMotor-&gt;setSpeed(1); // original 10 rpm
myMotor-&gt;step(1, BACKWARD, MICROSTEP);
delay(100);
}
 

 



Zitat

Solltest Du mit dem neuen Shield und dem A4988 die MobaTools einsetzen wollen,



Klar will ich dann die Moba-Tools nehmen, dieses Adafruit_MotorShield hat mich nicht so vom Hocker gehauen.
Außerdem will ich bei der DS Nord auch 2 Servos für die Gleissperrsignale schalten - und die sollen sich ja auch schön langsam drehen...

So in 2 Wochen soll die Lieferung anscheinend ankommen. Bis dahin habe ich also Zeit noch die Basics zu lernen...
Z.B. das Beschleunigen und Abbremsen will ich noch eleganter mit einer FOR-Schleife gestallten (dafür habe ich schon eine ganze Weile die Zählvariable i im Sketch)

Zitat

schade, dass Du deinen Versuch nicht gespeichert hast.



Vielleicht kann ich das nochmals replizieren...

Vielen Dank für Deine Hilfe!


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz