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
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.
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
> welche verbindung gibt es zwischen frequenz und rpm.
Gibt es da eine Vermutung ?
Welche ?
Wie koennte man das kontrollieren ?
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 ...
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ß
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.