Forum: Mikrocontroller und Digitale Elektronik Nanotec BLDC Motor und Position following Error


von Daniel J. (carbonkid)


Lesenswert?

Hallo,
hoffe ich bin im richtigen Forenereich ansonsten bitte verschieben.
Mein Problem bezieht sich auf meine CNC Fräse welche Nanotec BLDC 
Motoren(DB87) hat und die mit Leadshine ACS806 Endstufen betrieben 
werden.
Die Motoren haben von Haus aus Hall Sensoren aber die Encoder die 
verwendet werden sind Avago HEDR55L2-BH07.
Nun habe ich alles nach besten Wissen und Gewissen angeschlossen(auch 
schon mehrmal nachkontrolliert) aber bekomme es nicht fehlerfrei zum 
Laufen. Die Endstufen steigen immer wieder mit "Position following 
Error" aus. Dieser Fehler ist bei allen drei Achsen gleich aber  bei 
jedem einschalten der Endstufen anders. Mal steigt nur eine Achse aus, 
mal zwei oder mal gehen auch alle und lassen sich problemlos verfahren.
Was mir noch aufgefallen ist wenn mal alle Achsen fehlerfrei sind lassen 
sie sich gleichzeitig nur in eine Richtung bewegen, wenn ich die andere 
Richtung will stoppen die Achsen sobald die dritte dazu kommt. Hoffe es 
ist verständlich, gar nicht so einfach das zu beschreiben.

Nun hab ich mich die Tage etwas damit beschäftigt(habe von solchen 
Dingen Null Plan) und festgestellt das die Encoder diffrential line 
Driver sind, sprich A/A- B/B- und I/I- Signale haben aber die Hall 
Sensoren nur U, V, und W Signale ausgeben und die U-, V- und W- fehlen. 
Könnte dort der Hase im Pfeffer liegen??? Wenn ja wie kann ich das 
Problem lösen? Die Endstufe hätte die Anschlüsse für die Minus Signale.
Leider steht in der Anleitung zur Endstufe nicht über die Signale welche 
Encoder/Hall Sensor haben sollte.
Würde mich freuen ihr könnt mir da weiter helfen.

Gruß Daniel

von eProfi (Gast)


Lesenswert?

Heißt das, die motorinternen Hallsensoren sind nicht angeschlossen?
Wenn ja ---> geht nicht.

Schaltplan!

von Carbonkid (Gast)


Lesenswert?

Doch, doch angeschlossen hab ich die aber eben nur U V und W... mehr ist 
ja nicht. Als Datenblatt gibt's nur das: 
https://de.nanotec.com/fileadmin/files/Datenblaetter/BLDC/DB87/DB87M01-S.pdf

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Vermutlich hast du für die Hallsensoren und die Motorzuleitungen nicht 
abgeschirmte Leitungen verwendet? Das ist keine gute Idee, weil der 
Strom auf den Motorleitungen Störungen auf den relativ hochohmigen 
Hallsensor-Signalen induziert. Ich würde daher nur abgeschirmte 
Leitungen in solchen Anwendungen verwenden. Falls das nicht geht, 
sollten Power- und Signalleitungen räumlich getrennt verlegt werden.

Mit freundlichen Grüßen
Thorsten Ostermann

von Daniel J. (carbonkid)


Lesenswert?

Hallo Herr Ostermann,

Nein die Vermutug stimmt nicht, es sind alles geschirmte Kabel und der 
Schirm ist Schaltschrankseitig aufgeklemmt.
Ich glaube es liegt an den nicht vorhandenen/angeschlossenen 
invertierten Signalleitungen der Hall Sensoren. Höchstwahrscheinlich 
brauch die Leadshine ACS806 aber diese Signale. Leider steht in der 
Anleitung dazu nichts.
Habe nun solche differential Line driver Platinen um die invertierten 
Signal zu erzeugen und werde die die Tage mal einbauen und sehen was 
passiert.

Ähnlich wie diese:
https://www.rocketronics.de/produkt/differentieller-leitungstreiber-fuer-encoder/?v=3a52f3c22ed6

Hoffe dann klappt es.

von Forist (Gast)


Lesenswert?

Daniel J. schrieb:
> Leider steht in der Anleitung dazu nichts.

Anleitung ist ein gutes Stichwort:
http://leadshineusa.com/UploadFile/Down/ACS806m.pdf

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

