TouchDro für die BF20 mit AS5311 und Siko Magnetbändern

Artikel vom 02.07.2019 um 22:35


Ich habe meine Fräsmaschine mit einem Magnetbandmesssystem basierend auf dem TouchDro Projekt ausgerüstet. In diesem Projekt sind verscheidene möglichkeiten beschrieben, ein fast beliebiges Wegmesssystem mit einer kabellosen Bluetoothverbindung und einer Android-App zu verbinden. Dabei stellt die App "TouchDro" die Anzeigeeinheit des Wegmesssystems dar, welche verschiedenste Tools zum manuellen bearbeiten bietet. Die Sensorsignale werden von einem Mikrocontroller ausgewertet und über ein Bluetooth-Board an das Handy gesendet. Welchen Sensor und welche Wegmessmethode man dabei verwendet, kann selbst bestimmt werden. Bei dem TouchDro Projekt werden Beispiele von Anbaumessschiebern, Glassmaßstäben und Magnetmessbändern aufgezeigt. Ich persönlich habe mich für die Verwendung von Magnetmessbändern entschieden, da diese beliebig abgelängt werden können und bei einem deutschen Händler preisgünstig und schnell verfügbar waren. Durch ein Forumbeitrag in einem Zerspanerforum wurde ich auf den Sensor AS5311 aufmerksam. Dieser kann Magnetbänder auslesen und Signale an die Steureung weitergeben. Auffällig dabei ist der geringe Preis und die minimale Größe des Sensors. Als Auswerteeinheit habe ich, wie in dem TouchDro Projekt beschrieben, ein Texas Instruments Launchpad Board genommen, da das Preis-/Leistungsverhältnis sehr gut ist. Also konnten die Artikel anhand folgender Stückliste bestellt werden:

Stückliste

Preise sind als gerundete Anhaltswerte anzusehen und stammen von meiner persönlichen Bestellung in den jeweiligen Online-Shops

  • 45€ - Siko Magnetmessband 1 Meter 10um genauigkeit
  • 10€ - MSP430G2 Texas Instruments Launchpad Board mit MSP430G2553 Microkontroller
  • 10€ - HC-06 Bluetooth Board Slave
  • 15€ - AS5311-TS_EK_AB (4x)
  • 2€ - MicroB USB Breakout Board (4x)
  • 5€ - Diverses (Kabel, Stecker,...)
Macht einen Gesamtpreis von ca. 140€ für die Beschaffung der einzelnen Komponenten. Nachdem diese dann nach und nach eingetroffen sind, konnten die ersten Versuche mit den Komponenten gefahren werden. Ich habe den ersten Sensor provisorisch angeschlossen und auf Funktion geprüft (Quick and Dirty). Zu sehen ist das MSP430G2 Launchpad, welches zum programieren an den Computer angeschlossen wurde. Daneben liegt der HC-06 Bluetooth-Stick und das mit dem Stick verbundene Smartphone. Den AS5311-Sensor habe ich im Vordergrund liegen. Über diesen wird ein mitgelieferter Teststreifen gefahren, um die Funktion zu prüfen. Da nun die Funktion der Komponenten erfolgreich geprüft wurde, konnte ich mit dem Anschließen und Verlöten der Basiseinheit beginnen. Dazu habe ich ein Kunststoffgehäuse ausgefräst, in welches ich die Platinen einbauen werde. Die Breakout-Boeards haben die Funktion, dass die Sensoren von der Basiseinheit getrennt werden können und nicht alles fertig an der Fräsmaschine verkabelt werden muss. Zum Löten habe ich eine "Dritte-Hand-Löthilfe" verwendet, worduch die Lötstellen besser gesehen werden konnten. Um nicht an dem MSP430 Board Löten zu müssen, habe ich Zwischen-Leiterplatten eingebaut, an welche die jeweiligen Kabel der Breakout-Boards angelötet werden konnten. Ich habe für meine Verdrahtung folgenden Farbcode verwendet:
  • GND - Erde - Schwarz
  • VCC - Spannung von 3.3V - Rot
  • D+ - Datenausang A - Grün
  • D- - Datenausgang B - Weiß
  • RWT - Sendesignal Bluetooth - Braun
