RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#51 von bertr2d2 , 13.04.2016 21:43

Kleines Update:

Das Projekt ist nicht tot. Im Gegenteil: in den letzten Wochen habe ich die Software nun soweit erweitert, das der CANBuster seine Kernkompetenz beherrscht Rückmelden funktioniert incl. Entprellung. Es lassen sich einige Parameter einstellen, die auch nach einem Neustart eingestellt bleiben.
Zudem stellt der CANBuster zeitgleich (wenn gewollt) ein Interface zum CAN-Bus (mit USB-Seriell Wandler) dar. Ich habe ein paar Lasttests mit Dauerfeuer (> 1000 Pakete/sec) auf dem CAN-Bus gemacht - schafft er mit Bravur. Ein Vergleich zu kommerziellen Produkten hält das Interface locker stand und macht nebenbei auch noch ein paar andere Sachen Der Code verwendet viele Teile des CAN-CAN Interfaces von Darron Broad - ein Meister seines Fachs
Über den CAN-Bus (Wellington CAN-Bootloader von Darron) ist der CANBuster auch Update fähig. Und das auch über den integrierten seriellen Wandler. Falls es notwendig ist, lassen sich einfach Updates einspielen.

Hier nochmal ein Überblick über die bereits fertig gestellten Fähigkeiten des CANBusters:
- 16 Rückmelder über CAN-Bus (M*rklin Format)
- In der Schaltung Update fähig (PicKit2/3 Header oder preiswerter USB-Seriell Wandler)
- CAN-Bootloader
- integrierter Serieller CAN-Bus Wandler (SLCAN API) - "PC Interface"
- 4 Port PWM (Servos)

Geplant ist noch folgendes:
- Gleisspannung Überwachung - Speichern der Zustände nach Stromausfall
- S88 Interface
- I2C Interface für z.B. Status-Display oder 16 Kanal PWM (PCA9685)
- Web-Interface zum Konfigurieren (über Linux PC oder SBC / Router)
- endlich Dokumentieren ops:

Ein Gleisbox ist zum Betrieb nicht notwendig - der CANBuster stellt einen eigenständigen CAN-Bus Knoten dar.

Gruß

Gerd

P.S.: Wie es sich für einen Prototypen gehört hat auch die erste CANBuster Platinen-Version ein paar kleine Fehler. Diese lassen sich relativ einfach korrigieren bzw. stören nicht. Nichtsdestotrotz werden ich bald eine neue Version erstellen.


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#52 von bertr2d2 , 14.04.2016 19:12

Hallo,

hier noch ein paar Skizzen, um den Zweck des CANBusters näher zu erläutern:



Hier ist der CANBuster u.a. ein klassischer Rückmelder am CAN-Bus. Es sind dabei nahezu beliebig viele CANBuster anreichbar.


Der CANBuster ist aber nicht nur ein Rückmelder (incl Servo Decoder):



Hier ist der CANBuster zugleich auch ein CAN-Gateway bzw. Schnittstelle (der 2.CANBuster ist auch Rückmelden zugleich). Daran kann man auch die Gleisbox hängen oder einen seperaten CANBus nur fürs Rückmelden aufbauen.
Der RPi ist hier nur exemplarisch für einen beliebigen Linux-Rechner ohne CAN eingezeichnet. Natürlich kann man auch den BPi nehmen und einen weiteren CAN-Bus Strang aufbauen ...

Man sieht, das der CANBuster mehere Aufgaben (Rückmelder, S88 Gateway, Servo Decoder und CAN-Schnittstelle) übernehmen kann. Dabei ist er Software-Upgradefähig (CAN-Bootloader). Und das zu einem Preis, der für Selbstbauer IMHO wirklich interessant ist (Platine + Bauteile < 20 Euro).

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#53 von Rohr_Familie ( gelöscht ) , 14.04.2016 20:46

Hallo Gerd,

Cooles Projekt und eine gute Ergänzung zu dem CAN-Shield. Ist auch geplant, dass man über dein Shield einfache Motorweichen wie die von Märklin steuern kann? Weil dann könnte ich mein komplettes Schaltpult digitalisieren .

Gruß,

Sebastian


Rohr_Familie

RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#54 von bertr2d2 , 14.04.2016 23:14

Hallo Sebastian,

Zitat von Rohr_Familie
Hallo Gerd,

Cooles Projekt und eine gute Ergänzung zu dem CAN-Shield. Ist auch geplant, dass man über dein Shield einfache Motorweichen wie die von Märklin steuern kann?

Ob nun Ein- oder Ausgang ist für die MCU ziemlich Wumpe. Mal schauen, ich hab da eine Idee ...

Zitat

Weil dann könnte ich mein komplettes Schaltpult digitalisieren .


Ich denke, das liegt im Bereich des Möglichen

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#55 von MTB-Ontour , 21.04.2016 05:45

Hallo Gerd,

auch wenn mein Post jetzt zu obigem keine technischen Fakten enthält: ich bin einfach nur begeistert!!!!

Jetzt müsste man nun noch einen de facto Standard schaffen, damit man die mfx- (oder RFID-) Rückmeldung zur echten Lokpositionsbestimmung in den Gleisabschnitten nutzen könnte. Dann wäre mein Eisenbahnerherz im 7. Himmel!

