RE: Arduino MobaTools: V2.3.1 released

#126 von franz_H0m , 06.03.2016 20:52

Hej Allezusammen,

Zitat von MicroBahner
Man muss auch unterscheiden zwischen dem unkontrollierten Einschaltruckler beim Anlegen der Versorgungsspannung, und der schnellen (aber kontrollierten) Bewegung, wenn die Servoposition nicht mit der Initialposition im Sketch übereinstimmt.



Ja, völlig klar. Dem Einschaltruckler, zumindest bei meinen Servos, komme ich auch nicht bei, wenn ich die Versorgungsspannung erst nach Anliegen eines Pulse (also nach dem ersten write) einschalte. Den Schaltungsaufwand kann ich mir also sparen.

Dein Hinweis auf die Mechanik ist völlig korrekt und weckt mein schlechtes Gewissen (was nicht hier hin gehört ops: ).

Zitat von MicroBahner

Zitat von franz_H0m
PS: Ich habe den Pullup am Optokoppler weggelassen, funktioniert auch.

War nach dem Studium des Datenblatts auch nicht anders zu erwarten



Genau, schön wenn es mal so funktioniert, wie es soll .

Was mich zu meinem Problem bringt: Ich arbeite schon etwas länger an einer Weichensteuerung, bevor ich Deine Mobatools entdeckt habe. Diese ist zunächst als eigenständige, nicht-digitale Lösung gedacht, da ich erst mit meinem Anlagenbau weiterkommen will, ehe ich alle Loks etc digitalisiere. Ein DCC Interface hatte ich schon in der Hardware vorgesehen, und wollte ich aktivieren, sobald ich die NMRADCC-Beispiele verstanden hatte . Dank Deines einfachen DCC Weichendecoders war der Teil ein Kinderspiel

Im nächsten Schritt habe versucht, Deine Servo-Klasse statt der Standard-Klasse zu verwenden, wegen der Möglichkeit, die Geschwindigkeit einzustellen und die Pulse auszuschalten. Leider verwende ich i2c um die Weichen lokal zu steuern und die Lage anzuzeigen

1
2
 
#include <Wire.h>  
#include <MobaTools.h>
 



vertragen sich aber nicht, der i2c ist tot und alle vier sekunden bekommt eines der Relais ein Flattern. Könnte es an Deiner Schrittmotoransteuerung liegen?

(Den ganzen Sketch gibt es bei Github, das besondere ist, dass ich Gruppen von Weichen samt dazugehörigen Herzstückrelais steuere und auch noch Gleisrelais als Flankenschutz. Eine ziemlich angepasste Speziallösung und programmieren habe ich auch nie gelernt, eher kopieren...)


Grüße, Franz

Mitglied bei den Lundarallarna.
Avatar: MAN-Zugmaschine der Ottensener Industriebahn (Foto: Dr. Ullrich Huckfeld).


 
franz_H0m
InterCity (IC)
Beiträge: 552
Registriert am: 02.11.2008
Ort: Lund, Sweden
Gleise Tillig/Eigenbau
Spurweite H0m
Steuerung z21PG DCC
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#127 von Mape71 ( gelöscht ) , 06.03.2016 21:07

Hallo zusammen,

das mit der Mechanik ist komplett korrekt - zumindest theoretisch. Wenn genug Platz vorhanden ist den kompletten Servoweg über diverse Hebel auf ca. 3mm Weg zu bekommen. Bei dem, was unter der Anlage bereits los ist bin ich mit meinen weiter vorne gezeigten Halterungen schon recht großzügig unterwegs - und da sind nur 2 Servos eingebaut. Daher wäre mein Traumszenario eine weitestgehend elektronische Absicherung der Mechanik. Auch ich würde mir für meine Signale und Schranken flüssigere Bewegungen wünschen als das, was der Servo auf einem Viertel seines Drehweges zu bieten hat - aber trotz leichtem Ruckeln bin ich schon 1000 Mal besser als der gute alte Magnetspulenantrieb[emoji12]

