CAN Decoder fuer IR-Reflexmelder

rjversluis
Site Admin
Posts: 42383
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Decoder fuer IR-Reflexmelder

Post by rjversluis » 17.08.2018, 09:19

Hi Matthias,

nein, der CAN-ID ist die Knote Nummer, und hat nichts mit Long Events zu tun.
Es gibt bei der GC2 Tab eine Spalte für "Knoten-Nr", und die muss man extra belegen mit irgendwelche Nummer. Nur wenn diese Null ist, und Long Events aktiv sind, zieht diese CAN-ID Knote Nummer.

Also bei ArduCAN IR sollte Var 28 der Knote Nummer sein. (CAN-ID des Knotens)

schumo99
Posts: 160
Joined: 21.05.2017, 20:14
Location: Amberg

Re: CAN Decoder fuer IR-Reflexmelder

Post by schumo99 » 17.08.2018, 09:27

Hallo,
Kein Problem. Ich ändere das.
Grüße
Matthias

rjversluis
Site Admin
Posts: 42383
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Decoder fuer IR-Reflexmelder

Post by rjversluis » 17.08.2018, 09:30

Hi Matthias,

so wie schon mal geschrieben hat MERG da ein design Fehler mit diese Short/Long Events.
Man hätte nur Long Events nehmen müssen: CANID-Port.
Und Port konnte man dan beschränken auf ein Byte, und bei jede Knote würde der Port Nummern mit 1 anfangen.
Aber ist schon alles zu spät. Jedes Protokoll hat sein Schwachstellen.

schumo99
Posts: 160
Joined: 21.05.2017, 20:14
Location: Amberg

Re: CAN Decoder fuer IR-Reflexmelder

Post by schumo99 » 18.08.2018, 11:59

Hallo Rob,

Die neue Version des Programmiertabs funktioniert einwandfrei. Super!

Ich habe die Software des ArduCAN IR jetzt so geändert, dass man die CAN-ID über deinen Programmierdialog einstellen kann. Die ManufacturerID ist jetzt auf 13 gestellt. Soll ich dir nochmal einen fertigen Arduino mit der neuesten Software zuschicken?

Zwei Bitten habe ich noch:
- Ich möchte den Decoder noch für weitere Funktionen modifizieren und daraus eine ArduCAN Reihe machen, so dass dann ein ArduCAN und ein ArduCAN Servo dazukommen wird. Das Grundprinzip mit aufgestecktem Arduino und CAN-Bustransceiver ist immer das Gleiche. Es soll für jedermann einfach aufzubauen sein. Die Software für diese beiden Bausteine richte ich an den bestehenden Programmiertabs zu GC2 bzw. GC6 aus, so dass man diese mitbenutzen kann. Als ManufacturerID würde ich wieder 13 vergeben und als Modul ID dann einfach 87 (für ArduCAN) und 89 für (ArduCAN Servo). Würdest du diese beiden Nummern bitte noch mit in rocrail aufnehmen, so dass die beiden Dekoder auch richtig angezeigt werden? Oder soll ich andere Nummern vergeben? (z.B. einfach die vom GC2 und GC6 übernehmen?)

- Damit das Kalibrieren des ArduCAN IR einfacher geht, wäre es toll, wenn du noch eine Schaltfläche für jeden Port machen könntest, die die Kalibration auslöst; also in das Feld Sensitivity (Variable 4, 7, …) die Zahl 255 schreibt. Dann müsste der Anwender selbst eigentlich nichts mehr wissen und es wäre eine sehr komfortable Sache.

Danke + Grüße

Matthias

rjversluis
Site Admin
Posts: 42383
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Decoder fuer IR-Reflexmelder

Post by rjversluis » 18.08.2018, 13:52

Hi Matthias,

ich brauche keine neu ArduCAN IR nur wegen diese kleine Änderungen.

Wenn du so weit bist mit ArduCAN I/O und Servo, sage mir bescheid.
In der zwischenzeit kannst du mit ManuID 70 und die Typ von GC2 und GC6 testen.

Das mit 255 für Kalibrieren verstehe ich nicht.

schumo99
Posts: 160
Joined: 21.05.2017, 20:14
Location: Amberg

Re: CAN Decoder fuer IR-Reflexmelder

Post by schumo99 » 18.08.2018, 14:33

Hallo Rob,
der ArduCAN ist soweit fertig. Da warte ich nur noch auf die finale Platine, weil auf der ersten Version ein Fehler war... Vom ArduCAN Servo gibt es momentan eine Testversion. Er steht auch kurz vor der finalen Veröffentlichung. Du kannst also durchaus schon die Nummern integrieren. :wink:

