Motor drehzahl geschwindigkeit berechnen

Gast #4812797
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
Moderator (Firma: Titel) Persönliche Seite #4812802
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.
Gast #4812840
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 ...
Gast #4813195
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
Gast #4813584
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
#4813614
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren