RE: Arduino MobaTools: V2.3.1 released

#226 von MoBa_Alfred , 11.11.2016 12:16

Hallo MicroBahner,

erst einmal herzlichen Dank für die hervorragende LIB und die Arbeit, die Du dir damit machst.
Ich bin im Rahmen eines kleinen analogen Modul-Projekts auf der Suche nach Weichen/Servo-Ansteuerung darauf gestoßen.
Den Thread habe ich gleich zweimal gelesen. Schön, dass sich doch so viele mit Arduino und Modellbahn beschäftigen.
Ich habe erst einmal eine Steuerung für 4 Weichen mit Herzstückpolarisation und Ansteuerung über Taster gebaut.
Lief dank deiner tollen LIB und der Beispiele auf Anhieb.

Eine Frage habe ich:

Zitat von MicroBahner
...... noch einen Fehler gefunden ops: : 'inc' werden Werte > 255 zugewiesen, abwohl es nur ein byte ist. Das wird dann in der nächsten Version auch behoben.


Meist Du diese Meldungen?

1
2
3
4
5
6
7
 
/home/alfred/Arduino/libraries/MobaTools-0.6/MobaTools.cpp: In member function 'uint8_t Servo8::attach(int, int, int, bool)':
/home/alfred/Arduino/libraries/MobaTools-0.6/MobaTools.cpp:867:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
servoData[servoIndex].inc = 2000; // means immediate movement
^
/home/alfred/Arduino/libraries/MobaTools-0.6/MobaTools.cpp: In member function 'void Servo8::setSpeed(int)':
/home/alfred/Arduino/libraries/MobaTools-0.6/MobaTools.cpp:959:39: warning: large integer implicitly truncated to unsigned type [-Woverflow]
servoData[servoIndex].inc = 2000; // means immiediate movement
 


Auswirkungen auf die Funktion hat das aber nicht.

Viele Grüße
Alfred


=================================
Mä-M-Gleisanlage und C-Gleisanlage, Digital mit MoBaSbS und TrainController 10
H0e Module mit DR5000(YD7001) und multiMAUS
und aus Altbeständen 6021, IB und MobileStation
=================================


 
MoBa_Alfred
InterCity (IC)
Beiträge: 541
Registriert am: 19.10.2006
Gleise C-Gleis, M-Gleis, Roco H0e Gleis
Spurweite H0, H0e, Z
Steuerung MoBaSbS
Stromart Digital, Analog


RE: Arduino MobaTools: V2.3.1 released

#227 von MicroBahner , 11.11.2016 15:58

Hallo Alfred,
danke für die Blumen . Es freut mich immer, wenn jemand die MobaTools erfolgreich einsetzen kann, denn dafür sind sie ja gemacht.

Zitat von MoBa_Alfred

Meinst Du diese Meldungen?

ja, genau die. Da der Compiler das korrigiert, führt es in der Tat nicht zu einer Fehlfunktion. Ich bin aber der Meinung, dass ein Programm so geschrieben sein sollte, dass der Compiler auch keine Warnungen ausgibt. Nicht immer funktioniert das mit den automatischen Korrekturen, und manchmal versteckt sich hinter einer Warnung auch eine Fehlfunktion.
Deshalb ist es auf jeden Fall besser, wenn es auch keine Warnungen gibt und in der nächsten Version wird das dann ausgemerzt.


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: V2.3.1 released

#228 von Majestix , 17.11.2016 20:39

Ein Hallo an Euch raffinierten Arduino Bastler,
faszinierend was mit den Dingern alles schon möglich gemacht wurde.

Da Ihr den Arduionos schon DCC beigebracht habt, finde ich meine nun kommenden Fragen hoffentlich berechtigt.
Hat schon mal jemand versucht da noch Railcom zu implementieren?
Es geht um die Rücksendung der Adresse via Railcom auf auslösen eines Sensors z.B. Lichtschranke die an einem Eingang des Arduino hängt.
Wäre dies denkbar? Sozusagen ein Rückmelder der seine Meldung als Railcom Adresse ohne großen Kabelaufwand übers Gleis sendet. Rückmelder für den mobilen fliegenden Aufbau wie Teppichbahn und Stammtische.
Ich kenne mich mit solchen Programmierungen leider überhaupt nicht aus. ops:


Viele Grüße Thomas

Frist9 der Modellbahnstammtisch von und für Franken.
https://frist9-stammtisch.webnode.com/


Epoche III + IV; Märklin C-Gleis ; Fuhrpark quer Beet was gefällt, von Märklin - Roco - Fleischmann - Trix - Lilliput - Brawa - ESU


 
Majestix
EuroCity (EC)
Beiträge: 1.418
Registriert am: 10.05.2009
Homepage: Link
Ort: Wilhermsdorf
Gleise Märklin C-Gleis
Spurweite H0
Steuerung ESU ECoS & Rocrail
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#229 von MicroBahner , 20.11.2016 14:56

Hallo Thomas,
grundsätzlich wäre das sicher möglich und auch interessant. Die Railcom-Funktionalität müsste aber direkt in die DCC-Library integriert werden. Die hier in allen Beispielen verwendete DCC-Library ist aber nicht auf 'unserem' Mist gewachsen. Ich habe da die Library von Alex Shepherd ( mrrwa ) eingesetzt. Ob die um Railcom erweitert wird wäre also seine Entscheidung. Ich bin jetzt nicht der Railcom-Experte, aber nach einem ersten Blick auf die Spezifikation ist das sicher nicht trivial.
Ich würde mal davon ausgehen, dass sich da - zumindest kurz bis mittelfristig - nichts tut.


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: V2.3.1 released

#230 von h0-m-jk , 26.11.2016 20:11

Hallo Franz-Peter,

was Du hier zeigst gefällt mir und macht mich neugierig.
Meine Frage ist jetzt für alle bestimmt zu trivial, also falls ich sie löschen soll, schreib mir ne PN und ich entferne sie wieder.

Was muß ich bestellen, um mir einen DCC Dekoder zu bauen und Servos anzuschließen?
Einfach einen Arduino Uno und ein USB Kabel zum Software aufspielen?
Oder brauche ich so ein Starter Kit? Aber da ist viel drin, was ich nicht brauche, oder gibt es da ein spezielles, das Du empfehlen kannst?
Weitere Fragen kommen bestimmt, wenn das Teil mal da ist, bzw viele Antworten finde ich hier schon...


Viele Grüße
Jörg

Sammlung Gleispläne aus dem Stummiforum: viewforum.php?f=154

Bau Marienhofen light: viewtopic.php?f=15&t=180786


 
h0-m-jk
InterCityExpress (ICE)
Beiträge: 2.079
Registriert am: 17.09.2011
Spurweite H0
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#231 von digi_thomas2003 , 26.11.2016 20:24

Hallo Jörg,

ich bin zwar nicht Franz-Peter, aber arbeite auch mit dem Arduino/ESP8266 als Decoder.

Zitat von h0-m-jk
...
Was muß ich bestellen, um mir einen DCC Dekoder zu bauen und Servos anzuschließen?
Einfach einen Arduino Uno und ein USB Kabel zum Software aufspielen?
...


Ein paar elektronische Bauteile brauchst Du auch noch, damit der Arduino das DCC-Signal bekommt.
Hier viewtopic.php?f=21&t=131043 findest Du meine Hardware-Lösung.

Und die Software findest Du auch hier im Stummi-Forum: Die MobaTools von Franz-Peter und für die Auswertung des DCC-Signales die NmraDCC-Library hier http://mrrwa.org/

Viel Erfolg!
Ach ja, Fragen sind natürlich immer willkommen und niemals zu rivial!

Herzliche 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: V2.3.1 released

#232 von garti62 , 27.11.2016 10:36

Hallo Jörg,

ich würde Dir noch ein Experimentier-Steckbrett wärmstens empfehlen. Da kann man alles ohne großen Aufwand zusammenstecken, jederzeit ändern und die Programmierung ausprobieren. Als Arduino reicht da schon ein Nano-Klon für kleines Geld.
Hier mal ein altes Bild, sowas meine ich, gibt's bei jedem Elektronik-Versender:



Viel Erfolg
Ulli


erste Versuche: Weichenbau


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


RE: Arduino MobaTools: V2.3.1 released

#233 von hubedi , 27.11.2016 11:29

Moin Jörg,

Zitat von h0-m-jk
... Was muß ich bestellen, um mir einen DCC Dekoder zu bauen und Servos anzuschließen?
Einfach einen Arduino Uno und ein USB Kabel zum Software aufspielen?
Oder brauche ich so ein Starter Kit? Aber da ist viel drin, was ich nicht brauche, oder gibt es da ein spezielles, das Du empfehlen kannst? ...