Der ArduCAN IR kann seine Sensoren selbst kalibrieren. Dazu muss man nicht einen Zahlenwert selbst suchen und bei "Sensitivity" reinschreiben, sondern kann entweder:

- eine sehr geringe Belegung herstellen (ein Hindernis über dem Sensor platzieren, das wenig reflektiert; in der Regel die Kupplung zwischen 2 Waggons) und den Wert 255 als Sensitivity vorgeben (=in die Variable 4, 7, … schreiben). Dann ermittelt der Decoder selbst den aktuellen Wert, nimmt diesen als Schwellenwert an und schreibt ihn wieder in die Variable 4,7, ... zurück

oder

- sicherstellen, dass keine Belegung über dem Sensor steht ("freie Strecke") und den Wert 0 als Sensitivity vorgeben. Der Decoder misst dann das Grundrauschen, addiert einen Sicherheitsabstand und nimmt dann diesen Wert als neuen Schwellenwert an und schreibt ihn in die Variable 4, 7, ... zurück.

Da wäre es halt super, wenn es direkt eine Schaltfläche pro Port geben würde, die man nur anklicken muss. Die Schaltfläche(n) müssen nur den Wert 255 (Kalibration auf Basis der gerinen Belegung) oder 0 (Kalibration auf Basis der freien Strecke) in die Variable 4, 7, … schreiben und im Optimalfall 2 Sekunden später die eben geschriebene Variable wieder auslesen.

Wenn dann der automatisch gefundene Wert nicht ganz stimmt, kann man einfach manuell einen minimal kleineren oder größeren Wert über das Feld Sensitivity einstellen.

Dadurch kann man sehr einfach und schnell kalibrieren und muss nicht wild ausprobieren.

Grüße
Matthias

rjversluis
Site Admin
Posts: 42383
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Decoder fuer IR-Reflexmelder

Post by rjversluis » 19.08.2018, 07:11

Moin Matthias,

alles ist jetzt so weit drin.

Bitte ab 14195 testen und berichten.

schumo99
Posts: 160
Joined: 21.05.2017, 20:14
Location: Amberg

Re: CAN Decoder fuer IR-Reflexmelder

Post by schumo99 » 20.08.2018, 19:08

Hallo Rob,

habe es eben getestet. Funktioniert soweit. :thumb_up:
Allerdings steht auf der Schaltfläche nur "… " Könntest du das bitte noch durch einen sprechenderen Ausdruck wie z.B. "Calibrate" oder "Setup" ersetzen.

Könntest du bitte auch noch die Modul-IDs 87 für ArduCAN I/O und 89 für ArduCAN Servo eingeben. Die ManuID ist immer 13.

Danke + Grüße

Matthias

rjversluis
Site Admin
Posts: 42383
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Decoder fuer IR-Reflexmelder

Post by rjversluis » 21.08.2018, 06:26

Moin Matthias,

erledigt.

GuenTTer
Posts: 1037
Joined: 09.02.2015, 22:19
Location: Nürnberg-Katzwang

Re: CAN Decoder fuer IR-Reflexmelder

Post by GuenTTer » 21.08.2018, 18:11

Hallo Rob und Matthias,
Wolfram und ich haben soeben den ArduCAN-IR getestet. Wir sind begeistert :beer: !

Auf Anhieb konnten wir alles einstellen, die Empfindlichkeit ist sehr groß und mit den einstellbaren Delays dürften die unterschiedlichsten Betriebssituationen in den Griff zu kriegen sein.
Etwas ungewohnt war, daß die Empfindlichkeit mit steigendem Zahlenwert der Einstellung geringer wird. Man muß das halt nur wissen.

Danke Matthias für diese tolle Hardware,
danke Rob, daß du die ArduCan-xx in das Programmiermenü aufgenommen hast.

... und morgen teste ich den ArduCAN I/O.

mfG
Günter

GuenTTer
Posts: 1037
Joined: 09.02.2015, 22:19
Location: Nürnberg-Katzwang

Re: CAN Decoder fuer IR-Reflexmelder

Post by GuenTTer » 22.08.2018, 09:53

Hallo Matthias,
eine Frage: soweit mir bekannt, werden die Leiter symetrischer Datenleitungen immer miteinander verdrillt.
Du weichst bei der Belegung der RJ45 mit CAN L und CAN H von diesem Prinzip ab. Hat dies einen Grund ?

mfG
Günter
Pinbelegung RJ45.png
You do not have the required permissions to view the files attached to this post.