Also Gerd: noch gaaaaanz lieben Dank für Deine hervorragende Arbeit!!!!

Viele Grüße in die Runde!

Micha


MTB-Ontour  
MTB-Ontour
InterRegio (IR)
Beiträge: 208
Registriert am: 28.05.2007
Gleise C/K-Gleis


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#56 von Ixam97 , 21.04.2016 15:00

Hallo Gerd,

ich melde mich jetzt hier auch mal, wir sind ja quasi in den selben Gewässern unterwegs

Auch mir gefällt deine kleine Bastelei sehr gut. Du hast auf jeden Fall ein deutlich höheres Maß an Professionalität, was den CAN-Buster (ich kürze mal mit CB ab ) angeht, als ich bei meinem Projekt (wobei ich den CAN-Buster fast schon "überladen" finde )

Mir stellt sich nur grade die Frage: Wie genau funktioniert das flashen neuer Software-Versionen? Ich nehme mal an, ein CB wird per USB mit dem PC verbunden und kann dann über den CAN-Bus die anderen CB mit neuer Software versorgen? Dagegen wirkt meine Methode per Arduino-IDE ja fast schon primitiv ops: (wobei ich hoffe, dass meine Software dadurch auch für Laien (wie mich selber auch ) zugänglicher ist). Welche Software wäre denn dann PC-seitig notwendig?

Nun die wichtigste Frage: gibt es schon irgendetwas zu sehen, wie der CB arbeitet? Und ab wann kann man einen in die Finger bekommen?

Keep Up The Good Work


Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

github.com/Ixam97
MäCAN Reborn


 
Ixam97
InterRegioExpress (IRE)
Beiträge: 255
Registriert am: 13.01.2014


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#57 von bertr2d2 , 21.04.2016 15:09

Hallo Ralf,

Zitat von MTB-Ontour
Hallo Gerd,

auch wenn mein Post jetzt zu obigem keine technischen Fakten enthält: ich bin einfach nur begeistert!!!!

Jetzt müsste man nun noch einen de facto Standard schaffen, damit man die mfx- (oder RFID-) Rückmeldung zur echten Lokpositionsbestimmung in den Gleisabschnitten nutzen könnte. Dann wäre mein Eisenbahnerherz im 7. Himmel!

Also Gerd: noch gaaaaanz lieben Dank für Deine hervorragende Arbeit!!!!


bitte, gern gesschehen.

Aber der CANBuster ist eigentlich nicht für den RFID-Leser gedacht. Natürlich könnte man ein MFRC522 auch anbinden. Funktionert das Board eigentlich auch über RS232 oder sogar über I2C ?
Ich denke, das man LTDs S88-RFID als Standard ansehen kann. Wichtig ist zu wissen, welches Steuer-Programm Du verwenden willst und welches "Protokoll" man nachbilden muss. Ein Programm zu schreiben, das ein S88 Event als ein CAN-Paket in Ethernet-Frame einzupacken, das auch z.B. WDP oder Rocrail versteht, ist innerhalb von ein paar Stunden geschrieben. s88udp ist ein Besipiel für eine ähnliche Sache.

Ich bestelle mir auch mal so ein MFRC522 Board und versuche es über I2C anzubinden. Wenn es auch über I2C geht, dann binde ich es in der CANBuster Software mit ein. I2C habe ich eh als nächstes geplant, wenn der S88 Teil abgeschlossen ist.

Ansonsten würde ich es so machen: Nimm ein Arduino(Clone) und binde Dein RFID Leser daran an. Auf einem Linux Board (z.B. RPi oder BPi) läuft dann ein Daeomon, das die Daten in CS2 typische Pakete (CAN eingebettet in UDP-Paket) macht. Das Programm klimpere ich Dir zusammen, wenn Du willst.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#58 von bertr2d2 , 21.04.2016 16:22

Hallo Maxi,

Zitat von Ixam97
Hallo Gerd,

ich melde mich jetzt hier auch mal, wir sind ja quasi in den selben Gewässern unterwegs


stimmt, und das empfinde ich nicht als Konkurrenz sondern eher als eine Bestätigung, das hier eine (Selbstbau-)Lücke klafft
Dein Logo gefällt mir insbesondere. Wie wärs, wenn ich auch mein CANBuster auch unter Deinem Logo "vermarkte" ?

Zitat

Auch mir gefällt deine kleine Bastelei sehr gut. Du hast auf jeden Fall ein deutlich höheres Maß an Professionalität, was den CAN-Buster (ich kürze mal mit CB ab ) angeht, als ich bei meinem Projekt (wobei ich den CAN-Buster fast schon "überladen" finde )

Vielen Dank für die Blumen, aber höhere Professionalität - Deine Bastelei steht dem CANBuster in nichts nach Ich bin bei Deinem Projekt davon begeistert, wie schnell Du das umsetzt. Der CANBuster ist ein Projekt, das sich im Prinzip schon über Jahre hinzieht, das nun aber mal fertig gestellt wird. Ich profitiere dabei sehr stark von der Vorarbeit von Darron Broad, der die performanten CAN Assembler-Routinen geschrieben und akribisch getestet hat.

