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.
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.
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?
> 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
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.