SLSS CANopen Analyser

  • Entwicklungsstand: in Entwicklung (letzte Aktualisierung: 08.12.2022)
  • Veröffentlichungen: (Python-Offline veröffentlicht / C# Live Analyser ausstehend)

 

Vorgeschichte

Mit meiner CAN Bus-Software SLSS CANAnalyser* schein ich doch bei so einigen CAN Interessierten einen Nerv getroffen zu haben.
Durch den kostenlosen Download und den „cheap’n’open hardware“ Ansatz habe ich mittlerweile einige nette Kontakte knüpfen können (sogar weltweit was ich immer noch Wahnsinn finde).

Da meine beruflichen „Wurzeln“ bis Anfang letzten Jahres eigentlich immer fest im Automotive Sektor verankert waren, war für mich bis dahin das Multi-Master-Prinzip und die unabhängige Botschaftszuordnung stets das was den CAN Bus ausmachte und wofür ich Ihn einsetzte. Diese grundsätzliche Auslegung findet man zum Beispiel auch in den Beschreibungen der CAN Übertragungsverfahren*, wie hier zum Beispiel auf Wikipedia!

Im Zuge eines Jobwechsels wurde ich dann im ersten Projekt jedoch gleich mit dem Thema CANopen* konfrontiert.
Das Wort „CANopen“ war mir zwar bekannt und bis dahin auch schon einige Male an diversen Stellen „untergekommen“, doch war ich immer weit genug entfernt um mich nicht tiefer mit dem Thema beschäftigen und auseinandersetzen zu müssen!
Da mein neuer Projektleiter jedoch eher die Einstellung „learning by doing“ vertritt (was ich sehr an Ihm mag) und in unserer Abteilung noch kein Wissen hinsichtlich CANopen vorhanden war, wurde ich gleich ins kalte Wasser geworfen und musste mich mit den „Eigenheiten“ des CANopen Protokolls vertraut machen.
Schnell stellte ich fest, dass der CAN Bus selbst und der Aufbau der darauf versendeten Botschaften (CAN Frames) immer noch dasselbe war, doch altbekannte Dinge wie das Multi-Master-Prinzip mittendrinnen obsolet und durch mir bis dahin unbekannte Sachen wie Guarding, Heart-Beat, Node-IDs, SDOs, PDOs oder das ominöse Objektverzeichnis (object dictionary) ersetzt worden waren! So musste ich selbst erst einmal lernen was CANopen überhaupt ausmacht, welche Vorteile und evtl. auch Nachteile der Einsatz von CANopen mit sich bringt und wie die Daten auf dem Bus zu interpretieren sind.

Mehr lesen

USB-Stick Kabinett – endlich Ordnung auf dem Basteltisch

Jeder (Elektronik-)Bastler kennt sicherlich das Problem: Man tüftelt an einer neuen Schaltung oder probiert auf dem Bread-Board nur einmal schnell etwas aus und schon hat man eine Handvoll Widerstände, Kondensator oder sonstige Bauteile auf dem Tisch liegen. Nun kommt man an den Punkt, an dem das aktuelle Bauteil gegen ein anderes getauscht werden muss und ehe man sich versieht herrscht Chaos, als hätte man 3 Wochen nicht aufgeräumt. Als wäre das nicht schon genug, kommen dann noch die „Neuerrungenschaften“, am Besten als SMD-Variante und andere Bauteile laufender Projekte hinzu, für welche man sich sowieso erst noch einen „Lagerort“ überlegen muss, um sie auch in 2 Wochen noch wiederfinden zu können.

Da ich an diesem beschriebenen Bastelplatz seit neuestem auch meine tägliche Arbeit verrichte, möchte ich natürlich nicht die ganze Zeit irgendwelche Kleinteile rumliegen haben, weshalb nun endlich eine Lösung für dieses Ordnungsproblem her musste. Da sich zu den elektronischen Bauteilen auch noch der ein oder andere USB-Stick, USB-Kartenleser oder auch USB-UART-Konverter gesellte, sollten auch diese gleich einen festen Platz in dieser Lösung erhalten.

Die grobe Zielsetzung war also eine Aufbewahrungsmöglichkeit für USB-Sticks und allmögliches Kleinteilzeugs zu schaffen, um einerseits die Ordnung und Ansehnlichkeit des Arbeits- und Bastelplatzes zu verbessern und andererseits die Teile trotzdem immer griffbereit zu haben.

Mehr lesen

SLSS PictureSort (Update 1.0.1.0 – 09/2021)

Vorgeschichte

Für die Entstehung von SLSS PictureSort gab es mehrere Gründe. Zum einen wollte ich meine erlernten C# Kenntnisse etwas weiter ausbauen, wofür ich natürlich ein passendes Projekt brauchte, zum anderen besitzen meine Frau und ich mittlerweile unüberschaubar viele digitale Fotos aus den unterschiedlichsten Quellen (Digitalkamera, Smartphones, WhatsApp, etc…), welche wir zwar immer fleißig auf unserem NAS gespeichert und dort auch grob sortiert haben, doch eine chronologische Anordnung, gerade bei den unzähligen Bildern unserer Kinder, wäre bei der Masse an Dateien eine reine Fleißaufgabe gewesen. Da meiner Ansicht nach Computer-Programme genau für solche Zwecke, nämlich Menschen lästige Fleißarbeiten abzunehmen, gemacht werden, war der beste Kompromiss aus Lernen und Nutzen gefunden.

Mehr lesen

3D-Universalhalterung für den Arduino Uno

Beschreibung

Während der Entwicklung der SLSS CANAnalyser* CAN-Bus Software benötigte ich mehrere Arduino Uno R3* Micro-Controller Boards inkl. angeschlossener MCP2515 CAN Bus Shields*, um die Kommunikationschnittstelle mit dem Computer entwickeln, testen und debuggen zu können. Da jedes der CAN-Boards bereits 7  JumperWires* für den Anschluss an den Arduino benötigt und die beiden CAN-Verbindungsleitungen zwischen den Controllern auch noch dazugekommen sind, sah es auf meinem Basteltisch ziemlich „chaotisch“ aus und das obwohl ich nicht wirklich viel mit den Boards machte (ich arbeitete ja an der Software). Noch schlimmer wurde es, als ich den Aufbau, um für ein anderes Projekt platz zu haben, auf die Seite räumen musste. Dabei lösten sich zum Teil die Anschlussleitungen am CAN-Board, am Arduino oder gleich auf beiden Seiten und ich musste diese jedes Mal neu verbinden, was dann auf Dauer doch etwas nervig war.

Aus diesem Grund entschloss ich mich dazu ein Halterung zu konstruieren, welche das CAN Board mit dem Arduino verbindet, die Kabel etwas in Zaum hält und mir trotzdem noch die Möglichkeit bietet die übrigen Ein- und Ausgänge des Arduino-Boards frei zu konfigurieren. Jetzt hätte ich zu diesem Zweck natürlich eine Platine bauen können, welche das CAN-Board aufnimmt und auf den Arduino Uno* aufgesteckt wird. Dies habe ich in der Vergangenheit schon des Öfteren gemacht und das hat auch immer super funktioniert. In diesem Fall wäre es jedoch zum aktuellen Zeitpunkt unnötig gewesen, da ich sowieso die Idee habe für die CAN-Software ein passendes Hardware-Layout zu erstellen. Diesen Schritt möchte ich mir allerdings für die fertige Software aufheben, da ich dann genau weiß, was ich wie und wo umsetzen möchte. Um nun doch ein wenig Ordnung in meinen Versuchsaufbau zu bekommen und die Boards auch „mobil“ nutzen zu können, habe ich mich also für das Erstellen einer Halterung für den 3D-Drucker entschieden.

Mehr lesen

Gehäuse für PS2 to Serial Converter

Beschreibung

Mit dem PS2TOSERIAL Converter ist es, wie der Name schon sagt, möglich eine PS2-Maus an den seriellen Anschluss (COM-Port), wie er bei älteren Computern vorhanden und damals der gängige Standard war, anzuschließen. Da das Converter-Board ohne Gehäuse geliefert wird, haben wir uns die Mühe gemacht und ein kleines Gehäuse dafür erstellt, welches wir hier gern allen Interessierten zur Verfügung stellen möchten. Viel Spaß beim Drucken wünschen euch Sebastian Langer und Martin Nemitz!

Mehr lesen

Basti Kalender – Der Ersatz für den Microsoft Date and Time Picker

Warum ein eigener Kalender

Ich musste beim Erstellen vieler meiner VBA* Anwendungen dem Nutzer die Möglichkeit geben das aktuelle Datum oder auch ein bestimmtes Bearbeitungs- oder Zieldatum eingeben zu können. Um die Eingabe etwas komfortabler zu gestalten, nutzte ich dafür bis 2018 in allen Formularen den „Microsoft Date and Timer Picker“, welchen man durch die Auswahl von „Extras“ –> „Zusätzliche Steuerelemente“ den Steuerelementen der VBA* Toolbox hinzufügen konnte. Diese tolle Erweiterung öffnet beim Klicken auf die Dropdown Box einen „Mini Kalender“, mit welchem man durch Monate und Jahre navigieren kann. Beim Klicken auf einen bestimmten Tag wird dann das ausgewählte Datum in die Dropdown Box übernommen, wo es vom VBA*-Code ausgewertet werden kann.

Mehr lesen

SLSS Sidebar

Vorgeschichte

Dieses kleine Tool hat eigentlich als „How-To“ – wie programmiert man C# unter VS angefangen. Während meines Fernstudiums zum Informatiker haben wir 2 Semester lang C#-Programme erstellen müssen, in welchen es von unterschiedlichen Datentypen bis hin zur Datenbankprogrammierung mittels SQL-Schnittstelle so ziemlich alles umzusetzen gab. Für das Erstellen nutzten wir eine kostenfreie Studentenversion von Microsoft Visual Studio*, eine der umfangreichsten IDE*s die es wohl auf diesem Gebiet gibt.

Mehr lesen