RE: Arduino MobaTools: V2.3.1 released

#201 von Manfred ( gelöscht ) , 19.09.2016 09:35

Hallo Franz-Peter,
danke für den Hinweis auf V0.3, ich habe es nicht gewust. Den Sketch habe ich mir angesehen und es ist mir gleich aufgefallen, auch hier wird Include EggTimer aufgerufen. Du schriebst in einem früheren Tread geschrieben der Aufruf sei in der neusten Version der MobaTools enthalten und kann aus dem Sketch gelöscht werden. Ist das hier auch so. Außerdem fiel mir auch noch auf const byte schrankeZuP = 7; // Pin HIGH bedeutet Schranke schliessen . Der Schalter soll laut Zeichnung aber nach Masse schalten. Ist das ein Fehler?
viele Grüße
Manfred


Manfred

RE: Arduino MobaTools: V2.3.1 released

#202 von MicroBahner , 19.09.2016 09:55

Hallo Manfred,
ja, in Bezug auf die aktuellen MobaTools gilt bei der Bue-Steuerung V.03 das gleich wie bei der V0.2, D.h. es müssen die gleichen Anpassungen vorgenommen werden, denn auch die 0.3 ist ja schon recht alt und nur kurz nach der V0.2 entstanden.

Das mit Pin7 ist schon korrekt so. Es heißt einfach, das mit dem Schließen des Schalters die Schranke geöffnet wird.
Standardzustand bei nicht angeschlossenem Schalter ist also Schranke zu. Ist ein Sicherheitsmerkmal


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

#203 von Manfred ( gelöscht ) , 19.09.2016 13:37

Hallo Franz-Peter,
ich habe den Sketch angepaßt und auf den Nano geladen. Die LED am Glockenausgang blinkt 15 mal wenn der Schalter geöffnet wird. Ein anders Sevo mit der gleichen Bezeichnug reagiert genauso wie das erste. Wenn ich die Signalleitung zum Servo trenne und das Servo nicht am Endanschlag ist, bricht die Versorgungspannung nicht zusammen. Das Verhalten ist an Port 9 und 10 gleich. Sind vielleicht die voreingestellten Parameter der Endlagen für meine Servos falsch? Wenn das so ist, weis ich aber nicht wo und mit welchen Werten ich was ändern kann. Und noch eine Frage: Igendwo habe ich im Tread gelesen, das mit den MobaTools auch mehr als 2 Pins (Servos) angesteuert werden können.
viele Grüße
Manfred


Manfred

RE: Arduino MobaTools: V2.3.1 released

#204 von Manfred ( gelöscht ) , 20.09.2016 13:38

Hallo Franz-Peter,
ich muss mich an dieser Stelle bei dir entschuldigen, der Fehler lag wie du es schon vermutet hattest in der Stromversorgung. Die Spannung ist nicht genug gegättet. Trotzdem bleibt die Frage nach dem Glockensiegnal. Beim Schließen der Schranke werden 15 Impulse erzeugt. Ich brauche aber weniger. Schranke AUF werden nochmals 3 Impulse erzeugt. Diese brauche ich garnicht. Wo und mit welchen Werten kann ich das verändern.
Viele Grüße
Manfred


Manfred

RE: Arduino MobaTools: V2.3.1 released

#205 von MicroBahner , 20.09.2016 19:58

Hallo Manfred,
Du musst dich gar nicht entschuldigen - Fehler kommen halt vor. Schön, dass die Ursache jetzt gefunden ist.

Der Glockenausgang ist beim Schließen der Schranke während der Schrankenbewegung aktiv. D,h. solange sich das Servo bewegt ( und noch eine kurze Nachlaufzeit danach ) werden Glockenimpulse ausgegeben. Es gibt also keine feste Impulsanzahl und damit auch keine Stelle wo man die ändern könnte. Was Du ändern kannst ist der Abstand zwischen 2 Impulsen. Damit werden natürlich dann auch weniger Impulse während der ( unveränderten ) Bewegungszeit der Schranke ausgegeben. Bei Schranke AUF sollen eigentlich gar keine Impulse erzeugt werden. Ich habe das bei mir nochmal nachgestellt - da gibt es auch keine Impulse beim Öffnen.

Der Glockenrhytmus wird mit den Zeilen

1
2
3
 
#define GLOCKE_ZYK  1000    // Glockenzyklus und Impulslänge muss an das angeschlossene Soundmodul
#define GLOCKE_PULS 200 // angepasst werden.
 
 

festgelegt.
Die Nachlaufzeit ( also Schranke schon zu, aber noch GLockenimpulse ) Ist in der Zeile

1
2
 
const int nachlaufZu    = 2000;     // Nachlaufzeit: Schranke zu, Glocke nochaktiv
 
 

definiert

Bei den derzeit aktuellen MoBa-Tools (V0.6) werden die Servoimpulse per Software erzeugt und sind daher nicht mehr an feste Ports gebunden. Es können auch bis zu 16 Servos angesteuert werden.


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

#206 von Frogger84 , 23.09.2016 08:08

Hallo Franz Peter,

ich folge deinem Beitrag mit großem Interesse, habe aber leider meinen Prototypen für die EPL-Weichen (LGB) so gut wie fertig. Basis ist bei mir der ATtiny85, der ausschließlich mit dem internen Oszillator betrieben wird(bei mir bisher ohne Probleme). Einen Schönheitsfehler hat meine Software leider noch. Die Adressen sind genau wie bei dir anfangs nicht über eine CV einstellbar, sondern direkt in der µC Software. Vielleicht verstehe ich das noch mit dem Auslesen der CV's und den Befehlen von der Zentrale dafür.

Zu deiner Schaltung zur DCC Auskopplung ich aber noch ein paar Fragen/Anmerkungen.

Zitat von MicroBahner
... und die Schaltung, um das DCC-Signal an den Arduino zu bringen:


Wieso hast Du R3 und R4 eingebaut? Einer von beiden könnte raus fliegen und der Wert für R3 entsprechend der verwendeten DCC Spannung angepasst werden(z.B. bei 12V DCC auf 1KOhm).
Zum "Angstkondensator" C1 würde ich wenn es Dir möglich ist empfehlen mit einem Oszilloskop das Signal Eingangs und Ausgangsseitig zu prüfen. Eventuell machst du dir die Flanke beim Polaritätswechsel damit kaputt(hochfrequente Signalanteile bei Flankenwechseln von Rechtecksignalen), da der Kondensator für diese Anteile wie ein Widerstand wirkt. Die Folge müsste doch sein, dass Deine Signalflanken nicht mehr so steil sind.
Zu R1, den kannst du beim 6N137 getrost weglassen, da es sich um einen reinen Logikeingang des Optokopplers handelt, der eine ENABLE-Funktion zur Verfügung stellt(5V an Pin7 bedeuten, dass die am Eingang anliegende Spannung auf den Pin 6 übertragen wird, ist Pin 7 mit Masse verbunden, dann ist der Ausgang deaktiviert.
Für die DCC-Entkopplung muss Pin7 (E) einfach nur an 5V Logikpegel liegen.

Gruß Michael


 
Frogger84
InterRegio (IR)
Beiträge: 100
Registriert am: 16.07.2012


RE: Arduino MobaTools: V2.3.1 released

#207 von Manfred ( gelöscht ) , 23.09.2016 09:15

Hallo Franz-Peter,
ich habe gemäß deiner Schaltung für die 5V nachgebaut, lediglich eine 1A Sicherung und einen Brückengleichrichter eingefügt. Trozdem fährt das Servo beim Einschalten der Stromversorgung bis an den Anschlag. Bei eingebauten Schranken führt das zur Zerstörung. Wenn ich die Stomversorgung des Arduino nicht über USB sondern von den 5V der nachgebauten Stromversorgung betribe, fährt das Servo hin und her. Es sieht dabei so aus, als würde der Arduino immer wieder neu gestartet. Nebenbei habe ich mir ein Osci geliehen. Die Signal an Port 9/10 sind 1,8 ms bzw. 1,25 ms bei 5V. Hast du eine Erkärung für dieses Verhalten. Ich habe auch mal versucht an den von dir vorgeschlagenen Parametern zu verändern, konnte aber keine Veränderungen feststellen. Ich verzweifele so langsam.
viele Grüße
Manfred


Manfred

RE: Arduino MobaTools: V2.3.1 released

#208 von MicroBahner , 23.09.2016 10:04

Hallo Michael,
freut mich, dass Du dich für meinen Beitrag interessierst. Auch ich habe vor meinen Arduino Aktivitäten viel mit den Atmel Prozessoren direkt gearbeitet (über AVR Studio programmiert). In meiner MoBa werkeln da einige. Der interne Oszillator ist da auch oftmals verwendet. Das reicht in vielen Fällen aus. Einnen Quarz braucht man eigentlich nur, wenn das Timing exakt sein muss oder wenn man die volle Performance braucht. Mit Quarz kommt man halt auf höhere Taktfrequenzen.
Was mich am Arduino fasziniert ist auf der einen Seite die Einfachheit für den Einsteiger, auf der anderen Seite aber auch die Möglichkeit beliebig tief einzusteigen. Und es ist durch die Libraries einfacher eigene Arbeiten auch anderen zur Verfügung zu stellen. Die HW ist inzwischen so günstig, dass sich der Kauf von nackten Prozessoren kaum noch lohnt.

Die Diskussion zu der von Dir referenzierten Schaltung hatten wir glaube ich vor einiger Zeit schon, und es ist auch alles richtig was Du schreibst. Da ein interner PullUp vorhanden ist, müsste man Pin 7 des Optokopplers eigentlich gar nicht verbinden.
Der Kondensator stört übrigends nicht, dazu ist er zu klein und die Flanken sind auf jeden Fall noch steil genug. Allerdings hilft er auch nicht viel. Ich hatte vor kurzem im Zusammenhang mit der NMRA-DCC Library bei einem Anwender ein Problem mit der Bit-Decodierung. Als Ursache stellte sich heraus, dass seine Zentral bei Belastung an den Flanken Störimpulse von ca 1µs Länge produzierte, die dann fehlerhafte IRQ's erzeugten. Das konnte der Kondensator auch nicht verhindern. Um sowas zu unterdrücken braucht es dann schon eine etwas komplexere Schaltung.

Was die CV-Programmierung angeht, ist der Einsatz einer Lib schon vorteilhaft. Da muss man sich um die Protokolldecodierung nicht mehr selbst kümmern. Ist auch ein Vorteil der Arduino Umgebung


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

#209 von MicroBahner , 23.09.2016 10:24

Hallo Manfred,
das ist ja echt blöd . Wenn Du den Arduino über USB betreibtst, kann es in der Tat sein, dass er öfters zurückgesetzt wird, da jedes initiieren der Usb-Schnittstelle zu einem Prozessor Reset führt. Das passiert dan u.U. auch, wenn Du ein ganz anderes USB-Gerät verbindest.
Du könntest noch versuchen, den Steuereingang des Servo über einen 4,7kOhm Widerstand mit 5V zu verbinden. Das verhindert, dass Dieser Eingang während des Prozessor Reset offen ist ( die Arduino Pins sind nach einem Reset bis zur Initiierung hochohmig ). Das reduziert bei vielen Analogservos auch das Einschaltzucken deutlich. Vielleicht haben deine Servos da auch Probleme. Die Impulse im Normalbetrieb sind ja - wie du per Oszi geprüft hast - in Ordnung.
Wenn alle Stricke reißen könnte ich Dir noch anbieten, dass Du mir deine Schaltung mal schickst und ich mir das dann selbst anschaue. Das machen wir dann aber per PN aus.

Das sich eine Änderung der Parameter nicht auswirkt wundert mich jetzt schon. Was hast Du denn geändert?


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

#210 von Manfred ( gelöscht ) , 23.09.2016 12:43

Hallo Franz-Peter
ich habe wahrscheinlich an die falschen Parametern (const int vorlaufZu = 6000; und const int nachlaufZu = 2000; ) verändert. Der Widerstand am Servo-Signaleingang sorgt für die gewünschte Unterdrückung des Einschaltzucken. Aber der Arduino macht alle 1 - 2 sec ein Reset. Dabei fährt das Servo von einer Endstellung zur anderen. Dabei bricht die Versorgung von 5V auf unter 4V zusammen. Was ist mit PN gemeint.
viele Grüße
Manfred


Manfred

RE: Arduino MobaTools: V2.3.1 released

#211 von melior , 23.09.2016 15:06

Hallo Manfred,

Zitat von Manfred
Aber der Arduino macht alle 1 - 2 sec ein Reset.


ist ein Watchdog-Timer aktiv?

Wenn der Watchdog zuschlägt, dann vermute ich einen Fehler in der Software.

Tschüß André


melior  
melior
InterRegio (IR)
Beiträge: 125
Registriert am: 27.12.2007
Gleise Tillig Elite
Spurweite H0
Steuerung OpenDCC
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#212 von MicroBahner , 23.09.2016 16:46

Hallo Manfred,
auch wenn Du z.B. den vorlauf-Parameter deutlich verkleinerst, solltest Du da schon einen Unterschied bei der Glocke merken. Da der Glockenausgang aber eh nur jede Sekunde aktiv wird, muss Du die Werte schon deutlich verändern ( sind alles ms, Du musste den Wert also um mehr als 1000ms reduzieren, damit die Glocke 1mal weniger schlägt )

Passieren die Resets auch ohne angeschlossenen PC ( keine USB-Verbindung )?. Und hängt Arduino und Servo dann direkt an der selben Versorgung?
Wieviel Spannung muss der 7805 den 'verbraten'? Wird der heiß?

PN ist eine private Nachricht - ein forumsinternes Mailboxsystem. Was man da verschickt ist nicht öffentlich - es können nur Sender und Empfänger lesen.
Du hast jetzt eine PN - schau mal oben rechts unter 'Private Nachrichten'.

P.S: Ein Watchdog-Timer ist in dem Sketch nicht aktiv.


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

#213 von fbstr , 03.10.2016 13:03

Zitat von MicroBahner
...eine Drehscheibensteuerung mit Schrittmotor wäre auch sicher ein interessantes Projekt. ...
Wenn da Interesse besteht, könnte ich mir das tatsächlich mal vornehmen .



Absolut! Habe mich gerade durch die 9 Seiten durchgewühlt und das Thema wird mich in den nächsten Wochen/Monaten beschäftigen.
Vielen Dank für die bisherige tolle Arbeit!

Gruß
Frank


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

#214 von hubedi , 31.10.2016 22:15

Hallo Franz-Peter,

ich bin gerade über Deinen Thread gestolpert und dabei, mir Deine Bibliothek und die resultierenden Programme anzusehen. Vielen herzlichen Dank für Deine beachtliche Arbeit!
Ich bin nebenbei damit angefangen, mir für meine Selbstbaudrehscheibe mit Schrittmotor eine Arduino-Steuerung zu überlegen. Ich verwende zur Ansteuerung einen Pololu kompatiblen A4988, der sich m.E. für diesen Job sehr gut eignet. Über das einfache Drehen der Mechanik ist mein Projekt aber noch nicht herausgekommen. Bevor es weiter geht, muss ich mir Gedanken über die Erfassung eines Referenzpunktes (Gabellichtschranke) und die Art der Bedienung machen. Ich bin mir noch nicht sicher, ob die Scheibe später via DCC oder schlicht und einfach über ein Tastenfeld bedient werden soll. Hast Du Dir zu diesen Fragen schon einmal Gedanken gemacht?

Aber jetzt will ich mich mal weiter in Deinen Thread vertiefen. Schließlich suche ich auch noch nach einem Weichen-Servodecoder, der auch eine Herzstückpolariserung mit kompletter Abschaltung des Weichenherzstücks während des Umlegens mit zwei Relais beherrscht. Schön wäre natürlich auch eine "Programmierung" des Stellweges über ansteckbare Tasten oder so ... mal sehen, was ich bei Dir dazu finde ... oder auf Basis Deiner schönen Vorarbeit ergänzen kann!

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

#215 von MicroBahner , 01.11.2016 11:32

Hallo Frank,

Zitat von fbstr

MicroBahner hat geschrieben:
...eine Drehscheibensteuerung mit Schrittmotor wäre auch sicher ein interessantes Projekt. ...
Wenn da Interesse besteht, könnte ich mir das tatsächlich mal vornehmen .

das etwas verkürzte Zitat erzeugt da eine falsche Erwartungshaltung. Auf meiner Anlage gibt's keine Drehscheibe, und ich besitze auch gar keine. Es ging in dem zitierten Beitrag darum, den Schrittmotor langsam anlaufen zu lassen, damit er bei schnellen Bewegungen keine Schritte verliert, wenn man ihn aus dem Stand gleich mit der vollen Impulsfrequenz beaufschlagt. Das das auch für eine Drehscheibensteuerung gut einsetzbar wäre war eine Idee dahinter. Die Steuerung selber kann ich mangels Zielobjekt nicht angehen

Hallo Hubert,

Zitat von hubedi
Ich verwende zur Ansteuerung einen Pololu kompatiblen A4988, der sich m.E. für diesen Job sehr gut eignet.

Ja, der liegt bei mir auch schon rum, zusammen mit einem etwas kräftigeren Schrittmoter als den, den ich für die Schranke verwendet habe. Den will ich dann auch mit den MoBaTools ansteuerbar machen. Es gibt aber noch keinen konkreten Zeitplan dafür.


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

#216 von fbstr , 02.11.2016 09:22

Zitat von MicroBahner
...das etwas verkürzte Zitat erzeugt da eine falsche Erwartungshaltung...



Keine Angst, ich wollte damit keinen Druck aufbauen

Momentan warte ich noch auf Zahnräder, dann muß ich mal im Jugendhaus am Lasercutter die Grube und Befestigung Lasern lassen bevor ich überhaupt an den Arduino denken kann.
Alleine schon das softe Anfahren und Abbremsen wird sehr interessant für mich sein. Also kein Grund für Dich eine Drehscheibe zuzulegen...


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

#217 von MicroBahner , 03.11.2016 11:30

Zitat von fbstr
Alleine schon das softe Anfahren und Abbremsen wird sehr interessant für mich sein.


Hallo Frank,
dazu habe ich mir auch schon ein paar Gedanken gemacht. Ist allerdings nicht ganz trivial, da es speziell in der allgemein gehaltenen Lib dann eine ganze Reihe Sonderfälle zu beachten gibt. Wird also sicher nicht kurzfristig kommen. Die Unterstützung des Treiberbausteins A4988 ist wesentlich einfacher zu implementieren - das wird wahrscheinlich zuerst kommen. Der bietet auch eine Reihe interessanter Möglichkeiten.
Derzeit bin ich auch ein wenig hin- und hergerissen zwischen Arduino und Weiterbau an meinem Eisberg. . Mal sehen was sich stärker durchsetzen 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: V2.3.1 released

#218 von hubedi , 03.11.2016 18:35

Hallo Franz-Peter,
der A4988 erleichtert das Ansteuern eines Schrittmotors erheblich. Für einen sanften Motorlauf war bei meiner Drehscheibenmechanik mindestens ein Viertelschritt-Betrieb notwendig. Eine Voll- oder Halbschrittansteuerung erzeugten eine Menge Radau, der noch durch die Anlagenkonstruktion als Resonanzboden verstärkt wurde. Mit dem A4988 ist das nur ein Umschalten einer Hardwarecodierung. Nur mit Software wird's schwierig. Auch das erwünschte sanfte Anfahren und Bremsen der Drehscheibenbühne ist, mit dem A4988 keine Zauberei. Ob es aber sinnvoll ist, alle Modellbahnfunktionen in eine Bibliothek zu packen ... hm ... Du hast es ja schon gesagt, es gäbe jede Menge Sonderfälle. Und zu allem Überfluss wäre bei einer Selbstbau- Drehscheibe noch die Eigenart der Mechanik zu berücksichtigen. Ich habe Konstruktionen mit Zahnriemengetriebe, Schneckenantrieben (wie bei mir) oder einer direkten Verbindung von Motorachse und Bühne gesehen. Da ließen sich wohl nur allgemeine Grundfunktionen in einer Bibliothek formulieren.

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

#219 von digi_thomas2003 , 06.11.2016 14:45

Hallo Franz-Peter,

nach längerer Abstinenz habe ich mich heute mal wieder dem Thema MobaTools angenommen.
Da ich mich in der letzten Zeit intensiver mit dem ESP8266 beschäftigt habe, habe ich mir nun vorgenommen, den BÜ-Decoder (viewtopic.php?f=21&t=127532&start=150#p1466143) vom Arduino Nano auf einen NodeMCE (ESP-12E) zu migrieren.

Die NmraDcc-Library wurde schon dementsprechend angepasst.

Beim Kompilieren meines Sketches bekomme ich allerdings folgende Fehlermeldung bzgl. den MobaTools:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Arduino: 1.6.12 (Windows 7), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"
 
Build-Optionen wurden verändert, alles wird neu kompiliert
C:UsersAdministratorDocumentsArduinolibrariesMobaToolsMobaTools.cpp:24:27: fatal error: avr/interrupt.h: No such file or directory
 
#include <avr/interrupt.h>
 
^
 
compilation terminated.
 
exit status 1
Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).
 
 



Beim Nano läuft die Kompilierung durch, es gibt allerdings folgenden Hinweis:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Build-Optionen wurden verändert, alles wird neu kompiliert
C:UsersAdministratorDocumentsArduinolibrariesMobaToolsMobaTools.cpp: In member function 'uint8_t Servo8::attach(int, int, int, bool)':
 
C:UsersAdministratorDocumentsArduinolibrariesMobaToolsMobaTools.cpp:867:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 
servoData[servoIndex].inc = 2000; // means immediate movement
 
^
 
C:UsersAdministratorDocumentsArduinolibrariesMobaToolsMobaTools.cpp: In member function 'void Servo8::setSpeed(int)':
 
C:UsersAdministratorDocumentsArduinolibrariesMobaToolsMobaTools.cpp:959:39: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 
servoData[servoIndex].inc = 2000; // means immiediate movement
 
^
 

Der Sketch verwendet 13.852 Bytes (45%) des Programmspeicherplatzes. Das Maximum sind 30.720 Bytes.
Globale Variablen verwenden 1.246 Bytes (60%) des dynamischen Speichers, 802 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
 



Kannst Du mir bitte weiterhelfen, wie ich beim ESP8266 die angeblich fehlende Datei interrupt.h einbinden kann?
Vielen Dank!!

Warum will ich eigentlich auf den ESP8266 umsteigen? Mir schwebt da so eine Idee vor, die CVs dann mal über eine Webpage per WLAN zu programmieren. Ich habe das schon bei anderen Projekten erfolgreich umgesetzt (z.B. Robotersteuerung, farbige LEDs,...).

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

#220 von histor , 06.11.2016 15:08

Zitat von hubedi
Hallo Franz-Peter,
Ich habe Konstruktionen mit Zahnriemengetriebe, Schneckenantrieben (wie bei mir) oder einer direkten Verbindung von Motorachse und Bühne gesehen. Da ließen sich wohl nur allgemeine Grundfunktionen in einer Bibliothek formulieren.



"Drehscheibe" für den Schattenbahnhof aus einem Plattenteller mit Riemenantrieb und Schrittmotor hätte etwas. Das Arduino-Programm könnte einfacher und robuster sein als für eine Drehscheibe mit Ein- und Ausfahrt im Bahnbetriebswerk, nämlich Startstellung Ausfahrgleis - Ansteuerung Einfahrgleis per Taster und genaues Drehen bis zur Gleislage - Ansteuerung Ausfahrgleis (d.h. insgesamt 180° Drehung) und somit wieder Startstellung.


Freundliche Grüße
Horst
viewtopic.php?f=64&t=50018


 
histor
Metropolitan (MET)
Beiträge: 3.646
Registriert am: 06.09.2010
Homepage: Link
Ort: Niedersachsen-Nordost
Spurweite H0
Stromart DC, Analog


RE: Arduino MobaTools: V2.3.1 released

#221 von MicroBahner , 06.11.2016 15:13

Hallo Hubert,

Zitat von hubedi
Ob es aber sinnvoll ist, alle Modellbahnfunktionen in eine Bibliothek zu packen ...

Nein, dass ist sicher nicht sinnvoll und auch wohl kaum möglich.
Die Anfahr- und Bremsrampe, die ich da im Sinn habe, ist aber nichts modellbahnspezifisches. Es geht darum, Schrittverluste zu vermeiden, wenn man den Motor vom Start weg mit rel. hoher Schrittfrequenz betreibt. Das ist einfach eine Frage der Massenträgheit des Systems. Die 'Sonderfälle' bezogen sich darauf, dass man berücksichtigen muss wenn während der Rampe Tempo oder Zielposition verändert wird. Zuerst werde ich aber jetzt mal die Unterstützung des A4988 einbauen.

Hallo Thomas,
schön mal wieder von dir zu hören. Ja, auf den ESP8266 bin ich über die nmradcc-Lib auch schon aufmerksam geworden. Unabhängig von der Wlan-fähigkeit ist er einfach auch ein extrem günstiger 32bit Prozessor. Nachdem in der Dcc-Lib bei der bit-Decodierung die Abhängigkeit von den AVR-Prozessoren entfernt wurde, ist dort die Portierung auf andere Prozessoren inzwischen relativ einfach.

Bei den MoBa Tools sieht das leider anders aus: Dort wird der Timer 1 der AtMegas sehr intensiv genutzt. Deshalb laufen die MoBa Tools leider nur auf den Arduinos mit AVR 8-Bit Prozessoren. Die Portierung auf andere Prozessorfamilien ist recht aufwändig, und müsste für jede Familie getrennt gemacht werden. Deshalb bin ich da noch nicht rangegangen. Vielleicht sollte ich aber mal den eingesetzten Prozessor abfragen und dann eine passende Compilermeldung generieren .

Hallo Horst,
Eine Drehscheibe aus einem Plattenteller mit Riemenantrieb ist eine Interessante Idee. Problem könnte sein, dass bei einem Plattenspieler die Riemenkopplung normalerweise recht 'lose' und elastisch ist, damit die Motorvibrationen nicht auf die Platte übertragen werden. Das könnte Probleme bei der exakten Positionierung geben - müsste man mal probieren.
Das Arduino-Programm für einen Sbf wird sicher etwas einfacher, weil gegebenenfalls nicht so viele Anschlüsse zu bedienen sind. Die Herausforderung ist aber immer die Stellung so exakt hinzubekommen, dass die Schienen auch genau fluchten - und das ist im Sbf mindestens genau so wichtig.


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

#222 von digi_thomas2003 , 06.11.2016 15:55

Hallo Franz-Peter,

Zitat von MicroBahner
...
Hallo Thomas,
...
Bei den MoBa Tools sieht das leider anders aus: Dort wird der Timer 1 der AtMegas sehr intensiv genutzt. Deshalb laufen die MoBa Tools leider nur auf den Arduinos mit AVR 8-Bit Prozessoren. Die Portierung auf andere Prozessorfamilien ist recht aufwändig, und müsste für jede Familie getrennt gemacht werden. Deshalb bin ich da noch nicht rangegangen. Vielleicht sollte ich aber mal den eingesetzten Prozessor abfragen und dann eine passende Compilermeldung generieren .
...



vielen Dank für Deine Antwort!
Dann muss ich also bei Verwendung eines ESP8266 ohne Deine hervorragenden MobaTools auskommen. Schade, kann es aber absolut nachvollziehen!
Wenn ich wieder etwas Luft habe, versuche ich mal, die BÜ-Steuerung auf dem ESP ohne die MobaTools zu realisieren.

Fällt Dir noch was ein zu dem Hinweis beim Kompilieren auf einem Nano?

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

#223 von histor , 06.11.2016 19:44

Zitat von MicroBahner
Eine Drehscheibe aus einem Plattenteller mit Riemenantrieb ist eine Interessante Idee.


Ich hatte so etwas schon mal bei früheren Versionen meiner Anlage. Allerdings mit "Handbetrieb". Funktionierte zufriedenstellend. Jetzt - mit den elektronischen Möglichkeiten - kann ich mir eine Schattenbahnhofsteuerung für 6 bis 7 Gleise mit Lokrückführungsgleis vorstellen. Vorteil = es wären halb so viele Weichen nötig, wie bei einer Kehrschleife und die Wagenreihung des rückkehrenden Zuges bleibt korrekt. Nachteil = Das Umsetzen der Loks. Daher dieses Umsetzen möglichst weit automatisieren.

Riemenantrieb wegen der Übersetzung, z.B. 6 Motordrehungen = eine Plattentellerdrehung. Stelle ich mir einfacher vor als Diektantrieb. Den Riemen habe ich noch vom Originalantrieb.


Freundliche Grüße
Horst
viewtopic.php?f=64&t=50018


 
histor
Metropolitan (MET)
Beiträge: 3.646
Registriert am: 06.09.2010
Homepage: Link
Ort: Niedersachsen-Nordost
Spurweite H0
Stromart DC, Analog


RE: Arduino MobaTools: V2.3.1 released

#224 von hubedi , 06.11.2016 20:47

Hallo zusammen,

ein Riementrieb für eine Drehscheibe ist sicher eine gute Lösung. Ich würde allerdings nicht auf einen alten Plattenspieler zurückgreifen. Wie hier schon geschrieben wurde sind diese Antriebe nicht auf Schlupffreiheit ausgelegt, sondern auf einen geräuschlosen Betrieb und eine weiche Ankopplung des Motors. Da lohnt es sich schon mehr, einen alten Drucker auszuschlachten und dessen Zahnriemen zu verwenden. Oder man kauft sich gleich die Bauteile, wie sie für Selbstbau-CNC-Werkzeuge oder 3D-Drucker eingesetzt werden. Sie kosten nicht die Welt, stellen aber eine punktgenaue Steuerung sicher. Schrittverluste werden auch hier durch ein weiches Anfahren und Abbremsen vermieden. Für den A4988 gibt es viele Programmbeispiele, die sich adaptieren lassen.
Für meine Drehscheibe überlege ich gerade, wie ich den Referenzpunkt erfassen kann. Mein Favorit ist eine Gabellichtschranke. Die Unterbrechung ist allerdings von der Drehrichtung abhängig. Das muss ich natürlich bei der Positionierung berücksichtigen.
Im Augenblick stehen aber andere Dinge im Vordergrund.

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

#225 von MicroBahner , 06.11.2016 22:48

Hallo Thomas,

Zitat von digi_thomas2003
Fällt Dir noch was ein zu dem Hinweis beim Kompilieren auf einem Nano?

Vielleicht sollte ich bei meiner IDE die warnings auch eingeschaltet lassen (war mir aber nicht bewusst, dass ich die mal ausgeschaltet hatte ). Da hast Du nämlich 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.

Hallo Horst,

Zitat von histor
Nachteil = Das Umsetzen der Loks. Daher dieses Umsetzen möglichst weit automatisieren.

Das ist auch noch sowas, was bei mir schon ewig auf der ToDo Liste steht . Für meine Nebenbahn ist im Sbf eine Umsetzanlage vorgesehen, die den Betrieb im Endbahnhof simulieren soll. Allerdings ohne Drehscheibe und nur für einen Zug. Vor allem das zuverlässige Ab- und Ankuppeln ist da sicher nicht ganz ohne.


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


   

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