Hey iedereen,

Ik wil een magneet detecteren met één of meerdere zelfgemaakte magneetsensoren. Deze bestaan uit een instrumentation amplifier en een hall sensor. Hiermee meet ik een spanning van 0V tot 4,7V met een standaard spanning van ongeveer 2,5V. Deze standaard spanning kan verhogen of verlagen als er een magneet in de buurt is. Ik kan nu op ruim 30cm de gebruikte magneet 'zien' als een van de magnetische polen richting de sensor staat. Zodra ik vanaf de 'zijkant' meet krijg ik natuurlijk andere waarden.

Het probleem is dat er met één magneetsensor geen conclusie getrokken kan worden uit de gemeten waarden. Immers kan de gemeten spanning meerdere dingen beteken, bijvoorbeeld bij een spanning van 3V: de magneet is op een afstand van ongeveer 30cm met de plus pool richting de sensor; de magneet is op een afstand van ongeveer 15cm met de polen haaks op de magneetsensor; hetzelfde als de vorige optie maar dan 180gr. gedraaid.

Hoe kan ik nu met meerdere sensoren bepalen waar de magneet zich bevind en op welke afstand deze zich (ongeveer) bevind? Ik heb een hele hoop meetgegevens maar ik kan ze niet verbinden met elkaar om deze vraag te beantwoorden.

Edit: Ik weet niet of het in dit forum hoort? Het is iig. voor een robotproject.

Ik denk dat je met een driepuntsmeting een heel eind komt. Dit principe berust erop om op verschillende punten een signaalsterkte te meten.

De moeilijkheid zit hem in de oriëntatie, ik zou een soort van matrix maken die voor kan komen bij een bepaalde spanning (bv 2,7v), bijvoorbeeld:
draaiing - afstand
0gr - 30cm
45gr - 20cm
90gr - 15cm
180gr - 5cm
Dit kan je proefondervindelijk vaststellen en de waarden in een grafiek zetten.

Je kan vervolgend 2 of meerdere grafieken over elkaar heen leggen en door het snijpunt te berekenen informatie over de locatie te verkrijgen.

Ik weet niet zeker of het gaat werken, maar dat was mijn eerste ingeving.

ik zie 2 mogeljkheden:
1)sensor op een servo, en draaien tot maximale spanning. de stand van de servo geeft de hoek, de spanning geeft de afstand. Nadeel is dat het mechanisch is.

Ofwel meerdere vaste sensoren. Een spanningswaarde van een sensor geeft een contour weer. Die andere sensor ook, en je kan één of meerdere snijpunten bepalen. Kan best zijn dat je er dan nog een extra sensor nodig hebt. Contouren eens uittekenen. Vereist wel wat meer berekeningen ,algoritme en programming werk maar resultaat is netter.

Onder welke hoek moet ik de sensoren dan neerzetten? Als ik namelijk een tweede sensor 90gr. draai krijg ik grafieken die elkaar niet snijden. Verder kan ik de sensoren maximaal zo'n 15 cm. uit elkaar zetten omdat de robot niet groter is.

[Bericht gewijzigd door defecto op (25%)]

Als je een algorithme moet bedenken, doe het eerst eens met de hand.

Dus als die magneetbinnen 50x50x50cm zich kan bevinden, neem 3 sensoren, zet die ergens neer, en meet in verschillende orientaties en verschillende posities de signalen. Daarna houd je de magneet ergens, lees de signalen af, en met je tabel probeer te achterhalen waar ie zich bevind.

Om het makkelijker te maken, begin met slechts 1 orientatie, bijvoorbeeld: De magneet staat altijd met z'n noordpool recht naar boven.

Oh... Je meet drie variabelen. je krijgt dus drie getallen tussen 0 en 5. Wat je wilt weten is 5 variabelen: de positie van de magneet, en zijn richting. Dus volgens mij heb je minimaal 5 sensoren nodig om alles te kunnen terugrekenen. Bijvoorbeeld de 5 hoeken van de kubus zal wel een redelijke positionering zijn van de sensoren.

