www.mikrocontroller.net

Forum: Compiler & IDEs Drehzahlmesser


Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich arbeite gerade an einer Lösung mit einem Board von myAVR um die
Drehzahl meines Motorrades zu messen. Um die Drehzahl zu simulieren
verwende ich einen Mikrocontroller und zum Messen verwenden ich einen.
Kann mir jemand einen Ansatz geben wie ich dieses Problem lösen
könnte?

Danke schonmal!

T. Heiko

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>...wie ich dieses Problem lösen könnte?

Welches Problem?

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei einem µC die Drehzahl zu simulieren und bei einem anderem diese zu
berechnen und sie auszugeben.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf ne allgemeine Frage ne allgemeine Antwort:

- Auf dem "Simulator" nen Timer aktivieren und damit periodisch einen
Ausgangspin schalten.
- Auf dem "Zähler" einen Timer als Zähler benutzen und das
Drehzahlsignal auf nen Interrupteingang legen. Bei jedem Interrupt den
Zählerstand speichern und den Zähler zurücksetzen. Aus der
Zählerfrequenz und dem Zählerstand (also der Anzahl von Zählperioden
zwischen zwei Interrupts) die Dauer einer Umdrehung und daraus die
Drehzahl berechnen.

Gruss

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was meinst du mit ausgangspin??
und auf welchen Interrupteingang könnte man das drehzahlsignal legen?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du überhaupt schon einmal einen Controller programmiert,
Heiko?

Ich würde dir ernsthaft anraten, das AVR-GCC-Tutorial dieser Seite
durchzuarbeiten und erst einmal ein Gefühl für diese Controller
zu bekommen.  Andernfalls such' dir lieber jemanden, der das ganze
Projekt komplett für dich stemmt (zumindest die Firmware), du
wirst sonst aus dem Fragen nicht mehr herauskommen.

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich brauche doch nur einen kleinen denkanstoß!
wenn das signal aus den einem µC raus kommt wie es dann der andere
merkt?!

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

Bewertung
0 lesenswert
nicht lesenswert
> ich brauche doch nur einen kleinen denkanstoß!

Ganz ehrlich:
Das glaub ich nicht.
Sonst würdest Du nicht fragen:
> was meinst du mit ausgangspin??

Du unterschätzt das was vor dir liegt. Der erste Teil deiner
Aufgabe, einen µC so zu programmieren, dass er an einem
Ausgang ein periodisches Signal mit einer bestimmten Frequenz
erzeugt ist eigentlich ein absolutes Standard-Einsteiger-Erstlings-
Projekt (OK: da lässt man eine LED blinken. Ist aber vom Prinzip
her dasselbe, nur dass die Frequenz halt so niedrig ist, dass
man das Blinken sieht). Wenn Du damit Schwierigkeiten hast, dann
ist es mit einem Denkanstoss alleine nicht getan.

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja den µC der das Signal erzeugt habe ich ja jetzt fertig ... er sendet
ein konstantes signal! nur wie messe ich das an dem anderen?
ist es besser die zeit zwischen 2 perioden zu messen oder ist es besser
zu zählen wieviel perioden in einer bestimmten zeit auftauchen?

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

Bewertung
0 lesenswert
nicht lesenswert
Das hängt davon ab, wie schnell das periodische Signal ist, welche
Ferquenz es besitzt.
Einfacher (IMHO) ist es, wenn du eine Zeit vorgibst und zählst
wieviele Pulse da reinkommen. Dann brauchst du nicht gross
rumrechnen. Bei 1 Sekunden Torzeit, wird der gemessene Wert mal
60 genommen und du hast die Drehzahl. Dafür:
  * kriegst du halt nur alle 1 Sekunden ein Ergebnis
  * ist das Ergebnis mit einem Fehler +/- 60 behaftet.
Nun kannst du natuerlich die Torzeit ( = die Messzeit) auf
1/10 Sekunde drücken, dafür geht aber der Fehler auf +/- 600
rauf.
Umgekehrt ist es auch nicht besser: Wenn du die Zeit zwischen
2 Pulsen misst, stellt sich natuerlich die Frage: Wie genau kannst
du die Zeit denn messen? Jeder Fehler in der gemessenen Zeit wirkt
sich im Ergebnis aus. Nimm dir mal ein paar Zahlen und spiel
am Papier damit rum. Und dann variier mal den Eingangswert
und sieh nach wie sich das Endergebnis Deiner Berechnung verändert.

Weiters stellt sich natürlich die Frage: Wie genau muss den
das Ergebnis sein?. Macht es wirklich Sinn, die Drehzahl auf
1 U/min genau auszugeben? Kann mein Motor denn eine bestimmte
Drehzahl wirklich über Sekunden auf 0.1 U/Min halten, oder
zeige ich in Wirklichkeit da nicht sowieso schon Fantasiewerte
an. Nur weil ein Computer eine Zahl auf 5 Nachkommastellen
rauswirft, heist das noch lange nicht, das das auch Sinn macht.

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aber das problem ist dass ich die Torzeit nur auf 71 Millisekunden
bekomme!
aber der ansatz is gut, danke!

Autor: Magnus Müller (Magnetus) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Äh... wie jetzt.... "Heiko" oder "Dieter" ???

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wir arbeiten zusammen an dem projekt!

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So langsam nimmt das ja Formen an.
Ich verwende in meinem Drehzahlmesser einen 16-bit Timer und habe die
Frequenz per prescaler auf 125 kHz eingestellt. Dann zähle ich die
Anzahl Timer-ticks zwischen zwei Drehzahlimpulsen. Das sollte ne
ausreichende Genauigkeit im Bereich zw. 500 und 10000 U/min ergeben
(Damit meine ich auf etwa 100 U/min genau, mehr macht für nen
Standard-Drehzahlmesser [kein Werkstatt-Diagnosegerät] IMHO keinen
Sinn).

Gruss

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verwendest du 2 timer oder nur einen?

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe aber nur einen 8 bit timer!
und wie kann ich die 8 bit variablen in C zu 16 bit variablen
zusammenfassen?

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.