Jump to content
elektro-skateboard.de

Vesc - as5047p


barney

Empfohlene Beiträge

Für die FOC geplagten,

 

es gibt jetzt die Möglichkeit den Winkelsensor AS5047P für den FOC-Modus zu nutzen. Der Sensor hat eine hohe Winkelauflösung und kann bis zu einer Drehzahl von 28.000 U/Min Daten liefern. Der Sensor kann auf einem Demoboard, inklusive Spezialmagnet, bei Mouser für €15,- geordert werden. Die Genauigkeit bei ersten Tests lag bei +- 1.5°. Dies ist deutlich genauer als die drei Hall-Sensoren. Das Demoboard muss auf 3.3V umgelötet werden.

 

Da es regnet, konnte ich die Funktion nur im Wohnzimmer testen. Anfahren ist ohne Probleme kraftvoll möglich, die FOC-Bremse lässt zu wünschen übrig. Da ich aber auch im Wohnzimmer sehr langsam Fahre, ist dies keine Aussage für über 30 Km/h Bremsungen.

 

Externe Links nur für Mitglieder sichtbar

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sehr nett.

Die Genauigkeit sollte sich denke ich mit einer präzisen Ausrichtung noch verbessern lassen.

 

Hast du dir schon Gedanken über eine vernünftige Halterung gemacht oder schon eine aufgebaut?

Meine Idee wäre bis jetzt eine aufgeschnittene Getränkedose zu verwenden, wo an dem "Boden" der Magnet Encoder befestigt ist. Damit schützt man den Motor gleich mit. (und vernichtet leider die gute Luftzufuhr)

Den Magneten selber über ein 3D gedruckten Halter (der die vier Befestigungslöcher der SK3 Motoren nutzt) befestigen oder direkt den mitgelieferten Propmount absägen und auf Magnet Größe aufbohren.

 

Das ganze wird über den SPI Port angeschlossen richtig? Ist ja bisschen blöd, dass dann kein UART mehr zur Verfügung steht. Die Möglichkeit SPI auf die Hall Pins (Filter vorher entfernen) zu mappen besteht nicht? Wäre ja schon schön, später auch noch einen Nunchuk mit anzuschließen. Sonst bringt einem die genauere Rotor position für die Applikation eines e-boards ja nicht viel.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe ich mit der Kommastelle vertan:

+- 0.15°

 

Software SPI

 

SCK -> HALL 1

MISO -> HALL 2

CS -> HALL 3

MOSI -> VCC

 

Bild1: Motor steht, Sensorrauschen

Bild2: Motor mit der Hand langsam gedreht

AS5047p_3.3V_1.thumb.JPG.8fa14f104631ebab78a97abf22a716d6.JPG

AS5047p_3.3V_2___Kopie.JPG.57ccea7ad4c057bcbd5851589b305a50.JPG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank.

 

+- 0.15° klingt ja schon mal besser. :)

Hatte es jetzt schon selber in der V2.17 firmware gefunden:

 

+#define SPI_SW_MISO_GPIO HW_HALL_ENC_GPIO2

+#define SPI_SW_MISO_PIN HW_HALL_ENC_PIN2

+#define SPI_SW_SCK_GPIO HW_HALL_ENC_GPIO1

+#define SPI_SW_SCK_PIN HW_HALL_ENC_PIN1

+#define SPI_SW_CS_GPIO HW_HALL_ENC_GPIO3

+#define SPI_SW_CS_PIN HW_HALL_ENC_PIN3

 

Schon blöd wenn man vorher die V2.16 durchsucht aber irgendwie nichts richtig findet...

Verstehe aber irgendwie noch nicht richtig, warum du MOSI auf high setzt. Sollte es nicht auch reichen den pin einfach nicht zu verbinden, wenn man nur von dem Encoder lesen möchte. Eigentlich schade, dass nichts an den AS geschickt werden kann. So weit ich weiß kann der nämlich liefern, ob der Abstand zu dem Magneten zu weit weg, zu nah dran oder genau richtig ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Verstehe aber irgendwie noch nicht richtig, warum du MOSI auf high setzt. Sollte es nicht auch reichen den pin einfach nicht zu verbinden, wenn man nur von dem Encoder lesen möchte. Eigentlich schade, dass nichts an den AS geschickt werden kann. So weit ich weiß kann der nämlich liefern, ob der Abstand zu dem Magneten zu weit weg, zu nah dran oder genau richtig ist.

 

Benjamin hat erst überlegt, ob er die Sensordistanz auswertet. Es hätte beim Ausrichten sehr geholfen. Da aber am Hall-Anschluss nun mal kein Pin mehr frei ist, wo soll er den Pin herholen? Ja, vom anderen Stecker, das ist aber nicht besonders toll. Mit der aktuellen Lösung am Hall-Anschluss, ist jetzt eine kleine Falle eingebaut worden. Die 5.0V sind für den AS5047P nicht wirklich von Vorteil. Man hätte mit den eingebauten Spannungsregler eine super befriedete Spannungsversorgung ohne das CPU-Rauschen, aber leider gibt die Logik vom AS5047P dann nur digitale Signale mit 5V Pegel aus. Die 3.3V vom Spannungsregler sind nämlich ausschließlich für die analoge Sektion. Der ST32 ist zwar 5V tolerant, aber ich hatte kein Glück bei der digitalen Signalauswertung. Benjamin geht mit einer recht hohen Frequenz auf die Serielle Schnittstelle, so das die 5V digitalen Signale, bei einer Kabellänge von 20cm, nur noch Suboptimal sind.

 