Von daher - wenn es da Möglichkeiten gibt (wie z.B. bei meinen Weichenservodecodern von Joka - ist sicher kein guter Vergleich, aber da bewegt sich kein Servo beim Einschalten - dann fände ich das sehr gut.

Viele Grüße

Marko


Mape71

RE: Arduino MobaTools: V2.3.1 released

#128 von johnbobjamesson , 07.03.2016 10:34

Also, ich habe es mittlerweile so gelöst, dass ich diese Abfrage:

1
2
3
4
 
if ( digitalRead( progPin) == LOW ) 
progMode = ADDRMODE;
else
progMode = NORMALMODE;
 



so geändert habe, dass ich "ADDRMODE" und "NORMALMODE" jeweils durch "PROGMODE" ersetzt habe. Die Abfrage findet also statt, schaltet aber jeweils in Progmode Da ich an dem progPin nichts dran habe, passiert da auch nichts.

Ich habe übrigens festgestellt, dass die POM-Programmierung über die MobileStation2 nicht funktioniert, wenn man in der mit der POM-Adresse des Boards angelegten Lok die POM Programmierung nimmt. Man muss in der MS2 den Menüeintrag CV ändern (oder programmieren, weiss ich gerade nicht) nehmen. Man bekommt zwar keine Rückmeldung, aber dann kommen die CV-Änderungen auch an

Ergebnis: Bei mir funktioniert es jetzt. Da ich Bodos Platine nutze, habe ich per se erst einmal nur 6 Servos zur Verfügung, werde aber die GND Pins der Servoanschlüsse doppelt belegen und mir so die A0-A3 auch erschließen und dann hoffentlich 10 Servos ansteuern. Hoffe ich

Claudio


johnbobjamesson  
johnbobjamesson
RegionalExpress (RE)
Beiträge: 85
Registriert am: 24.04.2015


RE: Arduino MobaTools: V2.3.1 released

#129 von Mape71 ( gelöscht ) , 07.03.2016 10:48

Hallo miteinander,

ich habe noch einmal eine generelle Frage zur POM Programmierung. Wenn ich das über meine Zentrale, ESU ECOS 50200, mache, dann habe ich zur Auswahl, ob ich auf dem Hauptgleis eine Lokomotive, oder einen Schaltartikdeldekoder programmieren möchte. Ist das in anderen Zentralen auch so und weiß jemand, was da der Unterschied ist?

Vielen Dank und Grüße

Marko


Mape71

RE: Arduino MobaTools: V2.3.1 released

#130 von MicroBahner , 07.03.2016 10:54

Hallo ihr 3,

Zitat von franz_H0m
Im nächsten Schritt habe versucht, Deine Servo-Klasse statt der Standard-Klasse zu verwenden, wegen der Möglichkeit, die Geschwindigkeit einzustellen und die Pulse auszuschalten. Leider verwende ich i2c um die Weichen lokal zu steuern und die Lage anzuzeigen

Code: Alles auswählen
#include <Wire.h>
#include <MobaTools.h>

vertragen sich aber nicht, der i2c ist tot und alle vier sekunden bekommt eines der Relais ein Flattern. Könnte es an Deiner Schrittmotoransteuerung liegen?

Das ist mir jetzt noch nicht klar, wieso die MoBaTools und das I2C nicht zusammen funktionieren sollten. Ich muss mir mal anschauen, wie die wire-Lib aufgebaut ist und das dann mal testen.

Zitat von Mape71
Von daher - wenn es da Möglichkeiten gibt (wie z.B. bei meinen Weichenservodecodern von Joka - ist sicher kein guter Vergleich, aber da bewegt sich kein Servo beim Einschalten - dann fände ich das sehr gut.

Wenn wir das Einschalten (fast) ohne Ruckler hinbekommen, wäre das natürlich schon gut. Ich habe gesehen, dass der Joka-Decoder für die Servo-Versorgung einen einstellbaren Spannungsregler vorgesehen hat (LM317). Mit dem kann man auch ein 'weiches' Einschalten realisieren. Vielleicht ist das ja die Lösung. Da werd' ich mal ein wenig experimentieren müssen.

Zitat von johnbobjamesson
Ich habe übrigens festgestellt, dass die POM-Programmierung über die MobileStation2 nicht funktioniert, wenn man in der mit der POM-Adresse des Boards angelegten Lok die POM Programmierung nimmt. Man muss in der MS2 den Menüeintrag CV ändern (oder programmieren, weiss ich gerade nicht) nehmen. Man bekommt zwar keine Rückmeldung, aber dann kommen die CV-Änderungen auch an

Ich verwende für die Tests auch die MS2. Bei mir funktioniert die PoM-Programmierung aber mit einer entsprechend eingerichteten Lok-Adresse. Wenn Du in der MS2 den Menüeintrag 'CV programmieren' wählst, arbeitet die MS2 mit der Programmiergleis-Einstellung. D.h. dass dann alle angeschlossenen Decoder auf die CV-Änderungen reagieren. Damit kannst Du dann allerdings auch die DCC-Addressen des Decoders ändern (was mit der PoM-Programmierung ja nicht geht). Eigentlich sollte mit deinen Änderungen die PoM-Programmierung immer aktiv sein. Muss ich auch mal so ausprobieren .


Jetzt habe ich also erstmal wieder ein paar 'Hausaufgaben' zu erledigen . Mal schauen, wie schnell ich dazu komme. Kann schon ein wenig dauern.... Ich werde mich zwischendurch auch mit 'Teilergebnissen' melden


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

#131 von Mape71 ( gelöscht ) , 07.03.2016 10:58

Hallo Franz-Peter,
hört sich gut an, ich bin gespannt, wie die nächste Version aussieht. Vielen Dank schon einmal.

Beste Grüße

Marko


Mape71

RE: Arduino MobaTools: V2.3.1 released

#132 von MicroBahner , 07.03.2016 11:02

Zitat von Mape71
Wenn ich das über meine Zentrale, ESU ECOS 50200, mache, dann habe ich zur Auswahl, ob ich auf dem Hauptgleis eine Lokomotive, oder einen Schaltartikdeldekoder programmieren möchte. Ist das in anderen Zentralen auch so und weiß jemand, was da der Unterschied ist?

Hallo Marko,
bei der MS2 gibt es da keine Unterscheidung. Die PoM-Addressierung macht man immer über eine Lok-Addresse. Steht in der ESU-Beschreibung nichts dazu da, was da jeweils unterschiedlich ist? Hast Du mal beide Möglichkeiten ausprobiert?


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

#133 von Mape71 ( gelöscht ) , 07.03.2016 11:05

...probiert habe ich beides, bin mir aber über die Effekte nicht im Klaren. Werde auch noch mal im ESU Forum suchen, die Anleitung werde ich mir heute Nachmittag noch mal vornehmen.

Viele Grüße

Marko


Mape71

RE: Arduino MobaTools: V2.3.1 released

#134 von johnbobjamesson , 07.03.2016 21:55

Also, der Versuch, über POM bei der MS2 zu programmieren, ging nicht - es wurden keine Pakete ausgewertet, im Debug Fenster passierte schlicht nichts. Auch ein Reset wurde nicht ausgeführt. Bei CV ändern kam es an, reset ging.

Claudio


johnbobjamesson  
johnbobjamesson
RegionalExpress (RE)
Beiträge: 85
Registriert am: 24.04.2015


RE: Arduino MobaTools: V2.3.1 released

#135 von franz_H0m , 08.03.2016 12:37

Hej Franz-Peter und Marko,

Zitat von Mape71
bei meinen Weichenservodecodern von Joka - ist sicher kein guter Vergleich, aber da bewegt sich kein Servo beim Einschalten



Sind das die exakt gleichen Servos?

Zitat von MicroBahner
Ich habe gesehen, dass der Joka-Decoder für die Servo-Versorgung einen einstellbaren Spannungsregler vorgesehen hat (LM317). Mit dem kann man auch ein 'weiches' Einschalten realisieren.



Ich hatte auch darüber nachgedacht, woran das liegen könnte, dass dort die Servos nicht ruckeln. Mir ist aufgefallen, dass meine Servos sehr nervös reagieren, wenn es kleine Störungen der Versorgungsspannung gibt. Eventuell braucht es gar kein "weiches Einschalten", sondern nur eine entsprechend stabile Versorgungsspannung. Eventuell zieht der Motor kurz an, dann kann es momentan mal eine sehr hohe Stromaufnahme geben. Ich hatte meine Tests bisher immer mit der Spannungsversorgung des Arduinos gemacht. Die bricht eventuell kurz zusammen. Dann würde eine stabile externe 5V-Versorgung reichen.


Grüße, Franz

Mitglied bei den Lundarallarna.
Avatar: MAN-Zugmaschine der Ottensener Industriebahn (Foto: Dr. Ullrich Huckfeld).


 
franz_H0m
InterCity (IC)
Beiträge: 552
Registriert am: 02.11.2008
Ort: Lund, Sweden
Gleise Tillig/Eigenbau
Spurweite H0m
Steuerung z21PG DCC
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#136 von Mape71 ( gelöscht ) , 08.03.2016 13:20

Hallo Franz,

ja, die Servos sind exakt die gleichen.

Viele Grüße

Marko


Mape71

RE: Arduino MobaTools: V2.3.1 released

#137 von garti62 , 08.03.2016 14:54

Hallo Decoderbastler,

das deckt sich mit meinen bisherigen Erfahrungen zum Thema Einschaltzucken. Es hängt zum einen eindeutig mit dem gewählten Servotyp zusammen, da reagiert jeder anders. Und zum andern mit einer leistungsfähigen Spannungsversorgung für die Servos. Im Einschaltmoment zieht der Servo kurzzeitig einen recht hohen Strom, der sich schnell summiert. Vom Arduino würde ich die Servos gar nicht direkt betreiben. Für 1-2 Servos reicht ein 7805 an einem nicht zu schwachen Trafo, bei mehreren Servos würde ich ein kleines 5V-Schaltnetzteil mit 3-5A empfehlen. Da die kleinen Arduino-Klone aber mitlerweile spottbillig sind, kann ich nur empfehlen, einfach ein paar mehr Decoder für je z.B. 2 Servos einzusetzen. Ferner habe ich einen Widerstand von ca. 5kOhm zwischen Servosignal und +5Volt geschaltet. Das wurde mal im Rahmen eines Servotests im open-DCC Projekt empfohlen, die Seite finde ich jetzt auf die Schnelle leider nicht. Auf jeden Fall schadet es nicht. Ich mache das so und habe damit das Einschaltzucken minimiert, man muß schon sehr genau hinsehen, wenn man es erkenne will. Probierts einfach mal aus.

Viel Erfolg wünscht
Ulli

Edit: Ich hab den link bzgl. des Widerstands noch gefunden!


erste Versuche: Weichenbau


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


RE: Arduino MobaTools: V2.3.1 released

#138 von Doomsday ( gelöscht ) , 08.03.2016 17:18

Hallo zusammen,

Was das Servozucken angeht, scheint das immer dann aufzutreten, wenn der Servo Strom ohne Signal bekommt.

Davon ausgehend, daß der Servodecoder die letzte Position des Servos speichert, und dies auch einen


Doomsday

RE: Arduino MobaTools: V2.3.1 released

#139 von Mape71 ( gelöscht ) , 08.03.2016 20:27

Hallo Ulli,

Danke für den 5kOhm-Tip. Die Servos machen jetzt keinen Muchs mehr- es sei denn die Zentrale gibt den Befehl dazu[emoji12]

Viele Grüße

Marko


Mape71

RE: Arduino MobaTools: V2.3.1 released

#140 von johnbobjamesson , 08.03.2016 22:34

Also, ich schließe einfach das Servosignal mit der 5v Leitung durch einen 5kohm "kurz"? Hast Du das auf der Platine oder im abgehenden Kabel gelöst ?

Claudio


johnbobjamesson  
johnbobjamesson
RegionalExpress (RE)
Beiträge: 85
Registriert am: 24.04.2015


RE: Arduino MobaTools: V2.3.1 released

#141 von MicroBahner , 08.03.2016 23:18

Na,ja 'kurzschliessen' ist bei einem 5kOhm Widerstand wohl nicht gegeben . Aber bei mir hilft der Tipp von Ulli auch. Nachdem ich den Pullup-Widerstand in die Ansteuerleitung eingebaut habe, zuckt das Servo beim Einschalten auch praktisch nicht mehr. Eine ordentliche Spannungsversorgung braucht man aber schon - aus den 5V des Nano sollte man den Servo nicht betreiben.


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

#142 von Mape71 ( gelöscht ) , 08.03.2016 23:52

Hi Claudio,

ich habe den Widerstand stehend zwischen +5V und dem Servosignal auf Bodo's Platine gelötet. Das Signalkabel vom Servo habe ich dann direkt an das Bein vom Widerstand gelötet. +5V für die Servos hole ich mir vom benachbarten Lötpunkt (da ich nur 2 Servos pro Decoder betreibe gibt es da genug freie Stellen.

Viele Grüße

Marko


Mape71

RE: Arduino MobaTools: V2.3.1 released

#143 von UweS , 09.03.2016 09:02

Hallo,

schade habe momentan sehr wenig Zeit, kann nur mitlesen und nicht mittesten.

Macht nicht so schnell, damit ich nicht zuviel aufholen muß.


Uwe

Lenz Digital seit 1993, seit 2020 Roco z21 und steuern mit der Z21 App, Traincontroller Gold, Mikromodellbau, Car Motion


 
UweS
InterRegioExpress (IRE)
Beiträge: 340
Registriert am: 02.02.2012
Spurweite H0, 1
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#144 von MicroBahner , 09.03.2016 16:18

Hallo Franz,
zu den I2C-Problemen: Ich habe jetzt mal den Decoder um einen I2C-Anschluß mit einem PCF8574 ergänzt. Dazu musste ich halt den 8.Servo deaktivieren ( I2C an Port A4/A5 ).
Am PCF8574 hängen 8 Leds, die ich im 500ms-Takt durchzählen lasse. Das funktioniert problemlos parallel zu der Decoderfunktion. Während sich die Servos drehen, zählen die Leds einfach weiter. D.h. grundsätzlich vertragen sich Wire-Lib und MoBaTools also. Dein Problem muss woanders liegen.
Die MoBa-Tools enthalten eine Debug-Funktionalität. Ist die aktiv, so werden an den Ports A2-A5 Testsignale ausgegeben, um mit einem Logic-Analyser oder DSO Tests machen zu können. Könnte es sein, dass die bei dir aktiv ist? Vor dem Verteilen der Lib habe ich die eigentlich immer abgeschaltet und in der V0.6 habe ich das auch nochmal kontrolliert. Aber vorsichtshalber solltest Du mal nachschauen, denn mit aktiviertem Debug funktioniert I2C nicht (Überschneidung der Ports A4/A5).
Dazu musst Du in MobaTools.cpp nachschauen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 

...
#include "MobaTools.h"
#include &lt;avr/interrupt.h&gt;
#include &lt;Arduino.h&gt;
 
// Debug-Ports
//define debug &lt;--- Diese Zeile muss auskommentiert sein ( kein #define debug )
#ifdef debug
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define MODE_TP1 DDRF |= (1&lt;&lt;2) //pinA2
#define SET_TP1 PORTF |= (1&lt;&lt;2)
#define CLR_TP1 PORTF &amp;= ~(1&lt;&lt;2)
...
 
 


Gegebenenfalls werde ich auch noch versuchen, deinen Code bei mir zum Laufen zu bringen.

Hallo Uwe,

Zitat von UweS
Macht nicht so schnell, damit ich nicht zuviel aufholen muß.

Ab nächste Woche laufen bei mir erstmal andere Aktivitäten, da muss die MoBa eine ganze Weile zurückstehen. Da gibt's dann also eh 'ne längere Pause


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

#145 von UweS , 09.03.2016 17:04

Hallo Franz- Peter,

Zitat
da muss die MoBa eine ganze Weile zurückstehen



oh, da kann ich aufholen.

Fragee? Wolltest Du nicht einen neuen Beitrag beginnen?


Uwe

Lenz Digital seit 1993, seit 2020 Roco z21 und steuern mit der Z21 App, Traincontroller Gold, Mikromodellbau, Car Motion


 
UweS
InterRegioExpress (IRE)
Beiträge: 340
Registriert am: 02.02.2012
Spurweite H0, 1
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#146 von garti62 , 09.03.2016 17:38

Hallo,

kurzer Zwischenruf: bitte keinen neuen Beitrag, läßt bitte alles schön zusammen hier. Danke!

Ulli


erste Versuche: Weichenbau


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


RE: Arduino MobaTools: V2.3.1 released

#147 von SET800 , 09.03.2016 17:50

Zitat von MicroBahner
Hallo,
wenn wir den Arduino für die MoBa einsetzten, so gibt es einige Aufgaben, die immer wieder vorkommen:




hallo,
auch eine Frage betreff Arduino,

ich habe meine Signale, Weichen und auch Rückmeldungen ( Kontaktschienen und neu Hall-Sensoren ) via Optokoppler auf einem Arduino-Mega, kann dort einige Automatikprogramme abrufen, parallel dazu habe ich klassische Stellpultfunktion mit Kontakt nach Masse.

Das funktuioniert alles.

Frage wie könnte ich den Arduino Mega via USB, I²C oder CAN-interface mit und welchem opensource Gleisbildtellpult auf einem Laptop verbinden.


Welche sketche auf dem Arduino, was im Laptop?

Gruß


Wenn die Anlage größer wird, die I/Os des Mega nicht ausreichen, ggf. 2 oder 3 Mega in den Laptop einbinden?


SET800  
SET800
EuroCity (EC)
Beiträge: 1.453
Registriert am: 05.12.2010
Ort: Mühldorf am Inn
Spurweite H0, Z
Stromart AC, Digital


RE: Arduino MobaTools: V2.3.1 released

#148 von MicroBahner , 09.03.2016 18:20

Zitat von SET800
Frage wie könnte ich den Arduino Mega via USB, I²C oder CAN-interface mit und welchem opensource Gleisbildtellpult auf einem Laptop verbinden.

Grundsätzlich kann man dem Arduino über die USB-Schnittstelle nicht nur das Programm übertragen, sondern auch Kommandos, die man im Programm entsprechend abfragt. Zur Gleisbild-Software auf dem Laptop kann ich aber gar nichts sagen - da kenn ich mich nicht aus. Vielleicht solltest Du da deine Frage im 'Software und Hardware' Forum stellen? Da gibt's wahrscheinlich mehr Spezialisten für eine solche Software.

Zitat von garti62
kurzer Zwischenruf: bitte keinen neuen Beitrag, läßt bitte alles schön zusammen hier. Danke!

War halt mal ein Gedanke, weil der jetzt besprochen Decoder ja über eine Demo für die MoBaTools schon etwas hinausgeht

Nochmal an Franz:

Zitat von MicroBahner
Gegebenenfalls werde ich auch noch versuchen, deinen Code bei mir zum Laufen zu bringen.

Das habe ich jetzt gemacht, und der Sketch läuft eigentlich vollkommen identisch, egal ob ich die Standard-Servo-Lib oder die MoBaTools einbinde. Du solltest aber die Ausgabe auf I2C nur machen, wenn sich dort was ändert. Fürs Einlesen reicht auch ein wesentlich größerer Zeittakt. So schnell kannst Du die Taster ja gar nicht drücken . So häufig, wie Du den I2C ansprichst, belastet das den Nano schon ganz ordentlich, und da ist das Servo auch etwas unruhig, da die Impulslänge ja softwaremäßig erzeugt wird, sowohl mit der Servo- als auch mit MoBaTools Lib. Am besten wäre wohl, den Int-Ausgang des PCF8574 zu nutzen, und nur abzufragen, wenn auch tatsächlich ein Taster gedrückt wird.

Edit: noch ein Hinweis: Du solltest beim Initiieren der Dcc-Lib den Aufruf von Dcc.init und Dcc.pin vertauschen. Dcc.pin muss zuerst aufgerufen werden, sonst funktioniert es nicht mehr, wenn ein anderer Eingangspin verwendet wird. Wir verwenden jetzt zwar immer Pin2/IRQ0, aber wenn du es doch mal ändern solltest, sucht du ewig warum es nicht funktioniert ....


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

#149 von MicroBahner , 09.03.2016 22:20

Zitat von johnbobjamesson
Also, der Versuch, über POM bei der MS2 zu programmieren, ging nicht - es wurden keine Pakete ausgewertet, im Debug Fenster passierte schlicht nichts. Auch ein Reset wurde nicht ausgeführt. Bei CV ändern kam es an, reset ging.

Hallo Claudio,
Wenn PoM mit der MS2 bei dir nicht geht, kann es eigentlich nur daran liegen, dass das Programm entweder nicht im PoM Mode startet, oder die Adresse falsch ist. Im Debugfenster muss in der 1. Zeile
PoM Start of Program
stehen.
Um noch die aktive PoM-Addresse auszugeben, musst du eine Programmzeile hinzufügen (an Besten als letzte Zeile im setup-Programm):

1
2
 
    DB_PRINT( "PoM-Addr: %d" , Dcc.getCV( (int) &amp;CV-&gt;PomAddrLow )+256*Dcc.getCV( (int) &amp;CV-&gt;PomAddrHigh ) ); 
 
 

Wenn das alles richtig ist, wüsste ich nicht, was der Unterschied zu meinem Aufbau ist, und da funktioniert es.

P.S. der CV-Wert muss sich auch tatsächlich ändern, sonst siehst Du nichts. Die Dcc-Lib prüft das, und wenn sich der CV-Wert nicht verändert hat, wird das EEPROM nicht geschrieben, und es gibt auch keine Rückmeldung an den Sketch.


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

#150 von franz_H0m , 10.03.2016 08:48

Hej Franz-Peter,

Zitat von MicroBahner
Nochmal an Franz:

Zitat von MicroBahner
Gegebenenfalls werde ich auch noch versuchen, deinen Code bei mir zum Laufen zu bringen.

Das habe ich jetzt gemacht, und der Sketch läuft eigentlich vollkommen identisch, egal ob ich die Standard-Servo-Lib oder die MoBaTools einbinde.




Danke danke danke fürs viele Testen - und die guten Tipps für die Verbesserung meines Codes . Ich werde erst am Wochenende dazu kommen alles auszuprobieren, aber es wäre ja gelacht, wenn es nicht ginge.

Zitat von MicroBahner
Ab nächste Woche laufen bei mir erstmal andere Aktivitäten, da muss die MoBa eine ganze Weile zurückstehen. Da gibt's dann also eh 'ne längere Pause



Ein Glück, dann brauche ich kein schlechtes Gewissen zu haben, dass wir Dir hier soviel Arbeit machen. rost:


Grüße, Franz

Mitglied bei den Lundarallarna.
Avatar: MAN-Zugmaschine der Ottensener Industriebahn (Foto: Dr. Ullrich Huckfeld).


 
franz_H0m
InterCity (IC)
Beiträge: 552
Registriert am: 02.11.2008
Ort: Lund, Sweden
Gleise Tillig/Eigenbau
Spurweite H0m
Steuerung z21PG DCC
Stromart Digital


   

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