Als ich die Idee mit der Gleisbox und CAN zum ersten mal gesehen habe, bin ich überrascht gewesen, das es quasi keine preisgünstigen CAN-Interfaces gibt. Deshalb ist der CANBuster auch zeitgleich ein CAN2Serial Wandler. Spöttisch könnte man auch sagen, der CANBuster ist ein CAN-Bus Interface mit Zusatz Funktionen.
Die anderen Features neben dem Rückmelden, die noch z.T. programmiert werden müssen, sind Folge der Möglichkeiten des verwendeten PICs. Tests mit dem CAN2Serial Code haben gezeigt, das die CPU noch viel Luft hat um andere Aufgaben zu erledigen. Warum also das nicht nutzen, wenn man will ? Der CANBuster wird die "Eierlegende Wollmichsau" nicht nur für M*rklins CAN-Welt

Zitat

Mir stellt sich nur grade die Frage: Wie genau funktioniert das flashen neuer Software-Versionen? Ich nehme mal an, ein CB wird per USB mit dem PC verbunden und kann dann über den CAN-Bus die anderen CB mit neuer Software versorgen?


Ich habe mehrere Methoden zum initialen Flashen bzw. Upgrade vorgesehen:
- Pickit2/3 Header - die klassiche Methode
- RS232 Board Header - über Darrons Pickle (PIC-Programmer). Das ist die Low-Cost Methode
- über CAN-Bus, sobald der CAN-Bootlader (auch von Darron) geflascht wurde. Dabei kann ein anderer CANBuster als CAN-Interface dienen

Ich verwende z.Zt. insbesondere die CAN-Bootloader Methode mit einem externen USB2CAN Interface. Ich kann den CANBuster über Taste zurücksetzen, so das der Bootlader startet. Momentan sende ich ein definiertes CAN-Paket, so das dann der Bootloader angesprungen wird:

1
2
3
 

make ;cansend can0 00000301#434255538000 ; easy-loader -i 666 can0 firmware/canbuster_4xk80_s88_pcbv2.hex
 
 


Sollte kein Programm Update innerhalb von ca. 10 Sekunden erfolgen, springt der Bootloader wieder in die normale Firmware.
Gedacht ist folgendes: Man hat sich ein funktionierenden CANBuster mit einem USB2Serial Wandler geflascht. Weitere CANBuster flascht man intial mit dem Bootloader. Die Firmware kann man dann bequem über CAN aufspielen.

Zitat

Dagegen wirkt meine Methode per Arduino-IDE ja fast schon primitiv ops: (wobei ich hoffe, dass meine Software dadurch auch für Laien (wie mich selber auch ) zugänglicher ist). Welche Software wäre denn dann PC-seitig notwendig?

Ich finde Deine Methode mit dem Arduino keinesfalls primitiver - sie ist nur anders. Momentan verwende ich den easy-loader(CAN-Bootloader) bzw Pickle - beide Programme sind von Darron (von wem sonst ). Als Ziel stelle ich mir aber was anderes, noch leichteres vor: ein MicroServer mit Websockets und einer HTML5-Seite, über die man eine Menge CANBuster updaten, konfigurieren bzw. verwalten kann.

Zitat

Nun die wichtigste Frage: gibt es schon irgendetwas zu sehen, wie der CB arbeitet? Und ab wann kann man einen in die Finger bekommen?


Ein paar Leute haben das Board schon, aber ich bin bisher nicht dazu gekommen, den CANBuster näher zu beschreiben, so das diese Personen Testen können. Mache ich aber bis zum WE - großes Indianer-Ehrenwort ops:
Wenn das geschehen ist, kannst gerne ein Platine haben. Aber: Version 1 der Plaine enthält noch ein paar Fehler , die man Wissen muss, wenn man z.B. PWM nutzen will.
Wermutstropfen: Ich benutze Linux und von daher sind die Tools auch Linux basierend.

Zitat

Keep Up The Good Work


Das werde ich tun - und - bitte tue das Gleiche auch bei Deinem Projekt

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#59 von Ixam97 , 21.04.2016 18:44

Hallo Gerd,

Zitat von bertr2d2

Das empfinde ich nicht als Konkurrenz sondern eher als eine Bestätigung, das hier eine (Selbstbau-)Lücke klafft
Dein Logo gefällt mir insbesondere. Wie wärs, wenn ich auch mein CANBuster auch unter Deinem Logo "vermarkte" ?


Open Source ist immer gut, und je mehr desto besser Kannst das Logo gerne verwenden. Ich muss mal schauen, ob ich das noch ein wenig überarbeite, um Verwirrungen zu vermeiden

Zitat

Ich bin bei Deinem Projekt davon begeistert, wie schnell Du das umsetzt.


Die ersten Platinen sind schon unterwegs

Zitat

Die Firmware kann man dann bequem über CAN aufspielen.


Das ist wohl dein größter Vorteil. Bei mir müsste man bei der aktuellen Ausführung immer den Arduino an den Decoder klemmen, um Einstellungen und Firmware ändern zu können. Zumindest was die Konfiguration angeht habe ich auch schon etwas im Hinterkopf, wie man das ganze über den CAN-Bus lösen könnte (provisorisch über den seriellen Monitor eines Arduino ). Ob ich am Ende etwas Tante M kompatibles zusammengeschustert bekomme, weiß ich noch nicht. Dafür habe ich die Doku von M*rklin noch nicht genau genug studiert. Ich verweise einfach mal auf die Doku ab Seite 42, insbesondere die seiten 44 und 45 klingen interessant. Oder ich bin da völlig auf dem falschen Dampfer und das ist für uns völlig uninteressant Möglicherweise versteht das ja jemand mehr als ich ops: .


Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

