Hallo zusammen,
ich stehe vor einem Problem: Ich würde gerne mittels einem Magnet (muss nicht zwingend ein Magnet sein) die Position auf einer Schiene erkennen.
Meine Schiene ist ca 2m lang und sollte mir recht genaue genaue absolute oder prozentuale Werte zurückliefern. Die Rückgabe ist Software, das ist mir klar, aber ich habe noch keinen wirklichen Ansatz wie ich das über die Hardware realisieren könnte. Also kurz gesagt, wenn ich ein Objekt an den Anfang stelle bekomme ich Wert=0, wenn ich das Objekt zur Mitte bewege zählt der Wert entsprechend auf 50 hoch.
Ich hatte mich schon mit linearen Hall-Sensoren beschafft und dachte, dass könnte die Lösung sein, aber dann kam die Frage auf, wie ich davon (schätzungsweise) 30 Stück in Reihe schalten kann, bzw diese Anzahl am Arduino auslesen kann.
Vielleicht hat jemand noch andere Ideen, wie ich die Position erfassen kann.
ziemlich genau wären ca 5mm
Ich dachte, dass man bei Sensor 1 merkt, wenn ein Magnet darüber ist, wenn dieser Wert schwächer wird, dafür bei Sensor 2 stärker wird, muss sich der Magnet dazwischen befinden, anhand der Entfernung von Sensor 1 und 2 könnte man die Position errechnen.
Soweit das theoretische, aber ob das praktisch umzusetzen ist, ist die Frage.
Optisch wäre zwar möglich, aber habe ich da nicht auch das Problem, dass ich sehr viele Sensoren auslesen muss?
Entfernungsmessung im 0 .. 2m Bereich wird gerne mit Ultraschall gemacht.
Bei dir ist da eventuell die Schiene im Weg?
Sender/Empfänger trennen und eins von beiden auf das Objekt auf der Schiene setzen?
Sonst ist es (egal ob optisch oder magnetisch) erheblich leichter, nur ein Digital-Signal auszuwerten.
Kann ja sogar sein, dass "Sensor1 Signal genauso schwach wie Sensor2" auch bedeutet, dass dein Objekt in der Mitte zwischen beiden ist, aber wo ist es bei einem Signalverhältnis von 2:1 ? (Ist die Signalstärke quadratisch zur Entfernung?, wie wirken sich andere Stör-Einflüsse aus?)
wenn dieser Wert schwächer wird, dafür bei Sensor 2 stärker wird, muss sich der Magnet dazwischen befinden, anhand der Entfernung von Sensor 1 und 2 könnte man die Position errechnen.
Das Magnetfeld wird nicht linear schwächer. Darum ist eine Interpolation sehr ungenau.
Das einfachste ist einen 10 Gang Potentiometer zu nehmen und dieses mittels einer Schnur durch das verschieben des Schlittens anzutrieben.
wenn die Schiene oder was auch immer gerade ist, dann würde ich mir einen selbstgebauten Encoder ranbauen.
Ein Art Lineal mit versetzten Löchern drin. Am Schlitten 2 versetzte Lichtschranken, diese tasten die Löcher ab.
Am Ende haste einen üblichen Encoder gebaut. Nur das er optisch im Aufbau nicht rund ist.
Kannst das auch statt mit Löchern mit Minimagneten und statt Lichtschranken mit empfindlichen Hallsensoren machen.
Doc_Arduino:
wenn die Schiene oder was auch immer gerade ist, dann würde ich mir einen selbstgebauten Encoder ranbauen.
Es kommt darauf an, ob man eine Posizionsbestimmung will, die jederzeit funktioniert, auch nach dem Einschalten oder nur solange der Arduino eingeschaltet ist.
Grüße Uwe