Die fertige Verkabelung der Basiseinheit sah dann wie folgt aus: Durch die Zwischenleiterplatten kann ich das MSP430 Launchpad beliebig entfernen und wieder einbauen, ohne die Verbindungen erneut verlöten zu müssen. Das Bluetooth-Board wurde lediglich mit VCC, GND und P1.2 verkabelt danach konnte sich bereits die App mit dem MSP430 verbinden. Das Launchpad kann mit einem USB-Kabel an einem Computer programiert werden. Ich habe für meine Poistionsanzeige ein fertiges Programm von der Webseite "yuriystoys.com" (dem Veröffentlicher des TouchDro Projektes) verwendet. Für meine Magnetmessbänder musste ich die "Quandrature Firmware" auf das MSP430 Board flashen.

Sensorkopf AS5311-TS_EK_AB

Ich habe mich für den Sensor AS5311 entschieden, da ich von diesem Sensor weiß, dass er sowohl mit den Magnetband von der Firma SIKO, als auch mit dem verwendeten Mikrocontroller kompatibel ist. Der Sensor ist ein berührungsloser linearer Magnetencoder, welcher mittels Hall-Sensoren arbeitet. Er kann die Messwerte mittels Pulsweitenmodulation, über eine SSI-Schnittstelle oder über einen inkrementalen Ausgang an die Steuerung übergeben. Zwischen dem Sensor und dem Magnetmessband muss ein Abstand von ca. 0,3mm eingehalten werden. Ich habe mich aufgrund der Auswerteeinheit MSP430G2 und den Programmen von "yuriystoys.com" für den inkrementalen Ausgang entschieden. Dieser gibt 512 Impulse pro Pollänge über die Ausgänge A und B an die Steuerung aus. Dabei sind die beiden Ausgänge A und B um die halbe Länge versetzt. Das heißt die Basiseinheit bekommt 1024 Impulse pro Millimeter, was rein rechnerisch eine Abstufung von 0.98 Mikrometern ergibt. Da der eigentliche AS5311 Sensor sehr klein und nur durch SMD-Löten anzubringen ist, habe mir den Sensor auf einem bereits verlöteten Board gekauft (Bezeichnung AS5311-TS_EK_AB). Dieser kann leicht mit handelsüblichen USB-Kabeln verlötet werden. Um den inkrementalen Encoder zu aktivieren muss eine Brücke zwischen CSn und GND erstellt werden. Da das Lauchnpad bereits die geforderten 3,3 Volt liefer, muss der VCC Anschluss an 3,3 und 5 Volt gebrückt werden. Die inkrementalen Schritte werden über die Ausgänge A und B an das MSP430 weitergegeben. Dazu habe die die Anschlüsse D+ und D- des USB-Kabels (grün und weiß) verwendet. Um den Sensor vor äußeren Einflüssen zu schützen, wird dieser in einem Kunststoffgehäuse verbaut. Diese habe ich auf der Fräsmaschine hergestellet. Um den Sensor in dem Gehäuse zu platzieren, habe ich ihn vorerst mit doppelseitigem Klebeband fixiert - später werde ich versuchen die Sensoren in Epoxydharz zu vergießen, sodass Fremdkörper keine Chance haben an die Elektronik zu gelangen (Staub, Kühlschmierstoffe, Öl, usw..). Zuerst werde ich jedoch versuchen mittels Klebeband die Öffnungen zu verschließen. Nachdem alle Verbindungen verlötet und verkabelt waren, habe ich das MSP430 LaunchPad, das Bluetooth-Board und alle USB-Breakout-Boards in der gefrästen Plastikschutzkiste verbaut. Auf dem nächsten Bild ist die Schutzbox zu sehen. An diese sind die drei Verbindungskabel der X-, Y- und Z-Achsen und das Versorgerkabel angeschlossen. Die einzelnen Sensoren konnten an die Führungen der Fräsmaschine gebaut werden. Dazu habe ich jeweils M4 Gewindebohrungen in den beweglichen Teil (Z-Achse und X-Achse) und in den festen Teil (Y-Achse) der Führungen angebracht. Die Magnetmessleisten konnten in der Z- und X-Achse in die dafür vorgesehenen Langlöcher geklebt und den Sensor darüber angeschraubt. An der Y-Achse habe ich eine Anbindung aus Aluminium gebaut, die ich an den Maschinenfuß anbringen konnte. Um die Magnetmessleiste an dem Y-Schlitten anzubringen, habe ich an diese ein U-Profil angebracht. Darin konnte das Band und der Sensor so angebracht werden, dass durch Späne und Kühlschmierstoff keine Verschmutzung möglich ist. Seitenansicht auf das U-Profil. Darin zu sehen das eingeklebte Magnetmessband und der Sensorkopf an der Anbindung. Das Smartphone dient nun als Anzeigeeinheit für die verschiedenen Werte. Dieses wird noch eine Halterung mit festem Stomanschluss bekommen. Des weiteren ist mein Plan, dass ich die Verkabelung an den verschiedenen Maschinenteilen verlege, sodass die Kabel nicht versehentlich schädigt werden und eine feste Position erhalten.
https://www.youtube-nocookie.com/embed/VNp4aiqTsZY?rel=0