Für mich sieht das so aus, als würde der Controller 'analoge' 
Hallsensoren in Brückenschaltung erwarten, wie sie z.B. in Capstan- und 
Kopftrommelmotoren von Videorecorder verwendet wurden.
Jeder dieser Sensoren hat 4 Anschlüsse, davon sind 2 für VCC und GND und 
die beiden anderen liefern +V und -V, wie die Signale einer 
Wheatstone'schen Brücke. Es sollte allerdings möglich sein, auch einen 
analogen Inkrementalgeber an die A+/A- usw. Anschlüsse zu konfigurieren.
Mit digitalen Hallsensoren wird eine genaue Positionierung nicht möglich 
sein, selbst wenn man sie nochmal invertiert und in den anderen 
(-)Eingang füttert.
Anbei mal die Schaltung eines alten Capstan Drives vom Panasonic SD-240, 
bei dem die Hallsensoren allerdings als 'Hole Sensor' bezeichnet werden 
- ts,ts, diese Japaner :-)
Man sieht deutlich die 4 Anschlüsse pro Sensor.

Forist schrieb:
> Anleitung ist ein gutes Stichwort:
> http://leadshineusa.com/UploadFile/Down/ACS806m.pdf

Jaja, die haben wir ja auch. Aber da halten sich die Jungs sehr bedeckt 
über die Sensoren und die benötigten Spannungspegel. Lies selbst.

: Bearbeitet durch User
von Carbonkid (Gast)


Lesenswert?

Warum schaut das für dich so aus? Die Endstufe hat aber definitiv die 
Anschlüsse dafür.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Carbonkid schrieb:
> Warum schaut das für dich so aus?

Wenn du mich meinst - der Controller wird als Ersatz für Schrittmotor 
Treiber angepriesen und hat deswegen auch Eingänge für Puls und 
Richtung. Um einen BLDC genau zu positionieren, reichen 3 digitale 
Hallsensoren nicht aus, die geben nur Rückmeldung, ob sich der Motor in 
einem von 6 Sektoren befindet, aber nicht über die genaue Position 
innerhalb des Sektors. Dazu braucht man entweder einen analogen 
Inkrementalgeber oder die Analogdaten aus den drei Hallsensoren.
Im Prinzip kommt aus diesen Sensoren sowas wie Drehstrom (genauer: 
Drehspannung) raus und jede Position des Motors innerhalb einer 
Polgruppe entspricht genau einer Spannungskombination der drei Sensoren.
So wie hier in der Animation:
https://www.zum.de/dwu/depotan/apem112.htm
Die Animation beschreibt den umgekehrten Fall (Strom treibt Motor), aber 
die Sensoren liefern die drei Sinuskurven wie in der Grafik, aus denen 
der Controller dann die genaue Position rauskriegt.

: Bearbeitet durch User
von Carbonkid (Gast)


Lesenswert?

Ja Matthias dich hatte ich gemeint. Danke für die Erklärung. Es sind ja 
noch Encoder an den Motoren, somit sollte es doch dann funktionieren. 
Ich hab von dem Elektronik Kram keine Ahnung, wollte eigentlich nur 
fräsen ?
Das würde dann deinen Ausführungen nach so klingen als wären die 
Endstufen für diese Motoren nicht geeignet.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Carbonkid schrieb:
> Das würde dann deinen Ausführungen nach so klingen als wären die
> Endstufen für diese Motoren nicht geeignet.

M.W. (ich bin kein Spezi für CNC Fräsen - eher für BLDC) sind BLDC für 
Fräsen nicht geeignet (ausser evtl. fürs rotierende Werkzeug, dafür 
braucht man aber nicht so einen komplizierten Controller). 
Schrittmotoren lassen sich ohne grossen Aufwand genau positionieren, vor 
allem, wenn sie noch mit Index Rückmeldung ausgerüstet sind.

von Carbonkid (Gast)


Lesenswert?

Naja wenn ich das auf der Nanotecseite lese sollten die aber schon 
geeignet sein und auch das mit den Hall Sensoren funktionieren.
https://de.nanotec.com/produkte/156-bldc-motoren/

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Carbonkid schrieb:
> Naja wenn ich das auf der Nanotecseite lese

Wenn du den DB87 anwählst und dann auf den Konfigurator klickst und 
'Encoder' wählst, gibts da nur welche mit soundsoviel Impulsen pro 
Umdrehung aber keine Absolutencoder - die du aber für die Fräse 
bräuchtest. Das sind alles welche, die nur ein Digitalsignal 0 und 1 
ausgeben, mit z.B. 5V Signalspannung, wie es bei Nanotec heisst.
Das kannst du auch an den bei dir vorhandenen Motoren mal messen. Da 
spingt nur ein Signal zwischen 0V und 5V hin und her - keine 
Zwischenwerte.
Also nee, die Motoren sind bestimmt schön, aber für 'High-Speed' 
Anwendungen gedacht (so stehts bei Nanotec) und nicht für absolute 
Position, die der Leadshine Controller aber nun mal gerne hätte. Der 
Controller soll ja die üblichen Schrittmotoren durch BLDC ersetzen, die 
dafür aber geeignet sein müssen. Das sind Motoren, wie sie z.B. in 
Gimbals eingesetzt werden:
https://www.youtube.com/watch?v=lCRU35E6C3Y

