KMK Posted June 30, 2014 at 07:23 PM Posted June 30, 2014 at 07:23 PM Hallo, ich versuche gerade ein RC-Modell mit Tinkerforge zu automatisieren. Dazu möchte ich wissen, wie weit es sich fortbewegt hat. Ich wollte dazu die Umdrehungen eines Getrieberads mit aufgeklebten Magneten mit dem Hall Effect Bricklet messen. Leider misst dies nur bei sehr langsamer Drehung trotz sehr niedriger "debounce time". Ich vermute, dass das Hall Effect Bricklet nur sehr geringe Frequenzen messen kann. Warum das so ist, kann ich nicht verstehen. Der verwendete Atmel sollte doch deutlich höhere Drehzahlen messen können. Er muss bei einem Listener ja nur gelegentlich die gemessenen Edges weitergeben, so dass der Bus keine Rolle spielt. Ist das Hall Effect Bricklet tatsächlich unbrauchbar für diese Anwendung oder mache ich etwas falsch? Irgendwie macht es doch überhaupt keinen Sinn, dass man die Debounce time anders als 100 ms einstellen kann, wenn das Bricklet nicht mal annähernd 10 Hz messen kann??? Hat ansonsten jemand einen alternativen Vorschlag, wie ich die Umdrehungszahlen messen kann? Herzlichen Dank und viele Grüße Karl Martin Quote
BorgelMorgel Posted July 1, 2014 at 07:48 AM Posted July 1, 2014 at 07:48 AM Hallo KMT, ich stehe vor genau dem gleichen Problem und konnte auch noch keine Lösung finden. http://www.tinkerunity.org/forum/index.php/topic,2421.0.html Ich möchte zwar an einem größeren Bauelement messen, bekomme aber auch keine konstanten und zuverlässigen Werte vom Bricklet. Leider habe ich bis jetzt auch keine Antwort. Ich werde dann gleich eine Kontrollmessung machen und mal paar Bilder vom Messaufbau bereitstellen. Gruß Quote
BorgelMorgel Posted July 1, 2014 at 12:46 PM Posted July 1, 2014 at 12:46 PM Hier die versprochenen Bilder: Quote
raphael_vogel Posted July 1, 2014 at 05:52 PM Posted July 1, 2014 at 05:52 PM Ich hab mir mal das Datenblatt des Sensors angeschaut: http://de.mouser.com/pdfdocs/DiodesAH180NDatasheet.pdf Dort gibt es auf Seite 3 die Angabe, dass die maximale Periode (Tperiod) 125ms ist. Das wäre dann also 8 Hz maximal Frequenz, wenn ich das alles richtig verstanden habe. Wenn das stimmt, dann sollte man das in der Doku erwähnen. Quote
KMK Posted July 1, 2014 at 07:28 PM Author Posted July 1, 2014 at 07:28 PM Vielen Dank für die Kommentare! Wenn der Sensor tatsächlich nur max. 8 Hz auslesen kann, ist er für viele Anwendungen völlig ungeeignet. Dann wäre aber die Beschreibung des Bricklets völlig irreführend: "...kann von Bricks genutzt werden, um z.B. die Geschwindigkeit eines Rades zu messen an dem ein Magnet befestigt ist". Das wird mit max. 8 Hz wohl eher schlecht funktionieren oder aber bei sehr großen Rädern und nur einem Magneten extrem ungenau sein. Wenig Sinn macht es dann auch, den EdgeCounter als long-Wert zu implementieren. Selbst als Integer bräuchte es über 8 Jahre bis der Wertebereich überschritten wird. Unsinnig wäre dann auch die Möglichkeit, eine Debounce-Time unter 100 ms angeben zu können... Vielleicht kann sich ja ein Vertreter von Tinkerforge äußern und Licht in das Dunkel bringen... Alternativ könnte man einen anderen Hallsensor mit einem Counter-IC verbinden, das man dann über das IO16-Bricklet ausliest. Wenn jemand passende ICs weiß, wäre das hilfreich. Viele Grüße Karl Martin Quote
borg Posted July 2, 2014 at 10:43 AM Posted July 2, 2014 at 10:43 AM Die Daten aus dem Datenblatt sind schon korrekt, die typische Periode in der ein Magnetfeld detektiert werden kann ist 75ms, was 13Hz entspricht. Ich hab mal ein "bis zu 13Hz" in die Dokumentation mit eingefügt. Entschuldigung für die unklare Beschreibung! Quote
KMK Posted July 8, 2014 at 07:04 PM Author Posted July 8, 2014 at 07:04 PM Hallo, vielen Dank für die Information! Da mein Vorhaben über das Hall-Bricklet nicht realisierbar war, habe ich eine Alternative gesucht und gefunden: Ich schließe einfach einen schnelleren Sensor an ein IO-Bricklet an und benutze den Flankenzähler. Am besten nimmt man einen bipolaren Latch, da so auch die absteigenden Flanken gezählt werden und man damit im Idealfall eine Zählfrequenz von 1000 Flanken/Sekunde erreichen kann. Erst hatte ich den gut verfügbaren TLE4935L ausprobiert. Für diesen braucht man ein IO16-Bricklet, da 3,3V Versorgungsspannung nicht ausreichen. Einfach die drei Anschlüsse mit Masse, 5V und dem Signaleingang verbinden. Das Problem war aber, dass dieser Sensor wesentlich unempfindlicher ist als das Hall-Bricklet und daher meine Magnete nicht ausgereicht haben, um ihn sicher zu aktivieren. Als Alternative habe ich den Honeywell SS460S oder SS460P (eingebauter Pull-up-Widerstand) gefunden. Damit funktioniert das Zählen zuverlässig und mit hoher Frequenz. Ein weiterer Vorteil dieses Sensors ist, dass er mit 3,3V Versorgungsspannung läuft und somit ein IO4-Bricklet verwendet werden kann. Insgesamt ist diese Lösung auch deutlich kostengünstiger als ein Hall-Bricklet, da ja zwei Sensoren pro IO16-Bricklet und 4 Sensoren pro IO4-Bricklet angeschlossen werden können. Viele Grüße Karl Martin Quote
raphael_vogel Posted July 9, 2014 at 07:57 AM Posted July 9, 2014 at 07:57 AM Danke für den Erfahrungsbericht. Ja, mit den IO4 und IO16 Bausteinen lassen sich oft viele Sensoren/Aktoren sehr kostengünstig anschließen. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.