wenn du dir die neue lib runterlädst, dann kannst du direkt von den odosensoren einen interrupt auslösen lassen.
Druckbare Version
wenn du dir die neue lib runterlädst, dann kannst du direkt von den odosensoren einen interrupt auslösen lassen.
oder so, genau...
es ist völlig sinnlos die umdrehungszahl extern zu bestimmen, sowie es leicht bergauf, bergab, uneben, teppich, parkett wird, ändert sich die umdrehungszahl. ausserdem drehen ohnehin nicht beide reifen gleichmäßig. die umdrehungszahl ist von vielen faktoren abhängig, nicht nur vom über motorspeed() gegebenen wert.
was willst du eigentlich mit den daten? die umdrehungszahl bestimmen? brauchste ja nich, die hast du dann ja schon vorher ausgerechnet o0
im endeffekt wird das ergebnis am ende nur seeehr ungenau, weil so viele werte zwischendurch fehlen. wenn dann aufgrund äusserer einflüsse ein rad kurzzeitig langsamer / schneller dreht, passt die frequenz überhaupt nicht mehr zur scheibe.
Hallo damaltor,Zitat:
Zitat von damaltor
ist dir das Nyquist-Shannonsche Abtasttheorem ein Begriff. Wenn nicht, dann solltest da mal nachlesen. Könnte es nicht sein, dass man bei zu geringer Abtastfrequenz vielleicht einige Ticks gar nicht mitbekommt?
@Robotik84
Falls du es per Interrupt machst und die Interruptroutine nicht ewig lang ist (was sträflich wäre), dann sollte es kein Problem damit geben.
Waste
wenn die frequenz zu langsam ist, dann kann man einige ticks verpassen. genau das meine ich doch. wenn man verucht, eine frequenz auszurechnen, wan ein tick kommem müsste dann verpasst man ne ganze menge, weil die räder (1) nicht gleich schnell und (2) nicht 100%ig konstant schnell fahren.
darum: einfach so schnell wie möglich abtasten, und dann die markantesten übergänge herausfiltern...
Also muss die Abtastfrequenz mindestens 2 mal so hoch sein. Sie muss ja nicht gleich sein, nur eben mindestens 2 mal so hoch.Zitat:
Zitat von damaltor
Vielleicht soll der µC auch noch was anderes machen als Abtasten. Dann sollte man schon wissen, ob es noch ausreicht.Zitat:
darum: einfach so schnell wie möglich abtasten
@Robotik84
Wahrscheinlich weißt du nicht, dass man mit den Encodersignalen selbst einen Interrupt auslösen kann, da brauchst dann nicht mit einer festen Abtastrate arbeiten.
Waste
wie man am anfang des threads sieht, will er die umdrehungszahl extern bestimmmen, durch ausrechnen... wozudas gut sein soll ist die frage.
und wenn der µC was anderes zu tun hat-umso besser, dannkann man die abfrage einfach mit in die schleife reintun, denn normalerweise sollte das reichen. und wenn nicht-dann werden halt über interrupts die messwerte bestimmt...
aber wenn man die umdrehungszahl der reifen schon hat (ausgerechnet oder wie auch immer) warum sollte man dann noch odo werte messen wollen??
Ich nehme mal an, Robotik84 macht sich schon vor dem Programmieren Gedanken, wie hoch seine Abtastrate mindestens sein muss, damit er keine Ticks übersieht. Dazu will er halt wissen wie schnell sich die Encoderscheibe maximal drehen kann.
Vielleicht will er sie auch noch in Echtzeit wissen, so wie viele andere auch.Zitat:
aber wenn man die umdrehungszahl der reifen schon hat (ausgerechnet oder wie auch immer) warum sollte man dann noch odo werte messen wollen??
Aber er braucht sich nicht um die Abtastrate kümmern, wenn er durch den Encoder die Interrupts auslöst. Das weiß er vermutlich nicht.
Waste
tja... das haben wir ihm jetzt bestimmt 5x gesagt.
wahrscheinlich weiss er einfach nicht wie man mitinterrupts umzugehen hat...
@Robotik84:
was willst du deigentlcih mit den gemessenen werten machen?
willst du sie ans hyperterminal senden, damit du die wertefür schwarz und weiß rausindest?