github.com/Ixam97
MäCAN Reborn


 
Ixam97
InterRegioExpress (IRE)
Beiträge: 255
Registriert am: 13.01.2014


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#60 von bertr2d2 , 21.04.2016 21:14

Hallo Maxi,

Zitat von Ixam97
Hallo Gerd,
Das ist wohl dein größter Vorteil. Bei mir müsste man bei der aktuellen Ausführung immer den Arduino an den Decoder klemmen, um Einstellungen und Firmware ändern zu können. Zumindest was die Konfiguration angeht habe ich auch schon etwas im Hinterkopf, wie man das ganze über den CAN-Bus lösen könnte (provisorisch über den seriellen Monitor eines Arduino ). Ob ich am Ende etwas Tante M kompatibles zusammengeschustert bekomme, weiß ich noch nicht. Dafür habe ich die Doku von M*rklin noch nicht genau genug studiert. Ich verweise einfach mal auf die Doku ab Seite 42, insbesondere die seiten 44 und 45 klingen interessant. Oder ich bin da völlig auf dem falschen Dampfer und das ist für uns völlig uninteressant Möglicherweise versteht das ja jemand mehr als ich ops: .


momentan nutze ich einfach Darrons Wellington Code mit Standard Frame Format Paketen. Das ist ausserhalb M*rklins CANBus-Spezifikation. Der normale Mechanismus ist bzw. war mir einigermaßen bekannt, da ich vor ein paar Monaten ein kleines Programm zum Update der Gleisbox geschrieben habe: gb2-update.c
Vielen Dank nochmals an Karsten; ohne ihn wäre das Programm niemals entstanden.

Wenn ich mal Langeweile habe, dann mache ich das für den CANBuster genauso

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#61 von Ixam97 , 21.04.2016 22:06

Hallo nochmals zur späten Stunde

Zitat von bertr2d2
Hallo Maxi,
momentan nutze ich einfach Darrons Wellington Code mit Standard Frame Format Paketen. Das ist ausserhalb M*rklins CANBus-Spezifikation. Der normale Mechanismus ist bzw. war mir einigermaßen bekannt, da ich vor ein paar Monaten ein kleines Programm zum Update der Gleisbox geschrieben habe: gb2-update.c



Ich hoffe wir reden da grade nicht aneinander vorbei. Dass das aufspielen neuer Firmware immer irgendwie außerhalb dessen, was M*rklin vorgesehen hat, passiert, ist vermutlich unumgänglich.
Mir ging es eher darum die Bausteine zu konfigurieren. Sprich Adressen usw. einstellen. Das klingt in der Doku fast so, als könne man sich da etwas interessantes zusammenbasteln. Zumindest verstehe ich das so, dass das auch die gleichen Befehle sind, um die Gleisbox zu konfigurieren. Was spricht dagegen, das für sich auszunutzen? Den Befehl "Statusdaten Konfiguration" müsste man doch so verwenden können, dass man ein bausteinabhängiges Konfig-Menü anzeigen kann.
Jedenfalls könnte ich mir sehr gut vorstellen, dass man Adressen für Weichen oder auch Rückmelder über Slider und entsprechende Protokolle über Dropdowns auswählt. Wenn das ganze dann auch noch irgendwie auf der CS2 angezeigt werden könnte, dann hätten man da glaube ich den Jackpot geknackt.

Bitte korrigiere mich, wenn ich dummes Zeug rede .

Edit:
Ich habe mir noch mal diesen Thread über den Link S88 angesehen. So wie ich das aus dem Trace ablesen kann macht der nicht viel anderes. Wäre es also möglicherweise genauso möglich, unsere Selbstbaukomponenten auf die gleiche Art und Weise zu konfigurieren?

Edit 2:
Ich würde mal sagen, das sieht schon mal ganz vielversprechend aus:

Ich werde die Tage daran nochmal etwas weitertüfteln


Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

github.com/Ixam97
MäCAN Reborn


 
Ixam97
InterRegioExpress (IRE)
Beiträge: 255
Registriert am: 13.01.2014


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#62 von bertr2d2 , 22.04.2016 02:25

Hallo Maxi,

Zitat von Ixam97
Hallo nochmals zur späten Stunde

Edit 2:
Ich würde mal sagen, das sieht schon mal ganz vielversprechend aus:

Ich werde die Tage daran nochmal etwas weitertüfteln





Wie hast Du das der CS2.exe vorgegaukelt ??? Wenn man jetzt noch konfigurieren kann, dann ist es einfach nur genial

Habs mal selbst versucht:

1
2
3
4
5
6
7
8
9
10
 

# candump
(2016-04-22 02:20:09.490015) can1 RX - - 00310000 [8] 00 00 00 00 01 01 EE EE
(2016-04-22 02:20:09.490021) can1 RX - - 0031B311 [8] 43 42 55 53 01 00 00 40
# can2lan
02:20:39.488 UDP-&gt; CANID 0x00300000 [0](00 00 00 00 01 01 ee ee) ........
replied CAN ping
02:20:39.489 -&gt;CAN&gt;UDP CANID 0x0031B311 [8] 43 42 55 53 01 00 00 40 CBUS...@
# CBUS -&gt; CANBuster
 
 


