mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Ressourcenabschätzung für FOC


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Master S. (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

In der Firma, wo ich arbeite, möchte man von Fertig-IC-Lösungen für 
hochdrehende BLDC-Motoren weg und etwas "intelligenter" und zeitgemässer 
ansteuern: Sprich mit einem Mikrokontroller eine FOC machen.
Ich kann aber nicht abschätzen, wie schnell ein Mikrokontroller sein 
muss für 50'000RPM, 100'000RPM, oder 150'000RPM, jeweils ohne 
Drehsensor. Kann mir jemand da helfen, der das etwas abschätzen kann? 
Welche Max. RPM ist mit folgenden Mikrokontrollern möglich:
- STM32 F0 @ 48MHz   (z.B. STM32F091)
- STM32 F3 @ 72MHz   (z.B. STM32F303)
- STM32 F4 @ 180MHz  (z.B. STM32F446)

Und wieviel Flash braucht man etwa für die FOC alleine?

Danke schonmal im Voraus.

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Master S. schrieb:
> möchte man von Fertig-IC-Lösungen für
> hochdrehende BLDC-Motoren weg

Ist Unsinn bei diesen Drehzahlen. Bleibt bei der Hardware und den 
Fertig-IC-Lösungen. Never change a running System.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was gibt nicht die FOC, das ist dir klar?
Ich kenne Umrichter mit tms320, 120MHz,  und tc1797, 150 MHz glaub ich. 
Beide für deutlich kleinere Drehzahlen.

Daher müsste man sich auf einem M0 sicher mehr einschränken als auf 
einem M4.

Aber: Wenn du stm32 verwenden möchtest, die gibt es beinahe 
pinkompatibel im selben Gehäuse. Ein bisschen Hirnschmalz vorab und du 
kannst einfach anders bestücken.

Autor: Master S. (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Never change a running System
Naja, eben... Pflasterpolitik auf Kinderkrankheiten ist nicht so meine 
Sache.

Es wird sicher schon jemand eine FOC auf einem Cortex gemacht haben? 
Kann mir da jemand die "Laufzeit" einer FOC-Berechnung angeben, dann 
kann man auch ausrechnen, was etwa die maximale Drehzahl sein wird. 
Danke.

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Master S. schrieb:
> Es wird sicher schon jemand eine FOC auf einem Cortex gemacht haben?

Sicher.

> Es wird sicher schon jemand eine FOC auf einem Cortex gemacht haben?

Das ist es eben. Für so hohe Drehzahlen ist der Ansatz mit Berechnung 
weniger zielführend als der Ansatz 'DDS'. Mit dem Abklappern einer 
Tabelle wirst du evtl. in einen Drehzahlbereich kommen, der deinen 
Wünschen näherkommt. Mit trigonometrischen Berechnungen im MC sehe ich 
da eher schwarz.
Wie fein aufgelöst hättest du es denn gerne?

Master S. schrieb:
> etwas "intelligenter" und zeitgemässer

Klingt mir zu sehr nach Buzzwords als nach echter Verbesserung.

Autor: Joggel E. (jetztnicht)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll denn bei diesen Drehzahlen verbessert werden ? Der Wirkungsgrad 
? Winkelbeschleunigung ?

Es geht um Turbopumpen ? Dann waeren Lastwechsel interessant.

: Bearbeitet durch User
Autor: Alexander B. (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

reden wir bei 150krpm von Felddrehzahlen oder Wellendrehzahl einer 4, 6, 
8 usw. poligen Maschine?

Ich gehe mal von 150krpm bei einer 2 poligen Maschine aus, also reine 
Felddrehzahl.
Dann sind wir bei 2,5kHz Feldfrequenz. Damit ein üblicher Beobachter 
noch halbwegs läuft sollte der Beobachter mit 25kHz mindestens laufen.

Ein F3 mit etwas Optimierung liegt Erfahrungsgemäß bei unter 30us für 
die komplette Stromregelung plus Beobachter in float, Vorausgesetzt der 
Sinus und Cosinus für die Park wird nur einmal berechnet und das mit der 
Funktion aus der ARM CMSIS DSP Lib für Sin und Cos  gleichzeitig. Das 
ist im Endeffekt nur ne LUT mit Linearer Approximation.

Wenn du unbedingt einen STM32 einsetzen willst würde ich den STM32F446 
nehmen der sollte bei ca. 10us rauskommen. Das kannst du dir z.B. beim 
VESC angucken der kann auch mit 40kHz die FOC berechnen und das auf 
einem 405.

Wenn du aber professionell arbeiten willst solltest du dir die 
"langsamen" TMS320 aber mal ansehen. Dann wirst du erkennen das ein 
TMS320F28xxx mit TMU die Park in 17 Takten macht, weil der den Sinus und 
Cosinus in Hardware rechnet. Dann sind 100MHz wieder viel. Wenn man dann 
noch die Regelung auf den CLA (Coprozessor für Regelung) packt hast du 
die CPU wieder fast komplett frei für Drehzahl- und Positionsregelung 
und Betriebsführung.

Kann aber sein das ein STM einfach günstiger ist, das weiß ich gerade 
nicht.

Gruß

Alex

Autor: H. K. (spearfish)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was spricht gegen einen spezialisierten Mikrocontoller? Infineon hat da 
einiges im Angebot, was z.B. einen CORDIC in Hardware mitbringt für FOC. 
Dann bleibt noch genug Rechenpower für Kommunikation o.ä.

Ich sehe irgendwie nicht den Vorteil, einen STM mit den FOC-Berechnungen 
fast komplett auszulasten...

Autor: mmm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Master S. (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Dann sind wir bei 2,5kHz Feldfrequenz.
Richtig.

Danke für Eure Antworten! Vor allem A. Brand, das hilft extrem weiter, 
danke!

- STM darum, weil es viele Alternativen dazu gäbe (man beachte was in 
den letzten 2 Jahren auf dem Halbleitermarkt passierte).
- Bei speziellen uC mit Vektoreinheiten/etc. ist man gebunden. z.B.: Ich 
arbeitete mal im Automotive-Bereich und wir setzten damals einen 
speziellen Freescale uC+MotorController ein. Freescale erhöhte innerhalb 
2er Jahre den Preis um 50%. Ich habe meine Lehre daraus gezogen.
- TI: Ich bin absolut nicht begeistert von der CLA. Die Idee ist ja 
toll, aber die "Schnittstelle" intern und das Entwickeln an sich hat in 
meiner vorgehenden Firma die SW-Entwickler damals zum Fluchen gebracht. 
Es kann sein, dass das nun einfacher von der Hand geht.

Ich wollte ja nur eine grobe Hausnummer für die FOC-Berechnung auf einem 
STM32, und das habe ich bekommen. Vielen Dank. Alternativ überlegen wir 
uns ein einfacher uC plus einem kleinen FPGA (iCE40 o.ä.), ist ja nicht 
teurer als ein uC-Boliden...

Autor: Alexander B. (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Master S. schrieb:
> - TI: Ich bin absolut nicht begeistert von der CLA. Die Idee ist ja
> toll, aber die "Schnittstelle" intern und das Entwickeln an sich hat in
> meiner vorgehenden Firma die SW-Entwickler damals zum Fluchen gebracht.
> Es kann sein, dass das nun einfacher von der Hand geht.

ging mir früher Ähnlich aber ich bin kürzlich wieder zu den TMS vom STM 
gewechselt und das aktuelle CCS von TI ist deutlich besser geworden. 
Klar ist der CLA nicht so komfortabel wie ein weiterer Kern aber das ist 
nur eine Sache der SW-Architektur.

Mit dem 446 bin ich sehr zufrieden. Ich hab hier auch eine Anwendung in 
der 2 Motoren von dem Prozessor in FOC geregelt werden, aber natürlich 
nur mit 10kHz Regeltakt was für diese Anwendung aber völlig ausreichend 
ist.

Gruß

Alex

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.