Ich bin dabei, einen autonomen Roboter so umzubauen, das er noch selbstständiger wird.
Momentan ist es das Ziel, ihn sich auf einem Tisch (2,10m x 3,00m) orientieren zu lassen.
Hierfür ist geplant, an der unterseite des Roboters einen Halleffektsensor anzubringen, wodurch er erkennen kann, auf welcher Ecke des Tisches er sich befindet. Zur Unterstützung sollen, unter der Tischplatte, an 2 gegenüberliegenden Ecken 2 Permanentmagnete (umgekehrte Polung) angebracht werden.
Angeschlossen hab ich sie zum testen an eine ArduinoUNO:
V+ => 5V
V - => GND
Output => Analog2
So, nun zu meinem Problem:
Beim Test des SS495A hab ich wunderbare Werte bekommen. Solange der Magnet in einer entfernung von max 2cm vom Sensor entfernt war. Wurde die entfernung größer. Gab es kein Signal mehr.
Da die Magnete unter der Tischplatte (3cm) angebracht werden sollen, ist die Reichweite des Sensors viel zu gering. Selbst wenn sie in ca 2cm tiefen Löchern versenkt werden, ist dann immer noch ca 2cm Luft, bis zum Sensor. Und der Roboter muss genau über dem Magnet stehen.
Jetzt weis ich nicht mehr weiter, wie ich die Reichweite des Sensors erhöhen könnte.
Kann mir da eventuell jemand nen Hinweis geben, oder hat Erfahrung mit anderen Sensoren, die eine höhere Reichweite haben & dadurch besser geeignet sind?
Ist es nicht einfacher einen schwarzen Strich rund um den Tischrand zu zeichnen und diesen mittels optischer Sensoren ( Refelxionslichtschranke) zu detektieren?
Grüße Uwe
Mit nem einfachen Liniensensor klappts auch (im Prinzip ja was ähnliches wie ne Lichtschranke).
So hatte ich meinem NiboBee seinerzeit beigebracht, nicht vom Tisch zu fallen.
Was mit der Methode natürlich nicht geht, ist ne absolute Position finden, da braucht man dann irgendeine Markierung auf dem Tisch- nen "weissen Fleck" zum Beispiel.
ein Hallsensor ist nicht dafür gedacht um aus 100km Entfernung ein Magnetfeld zu erkennen. Die werden verwenden als Ersatz für Lichtschranken wo diese nicht eingesetzt werden können bzw. um noch vielfach genauere Positionen zu erfassen. Zum Bsp. im Automotor. Dabei ist der Abstand Sensor - Magnet sehr eng.
Der Hallsensor detektiert ein Magnetfeld bzw. dessen Stärke. Wenn Du also stärkere Magnete nimmst, kann auch die Entfernung zunehmen, allerdings dürfte auch die Genauigkeit leiden. Nimmst Du schon moderne Neodym-Magnete?
der Halleffektsensor soll rein der Orientierung dienen & nicht dafür sorgen, das der Roboter auf dem Tisch bleibt. Dafür sind andere sensoren zuständig.
Er soll sich auf diesen 2 Punkten nur von der Position her reseten können. Da es mit den eingebauten Servomotoren schlecht möglich ist, die exakte Spur zu verfolgen. Sie drehen den Roboter nicht ganz genau in dem Winkel, wie angedacht und so kommt über kurz oder lang ein Versatz der Spur zustande.
an optische Sensoren wurde hier auch schon gedacht. Allerdings gibt es Probleme mit dem Lichteinfall & von daher war geplant das ganze über MAgnete zu regeln, welche lichtunempfindlich sind. (zur Not, wenn's wirklich nicht anders geht, muss ich mir darüber nochmal den Kopf zerbrechen)
die Reichweite von 100km wird auf dem kleinen Tisch auch nicht ganz reichen... nee, Scherz bei Seite. Ich dachte, das man die reichweite wenigstens auf Ca 10-15cm ausweiten könne. das würde mir schon vollkommen zureichen. um den Punkt gezielter anzusteuern.
Ein Optischer Sensor mit Encoderrad an jedem Rad (manche haben es schon eingebaut oder Du kannst die Löcher des Rades verwenden) können die Genauigkeit der Fahrt bedeutend erhöhen.
Optische Sensoren moduliert man ganz einfach. Dann hat sich die Umgebungslicht-Problematik erledigt.
Wird eigentlich bei den meisten kleineren Robotern bzw. Bausätzen so gemacht, da alles andere wirklich nicht allzu praxistauglich ist.
Wie du ja schon festgestellt hast, ist nen Magnet und ein Hallsensor nicht so das Optimale....
Der erste von dir verlinkte Magnet ist nur ein normaler Ferritmagnet. Der 2. ist ein Neodymmagnet. Mit letzterem sollten sich bessere Ergebnisse erzielen lassen. Die Hallsensoren reagieren auch nicht auf alle Seiten des Magnetes gleichgut. Ich kenne von früher her welche mit eingebautem Trigger, die mochten nur den Südpol. Was auch hilft, wenn man das Magnetfeld mit 2 Blechen bündelt, wie bei den Magneten für Schranktüren. Ein Blech muß an den Nord- das Andere an den Südpol. Zwischen den überstehenden Blechen herrscht dann die höchste Feldstärke.
Ich habe mit ca. einem Dutzend daumengroßer Neodymmagnete und einem Scheibenwischermotor und einer Drehzahlregelung einen Magnetrührer realisiert. Der Teflon gekapselte Rührfisch - ebenfalls ein Neodymmagnet ruckt noch in 10 cm Entfernung ordentlich in der Hand. Bei 1 cm mußt du aufpassen, das du dich nicht quetscht!
Wenn du mit den Magneten nicht weiterkommst, dann versuche es doch optisch, oder kapazitiv mit einem Näherungssensor. RF-ID wäre auch noch eine mögliche Option.