Aber das reicht anscheinend noch nicht, das die CS2.exe weitere Parameter abfragt ...

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#63 von Ixam97 , 22.04.2016 02:56

Zitat von bertr2d2
Hallo Maxi,

Zitat von Ixam97
Hallo nochmals zur späten Stunde

Edit 2:
Ich würde mal sagen, das sieht schon mal ganz vielversprechend aus:

Ich werde die Tage daran nochmal etwas weitertüfteln





Wie hast Du das der CS2.exe vorgegaukelt ??? Wenn man jetzt noch konfigurieren kann, dann ist es einfach nur genial




Hi Gerd,

schau dir das Bild noch einmal an, ich habe es noch einmal aktualisiert. Wie gesagt, Seite 42 in der M*rklin-Doku, da steht fast alles drin, was man braucht. Alles andere habe ich durch aufmerksames beobachten des CAN-Verkehrs und mit Hilfe des Link S88 Threads hergeleitet. Die (soft)CS2 scheint von allen Teilnehmern, die auf einen Ping geantwortet haben, ein paar mal eine Konfigurationsliste zu verlangen. Nach mehrmaligem versuchen gibt sie dann aber auf. Und das ist völlig unabhängig von UID, Hash, oder sonst welchen Parametern. Vorgegaukelt wird da nichts, die CS2 kann das einfach . Theoretisch kann man da alle möglichen dinge, die CAN können konfiguieren. Einfacher geht es nicht mehr Ich habe auch schon die Frames, die dann die Änderungen auf der CS2 an die Module weitergibt, identifiziert.
Ich werde "Morgen" mal den relevanten Code hochladen und versuchen damit meine Decoder konfigurieren zu können. Werde ich dann in meinem eigenen Thread alles nochmal genauer erläutern

Jetzt aber gute Nacht


Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

github.com/Ixam97
MäCAN Reborn


 
Ixam97
InterRegioExpress (IRE)
Beiträge: 255
Registriert am: 13.01.2014


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#64 von bertr2d2 , 22.04.2016 10:59

Hallo Maxi,

Zitat von Ixam97

Hi Gerd,

schau dir das Bild noch einmal an, ich habe es noch einmal aktualisiert. Wie gesagt, Seite 42 in der M*rklin-Doku, da steht fast alles drin, was man braucht. Alles andere habe ich durch aufmerksames beobachten des CAN-Verkehrs und mit Hilfe des Link S88 Threads hergeleitet. Die (soft)CS2 scheint von allen Teilnehmern, die auf einen Ping geantwortet haben, ein paar mal eine Konfigurationsliste zu verlangen. Nach mehrmaligem versuchen gibt sie dann aber auf. Und das ist völlig unabhängig von UID, Hash, oder sonst welchen Parametern. Vorgegaukelt wird da nichts, die CS2 kann das einfach . Theoretisch kann man da alle möglichen dinge, die CAN können konfiguieren. Einfacher geht es nicht mehr Ich habe auch schon die Frames, die dann die Änderungen auf der CS2 an die Module weitergibt, identifiziert.
Ich werde "Morgen" mal den relevanten Code hochladen und versuchen damit meine Decoder konfigurieren zu können. Werde ich dann in meinem eigenen Thread alles nochmal genauer erläutern

Jetzt aber gute Nacht


ah, jetzt ja Jetzt ist der Groschen bei mir gefallen. Das ermöglicht ja ganz neue Möglichkeiten und man hat gleich die M*rklin Konformität.
Super ! Ich dachte immer, das alles in der CS2.exe fest verdrahtet (codiert) ist. Wäre ich so gar nicht drauf gekommen, das das dynamisch ist ... BPis s88udp bekommt auch ein Upgrade demnächst

Später kann man ja immer noch eine Weblösung bauen, damit man CS2.exe nicht starten muss.

Edit:


Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#65 von Frankenbahn , 22.04.2016 17:51

Hallo zusammen,
das Problem, dass man Linux als Entwicklungsumgebung braucht, sollte sich demnächst auch in Luft auflösen (zumindest für Windows 10 Benutzer):
https://channel9.msdn.com/Events/Build/2....mc_id=DX_59288

Viele Grüße
Martin


Frankenbahn  
Frankenbahn
InterRegio (IR)
Beiträge: 100
Registriert am: 16.05.2015
Spurweite H0, N
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#66 von Ixam97 , 22.04.2016 18:37

Zitat von bertr2d2
Hallo Maxi,

ah, jetzt ja Jetzt ist der Groschen bei mir gefallen. Das ermöglicht ja ganz neue Möglichkeiten und man hat gleich die M*rklin Konformität.
Super ! Ich dachte immer, das alles in der CS2 fest verdrahtet (codiert) ist. Wäre ich so gar nicht drauf gekommen, das das dynamisch ist ...

Edit:





Ich wundere mich ehrlich gesagt grade, dass noch nie jemand auf diese Idee gekommen ist. Grade CdB hat ja jetzt auch schon ein paar Jahre auf dem Buckel.

