Forum: Mikrocontroller und Digitale Elektronik Motor drehzahl geschwindigkeit berechnen


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.
von Manu (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich versuche gerade die Geschwindikeit rpm eines BLDC_Motor zu lesen.
anhand von Hall signale.
je schneller der Motor wird desto Höher ist die frequenze.
das Heisst wenn ich die frequenze der Hall signale -eine sollte schon 
reichen- lesen kann, kann ich die rpm berechnen.
ich habe Eine EXTI signal zurverfügung. welsche nachteil soll hier 
berücksichtigen.
grüße

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Manu schrieb:
> welsche nachteil soll hier berücksichtigen.
Dass abhängig von der Drehzahl der Prozessor mehr oder weniger 
ausgelastet wird. Mit ein wenig Glück/Pech läuft dein Programm bei 
niedrigen Drehzahlen noch und bei hohen nicht mehr, weil dauernd ein 
Interrupt kommt.
Sinnvoller wäre es, das Signal an einen Zähler anzuschließen und mit dem 
Zählerstand iund der vergangenen Zeit die Drehzahl zu berechnen.

von Manu (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Lothar,
danke für deine schnelle antwort,
das habe ich vermutet.
wie kann ich die geschwindichkeit jetzt messen. welche verbindung gibt 
es zwischen frequenz und rpm.
grüße

von Dampf T. (ouuneii)


Bewertung
0 lesenswert
nicht lesenswert
> welche verbindung gibt es zwischen frequenz und rpm.

Gibt es da eine Vermutung ?
Welche ?
Wie koennte man das kontrollieren ?

von soundso (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn dein Motor tatsächlich ein BLDC-Motor ist ist der Zusammenhang 
zwischen einem der HAL-Signale (nur steigende Flanken gezählt) und der 
rmp wie folgt:

rpm = ( fhal [Hz] * 60 ) / (3 * Anzahl Polpaare)

Die Anzahl Polpaare ist Motorabhängig, meist 2 oder 3 im Modellbau ...

von Manu (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
danke soundso, das heißt es sollte nur eine Hall signal reichen um die 
Geschwindichkeit zu berechnen?
hier habe ich 3 Hall output.
gruß

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
Manu schrieb:
> das heißt es sollte nur eine Hall signal reichen um die Geschwindichkeit
> zu berechnen?
Ja.

> hier habe ich 3 Hall output.
Ist ja toll. Dann kannst du sogar noch die Drehrichtung bestimmen.

von Manu (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,
ich danke euch sehr, jetzt fehlt mir das wiessen, wie kann ich die Hall 
Sensoren signal abfragen.
wenn eine Timer-kannal getrigert wird z.b wenn H1=>1 -low auf Hight- wie 
kann ich wiessen welsche zustände hat H2 und H3.
soll ich einfach der reigster GPIOx->IDR (stm32) oder  die 
GPIO_ReadInputDataBit aufrufen, wie es bei inputport gemacht wird.
grüße

von Microwave (Gast)


Bewertung
0 lesenswert
nicht lesenswert
soundso schrieb:
> Wenn dein Motor tatsächlich ein BLDC-Motor ist ist der
> Zusammenhang
> zwischen einem der HAL-Signale (nur steigende Flanken gezählt) und der
> rmp wie folgt:
>
> rpm = ( fhal [Hz] * 60 ) / (3 * Anzahl Polpaare)
>
> Die Anzahl Polpaare ist Motorabhängig, meist 2 oder 3 im Modellbau ...

Rein interessehalber: Woher kommt die 3 in der Formel? Müsste meiner 
Meinung nach fehlen, wenn ein einzelner Hallsensor betrachtet wird...

Grüsse - Microwave

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:
> Manu schrieb:
>> welsche nachteil soll hier berücksichtigen.
> Dass abhängig von der Drehzahl der Prozessor mehr oder weniger
> ausgelastet wird. Mit ein wenig Glück/Pech läuft dein Programm bei
> niedrigen Drehzahlen noch und bei hohen nicht mehr, weil dauernd ein
> Interrupt kommt.
> Sinnvoller wäre es, das Signal an einen Zähler anzuschließen und mit dem
> Zählerstand iund der vergangenen Zeit die Drehzahl zu berechnen.

Geschickterweise haben die meisten µCs einen solchen bereits eingebaut, 
so dass man das auch ohne separaten Zähler nicht interruptgesteuert 
durchführen muss. Auf der anderen Seite ergibt sich die Frage, ab 
wieviel Millionen RPM die Interrupt-Last zum Problem wird und ob man 
solche Drehzahlen wirklich braucht. Und es ist zu bedenken, dass man 
beim Zählen der Umdrehungen eine Torzeit braucht, die viel größer ist 
als die Zeit zwischen zwei Impulsen.

soundso schrieb:
> Wenn dein Motor tatsächlich ein BLDC-Motor ist ist der Zusammenhang
> zwischen einem der HAL-Signale (nur steigende Flanken gezählt)

Du kriegst Signale vom HAL 9000? Oder meinst du doch eher Hall?

> und der rmp wie folgt:
>
> rpm = ( fhal [Hz] * 60 ) / (3 * Anzahl Polpaare)
>
> Die Anzahl Polpaare ist Motorabhängig, meist 2 oder 3 im Modellbau ...

Von "meist" kann keine Rede sein. Das gilt nur für die schnell drehenden 
Innenläufer. Die Außenläufer haben in der Regel deutlich höhere 
Polzahlen.

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]
  • [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.