rjversluis
Site Admin
Posts: 42383
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Decoder fuer IR-Reflexmelder

Post by rjversluis » 22.08.2018, 10:13

Moin,

das ist unschön.
Am beste die gleiche Adern verwenden wie hier:
https://wiki.rocrail.net/doku.php?id=cb ... luss-kabel

BTW: In ein Test "ArduCAN I/O" bin ich auch sehr interessiert...

PS: Ist auch noch ein "ArduCAN ETH" geplant?

Wolfram
Posts: 12
Joined: 09.01.2011, 16:51
Location: Postbauer-Heng

Re: CAN Decoder fuer IR-Reflexmelder

Post by Wolfram » 22.08.2018, 12:31

Hallo Zusammen,

über die Entwicklung der Baugruppen für den CAN Bus auf Basis eines Standardbausteins(Arduino) bin ich hoch erfreut. Werde den IR Rückmleder in einem schwierigen Schattenbahnhofsbereich ( der in einer Kurve liegt) verwenden. Hier baue ich die IP Empfänger von der Seite an und nicht ins Gleisbett ein.

Einen Wunsch hätte ich dazu: auf der Seite der Konfiguration des ArduCan IR währe eine Übersicht über den momentanen Status der Eingänge hilfreich.
Damit eine Bitte an Rob, hinten der Spalte " Invertiert" noch eine Spalte mit dem Status der Ports einzubauen.

Vielen Dank für Eure Entwicklung,

Gruß
Wolfram

schumo99
Posts: 160
Joined: 21.05.2017, 20:14
Location: Amberg

Re: CAN Decoder fuer IR-Reflexmelder

Post by schumo99 » 22.08.2018, 14:54

Hallo,
die Pinbelegung hat einen speziellen Grund:
Ich wollte eine Kompatibilität zum bisherigen D-Sub-Stecker herstellen und zwar in der Art, dass der footprint für RJ45 und D-Sub auf der Platine direkt übereinander passt. Das war leider nur so möglich. Sonst müsste man auf der Platine einen separaten Platz für RJ45 und D-Sub vorsehen. Aber dann wäre die Platine ein ganzes Stück größer und würde zu fast 50% nur aus diesen Steckplätzen bestehen. Das wollte ich vermeiden.

@Rob: Ich schicke dir gerne einen ArduCAN I/O zu. Allerdings warte ich momentan noch auf die finale Platine, da in der ersten Version ein Fehler war. Wenn's für dich nicht supereilig ist, würde ich dich um ca. 4 Wochen Geduld bitten, dann kann ich dir die finale Version schicken, die ich auch veröffentlichen werde. Sonst kannst du auch die Version 1.0 haben. Aber da ist halt ein Fehler drauf und man kann nicht alle Ausgänge vollständig benutzen. Die Eingänge funktioneren dagegen jetzt schon alle. Außerdem sind die Abstände zwischen dem Arduino und der Steckleiste recht knapp, so dass man hier nur schwer aufstecken kann. Sag' einfach Bescheid...

@Rob: Der ArduCAN Servo ist ein 8-fach Servodecoder; nicht 4-fach. Könntest du das bitte für die ModulID 89 noch so hinterlegen? Danke. Man kann den Programmiertab für GC6 mitnutzen, da der Decoder praktisch aus zwei 4-fach Einheiten besteht, zwischen denen man mit einer Variable für das Programmieren umschalten kann. Im Betrieb merkt man davon nichts. Ich habe das extra so gemacht, damit es keinen neuen Programmiertab braucht...

@Wolfram/Rob: Der Status der einzelnen Melder steht in Variable 26. bit 0: Sensor 1, bit 1: Sensor 2, ....

Für beide Decoder ArduCAN I/O und ArduCAN Servo werde ich auch noch Seiten in den userpages anlegen und die Sourcefiles zur Verfügung stellen.
Ein ArduCAN Gateway ist nicht geplant. Mit Netzwerkprogrammierung kenne ich mich nicht genug aus. Da müsste ich mich komplett einlesen... Als nächstes würde ich noch den ArduCAN IR als Achszähler weiterentwickeln.

Grüße

Matthias

rjversluis
Site Admin
Posts: 42383
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CAN Decoder fuer IR-Reflexmelder

Post by rjversluis » 22.08.2018, 15:58

Hi Matthias,

OK, Description aktualisiert.
Keine Eile, ich habe Zeit.
Mit 8 anstatt 4 Servos musst du zurecht kommen weil ich werden da nichts ändern.

Post Reply

Return to “ArduCAN”