Nachtrag

Hinzugefügt am 27.02.2018 Aufgrund von einigen Nachfragen habe ich mal Beispielhaft für die X-Achse am Messsystem die Verkabelung dargestellt.
!
Ich übernehme keine Garantie für Richtigkeit oder Funktion der Verkabelung und Programme. Die Benutzung erfolgt auf eigene Verantwortung 🙂!

Kommentar von Baur vor 5 Jahren:

Hallo, dank für den tollen Bericht, ich bin auch am überlegen, ob ich mir das antun soll.
Wie lief die Programmierung des msp ab, ist das für den absoluten Laien machbar?
Hat sich das System bis jetzt bewährt, auch die magnetbänder?
Gruß w.baur

Kommentar von Andreas vor 5 Jahren:

Danke für deinen Baubericht (und den Schaltplan)
Programmierung von dem Board geht auch sehr einfach.

Kommentar von Thorsten vor 5 Jahren:

✔️ (verifizierter Kommentar vom Seiteninhaber)

Hallo Andreas,
hallo Baur,

sehr gerne! Ich freue mich, dass ich helfen kann.

Die Programmierung war wirklich sehr einfach. Ich denke man kann wenig falsch machen, wenn man der Beschreibung von Yuri folgt.

Das Messsystem hat sich für mich sehr bewährt und gelohnt. Ich verwende die Maschine nun ausschließlich mit dem TouchDro.

Bis jetzt hatte ich auch nur einmal ein kleines Problem - da ist der Messwert an einer Achse einfach stehen geblieben. Dann habe ich den Micro-USB Stecker entfernt und wieder eingesteckt und alles hat wieder wie gewohnt funktioniert. Daraufhin habe ich das Werkstück einfach noch mal neu angetastet. Leider weiß ich bis heute nicht woran es gelegen hat.

Viel Erfolg und Spaß beim Umbau!

Kommentar von waldi vor 5 Jahren:

Sehr interessant dieses Projekt.
Würde sehr gerne das Projekt nachbauen. Mir fehlt aber das genaue Wissen, wie ich den Mikrokontroller programmieren muss, damit er die Daten vom AS5311 richtig verarbeitet.
Hast du vielleicht einen Muster Code ?

Kommentar von Thorsten vor 5 Jahren:

✔️ (verifizierter Kommentar vom Seiteninhaber)

Hallo Waldi,

das Programm des Mircokontroller habe ich auch nicht selbst erstellt. Ich habe das fertige Programm von "Yuris Toys" verwendet. Das Programm wird einfach über die Texas Instruments-Software auf den Mircokontroller aufgespielt.

Die Programme können hier heruntergeladen werden (wenn ich mich richtig erinnere war es folgender Dwonload: "Quandrature Firmware for MSP430 LaunchPad"):

