Forum: Mikrocontroller und Digitale Elektronik Motor drehzahl geschwindigkeit berechnen


von Manu (Gast)


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. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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)


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)


Lesenswert?

> welche verbindung gibt es zwischen frequenz und rpm.

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

von soundso (Gast)


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)


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. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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)


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)


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)


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.

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
Noch kein Account? Hier anmelden.