Hallo zusammen,
ich suche ein Längenmesssystem im Bereich 500-1000 mm für eine einfache Linearachse. Auf der Linearachse soll ein kleiner Anschlagreiter verfahren, der zum Anschlagen an ein Brett genutzt wird. Die Linearführung selbst besteht nur aus einem Nutenstein, der in einer Profilnut läuft. Genauigkeit und Auflösung ist erstmal zweitrangig. Ich muss dazu sagen, dass ich noch keine Erfahrung mit Arduino habe und deshalb ein Messsystem suche, das möglichst einfach mit dem Arduino funktioniert. Interessant für mich wäre auch, welche Schnittstellen mit dem Arduino funktionieren. SPI soll sich gut eignen? Optimal wäre es, wenn es sich um ein absolutes Messsystem handelt, aber inkrementell wäre trotzdem nicht ausgeschlossen.
die gebräuchlichen Arduino Boards unterstützen i.d.R.
I2C
SPI
Serielle Kommunikation (Level 5V oder 3.3V )
und seriell per USB zum PC
Daneben verfügen sie über diverse digitale Ein-/Ausgänge und analoge Eingänge.
Mithilfe sogenannter "Breakout Boards" (kleiner Zusatzplatinen) oder "Shields" (auf bestimmte Arduino Boards aufsteckbare Platinen) können einfach weitere Schnittstellen wie RS485, CAN-Bus, Bluetooth und WLAN bereitgestellt werden.
Da für die allermeisten solcher Schnittstellen bereits Libraries existieren, wird einem i.d.R. viel Arbeit abgenommen, Einarbeitungstiefe, Zeitaufwand und das Umsetzungsrisiko werden deutlich reduziert.
Die von @uwefed vorgeschlagene Lösung eignet sich natürlich sowohl für vom Arduino unabhängige Verfahrmethoden wie auch für von diesem gesteuerte.
Inkrementelle Messmethoden, die allerdings beim Einschalten über eine Indexposition "genullt" werden müssen, sind bei vergleichbarer oder sogar höherer Genauigkeit meist technisch weniger aufwendig und damit kostengünstiger als absolute.
Fotos oder Skizzen zur Anwendung und eine Aussage zu den Mindestanforderungen bzgl. Genauigkeit wären sicher hilfreich, um geeignet Lösungsmöglichkeiten vorschlagen zu können:
Wird die Linearachse manuell verstellt oder per Steppermotor betrieben?
Ist das Anfahren der "Nullposition" bei inkrementellem Verfahren denkbar oder muss das Messsystem beim Einschalten "sofort" den Messwert bereitstellen können?
Welche Rolle soll der Arduino spielen:
Nur Messwerte auswerten und anzeigen
Oder zusätzlich den Reiter auf der Linearachse verfahren?
Hallo
wenn die Genauigkeit nicht so eine Rolle spielt kannst Du auch mal nach einem Linearpotentiometer oder Seilzug-Poti sehen. Mit einem Poit-Ausgang kannst Du das direkt an den einen UNO anschliessen und mittels Anaogeingang messen. Allerdings wird die Auflösung dann bei etwa 1 mm liegen. Genauer (0,2-0,3 mm) wird es mit einem hochwertigen AD Wandler der über I2C mit dem Arduino verbunden ist.
Vorteil es ist ein absolutes Messystem Du musst nicht "nullen"
Das "nullen bei einem inkrementellen Messystem ist jetzt auch nicht das Problem. Du fährst den Schlitten in die Endlage , mit dem Festanschlag und drückst einen Taster mit dem der Messwert auf den zugehörigen Wert gesetzt wird. Damit kannst Du problemlos <0,1mm messen.
Also das einzige Teil das sich bewegt ist der Nutenstein?
Nur ein Nutenstein wäre etwas wenig. An dem Nutenstein ist doch bestimmt noch irgendetwas dran.
Ist an dem Nutenstein der Anschlagreiter befestigt?
reichen dir 5 mm Genauigkeit ? => Lösung: Ultraschallsensor
Ist wahrscheinlich zu ungenau
Reichen dir 2 mm Genauigkeit? Lösung: kleiner ToF-Sensor
Wenn du nur eine Anzeige brauchst
Es gibt so kleine Hand-Laserentfernungsmesser die einen kontinuierlichen Messmodus haben. Genauigkeit 1 mm.
Das heißt der Messwert wird ohne dass man irgendeine Taste drücken muss alle 1 bis 2 Sekunden ständig aktualisiert.
Kaufen - statt Batterien ein Netzteilkabel an den Batteriekontakten anlöten - befestigen - fertig
Jetzt sagst du womöglich
"Ach so ne es sollten dann schon unter 1 mm Genauigkeit sein."
Abweichung höchstens 0,5 mm besser nur 0,2 mm.
Da würde ich jetzt statt Messen einen Schrittmotor mit Untersetzungsgetriebe vorschlagen.
Der Anschlagswinkel sitzt auf der Mutter einer Trapezgewindespindel und wird dann auf die entsprechende Position gefahren.
0,2 mm Genauigkeit per Messen hinzubekommen ist schon einigermaßen aufwendig
Seilschnur-Potiometer plus hochauflösender ADC-Wandler
Optischer Encoder mit 1000 Impulsen pro Umdrehung
Welche Lösung jetzt geeignet wäre hängt von der Gesamtsituation ab.
Willst du da alle 1 bis 3 Minuten eine andere Länge einstellen und das 8 Stunden lang?
Bleibt eine Einstellung für 30 Minuten so bestehen?
Beschreibe einfach mal das Gesamtprojekt wofür du die Längenmessung brauchst.
Sorry für die späte Antwort. Genauer beschreiben kann ich es leider schlecht, da es sich um ein Firmenprojekt handelt.
Die Linearachse wird manuell verstellt. Der Schlitten besteht dabei aus dem Nutenstein mit Anschlagreiter
Es wäre deutlich besser, wenn der Messwert sofort nach dem Einschalten bereitstünde (also absolutes System). Wenn es inkrementell so viel einfacher wäre, wäre das aber auch denkbar
Zusätzlich zur Linearachse gibt es noch eine Drehachse. Dafür habe ich einen Absolut-Encoder mit SPI-Schnittstelle gewählt
Je nach Winkeleinstellung muss ein Längenausgleich erfolgen. D.h. der eingestellte Winkel beeinflusst das tatsächliche Längenmaß, weshalb die Messwerte von Länge und Winkel verrechnet werden müssen
Der Arduino soll die Messwerte auswerten und das verrechnete Längenmaß und das Winkelmaß über jeweils ein Display ausgeben (in "Echtzeit", also so wie ein Messschieber oder Winkelmesser)
Genauigkeit sollte im Bereich 0,5 mm liegen. Eine Auflösung von 0,1-0,3 mm wäre optimal
Maße werden bei Verwendung vielleicht 6 Mal pro Stunde verstellt
Bei dem Seilzug-Poti gibt man dann 5V mit dem Arduino drauf und misst dann die Ausgangsspannung?
Dann bist du im Arduino-Forum verkehrt.
Das Arduino-Forum ist OpenSource. Es dient dem Wissen teilen.
nicht dem Wissen abgreifen und dann den Rest geheimhalten.
Zumindest nicht dadurch, dass du aktiv eine Anfrage stellst.
Wenn es ein Firmenprojekt ist sollte man da zumindest Profi-Komponenten verwenden.
Mit einem Seilzug-Poti wird das eher nix mit den 0,3 mm Genauigkeit.
Ich zitiere mal
Hahaha. Ideal 0,1 mm Genauigkeit bzw. Genauigkeit sollte mindestens 0,5 mm sein.
Junge das sind ziemlich hohe Anforderungen. Da scheiden schon eine Menge Sensoren / Technologien aus und du willst nix zu den Details sagen.
Na dann such dir mal ein Ingenieurbüro für Spezialelektronik.
Die unterschreiben für 10000 Euro Entwicklungskosten gerne einen Geheimhaltungsvertrag.