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.
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.
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.
> 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.
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.
Was soll denn bei diesen Drehzahlen verbessert werden ? Der Wirkungsgrad ? Winkelbeschleunigung ? Es geht um Turbopumpen ? Dann waeren Lastwechsel interessant.
:
Bearbeitet durch User
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
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...
Auch NXP hat da was... https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/kinetis-cortex-m-mcus/v-seriesreal-time-ctlm0-plus-m4-m7/kinetis-kv3x-100120-mhz-advanced-3ph-foc-sensorless-motor-control-mcus-based-on-arm-cortex-m4:KV3x sogar auch schon mit SW https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/kinetis-cortex-m-mcus/v-seriesreal-time-ctlm0-plus-m4-m7/kinetis-motor-suite-easy-motor-control-development-solution-for-bldc-and-pmsm-motors.:KINETIS_MOTORSUITE
> 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...
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.