Über den Märchenonkel solltest du hinweghören, aber das Prinzip der 
Ansteuerung der Motoren ist eher das, was der Leadshine möchte.

: Bearbeitet durch User
von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Matthias S. schrieb:
> Für mich sieht das so aus, als würde der Controller 'analoge'
> Hallsensoren in Brückenschaltung erwarten

Das ist keine Brückenschaltung, das ist ein nackter Hallsensor wie im 
Bild oben. Den wertet man mit einem Differenzverstärker aus. Dazu kommt 
dann noch eine Stromquelle, meisst nur als zweigeteilter Vorwiderstand 
ausgeführt. Dann ensteht die Hallspannung etwa bei der halben 
Speisespannung. Die Hallspannung ist proportional zum Magnetfeld und zum 
Strom.

Solche Sensoren mit 4 Anschlüssen findet man oft in CD Laufwerken. In 
manchen Motorkontrolern sind die Differenzverstärker schon drin.

MfG Klaus

von eProfi (Gast)


Lesenswert?

Ich denke, die Hallsensoren sollen bereits Verstärker integriert und 
digitale Ausgänge haben.

> Ich glaube es liegt an den nicht vorhandenen/angeschlossenen
> invertierten Signalleitungen der Hall Sensoren.
Hier steht auf Seite 8, dass man die U-(15), V-(10) und W-(14) offen 
(NC) lassen soll, wenn nicht vorhanden: 
https://purelogic.ru/files/downloads/doc/Leadshine/servodriver/acs806/acs806_purelogic.pdf

Hier stimmen im Wiring Example einige Pinnummern nicht:
http://www.pamoco.it/Amministrazione/allegati_prodotto/ACS806_Pamoco.pdf

> ... gibts da nur welche mit soundsoviel Impulsen pro Umdrehung
> aber keine Absolutencoder - die du aber für die Fräse bräuchtest.
> Das sind alles welche, die nur ein Digitalsignal 0 und 1 ausgeben,
> mit z.B. 5V Signalspannung, wie es bei Nanotec heisst.
Die Absolutmessung erfolgt wie beim klassischen Stepper mit Schaltern.

Beim Encoder hast Du 2048 CPR (BH-Typ) eingestellt?

Läuft der Motor in beiden Richtungen gleich schnell bei gleichem 
Stromverbrauch?

Hier hat der OT sein Problem beschrieben:
https://cncwerk.de/forum/viewtopic.php?t=402
Bitte ALLE Infos immer im ersten Beitrag angeben, auch Links zu den 
Datenblättern!

von Daniel J. (carbonkid)


Lesenswert?

@eProfi
Warum denkst du das die Hall Sensoren schon Verstärker integriert haben?
Der Vorbesitzer der Fräse hatte solche differential Line driver verbaut, 
aber auch andere Endstufen(Eigenbau) und er meinte damals bei den 
leadshine bräuchte ich die nicht. Jetzt ist er sich auch nicht mehr so 
sicher.

Der Zustand jetzt ist ja das ich die invertierten Signal offen gelassen 
hab. Doch so funktioniert es leider nicht.

Warum in der Anleitung im Wiring example die Belegung nicht stimmt ist 
schon komisch. Ich hab mich an die Original Anleitung von Leadshine 
gehalten.

Ja ich habe die Endstufen alle mit 2048 programmiert und ja die Motoren 
drehen in beide Richtungen gleich...was man halt rein optisch so 
feststellen kann. Den Strom hab ich da noch nie gemessen.

Ja richtig im CNCwerk Forum hatte ich mein Anfangsproblem geschrieben 
weil ich die Motoren nicht zum laufen brachte. Ich hatte eben U- V- und 
W- auf EGND geklemmt, doch so funktioniert es gar nicht dann kommt 
sofort die Fehlermeldung "keine oder falsche Encoder/Hall Signale".
Dann hab ich diese Verbindungen entfernt und es läuft jetzt so wie oben 
beschrieben.

Werde es heute mit den Platinen probieren, sollte das keine Besserung 
bringen versuche ich es mal mit den Nanotec Endstufen C5E.
https://de.nanotec.com/produkte/1764-c5-e-canopen-motorsteuerung-fuer-schritt-und-bldc-motoren/

Vielleicht liegt ja auch das Problem doch wo anders...keine Ahnung.

: Bearbeitet durch User
von eProfi (Gast)


Lesenswert?

> Warum denkst du das die Hall Sensoren schon Verstärker
> integriert haben?
Weil aus einem puren Hallelement nur µV oder bestenfalls mV 
herauskommen.