https://www.yuriystoys.com/p/downloads.html

Und hier die genaue Beschreibung, wie die Software aufgespielt werden kann:

https://www.yuriystoys.com/2013/09/how-to-upload-firmware-to-msp430.html

Viel Erfolg 🙂

Kommentar von Oliver vor 4 Jahren:

Hallo.

Erst einmal vielen herzlichen Dank für diese super Anleitung. Jedoch habe ich eine Verständnisfrage:
Sowohl in der bemaßte Zeichnung, wie auch auf dem Schema für die Verkabelung, wird ein blaues Kabel zum Befestigungsloch gelegt, so dass der Anschluss CLK mit dem Befestigungsloch verbunden wird. Da das Loch keinen Kontakt zu irgend einem Bauteil auf der Platine hat, kann ich mir diese Brücke nicht erklären.

Gemäß Stückliste werden 4 x AS5311-TS_EK_AB benötigt. Wofür wird der vierte benötigt? Zur freien Verfügung, z.B. für einen Teilapparat?

Gruß von der Küste
Oliver

Kommentar von Thorsten vor 4 Jahren:

✔️ (verifizierter Kommentar vom Seiteninhaber)

Hallo Oliver,

im Datenblatt des AS5311 hatte ich gelesen, dass CSn beim einschalten „low“ sein muss. Deswegen habe ich ihn einfach an die Bohrung gelötet - da diese mit GND verbunden ist. Du kann natürlich auch einfach auf ein anderen GND gehen, falls die Bohrung benötigt wird (hatte ich mittlerweile auch schon mal gemacht).

Gelesen hatte ich das im Kapitel „7.1.1 Incremental Power-up Lock Option“. Kannst du ja auch mal rein schauen.

Ich hatte bei mir direkt vier Messeingänge geplant. Da mein Rundtisch aber kein Magnetband bekommen hat, habe ich mit dem zusätzlichen AS5311 einfach ein wenig rum gespielt.

Für eine 3-Achsen-Anzeige werden natürlich nur drei AS5311 benötigt.

Liebe Grüße
Thorsten

Kommentar von Oliver vor 4 Jahren:

Hallo Thorsten.

Danke für die Erklärung. Wenn das AS5311 Masse benötig (wäre ich jetzt nicht von ausgegangen), ist es natürlich sinnvoll dieses gleich über die Befestigungsschraube zu lösen. Da ich nun den Hintergrund kenne, kann ich mir etwas passenedes überlegen.

Was das vierte AS angeht, lag ich ja gar nicht so falsch. Und Ersatz kann ja auch nicht schaden. Jetzt kann ich beruhigt los legen.
Vielen Dank!

Gruß von der Küste
Oliver

Kommentar von Alex vor 1 Jahr:

Hallo, vielen Dank für deine Arbeit. Ich möchte mit Ihnen klären, wie Sie das as5311-Board mit einem anderen Yurina-Toy-Board verbinden, dem auf esp32 basierenden.Dieses Board hat neben Masse und Strom nur 2 Pins, clk und Daten, aber mir wurde gesagt, dass es sollte Arbeite mit as5311. Danke!

Kommentar von bass99 vor 8 Monaten:

Ciao per un progetto urgente macchina volevo chiedere se AS5311 riesce a leggere il metallo? Dovrei leggere la posizione e velocita di spostamento di un carrello macchina in ferro che si muove lungo suo albero e applicare PID con uscita PWM dinamica sulla velocita del motore in base alla velocita di spinta del carrello, grazie

Kommentar von bass99 vor 8 Monaten:

Hi for an urgent machine project I wanted to ask if AS5311 can read metal? I should read the position and speed of movement of an iron machine trolley moving along its shaft and apply PID with dynamic PWM output on the motor speed based on the pushing speed of the trolley, thanks

Verfassen Sie einen Kommentar zu diesem Artikel:


Um einen Kommentar verfassen zu können, müssen sie der Speicherung von Cookies zustimmen.
Ich stimme zu, dass Cookies gespeichert werden.