Läuft das ganze schon einwandfrei bei dir? Sonst könnte ich noch mit Beobachtungen dienen, die bei mir zum erfolg geführt haben


Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

github.com/Ixam97
MäCAN Reborn


 
Ixam97
InterRegioExpress (IRE)
Beiträge: 255
Registriert am: 13.01.2014


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#67 von bertr2d2 , 22.04.2016 19:27

Hallo Maxi,

Zitat von Ixam97

Ich wundere mich ehrlich gesagt gerade, dass noch nie jemand auf diese Idee gekommen ist. Grade CdB hat ja jetzt auch schon ein paar Jahre auf dem Buckel.

cs2.exe kam ja erst später, als es die meisten CdB Module schon gab. Zudem ist ja auch ein 'can2lan' ähnliches Programm für Windows für die Schnitte notwendig, das auch erst geschrieben werden musste. Und jetzt haben die Module mit hoher Wahrscheinlichkeit eine Firmware, die nicht 100% kompatibel ist.Wohl dem, wer seine Module im Feld updaten kann Aber letztendlich stellt sich die Frage, ob die Anwender überhaupt die cs2.exe zum Einstellen nutzen wollen bzw. ob die Möglichkeiten ausreichen.

Zitat

Läuft das ganze schon einwandfrei bei dir? Sonst könnte ich noch mit Beobachtungen dienen, die bei mir zum erfolg geführt haben


Nein, noch läuft nicht alles. Muss ich auch erst mal alles in die CANBuster Firmware integrieren. Ich komme aber gerne auf Dein Angebot zurück, wenn ich Probleme habe.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#68 von bertr2d2 , 22.04.2016 19:32

Hallo Martin,

Zitat von Frankenbahn
Hallo zusammen,
das Problem, dass man Linux als Entwicklungsumgebung braucht, sollte sich demnächst auch in Luft auflösen (zumindest für Windows 10 Benutzer):
https://channel9.msdn.com/Events/Build/2....mc_id=DX_59288


als ich das vor ein paar Wochen zum ersten Mal gelesen habe, dachte ich zuerst an einen Aprilscherz. Aber es ist real und eröffnet ein paar sehr interessante Möglichkeiten. Wie es mit CAN bzw. direkten Zugriff auf Hardware aussieht, muss man aber erst mal noch abwarten.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#69 von Ixam97 , 23.04.2016 14:15

Ich bisn nochma ...

Ich habe nochmal Traces und Dateien beobachtet. Folgendes kann ich noch sagen, was auch für dich interessant sein könnte

  • Sobald der Baustein einmal mit der CS2 kommuniziert hat, wird er mit seiner UID in der geraete.cs2 gespeichert, mitsamt der letzten Einstellungen.
  • Wird die CS2 neu gestartet, so wird wieder die Konfiguration abgefagt, aber diese mal werden diese von der CS2 ignoriert und direkt darauf werden die Einstellungen aus der geraete.cs2 an den Baustein gesendet und damit die Einstellungen überschrieben.


Mein Problem derzeit: Die CS2 will nicht so recht die richtige Option im Dropdown anzeigen (EDIT: Standardwert im falschen Datenbyte gesendet ops: )
Mal sehen, was ich noch so heraus finde


Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

github.com/Ixam97
MäCAN Reborn


 
Ixam97
InterRegioExpress (IRE)
Beiträge: 255
Registriert am: 13.01.2014


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#70 von bertr2d2 , 23.04.2016 17:28

Hallo Maxi,

Zitat von Ixam97
Ich bisn nochma ...

Ich habe nochmal Traces und Dateien beobachtet. Folgendes kann ich noch sagen, was auch für dich interessant sein könnte
  • Sobald der Baustein einmal mit der CS2 kommuniziert hat, wird er mit seiner UID in der geraete.cs2 gespeichert, mitsamt der letzten Einstellungen.
  • Wird die CS2 neu gestartet, so wird wieder die Konfiguration abgefagt, aber diese mal werden diese von der CS2 ignoriert und direkt darauf werden die Einstellungen aus der geraete.cs2 an den Baustein gesendet und damit die Einstellungen überschrieben.


vielen Dank für die Hinweise - kann ich nur von profitieren

Zitat

Mein Problem derzeit: Die CS2 will nicht so recht die richtige Option im Dropdown anzeigen (EDIT: Standardwert im falschen Datenbyte gesendet ops: )


Welche Typen neben Dropdown und Slider gibt es eigentlich ? Ich habe eine Variable, die von 0-3 geht. Da macht ein Slider wenig Sinn. Gibt es auch ein einfaches, "numerisches Feld" ?

Zitat

Mal sehen, was ich noch so heraus finde


Vielen Dank das Du Deine Erfahrungen hier teilst.

Für alle Quer-Leser: Eine CS2 wird zum Einstellen nicht benötigt. Die Screenshots stammen von der CS2-Software, die auch ohne CS2 z.B unter Linux zusammen mit 'can2lan' funktioniert.

BTW: Die Doku zum CANBuster erweitere ich gerade.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#71 von Ixam97 , 23.04.2016 18:12

Zitat von bertr2d2
Hallo Maxi,