De magneet zit in een stuk pvc regenpijp welke altijd rechtop staat. De magneet kan dus alleen over een verticale as draaien waardoor ik gelukkig niet 5 sensoren nodig heb!

Ik heb op het moment metingen van één sensor met de magneet op meer dan 100 locaties. Als ik de gegevens naast elkaar leg kom ik er maar niet uit hoe ik een tweede sensor zou moeten positioneren.

Als je robot wielencoders heeft kan je misschien zelfs met 1 vaste sensor zonder servo werken werken.

Ik denk dat REW gelijk heeft; in principe heeft die magneet 5 graden van vrijheid, beweging x/y/z, pitch en yaw. In principe heb je ook nog een vrijheid in de roll, maar bij een ronde staafmagneet kun je die niet bepalen, omdat het veld in die richting uniform is. Bij magneten met andere vormen is dat niet zo, en zul je de roll ook moeten bepalen, om de anderen te kunnen bepalen.

Je hebt minimaal 5 meetwaarden nodig om 5 graden van vrijheid te kunnen bepalen, anders heb je simpelweg te weinig informatie.

De magneet/pvc buis staat in een testveld op de grond. Dat zijn dan 3 graden van vrijheid? X / Y en yaw, als het goed is? Dan zou ik dus met drie sensoren kunnen meten als ik het goed begrijp.

Maar nog steeds heb ik niet door hoe ik die sensoren ten opzichte van elkaar dan zou moeten plaatsen. In ieder geval allemaal op dezelfde hoogte, ongeveer 5cm vanaf de grond (vat is 10cm hoog).

Twee haaks op elkaar (2e sensor 90gr. gedraaid)?? En dan de derde nog.. Kortom, hoe kan ik de 'yaw' van de magneet bepalen?

Als het ding altijd in dezelfde oriëntatie staat, en het een ronde magneet is, zijn de 3 rotaties in principe bekend. De rotatie rond de lengteas van de magneet is niet interessant, en ook niet meetbaar, zolang het veld in die richting maar homogeen is.

Als de Z-as dan ook bekend is, heb je 3 sensoren nodig om de positie te bepalen. In principe krijg je van 1 sensor een cirkel waar de magneet zich kan bevinden, met 2 sensoren zijn er nog 2 mogelijke punten, en met 3 weet je in principe waar de magneet is. Je moet de sensoren daarvoor in ieder geval niet in 1 lijn zetten.

Als 1 van die 2 punten op een "verboden" plaats is (in je robot), weet je al welke er afvalt, en heb je die 3de sensor dus niet nodig. Als je tijdens het rijden de magneet aan het eind van het bereik ziet, weet je ook waar hij is, aangezien je weet welke kant je op reed. De magneet kan niet plotseling van plaats veranderen, dus je kunt steeds het punt bepalen dat het dichts ligt bij de vorige bekende positie.

De moeilijkheid is dat je met hall sensoren geen directe afstand kunt meten, aangezien alleen het veld in een richting kunnen meten. Het lijkt me dus handig om alle 3 de sensoren dicht bij elkaar te zetten, met steeds een hoekverschil van 120 graden. Uit de relatieve signaalsterkte kun je dan de richting bepalen, en uit de maximale sterkte de afstand.

EDIT: met meer sensoren (bijvoorbeeld 2 sets van 3 sensoren), wordt de nauwkeurigheid groter. je kunt dan 2 keer de richting bepalen, en bent niet meer afhankelijk van de sterkte van het veld voor de afstand. 2 sensoren met een onderlinge hoek van 90 graden kan op zich ook, maar naarmate een van de sensoren meer haaks op het veld komt te staan, veranderd het signaal minder, en wordt de nauwkeurigheid dus slechter.

[Bericht gewijzigd door SparkyGSX op (14%)]