Also einen kleinen 3.3V linearen Spannungsregler vorschalten. Der muss nur einige mA liefern können. Ein L78L33... reicht völlig aus. Wer noch seinem AS5047P einen Gefallen tun möchte, kann dazu einen 100nF Keramik Kondensator spendieren.

 

Für mich steht noch der Test aus, wenn die Spannungsversorgung z.B. von einer Batterie kommt, ob dann weniger als +-0.15° Fehlmessung rauszuholen ist und damit das Winkelrauschen verschwindet.

 

Vielleicht kann man Benjamin mit dem VESC 5.0 dazu überreden, eine Hardware UART zu spendieren und einen zweiten Längsregler für den AS. Oder ich muss eine Leiterplatte machen, wo ein Regler drauf ist. Mit einem eigenen Anschluss wäre dann auch ein Pin für die Programmierung des AS5047P möglich.

 

rauscharmer 3.3V Längsregler:

LD39015M33

 

Warum einen Pin hochziehen? Niemals einen Eingang floaten lassen.

bearbeitet von barney
Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, ich sehe jetzt nicht das riesige Problem, warum man nicht von einem anderen Port noch einen Pin klauen könnte. Wie du schon sagst bräuchte man trotzdem noch 3,3V und die bekommt man ja auch einfacher von einem andern Port als extra einen zusätzlichen Spannungsregler zu verbauen.

Woher nimmst du eigentlich die ganzen Informationen, dass Benjamin zum Beispiel erst auch überlegt hat die Sensordistanz auszuwerten?

 

Ich hatte gedacht, dass der Pin vielleicht intern schon auf ein level gezogen werden würde. Im Datenblatt habe ich jetzt aber auch gesehen: Floating state of a digital input is not allowed.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Alles was zum Anfang schön klingt, hat eine Fußangel:

 

Der Sensor hat eine spezifizierte Abweichung von 1°. Derzeit kommt man viel liebe auf 2° Einstellgenauigkeit. Die 1° beziehen sich auf die Nichtlinearität es magnetischen Messsensors. Der Sensor ist aber auf 0.1X° in der Wiederholung genau. Durch die 7Poligkeit muss man den Fehler mal 7 nehmen, was bei 2° folglich 14° bedeutet. Benjamin hat eine sinusförmige Abweichung zwischen dem Observer und dem AS5047p festgestellt, so dass er wie bei den Hall-Sensoren, den AS5047P nur bis zu einer bestimmten Geschwindigkeit heranzieht. Er hat aber vor, den AS5047P durch Messungen zu Linearisieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hut ab!

Eure VESC Konversation findet für mich auf einem deutlich zu hohen Level statt.

Ich hoffe ihr bringt euer Wissen bei der VESC 5.0 ein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Heute Probefahrt mit V2.16 Beta:

 

Anfahren war super, auch bei Steigung.

Aber bei >10 Km/h verwandelte sich das Board in ein Vibrationsantrieb. Meine Beine klingeln immer noch. Ich hätte nicht gedacht, dass die Nichtlinearität des AS sich so negativ auswirkt. V2.17 bedingt ein Umlöten des AS auf dem VESC. Bei 2.17 wird ab einer bestimmten Drehzahl der AS nicht mehr für die Winkelbestimmung herangezogen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 year later...

Hi,

wie es scheint bin ich hier genau richtig.

Ich hab mir vor weingen Wochen ein E-Board aufgebaut und möchte dieses zusätzlich mit einem ( AS5047 ) Encoder ausstatten.

Kann ich den Encoder einfach anschließen oder muss der Encoder selbst noch programiert werden?

Muss ich im BLDC Tool ( außer auf Hybrid umzustellen) Einstellungen bzw. Werte ändern?

Ich hätte mir jetzt bei Mouser diesen Encoder bestellt

 

Externe Links nur für Mitglieder sichtbar

bin mir etwas unsicher ob das der "richtige Encoder" ist.

 

Zu meinem Setup:

2x Sk3 Motoren mit 192KV

2x ESK8 1.1 Regler

2x 12.000mah 6S in Reihe

Im Anhang sind ein paar Bilder

 

Wäre super wenn Ihr mir dabei helfen könntet.

LG

Dirk

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

wie es scheint bin ich hier genau richtig.

Ich hab mir vor weingen Wochen ein E-Board aufgebaut und möchte dieses zusätzlich mit einem ( AS5047 ) Encoder ausstatten.

Kann ich den Encoder einfach anschließen oder muss der Encoder selbst noch programiert werden?

Muss ich im BLDC Tool ( außer auf Hybrid umzustellen) Einstellungen bzw. Werte ändern?

Ich hätte mir jetzt bei Mouser diesen Encoder bestellt

 

Externe Links nur für Mitglieder sichtbar

bin mir etwas unsicher ob das der "richtige Encoder" ist.

 

Zu meinem Setup:

2x Sk3 Motoren mit 192KV

2x ESK8 1.1 Regler

2x 12.000mah 6S in Reihe

Im Anhang sind ein paar Bilder

 

Wäre super wenn Ihr mir dabei helfen könntet.

LG

Dirk

Kann direkt angeschlossen werden. Hybrid ist richtig. Ausrichtung muss präzise sein sonst Ruckt der Motor. Winkelfehler sind als Eiern zu bemerken.

 

 

Gesendet von meinem SM-N9005 mit Tapatalk

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tritt dem Gespräch bei

Du kannst jetzt posten und dich später registrieren. Wenn du bereits einen Account hast kannst du dich hier anmelden.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...