Deine Frage nach dem Sinn eines Starter-Kits kann man nicht pauschal beantworten. Es hängt davon ab, wie tief Du Dich in die Materie einarbeiten möchtest. Die mir bekannten Starter-Kits sind tendentiell für wirkliche Anfänger und bieten viele Experimente, die einfach funktionieren. Zumeist ist auch ein Servo dabei und es werden einfache Ansteuerung dargestellt. Du hast dann ein Grundwissen, auf dessen Basis Du weitermachen und eigene Ideen realisieren kannst. Der entspr. Einsatz erlaubt es Dir irgendwann, fast alle programmtechnischen Probleme einer Modellbahnsteuerung in Angriff zu nehmen. Das kann sich durchaus zu einem Hobby im Hobby entwickeln. Aber es sei nicht verschwiegen, dazu reicht das mit einem Starter-Kits erworbene Wissen nicht.

Möchtest Du nur z.B. einen Servodecoder einsetzen, stellt sich die Frage, ob sich der nicht unerhebliche Aufwand des Einarbeitens lohnt. Da würde ich lieber bewährte Bausätze oder Anleitungen nachbauen. Es hängt natürlich auch davon ab, wie viel Vorwissen Du bereits besitzt ...

LG
Hubert


Hier geht's zu den Bauberichten der "Mark Michingen"
Und hier stelle ich mich kurz vor ...

Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. (Henry Ford)


 
hubedi
ICE-Sprinter
Beiträge: 5.878
Registriert am: 24.10.2015
Ort: Südhessen
Gleise Selbstbau-/Umbaugleise
Spurweite N
Steuerung YaMoRC YD7001, Lenz
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#234 von h0-m-jk , 27.11.2016 18:53

Hallo Zusammen,

vielen Dank für die Tipps.
@Ulli: so ein Steckteil habe ich hier noch rumfliegen, das ist gut zum Testen, stimmt.

@Thomas: Deine Srückliste habe ich jetzt im Reichelt Warenkorb, Danke

@Hubert: es geht mir zunächst darum Servos zu steuern, bei N-Modulen. Es bietet sich an, Franz-Peters Layout für die Module von Wolfgang genau zu studieren, sowas ähnliches soll es werden.
Bin aber eher der Software zugeneigt, als der Hardware. Wenn Erfolge da sind, wer weiß was noch kommt...
Habe 3 Nanos mit USB Kabel bestellt.
Muß jetzt sehen, was ich noch bei Reichelt brauche, zB die PINs um die Servos anzuschließen...
Wenn man nicht weiß, wie die Dinger heißen, sucht man sich nen Wolf...

Aber ihr habt mir schon sehr weiter geholfen...

Sorry Franz-Peter daß ich Deinen Thread mißbraucht habe, ich hoffe es lenkt nicht zu sehr vom eigentlichen Thema ab.


Viele Grüße
Jörg

Sammlung Gleispläne aus dem Stummiforum: viewforum.php?f=154

Bau Marienhofen light: viewtopic.php?f=15&t=180786


 
h0-m-jk
InterCityExpress (ICE)
Beiträge: 2.079
Registriert am: 17.09.2011
Spurweite H0
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#235 von MicroBahner , 27.11.2016 19:27

Hallo Jörg,

Zitat von h0-m-jk
Bin aber eher der Software zugeneigt, als der Hardware.

Aber ohne Hardware taugt halt die beste Software nix

Zitat von h0-m-jk
zB die PINs um die Servos anzuschließen...
Wenn man nicht weiß, wie die Dinger heißen, sucht man sich nen Wolf...

Stiftleisten ist das Zauberwort. Am besten die langen geraden. Die sind pro Stift am günstigsten und lassen sich ganz leicht auf die gewünschte Länge kürzen. Da habe ich immer Vorrat

Zitat von h0-m-jk
Sorry Franz-Peter daß ich Deinen Thread mißbraucht habe,

Wieso missbraucht - Du willst doch die MoBaTools einsetzen, und da bist Du hier genau richtig.


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: V2.3.1 released

#236 von Uwe HAL , 28.11.2016 07:38

Hallo Jörg,

schau dir doch mal meinen Beitrag http://stummiforum.de/viewtopic.php?p=1541996#p1541996 in diesem Forum an, dort beschreibe ich, wie ich die Servos an den Nano anschließe. Wäre vielleicht auch für dich eine Lösung.

Gruß Uwe


Liebe Grüße aus Niemberg bei Halle (S) :D

Hier geht's zu meiner Anlage: http://stummiforum.de/viewtopic.php?f=64&t=140522


 
Uwe HAL
InterRegio (IR)
Beiträge: 114
Registriert am: 06.05.2015


RE: Arduino MobaTools: V2.3.1 released

