www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Dynamische Drehzahlerfassung


Autor: Kay Servatius (mikromaster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich sitze an einem Projekt,welches Dynamische Drehzahlen erfassen soll 
von einem Asynchronmotor mit 2000U/min max. Dazu verwende ich einen 
Differential Hall-Sensor (Zahnradsensor) der über der Motorwelle sitzt 
und immer einen Impuls sendet wenn ein Zahnrad Zahn an an ihm vorbei 
rauscht. Mein Problem besteht in der Programmtechnischen umsetzung (in 
C) da die Idee dich für die Messung Habe nicht Funktionieren.

Mein sensor Hat eine Taktrate von 100kHz -200kHz.
Hab 3 Timer/counter mit Capture zur verfügung mit Externen Interrupt 
eingang und. Mikrokontroller C8051F124 von Silabs.Wie Hoch sollte ich 
die Taktrate der Timer einstellen?

Meine Idee besteht darin Für kleine Drehzahlen ein Verfahren zu 
verwenden welches in einer Torzeit die impulse Zählt und für große 
Drehzahlen die Zeit zwischen den Impulsen zu erfassen, welche dann mit 
der entsprechenden Formel auf 1/min Umgerechnet werden.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kay Servatius schrieb:
> Hallo,
>
> Ich sitze an einem Projekt,welches Dynamische Drehzahlen erfassen soll
> von einem Asynchronmotor mit 2000U/min max.

OK. Also 33 Umdrehungen pro Sekunde

> Mein sensor Hat eine Taktrate von 100kHz -200kHz.

? Wie kommst du auf diesen Wert.

Wieviele Zähne hat den das Zahnrad, von dem du die Zähne zählst? Das mal 
die 33 ergibt dir die maximale Frequenz, die du messen musst.
Wieviel der Sensor im Maximum noch auflösen kann, interessiert doch 
keinen solange deine tatsächliche Taktrate unter dieser Grenze bleibt.

Und dass dein Zahnrad ~3000 Zähne hat, will ich der Einfachheit erst mal 
nicht annehmen.

> eingang und. Mikrokontroller C8051F124 von Silabs.Wie Hoch sollte ich
> die Taktrate der Timer einstellen?
>
> Meine Idee besteht darin Für kleine Drehzahlen ein Verfahren zu
> verwenden welches in einer Torzeit die impulse Zählt und für große
> Drehzahlen die Zeit zwischen den Impulsen zu erfassen, welche dann mit
> der entsprechenden Formel auf 1/min Umgerechnet werden.

Ja, klingt vernünftig.
Rechne dir aus wieviele Pulse du in der Sekunde bekommen wirst, welche 
Genauigkeit du erreichen willst und dann spiel ein bischen mit den 
Zahlenwerten deines Timers rum und sieh dir an wo du landen wirst.

Autor: Maik Fox (sabuty) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kay Servatius schrieb:
> Meine Idee besteht darin Für kleine Drehzahlen ein Verfahren zu
> verwenden welches in einer Torzeit die impulse Zählt und für große
> Drehzahlen die Zeit zwischen den Impulsen zu erfassen, welche dann mit
> der entsprechenden Formel auf 1/min Umgerechnet werden.

Normalerweise macht man das genau umgekehrt?

Autor: Kay Servatius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wieviele Zähne hat den das Zahnrad, von dem du die Zähne zählst?

also ich hab 10 Zähne, das heist ich hab 10 Impulse


> ? Wie kommst du auf diesen Wert.


Im Datenblatt des Sensors IGT101DC von Honeywell steht das er Taktraten 
über 100khz liefert.

>Ja, klingt vernünftig.
>Rechne dir aus wieviele Pulse du in der Sekunde bekommen wirst, welche
>Genauigkeit du erreichen willst und dann spiel ein bischen mit den
>Zahlenwerten deines Timers rum und sieh dir an wo du landen wirst.

Ja gut dann bin ich nicht ganz auf dem Holzweg:)hast du vieleicht eine 
Programmtechnische Idee wie ich das Implementieren kann? soll Capture 
verwenden oder nur die Interuppte vom Sensor Zählen?

Weil ich mich Programmtechisch total verand hab und nicht weiter weis.

Gruß

Kay

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.