Welche Typen neben Dropdown und Slider gibt es eigentlich ? Ich habe ein Variable, die von 0-3 geht. Da macht ein Slider keinen Sinn. Gibt es auch ein einfaches, "numerisches Feld" ?



Dokumentiert sind nur diese beiden Typen. Ich wollte nochmal ausprobieren, was passiert wenn man als Typ "3" angiebt, bin aber noch nicht dazu gekommen.
Aber was die Werte von 0-3 angeht sehe ich zwei möglichkeiten:
1. Ein Dropdown mit 4 Auswahlmöglichkeiten;
2. Einen Slider mit dem Wertebereich 0-3.
Grade die Slider sind sehr flexibel. Anfangs- und Endwert können frei ausgewählt werden und dann sogar "gemapt" werden. Hier mal mein Beispiel für die Schaltzeit (Bereich 20 bis 1000):

1
2
3
4
5
6
7
8
9
 

// 1 Byte Kanal, 1 Byte Typ, je 2 Byte Min- und Max-Werte, 2 Byte Default bzw. aktuelle Werte.
{3, 2, 0x00, 0x14, 0x03, 0xe8, EEPROM.read(2), EEPROM.read(3)},
 
//Darauf folgt jeweils als String: Bezeichnung, Min- und Max-Wert f&#252;rs Mapping (nur Anzeige und Eingabe, passen diese nicht zu den vorher angegebenen Werten werden beim "Sliden" Dezimalstellen angezeigt) und Einheit.
{'S','c','h','a','l','t','z','e'},
{'i','t', 0x00,'2','0', 0x00,'1','0'},
{'0','0', 0x00,'m','s',0x00,0x00,0x00}
 
 



Ich hoffe du kannst daraus erkennen, was ich meine .


Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

github.com/Ixam97
MäCAN Reborn


 
Ixam97
InterRegioExpress (IRE)
Beiträge: 255
Registriert am: 13.01.2014


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#72 von bertr2d2 , 25.04.2016 07:40

Hallo Maxi,

Zitat von Ixam97

Zitat von bertr2d2
Hallo Maxi,

Welche Typen neben Dropdown und Slider gibt es eigentlich ? Ich habe ein Variable, die von 0-3 geht. Da macht ein Slider keinen Sinn. Gibt es auch ein einfaches, "numerisches Feld" ?



Dokumentiert sind nur diese beiden Typen. Ich wollte nochmal ausprobieren, was passiert wenn man als Typ "3" angiebt, bin aber noch nicht dazu gekommen.
Aber was die Werte von 0-3 angeht sehe ich zwei möglichkeiten:
1. Ein Dropdown mit 4 Auswahlmöglichkeiten;
2. Einen Slider mit dem Wertebereich 0-3.
Grade die Slider sind sehr flexibel. Anfangs- und Endwert können frei ausgewählt werden und dann sogar "gemapt" werden. Hier mal mein Beispiel für die Schaltzeit (Bereich 20 bis 1000):

1
2
3
4
5
6
7
8
9
 

// 1 Byte Kanal, 1 Byte Typ, je 2 Byte Min- und Max-Werte, 2 Byte Default bzw. aktuelle Werte.
{3, 2, 0x00, 0x14, 0x03, 0xe8, EEPROM.read(2), EEPROM.read(3)},
 
//Darauf folgt jeweils als String: Bezeichnung, Min- und Max-Wert f&#252;rs Mapping (nur Anzeige und Eingabe, passen diese nicht zu den vorher angegebenen Werten werden beim "Sliden" Dezimalstellen angezeigt) und Einheit.
{'S','c','h','a','l','t','z','e'},
{'i','t', 0x00,'2','0', 0x00,'1','0'},
{'0','0', 0x00,'m','s',0x00,0x00,0x00}
 
 



Ich hoffe du kannst daraus erkennen, was ich meine .



ja, vielen Dank ! Dein Beispiel ist sehr hilfreich. Zusammen mit M*rklins CS2 CAN Doku ist es auch jetzt verständlich für mich Ich baue gerade alles in die CANBuster Firmware ein bzw. schaffe die Grundlagen dafür.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#73 von Derrow ( gelöscht ) , 11.06.2016 19:47

Frage an Elektronikspezialisten zur Stromversorgung externer S88 Module am Canbuster.

Habe den Canbuster soweit fertig aufgebaut mit MCP2561, und mit S88 Option mit Optokoplern zur galvanischen Trennung, um den Pic zu schützen.

Verwende ich eine externe 5V Stromversorgung für externe S88 Module, dann funktioniert die Rückmeldung sehr gut.
Verwende ich dagegen die interne Stromversorgung vom Canbuster, dann hab ich ein kleines Phanomän.
Ich verwende ein C-Schaltgleis zum testen, und betätige ich den Schalter am Schaltgleis, dann erfolgt korrekt die Meldung auf den Can-Bus.
Aber solange der Schalter gedrückt gehalten wird erfolgt alle ca. 2 Sekunden die Meldung auf den Can-Bus:

Aus, An, Aus, An, wie hier zu sehen:

(2016-06-08 14:35:46.509667) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00 <-- Schalter betätigt
(2016-06-08 14:35:48.451340) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00
(2016-06-08 14:35:48.498701) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00
(2016-06-08 14:35:48.522373) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00
(2016-06-08 14:35:48.564997) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00
(2016-06-08 14:35:49.129943) can0 RX - - 00302F17 [0]
(2016-06-08 14:35:49.130535) can0 RX - - 00317B1F [8] 47 43 D8 38 01 27 00 10 <-- Ping Paket
(2016-06-08 14:35:49.131097) can0 RX - - 0031E73D [8] 43 42 FF FF 01 00 00 40 <-- Ping Paket
(2016-06-08 14:35:49.131730) can0 RX - - 0031E73D [8] 43 42 FF FF 01 00 00 40 <-- Ping Paket
(2016-06-08 14:35:50.601393) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00
(2016-06-08 14:35:50.644016) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00
(2016-06-08 14:35:50.667691) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00
(2016-06-08 14:35:50.710313) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00
(2016-06-08 14:35:51.880059) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00 <-- Schalter losgelassen

Hat jemand eine Idee wie das zustande kommt?

Ich würde es bevorzugen die interne Stromversorgung zu verwenden, weil ich dann nicht die Masse des S88 Moduls mit der Schiene verbinden muss.
Benutze ich eine externe Stromversorgung, muss ich die Masse des externen S88 Moduls mit der Schiene verbinden, weil sonst das GND durch die galvanische Trennung keine Verbindung zur Schiene hat.

Derrow


Derrow

RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#74 von bertr2d2 , 11.06.2016 19:59

Hi Derrow,

Zitat von Derrow
Frage an Elektronikspezialisten zur Stromversorgung externer S88 Module am Canbuster.

Habe den Canbuster soweit fertig aufgebaut mit MCP2561, und mit S88 Option mit Optokoplern zur galvanischen Trennung, um den Pic zu schützen.

Verwende ich eine externe 5V Stromversorgung für externe S88 Module, dann funktioniert die Rückmeldung sehr gut.
Verwende ich dagegen die interne Stromversorgung vom Canbuster, dann hab ich ein kleines Phanomän.
Ich verwende ein C-Schaltgleis zum testen, und betätige ich den Schalter am Schaltgleis, dann erfolgt korrekt die Meldung auf den Can-Bus.
Aber solange der Schalter gedrückt gehalten wird erfolgt alle ca. 2 Sekunden die Meldung auf den Can-Bus:

Aus, An, Aus, An, wie hier zu sehen:

(2016-06-08 14:35:46.509667) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00 <-- Schalter betätigt
(2016-06-08 14:35:48.451340) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00
(2016-06-08 14:35:48.498701) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00
(2016-06-08 14:35:48.522373) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00
(2016-06-08 14:35:48.564997) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00
(2016-06-08 14:35:49.129943) can0 RX - - 00302F17 [0]
(2016-06-08 14:35:49.130535) can0 RX - - 00317B1F [8] 47 43 D8 38 01 27 00 10 <-- Ping Paket
(2016-06-08 14:35:49.131097) can0 RX - - 0031E73D [8] 43 42 FF FF 01 00 00 40 <-- Ping Paket
(2016-06-08 14:35:49.131730) can0 RX - - 0031E73D [8] 43 42 FF FF 01 00 00 40 <-- Ping Paket
(2016-06-08 14:35:50.601393) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00
(2016-06-08 14:35:50.644016) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00
(2016-06-08 14:35:50.667691) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00
(2016-06-08 14:35:50.710313) can0 RX - - 0023E73D [8] AA AC 00 00 00 01 00 00
(2016-06-08 14:35:51.880059) can0 RX - - 0023E73D [8] AA AC 00 00 01 00 00 00 <-- Schalter losgelassen

Hat jemand eine Idee wie das zustande kommt?

Ich würde es bevorzugen die interne Stromversorgung zu verwenden, weil ich dann nicht die Masse des S88 Moduls mit der Schiene verbinden muss.
Benutze ich eine externe Stromversorgung, muss ich die Masse des externen S88 Moduls mit der Schiene verbinden, weil sonst das GND durch die galvanische Trennung keine Verbindung zur Schiene hat.

Derrow


wenn Du auch weiter den Schalter gedrückt hältst, dh. mehrere Sekunden, tritt dann der Fehler zyklisch immer wieder auf ?

Nachtrag:
Hast Du beide CANBuster eingeschaltet ? Der CAN-Ping wird ja zweimal beantwortet. Dann wäre die ID gleich - solltest Du ändern.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Preiswerter CANBus Rückmelder bzw Computer Interface

#75 von Derrow ( gelöscht ) , 11.06.2016 20:10

Hi Gerd,

ja, genau das.

undzwar immer exact Aus,An,Aus,An.
Immer im Abstand von ca. 2 Sekunden.

Könnte das am eingesetzten Optokopler liegen?
Ich vermute der ist ausschliesslich für Gleichstrom ausgelegt, und da könnte es zu inteferrenzen kommen beim Einsatz am Märklin Gleis wo eine Wechselspannung anliegt.
Möglicherweise wäre der Einsatz eines anderen Typs von Optokoppler besser geeignet, so wie der LTV-844 für den internen Rückmelder.
Ich habe es noch nicht probiert es ohne Optokopplereinsatz zu testen, weil meine Schaltung schon fertig gelötet ist.
Ich muss dazu erst eine Testschaltung auf einem Breadboard aufbauen


Derrow

   


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