#237 von h0-m-jk , 05.12.2016 22:51

Hallo Uwe,

ein fertiges Shield zu nehmen ist keine schlechte Idee...werde ich mir nochmal anschauen, wenn ich genau weiß, was ich HW-mäßig anschließe.

Hallo Franz-Peter,

Stiftleisten habe ich jetzt...Danke für das Stichwort, und die Servostecker passen sogar drauf...

Nachdem ich erstmal etwas rumprobiert habe mit LED Schaltungen und Tastern, habe ich nun mit dem ersten "sinnvollen" Sketch angefangen.
HWseitig für den Test des Sketches: 1 Taster, 1 LED und ein Servo.

Und tatsächlich passiert das, was beabsichtigt ist. Auf Tastendruck fährt der Servo jeweils in die andere Position.
Die rote LED leuchtet bei Abzweig.
Der von mir verwendete Servo hat allerdings keinen Bewegungsbereich von 180 Grad. Mit Werten außerhalb von ca 45-120 Grad brummte der Servo (wohl weil er die ganze Zeit versuchte in eine Position zu kommen, die er nicht erreichen kann. Mit obigen Werten ist er nach erreichen der Endposition ruhig.
Klar geworden ist mir noch nicht, wie ich die Endpositionen des Servos im eingebautem Zustand programmiere oder festlege und dann auf dem Arduino dauerhaft speichere. Muß mal nach Sketches suchen, die eine Programmierung über DCC machen...

Im Betrieb später am Modul, soll es pro Weiche einen Taster geben und eine rote und eine grüne LED, die die Position anzeigen.
Die Teile für die DCC Eingangsplatine sind noch nicht alle da, aber sobald das Teil fertig ist, sollen die Weichen alternativ über DCC geschaltet werden können, die LEDs sollen weiterhin die aktuelle Position anzeigen.

Die Eieruhr muß ich noch einbauen...
Da auf dem Modul nur zwei Weichen sein werden, werde ich noch einige Ausgänge frei haben, z.B. um Beleuchtung zu schalten etc...mal sehen.

Hier der aktuelle Stand:

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
 
#include <NmraDcc.h>
#include <MobaTools.h>
 

//
// Test mit einem Servo
//
// Hardware:
// 1 Taster mit 10K Pulldown -- Anschluß 2
// 1 LED, rot -- Anschluß 11
// 1 Servo -- Anschluß 12
//
// Ablauf:
// Nach Start des Arduino wird der Servo in Mittelstellung gefahren (somit ist der Einbau einfach möglich)
//
const int servoCount=1; // falls mehr Servos dazu kommen, kann hier erhöht werden
Servo8 servo[servoCount];
const int servoPin[servoCount] = {12}; // pro servoCount muß ein Pin Wert erhöht ergänzt werden
int servoSpeed[5] = {0, 5, 10, 20, 40}; // Test der Servogeschwindigkeit
int pos [3] = {45,90,125}; // die drei Positionen des Servos, Anschlag1, Mitte, Anschlag2 (die Anschläge sollten später programmiert werden und gespeichert
int actSpeed[servoCount] = {0}; // für jeden Servo die aktuelle Geschwindigkeit
int servoPos[servoCount] = {1};
boolean servoMoves[servoCount];
const int servoStraight = 0; // Indexwert in pos
const int servoMiddle = 1;
const int servoCurve = 2;
 
// Button mit 10K Widerstand als pull-down
//
int ledRed = 11; // assign the car lights
int button[servoCount] = {2}; // button pins (jeder Servo -> ein Taster
int buttonState[servoCount];
 
void setup() {
Serial.begin(9600); // Seriellen Monitor aktivieren, um beim "debugging" Werte anzeigen zu können.
Serial.flush(); // flushen der Meldungen
Serial.println(" Welcome to Servo test ");
pinMode(ledRed, OUTPUT); // led PIN als Output definieren
pinMode(button, INPUT); // button on pin 2
digitalWrite(ledRed, LOW); // rote LED ausschalten
for (int i=0; i< servoCount; i++) { // Servos initialisieren: attachen und Geschwindigkeit setzen
servo[i].attach(servoPin[i]);
servo[i].setSpeed(servoSpeed[i]);
servo[i].write(pos[servoPos[i]]); // Servos in positionieren (am Anfang in Mittelstellung für den Einbau
}
}
 
void loop() {
for (int i=0;i<servoCount;i++) {
buttonState[i] = digitalRead(button[i]); // Button status abfragen
if (buttonState[i] == HIGH) { //button wurde gedrückt
if (servoPos[i] == servoMiddle) {
servo[i].write(pos[servoStraight]);
servoPos[i] = servoStraight;
digitalWrite(ledRed, LOW);
}
else if (servoPos[i] == servoStraight) {
servo[i].write(pos[servoCurve]);
servoPos[i] = servoCurve;
digitalWrite(ledRed, LOW);
// digitalWrite(ledgreen[i], HIGH);
// digitalWrite(ledred[i], LOW);
}
else if (servoPos[i] == servoCurve) {
servo[i].write(pos[servoStraight]);
servoPos[i] = servoStraight;
digitalWrite(ledRed, HIGH);
}
} // button pressed
delay(200); //damit ein Tastendruck nur einmal registiert wird. Ziel -> Eieruhr
}// for-loop
}
 



Das macht richtig Spaß mit dem Teil...


Viele Grüße
Jörg

Sammlung Gleispläne aus dem Stummiforum: viewforum.php?f=154

Bau Marienhofen light: viewtopic.php?f=15&t=180786


 
h0-m-jk
InterCityExpress (ICE)
Beiträge: 2.079
Registriert am: 17.09.2011
Spurweite H0
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#238 von Uwe HAL , 06.12.2016 07:47

Hallo Jörg,

ich habe mir mal deinen Sketch angeschaut. Beim Lesen habe ich mich immer wieder gefragt, wie du deinen Taster entprellt hast, bis ich dann am Ende des Sketches auf den Befehl delay(200); gestoßen bin. Meiner Meinung nach ist das keine so gute Lösung. Während der Prozessor 200ms wartet, macht er nichts weiter, er wartet eben. Während dieser Zeit produziert er auch keine Impulse für den Servo (Franz-Peter korrigiere mich bitte wenn ich falsch liege), du hast ihm ja gesagt, er soll warten.

Ich habe das ein wenig anders gelöst, kannst dir das ja mal in meinem Sketch anschauen . Ansonsten finde ich es gut, dass du deinen Sketch hier einstellst, denn nur so kann man Hilfe bekommen beim Lösen von Problemen. Mach weiter so

Ich bin gerade dabei meinen Weichen-Arduino (7 Servos) mit einem zweiten Arduino zu vernetzen um mit Hall-Schaltkreisen eine Gleisbesetztmeldung zu realisieren. Der GBM-Arduino zählt für jedes Gleis, wie viel Waggons und Loks sich auf dem Gleis befinden. Dazu habe ich kleine runde Magnete ( Durchmesser 4mm Höhe 2mm ) unter jeden Wagen und jede Lok geklebt. In die Zufahrtgleise zum Schattenbahnhof habe ich jeweils zwei Kontakte gebaut, daraus kann der Arduino ableiten in welcher Richtung der Zug fährt. Aus der Stellung der Weichen (liefert der Weichen-Arduino über I2C) erkennt der Prozessor, in welches oder aus welchem Gleis sich der Zug bewegt und zählt bei jedem Impuls bei Einfahrt ein hoch bei Ausfahrt eins runter. Ist der Zähler=Null, ist das Gleis frei. Ein Reset-Taster (einzelne Gleise manuell auf Null setzen) und ein Shutdown Taster (speichern der Zählerstände im EEPROM) vervollständigen das Ganze. Sobald die Lösung fertig ist, werde ich hier auch Schaltung und Sketche einstellen, falls das gewünscht wird.

Weiterhin viel Spass beim Programmieren,

Gruß Uwe


Liebe Grüße aus Niemberg bei Halle (S) :D

Hier geht's zu meiner Anlage: http://stummiforum.de/viewtopic.php?f=64&t=140522


 
Uwe HAL
InterRegio (IR)
Beiträge: 114
Registriert am: 06.05.2015


RE: Arduino MobaTools: V2.3.1 released

#239 von h0-m-jk , 06.12.2016 08:11

Hallo Uwe,

Du hast Recht mit dem delay (aber der Servo bewegt sich schon weiter, der bekommt wohl nur die Zielposition "gesagt" und läuft), ich habe im Kommentar oben geschrieben "-> Ziel Eieruhr", also den Eggtimer aus den Mobatools zu verwenden, das delay wird also ersetzt werden.


Viele Grüße
Jörg

Sammlung Gleispläne aus dem Stummiforum: viewforum.php?f=154

Bau Marienhofen light: viewtopic.php?f=15&t=180786


 
h0-m-jk
InterCityExpress (ICE)
Beiträge: 2.079
Registriert am: 17.09.2011
Spurweite H0
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#240 von fbstr , 06.12.2016 08:50

Zitat von Uwe HAL
..., falls das gewünscht wird.



Aber sicher doch! Und wie das gewünscht ist!


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.523
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: V2.3.1 released

#241 von MicroBahner , 06.12.2016 10:22

Hallo Jörg und Uwe,

Zitat von Uwe HAL
Während der Prozessor 200ms wartet, macht er nichts weiter, er wartet eben. Während dieser Zeit produziert er auch keine Impulse für den Servo (Franz-Peter korrigiere mich bitte wenn ich falsch liege), du hast ihm ja gesagt, er soll warten.

Wie Jörg schon beobachtet hat, sind die MoBaTools da schon etwas schlauer . Die gesamte Steuerung der Servos läuft per Interrupts im Hintergrund. Das läuft auch während des delay() Befehls weiter. Es ist also nicht so, dass der Prozessor da gar nichts mehr tut. Der delay-Befehl hält nur den Sketch an, Interruptroutinen werden weiterhin ausgeführt.

Zitat von h0-m-jk
der bekommt wohl nur die Zielposition "gesagt" und läuft

Genau so ist das

Trotzdem ist es natürlich besser, den delay-Befehl zu vermeiden, und den Eggtimer zu nutzen. Das hat Jörg ja auch noch vor.

Noch ein kleiner Tip an Jörg: Variablen, deren Werte sich nur im Bereich 0..255 bewegen können ( das sind bei dir eigentlich alle ) solltest Du nicht als 'int', sondern als 'byte' definieren. Das spart sowohl den rel. knappen Ram (int braucht 2 byte) sondern auch Programmspeicher und Ausführungszeit. Jetzt ist das bei deinem kleinen Sketch zwar noch nicht relevant, aber der könnte ja auch mal größer werden . Der Sketch ist ja auch schon schön ausbaufähig angelegt .


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: V2.3.1 released

#242 von Thorsten Haller , 06.12.2016 12:13

Hallo,

ich verfolge diesen Thread nun schon eine Weile und finde ihn sehr spannend. Und habe dann auch gleich mal eine Frage:

Der Arduino kann ja quasi als DCC-Zentrale fungieren, die via USB an den PC anschließen kann. Das damit Loks, Decoder etc. zu steuern sind, ist klar. Aber kann ich damit auch direkt Rückmeldedekoder "simulieren"? D.h. nicht, dass ich Ausgänge des Arduino an einen Rückmeldedekoder anschließe und die Eingänge damit schalte, sondern direkt im Arduino RMKs setzen kann, die dann als frei/belegt z.B. an ein Steuerungsprogramm im PC gemeldet werden.

Danke!


Viele Grüße
Thorsten


 
Thorsten Haller
InterRegio (IR)
Beiträge: 128
Registriert am: 08.06.2005
Spurweite H0
Steuerung WinDigipet, Intellibox
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#243 von hubedi , 06.12.2016 12:30

Hallo Thorsten

Zitat von Thorsten Haller
... sondern direkt im Arduino RMKs setzen kann, die dann als frei/belegt z.B. an ein Steuerungsprogramm im PC gemeldet werden.



Natürlich kann man dem Arduino via Software auch das beibringen. Die Frage ist nur, wie Du den Arduino an den PC anschließt und welche Steuersoftware dann die Signale auslesen soll / kann.
In Deinem Profil sehen ich, Du verwendest die Intellibox. Wenn die I-Box als Zentrale zwischen PC und Anlage steckt, würde ich den Arduinos LocoNet beibringen und darüber die Rückmeldungen an die Zentrale senden ... die dann ihrerseits mit dem Steuerprogramm redet. Für LocoNet gibt es entspr. Bibliotheken. Der Programmieraufwand sollte sich somit in Grenzen halten.

LG
Hubert


Hier geht's zu den Bauberichten der "Mark Michingen"
Und hier stelle ich mich kurz vor ...

Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. (Henry Ford)


 
hubedi
ICE-Sprinter
Beiträge: 5.878
Registriert am: 24.10.2015
Ort: Südhessen
Gleise Selbstbau-/Umbaugleise
Spurweite N
Steuerung YaMoRC YD7001, Lenz
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#244 von Thorsten Haller , 06.12.2016 13:19

Hallo Hubert,

Zitat von hubedi
Hallo Thorsten

Zitat von Thorsten Haller
... sondern direkt im Arduino RMKs setzen kann, die dann als frei/belegt z.B. an ein Steuerungsprogramm im PC gemeldet werden.



Natürlich kann man dem Arduino via Software auch das beibringen. Die Frage ist nur, wie Du den Arduino an den PC anschließt und welche Steuersoftware dann die Signale auslesen soll / kann.
In Deinem Profil sehen ich, Du verwendest die Intellibox. Wenn die I-Box als Zentrale zwischen PC und Anlage steckt, würde ich den Arduinos LocoNet beibringen und darüber die Rückmeldungen an die Zentrale senden ... die dann ihrerseits mit dem Steuerprogramm redet. Für LocoNet gibt es entspr. Bibliotheken. Der Programmieraufwand sollte sich somit in Grenzen halten.

LG
Hubert




danke für deine Antwort. Ich habe an anderer Stelle gelesen, dass ein Arduino als SRPC kompatible Zentrale an den PC angeschlossen werden kann. Meine Software ist WinDigipet.


Viele Grüße
Thorsten


 
Thorsten Haller
InterRegio (IR)
Beiträge: 128
Registriert am: 08.06.2005
Spurweite H0
Steuerung WinDigipet, Intellibox
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#245 von hubedi , 06.12.2016 14:19

Hallo Thorsten,

Zitat von Thorsten Haller
... Ich habe an anderer Stelle gelesen, dass ein Arduino als SRPC kompatible Zentrale an den PC angeschlossen werden kann. Meine Software ist WinDigipet.



Auch das geht ... allerdings wird dann der Aufwand nicht unerheblich. Schaue Dir dazu vlt. mal diese Seite an. Hier findest Du weitere Informationen. Für SRPC gibt's m.W. auch eine Bibliothek, aber damit habe ich mich noch nicht näher beschäftigt. Das openDCC-Projekt oder der BIDI-Bus (Fichtelbahn) wären für Dich auch Möglichkeiten. Ich bin im Moment überfragt, ob alle genannten Projekte mit WinDigipet kompatibel sind.

Ich dachte aber, Du besitzt mit der I-Box bereits eine Zentrale. Warum möchtest Du selbst noch eine zweite bauen?

LG
Hubert

PS: Ich habe gerade nachgeschaut ... hier ist das SRPC-Projekt angesiedelt ...!


Hier geht's zu den Bauberichten der "Mark Michingen"
Und hier stelle ich mich kurz vor ...

Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. (Henry Ford)


 
hubedi
ICE-Sprinter
Beiträge: 5.878
Registriert am: 24.10.2015
Ort: Südhessen
Gleise Selbstbau-/Umbaugleise
Spurweite N
Steuerung YaMoRC YD7001, Lenz
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#246 von Thorsten Haller , 07.12.2016 09:22

Hallo Hubert,

Zitat von hubedi

[...]
Auch das geht ... allerdings wird dann der Aufwand nicht unerheblich. Schaue Dir dazu vlt. mal diese Seite an. Hier findest Du weitere Informationen. Für SRPC gibt's m.W. auch eine Bibliothek, aber damit habe ich mich noch nicht näher beschäftigt. Das openDCC-Projekt oder der BIDI-Bus (Fichtelbahn) wären für Dich auch Möglichkeiten. Ich bin im Moment überfragt, ob alle genannten Projekte mit WinDigipet kompatibel sind.

Ich dachte aber, Du besitzt mit der I-Box bereits eine Zentrale. Warum möchtest Du selbst noch eine zweite bauen?
[...]
PS: Ich habe gerade nachgeschaut ... hier ist das SRPC-Projekt angesiedelt ...!



die I-Box soll auch weiterhin die "Haupt-Zentrale" bleiben und die wesentlichen Steuerungsaufgaben übernehmen. Da möchte ich mich nicht auf einen selbstgestrickten Arduino verlassen. Welches Projekt openDCC, SRCP, ... letztendlich zum Einsatz kommt, weiß ich noch nicht.
Für mich ist der Arduino eher eine nette Spielerei und Bastelei. Mache das eher aus Neugier, weil mich die Technik und Programmierung interessiert. Und mit der Moba hat man ein tolles Anwendungsgebiet, um ein wenig zu experimentieren.
Meine Idee ist, den Arduino vielleicht als "Ersatz" für doch relativ teure "Spezialbausteine" einzusetzen. Z.b. um LED-Beleuchtungen für Häuser etc. zu realisieren. Da ich meine Anlage weitestgehend automatisieren möchte, bietet sich dann die Kombination mit WDP an.
Bei der Frage nach den Rückmeldefähigkeiten ging es darum, evtl. eine Boosterüberwachung zu implementieren und den Strom zu messen. WDP bietet hierfür eine Möglichkeit zur Anzeige. Die Daten werden über vier Rückmeldekontakte als Binärzahl gesendet. Jetzt ist es natürlich Blödsinn den Wert im Arduino zu messen und dann RMKs zu schalten, wenn ich das auch direkt an den PC melden könnte.


Viele Grüße
Thorsten


 
Thorsten Haller
InterRegio (IR)
Beiträge: 128
Registriert am: 08.06.2005
Spurweite H0
Steuerung WinDigipet, Intellibox
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#247 von garti62 , 25.12.2016 19:42

Hallo Franz-Peter,

Ich bin mal so frei und stell das hier ein, ich denke, hier passt es am besten hin. Da ich auf meinem Bahnhofsmodul Deinen DCC-Decoder in der letzten Version mit Drehencoder einsetzen werde, habe ich mal eine Leiterplatte entworfen und ein Probeexemplar geätzt. Sie ist für vier Servos und die dazugehörenden Relais ausgelegt (mehr brauche ich pro Segment nicht). Es ist nur ein DCC-Eingang vorgesehen, da ich die CV-Programmierung nicht brauche. Da die Pinbelegung deines Sketches recht gut gepasst hat, habe ich sie so gelassen. Man muß also nur die Adressen im Sketch wie gewünscht einstellen, der Rest läuft auf der Platine so wie er ist. Die Platine ist für bedrahtete Bauelemente ausgelegt und auch nicht sehr kompakt (7 x 9cm), so ist das Ätzen einfacher .







Die Leiterplatte wurde mit Target3001 gezeichnet. Für alle, die es interessiert, der Schaltplan und das Layout zum Download. Dazu noch der passende Sketch:

[attachment=0]DCC_Weichendecoder.zip[/attachment]


Schöne Feiertage noch
wünscht Ulli


erste Versuche: Weichenbau

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

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


RE: Arduino MobaTools: V2.3.1 released

#248 von MicroBahner , 07.01.2017 16:59

Hallo Ulli,

Zitat von garti62
Ich bin mal so frei und stell das hier ein

aber gerne doch . Das erleichtert es vielleicht dem einen oder anderen das nachzubauen. Allerdings dürfte nicht jeder die Möglichkeit des Ätzens haben. Die kann man doch sicher auch bei einem Dienstleister machen lassen?

Für den Decoder habe ich allerdings jetzt doch einen eigenen Thread aufgemacht. Den Status einer 'Demo' für die MobaTools hat er sicher überschritten, und man kann ihn eigentlich auch einsetzen ohne das Programm verstehen zu müssen.

@all:
für die MobaTools selber gibt es auch eine Erweiterung (zwar noch als Beta, sollte aber schon ordentlich funktionieren ). Für die Ansteuerung von Schrittmotoren wird jetzt auch der Treiberbaustein A4988 unterstützt. Den gibt's bei ebay auf einer kleinen Platine recht günstig. Damit lassen sich sehr elegant auch bipolare Schrittmotore ansteuern.


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: V2.3.1 released

#249 von Doomsday ( gelöscht ) , 07.01.2017 17:48

Zitat von MicroBahner
@all:
für die MobaTools selber gibt es auch eine Erweiterung (zwar noch als Beta, sollte aber schon ordentlich funktionieren ). Für die Ansteuerung von Schrittmotoren wird jetzt auch der Treiberbaustein A4988 unterstützt. Den gibt's bei ebay auf einer kleinen Platine recht günstig. Damit lassen sich sehr elegant auch bipolare Schrittmotore ansteuern.



Uh oh, ich hoffe aber mal, daß sein Gemüt im Betrieb aber stabil bleibt...

LG,
Michel

Sorry, konnte nicht widerstehen


Doomsday

RE: Arduino MobaTools: V2.3.1 released

#250 von garti62 , 07.01.2017 18:02

Hallo Franz-Peter,

deshalb hab ich das originale Target3001-Projekt angehängt. Da kann jeder die Platine nach seinen Wünschen ändern und die Datei für eine Bestellung bei einem Dienstleister für die Filmerstellung oder das Ätzen nutzen. Man muß nur die kostenlose Demo-Version von Target herunterladen.
So, jetzt muß ich mir erst mal Deine Neuerungen ansehen und schauen, ob ich alles verstehe .

Schönes Wochenende noch
Ulli


erste Versuche: Weichenbau


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


   

Innenbeleuchtung für Fleischmann 742080 BR 642
Alte Märklin Transformator ersetzen

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