hallo Leute, Ich bin mit der elektronik nicht so bewandert. Wenn ich einen Sensor habe der eine Schaltfrequenz von 800Hz hat. Bedeuet das dann, das dieser mir 800 mal in der Sekunde einen Wert liefern könnte ?...... z.B bei einem drehenden Objekt bei dem man pro Umdrehung einen Impuls misst. Würde das dann bedeueten das dieser Sensor theoretisch mir 800 mal in der Sekunde diesen Impuls abtasten könnte wenn das Objekt sich auch dementsprechend schnell drehen würde ???? Wäre nett von euch wenn ihr mich aufklären könntet :)
Schaltfrequenz ist für ein SENSOR eigentlich der falsche Begriff. Bei Sensor würde ich eher sowas erwarten wie Samplerate, Abtastrate, Abtastfrequenz oder sowas. Und dann ja, er würde dir bei einer Abtastrate von 800Hz eben max. 800 mal pro Sekunde einen neuen Wert liefern
Kannst du mir auch sagen wieviel Hz so ein Arduino Uno R3 am Pin 2 also PWM Eingang als Frequenz so verarbeiten kann ?? Der Quarz ist 16 MHz groß..... Aber schafft er z.b auch diese 800 mal pro Sekunde zu verarbeiten ? Mein Problem ist folgendes.... Ich will die Drehzahl / Geschwindigkeit eines Heimtrainerfahrrads mittels induktivem Näherungsschalter abfragen und mit dem Arduino ausrechnen/ ausgeben. Nur wenn ich mal bischen mehr Gas gebe auf dem Fahrrad dann erkennt der Sensor einfach nicht mer das Signal....... und folglich gibt der Arduino mir nur noch schrott aus !
Sari schrieb: > Kannst du mir auch sagen wieviel Hz so ein Arduino Uno R3 am Pin 2 > also > PWM Eingang als Frequenz so verarbeiten kann ?? > > Der Quarz ist 16 MHz groß..... > > Aber schafft er z.b auch diese 800 mal pro Sekunde zu verarbeiten ? Das schafft er locker. > > Mein Problem ist folgendes.... > > Ich will die Drehzahl / Geschwindigkeit eines Heimtrainerfahrrads > mittels induktivem Näherungsschalter abfragen und mit dem Arduino > ausrechnen/ ausgeben. Kein Problem. > Nur wenn ich mal bischen mehr Gas gebe auf dem Fahrrad dann erkennt der > Sensor einfach nicht mer das Signal....... und folglich gibt der Arduino > mir nur noch schrott aus ! Wie hast du den Sensor montiert? Erfaßt er die Umdrehungen eines Rades? Dann müßtest du ganz schön viel Gas geben, damit er bei 800 U/s aus dem Tritt kommt. Kleine Beispielrechnung: Radumfang bei 26" ist ca. 2,07m Bei 800 U/s legst du dabei eine Strecke von 1659m/s zurück. Das sind ca. 5972km/h! Das finde ich schon ziemlich sportlich :-) Also denke ich mal, daß du die Erfassung bestimmt anders machst, oder? Beschreibe doch mal das ganze etwas näher. Auf jeden Fall wären 800 Erfassungen/s kein Problem. Aber für das Fahrrad bzw. den Hometrainer brauchst du nicht so viel.
:D ja klar ! Das war auch nur ein beispiel mit 800 Umdrehungen.. Mein Problem ist nur das ich wenn ich schneller drehe, einfach kein Signal mer bekomme ! So als wenn der Sensor das einfach nicht mehr schafft... ich habe an einem Rad des Fahrrades eine Metallschraube befestigt..... un am der Stirnseite einen induktiven Sensor der diese Schraube bei jeder Umdrehung erfasst..... Das funktioniert bei langsamer geschwindigkeit des Rades auch ganz gut.... Nur wenn ich mal Gas gebe dann erkennt er des einfach nicht mehr
Sari schrieb: > ich habe an einem Rad des Fahrrades eine Metallschraube befestigt..... > un am der Stirnseite einen induktiven Sensor der diese Schraube bei > jeder Umdrehung erfasst..... > > Das funktioniert bei langsamer geschwindigkeit des Rades auch ganz > gut.... Nur wenn ich mal Gas gebe dann erkennt er des einfach nicht mehr Dann würde ich vorschlagen, du schaust dir erstmal die Signale des Sensors an, ob sie bei beliebiger Drehzahl sauber aus dem Sensor kommen. Wenn das ein Sensor mit OpenCollector-Ausgang ist, muß der einen Pullup-Widerstand am Ausgang bekommen. Wenn die Impulse sauber anliegen, dann liegt es vermutlich an der Software. Du kannst ja mal deinen Quelltext und auch den Schaltplan reinstellen.
Sari schrieb: > Mein Problem ist folgendes.... > > Ich will die Drehzahl / Geschwindigkeit eines Heimtrainerfahrrads > mittels induktivem Näherungsschalter abfragen und mit dem Arduino > ausrechnen/ ausgeben. > Nur wenn ich mal bischen mehr Gas gebe auf dem Fahrrad dann erkennt der > Sensor einfach nicht mer das Signal....... und folglich gibt der Arduino > mir nur noch schrott aus ! Eine grobe Rechnung: Dein Objekt, was detektiert werden soll ist 10mm im Durchmesser und ist so am Rad angeordnet, dass es bei einer vollen Raddrehung 2000mm zurücklegt (liegt somit fast an der Felge). Bei einer Umdrehung pro Sekunde erzeugt es einen Impuls von 1/200s. Bei vier Umdrehungen/s ist der Impuls nur noch 1/800s lang. Damit ist für den Sensor die obere Schaltfrequenz erreicht. Bei einem 28" Rad sind das rund 30km/h, wenn ich nicht irre. Sari schrieb: > ich habe an einem Rad des Fahrrades eine Metallschraube befestigt..... Nimm ein größeres Objekt, was den Sensor länger eingeschaltet läßt. Mein Tipp für Frequenz/Drehzahl bei einem Arduino UNO R3: http://www.mino-elektronik.de/fmeter/fm_software.htm#bsp7
m.n. schrieb: > Nimm ein größeres Objekt, was den Sensor länger eingeschaltet läßt. Oder montiere es näher in Richtung Nabe, dann ist die Umfangsgeschwindigkeit auch kleiner und der Impuls damit länger. @m.n.: Danke für den Tip, auf die Impulslänge hatte ich gar kein Augenmerk gelegt.
Also Leute, Danke schonmal für die Super Tipps !! Kann nun alles Impulse aufnehmen, auch bei hoher Geschwindigkeit. Habe nun noch ein Problem.... Ich muss nun anhand dieser Umdrehungszahl die Drehzahl errechnen. Dazu wollte ich einen Timer bauen der jede Sekunde mir die Umdrehungen aus meiner Variabeln rausliest. Dann hätte ich ja eigentlich Umdrehungen pro sek. Aber wie kann ich denn von meinem Timer Interrupt der mir alle Sekunde etwas ausführt, nun aus einem anderen Interrupt der mir die Umdrehungen Zählt die Variable rausziehen ?
gibt Dein Sensor immernoch nur 8 Volt am Ausgang ab wie Du in einem anderen Beitrag geschrieben hast? Dann solltest Du doch mal das Sensor- Datenblatt lesen. Dort müßte auch die max. Schaltfrequenz des Sensors angegeben sein, die aber auch nur dann erreicht wird, wenn die Sensors- Versorgungsspannung im erlaubten Bereich liegt...
das Problem is ja schon lange behoben. Es geht nun lediglich um die Berechnung der Drehzahl. Ich bekomms programm technisch einfach nicht hin ..... Bitte um Hilfe !
Indem du die Zeit zwischen 2 Impulsen misst und dann nach der bekannten Formel f=1/T rechnest.
Ich habe jetzt soweit mal Programmiert das ich Drehzahl und Geschwindigkeit berechnen kann...... Das ganze hab ich mir mit einem Timer realisiert der jede Sekunde schaut, wieviel Umdrehungen er gemacht hat in dieser Sekunde. Leider benutz ich für Drehzahl() und Geschwindigkeit() den selben Timer1. Bei der Ausgabe bekomm ich immer nur die Geschwindigkeit ausgegeben. Ich möchte aber beides ausgegeben bekommen !!! Brauche ich da einen 2 Timer oder geht das mit 1 timer ? Wenn ja wie geht denn sowas :) Anbei mal mein Programm !!! -------------------------------------------------------------- #include "TimerOne.h" const int inputPin = 2; const int outputPin = 13; int alle_x_sekunden=1; int Umdrehungen_min; const long Umfang_cm = 94.24777; double Umfang_km = 0.000942477; double Geschwindigkeit_sek; double Geschwindigkeit_stunde; volatile int Umdrehungen; void setup() { pinMode(outputPin, OUTPUT); pinMode(inputPin, INPUT); Serial.begin(9600); Timer1.initialize(alle_x_sekunden*1000000); Timer1.attachInterrupt(Drehzahl); Timer1.attachInterrupt(Geschwindigkeit); attachInterrupt(0, keyPressed, RISING); // 0 ist der Interrupt für Pin 2, bei jeder steigenden Flanke wird keyPressed() aufgerufen } void keyPressed() // state hochzählen, falls mindestens 50ms seit der letzten Flanke vergangen sind { Umdrehungen++; } void Drehzahl() { Umdrehungen_min = Umdrehungen * 60; Serial.println("Umdrehungen/min"); Serial.println(Umdrehungen_min); Umdrehungen = 0; } void Geschwindigkeit() { Geschwindigkeit_stunde = Umfang_km Umdrehungen 3600; Serial.println("Geschwindigkeit in km/h"); Serial.println(Geschwindigkeit_stunde); Umdrehungen = 0; } void loop() { }
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.