> Warum in der Anleitung im Wiring example die Belegung nicht stimmt
> ist schon komisch.
Irren ist menschlich. Und ja, Südländer nehmen es nicht ganz so genau.

Wo sitzt Du? Wenn Du magst, kannst mir mal ein Set zukommen lassen.

von Daniel J. (carbonkid)


Lesenswert?

Am Fuße des schönen Erzgebirges :-)
Ich teste es dann mal mit der Platine, sollte das keine Verbesserung 
bringen komme ich gern auf dein Angebot zurück!

von eProfi (Gast)


Lesenswert?

Das ist ziemlich weit.

Beschreibe bitte genauer, wann und unter welchen Umständen es zum Fehler 
kommt.
Wie groß ist die Fehlerschwelle und -Zeit beim Following-Error?
Wie stark wird beschleunigt?
Kommt der Fehler auch bei geringer Geschwindigkeit und Beschleunigung?

N5E habe ich auch einen hier.

Schließe die Abschirmung der Hall-Sensor-Leitungen mal nur am FG des 
Controllers an, nicht am Schaltschrank.
Ferrit-Ringe oder -klipse an allen Leitungen helfen auch.

Was mich an Deiner Beschreibung wundert: dass sich die Achsen 
gegenseitig beeinflussen. Das lässt auf ein schlechtes Gnd-Konzept 
schließen.
Mach mal ein paar gute Fotos.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Klaus schrieb:
> Matthias S. schrieb:
>> Für mich sieht das so aus, als würde der Controller 'analoge'
>> Hallsensoren in Brückenschaltung erwarten
>
> Das ist keine Brückenschaltung, das ist ein nackter Hallsensor wie im
> Bild oben. Den wertet man mit einem Differenzverstärker aus.

Du hast meinen Beitrag einfach nicht fertig gelesen. Die Brücke ist die 
Wheatston'sche:
Matthias S. schrieb:
> Jeder dieser Sensoren hat 4 Anschlüsse, davon sind 2 für VCC und GND und
> die beiden anderen liefern +V und -V, wie die Signale einer
> Wheatstone'schen Brücke.

von Daniel J. (carbonkid)


Lesenswert?

@eProfi
Riesen dank für deine Hilfe!
So, heute hab ich den X Achsen Motor mit der Platine getestet. Er läuft 
genau wie vorher. niederschmetternd :-(
Zur Ergänzung noch, Steuerung ist eine CSMIO-IP/M 
http://de.cs-lab.eu/product/csmioip-m-4-axis-ethernet-motion-controller-stepdir-with-connectors/
Steuerunssoftware ist Mach3.
Was mir beim Test aufgefallen ist: Wenn ich die Maschine eingeschaltet 
habe haben sich ja die Motoren mal ohne Probleme drehen lassen und mal 
nicht. Den Feheler kann ich jetzt nach jedem Start der Maschine 
hervorrufen. Wenn ich die Motoren in die eine Richtung drehen lasse 
(alles manuell über Mach3) dann die Maschine aus und wieder anschalte 
und dann in die gleiche Richtung drehen will kommt der Fehler. Wenn ich 
sie in die entgegengesetzte Richtung drehen lasse laufen sie ohne 
Fehler.

Das schaut mir nun nicht mehr nach einem Problem mit dem Hall Sensor 
oder Encoder aus sondern mit der Programmierung der Endstufen. Ist aber 
nur meine Vermutung.

Zu deinen Fragen:
>Fehlerschwelle und Zeit:
keine Ahnung, wüßte auch nicht wo das angezeigt wird
>Wie stark wird beschleunigt?:
kann ich erst morgen nachschauen
>Fehler bei geringerer Geschwindigkeit/Beschleunigung:
noch nicht probiert
>Abschirmung nur auf FG:
muß ich morgen ändern
Ferritringe: hab ich schon probiert hat keine Veränderung gebracht

>"Was mich an Deiner Beschreibung wundert: dass sich die Achsen
>gegenseitig beeinflussen. Das lässt auf ein schlechtes Gnd-Konzept
>schließen."
Das hast du falsch verstanden oder ich habe mich blöd ausgedrückt.
Bilder der Leadshine Protuner Software, such ich gleich mal raus damit 
ihr seht was ich da eingestellt hab.

: Bearbeitet durch User
von Daniel J. (carbonkid)


Angehängte Dateien:

Lesenswert?

So hier mal zwei Bilder. Viel gibt es da nicht einzustellen. Die Encoder 
Resolution muß man mal 4 nehmen laut Anleitung, daher 8192. Aber das 
Ausschlaggebende für den Fehler wird wohl der Wert für  "Position Error 
Limit" sein. Da hab ich einfach eine Zahl eingetragen.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.