ich möchte mit einem Adruino Mega oder Adruino Due einen Kabeltester realisieren. Der Adruino soll hier alle I/O Ports der Reihe nach abfragen und entsprechend Kabelbäume auf Durchgang / Kurzschluß und Unterbrechung testen. Des weiteren soll der Adruino entsprechend eine LED zum Leuchten bringen bzw. einen Tongeber, welche die zustände Gut / Schlecht ( Unterbrechung und Kurzschluß ) enzeigen.
Meine Fragen hierzu sind:
Wie groß ist der Aufwand, welchen ich hier betreiben muß?
Gibt es ein fertiges Script, welches ich hier verwenden kann?
Das geht auch mit einem kleinen Board und Schieberegistern. Da ein Kabelbaum ja auch beliebige Verzweigungen haben kann und es damit in der Regel keine reine 1:1 Zuordnung der Anschlüsse gibt, muss die Programmierung aber speziell auf den Kabelbaum angepasst werden.
Man könnte das ganze auch noch ausbauen und mit einem PC ergänzen, auf dem die Prüfprotokolle definiert werden, die der Controller dann abarbeitet.
High-End Lösung wäre dann die Verarbeitung eines Exports aus der Software, mit der die Kabelbäume konstruiert werden um so einen automatischen Prüfablauf zu ermöglichen.
Ein Punkt, über den man sich aber auch Gedanken machen muss: Normalerweise werden für Isolations- und Kurzschluss-Tests wesentlich höhere Spannungen genommen als gut ist für einen Controller. Wenn das auch abgedeckt werden soll, ist deutlich mehr Schaltungsaufwand erforderlich.
Insgesamt ist das aber ein spannendes Projekt, das ich selbst schon fast mal in Angriff genommen hätte
Das Gerät mag klein sein, aber der Anschluß unterschiedlicher Kabelbäume könnte mit einigem Aufwand verbunden sein. Wenn die Enden keine Stecker haben, können auch noch Verwechslungen beim Anschließen auftreten.
Das Programm ist relativ einfach, Konfigurationen können auch von SD Karten gelesen werden.
Schieberegister vereinfachen nicht viel, können aber (gesockelt!) nach Katastrophen leicht ausgetauscht werden.
Mein erster Kabeltester hat sich komplett zerlegt, weil mir niemand gesagt hat, daß die Stromversorgung den gleichen Stecker wie die übrigen Steckplätze hat. Die 220V haben dann einigen magischen Rauch produziert
Den Vorteil der Schieberegister sehe ich in der einfachen Erweiterbarkeit. Wenn ein größerer Kabelbaum geprüft werden muss, steckt man einfach ein paar Module mehr an und gut is.
Was ich mir auch noch überlegt habe als mögliches Feature: eine Teach-In Funktion. Du steckst einen Referenz-Kabelbaum an. Das Tool checkt jede Ader gegen jede andere und ermittelt dabei das Soll-Muster. So geht es ganz ohne Programm-Änderung oder manuelle Konfiguration.
Der Vorteil bei der Integration eines Windows Rechners wäre, dass er Dir auch gleich noch ein detailiertes Fehlerprotokoll anzeigen kann:
Insgesamt sehe ich bei so einem Projekt verschieden komplexe Lösungsansätze mit verschiedenen Vor-/Nachteilen. Hängt halt auch davon ab, wie komplex die Kabelbäume sind, wie oft die Konfiguration sich ändert, ob eine reine gut/schlecht Aussage oder eine echte Fehler-Analyse gemacht werden soll.
noiasca:
15 auf input geben
1 auf output setzen und High schicken.
Das setzt voraus, daß die Inputs per default Low sind. Mit INPUT_PULLUP sind sie aber High. Also auf 0 ziehen und testen.
Schieberegister müssen wahlweise als Ein- und Ausgänge arbeiten können, das können aber nur Port-Expander, und möglicherweise auch die nur mit zusätzlichen Pullups.
Ich würde immer zwei "Bänke" von Schieberegistern vorsehen. Eine Bank ist konstant auf Eingang (z. B. 74HCT165) und die andere als Ausgang (z. B. 74HCT595) konfiguriert. Wenn ich dann EIN Ausgangs-Pin setze, wird mir das natürlich auch sofort am Eingangs-Schieberegister angezeigt - zusätzlich mit allen korrelierenden Eingangs-Pins, wo verbundene Adern anliegen. Dennoch bleibt dieser Ansatz aus meiner Sicht unschlagbar, da beliebig erweiterbar. Bei Portexpandern unterliegst Du IMMER einer Mengenbeschränkung und zum andern musst Du zwischen Ein- und Ausgang umschalten. Das würde bei meinem Ansatz alles wegfallen.
mgcss:
Ich würde immer zwei "Bänke" von Schieberegistern vorsehen. Eine Bank ist konstant auf Eingang (z. B. 74HCT165) und die andere als Ausgang (z. B. 74HCT595) konfiguriert. Wenn ich dann EIN Ausgangs-Pin setze, wird mir das natürlich auch sofort am Eingangs-Schieberegister angezeigt - zusätzlich mit allen korrelierenden Eingangs-Pins, wo verbundene Adern anliegen.
Schieberegister sind nicht so "konfigurierbar" wie Du Dir das vorstellst. Die Ausgänge eines 74HCT595 können nur gemeinsam ein- oder ausgeschaltet werden. Dann kommt es beim Einschalten zwangsläufig zu Kurzschlüssen zwischen den Pins an beiden Enden einer Leitung.
DrDiettrich:
Schieberegister sind nicht so "konfigurierbar" wie Du Dir das vorstellst. Die Ausgänge eines 74HCT595 können nur gemeinsam ein- oder ausgeschaltet werden. Dann kommt es beim Einschalten zwangsläufig zu Kurzschlüssen zwischen den Pins an beiden Enden einer Leitung.
Das ist mir klar. Deshalb hatte ich für die Eingänge ja auch die 74HCT165 als Beispiel genannt. Ich kenne mich Schieberegister durchaus aus. Du auch? Schieberegister sind entweder parallel zu seriel oder umgekehrt (und damit vereinfacht gesagt entweder Eingang oder Ausgang). Aber nie umschaltbar. Deshalb ja auch mein Versuch, das mit "zwei Bänken" zum Ausdruck zu bringen, da man in diesem Fall beide Typen braucht
Die beiden seriellen weg, Serial1 evtl, I2C evtl. ausklammern, genau so wie SPI.
Die drei letzten sind nicht Pflicht auszuklammern aber für Erweiterungen (Display, ...)
Gebt mir mal eine Woche, dann baue ich einen Prototypen mit kaskadierten Schieberegistern, der beliebig erweiterbar ist. Ich hoffe, das stellt dann auch alle Zweifeler zufrieden