Hallo allerseits, ich möchte bei einem Projekt Daten über einen Sensor einlesen, berechnen und Ergebnisse über ein 16x2 LCD ausgeben. Das Ganze soll so um die 100 Messungen pro Sekunde umfassen. Jetzt habe ich aber bei sämtlichen Ansteuerprogrammen für LCD's gesehen, das immer Delay-Schleifen eingebaut werden bei der Ausgabe. Habe ich überhaupt eine Chance max. 32 Zeichen 100 mal pro Sekunde auf das Display zu schreiben ? Bringt es was das LCD im 8-bit Modus anzuschließen, Ausgänge sind noch genug da? Oder wo liegen hier realistische Werte für die max. Ausgabe von Zeichen an das LCD ? Danke schonmal für die Antworten. Thomas
Hallo Thomas, die typische Zeichenausgabe braucht ca. 40µS bei den 16x2 Displays; 8-bit Ausgabe bringt es nicht, da der Displaycontroller die Bremse ist. Zeit sparen kann man dadurch, das man nur geänderte Zeichen ausgibt. Letzlich ist es meines Erachtens aber unsinnig, ein LC-Display mit 100Hz 'aufzufrischen', da niemand es so schnell ablesen kann. Die meisten LC-Module werden ohnehin nicht die neuen Zeichen so schnell anzeigen können (die flüssigen Kristalle brauchen auch ihre Zeit). Michael
Ok, habe mir die Sache nochmal durchdacht. Es würde genügen, wenn intern der Sensor 100 mal pro Sekunde erfaßt wird und die Daten berechnet werden. Eine Ausgabe könnte dann auch auf 5x pro Sekunde beschränkt werden bei 16 Zeichen (Änderung nur in einer Zeile) Das sollte dann reichen denke ich. Die Berechnungen an sich stellen bei 8 MHz und ASM kein Zeitproblem dar. Thomas
Bist du in der Lage 5 Werte/s im Kopf zu verarbeiten? Ich nehme an, daß du so viele Werte ausgeben willst, um eine Tendenz ablesen zu können. Da wäre es sinnvoll, wenn du zusätzlich noch eine Tendenzanzeige programmierst. Dann reicht auch <5mal pro Sekunde. Nur so als weitere Idee. Schmittchen.
Hallo Thomas, Schmittchen hat Recht. Numerische Werte kannst Du gar nicht so schnell verarbeiten. Wenn Du eine Balkenanzeige machst, mag das angehen. Die Geschwindigkeit des Fluids spielt natürlich auch eine Rolle. Ich würde die Messung von einem Timer interruptgesteuert durchführen und die Rohdaten irgendwo ablegen. Das Hauptprogramm macht dann die Umrechnung für die Anzeige, ebenfalls timergesteuert. Ein anderer Teil des Hauptprogramms übernimmt nur die Ausgabe auf das Display, inklusive Formatierung. Damit hast Du z.B. folgende Möglichkeiten (Zahlen nur als Beispiel!): 1. Messung und Speicherung alle 10 ms 2. Umrechnung und Mittelwertbildung im Hauptprogramm alle 100ms 3. Formatierung und Ausgabe alle 500ms Gruß, Rudolf. Rudolf Sosnowsky +++ LC Design EPSON Technology Partner Internet http://www.LC-Design.de
Hallo, also ich möchte die Beschleunigung messen (mittels Sensor). Ausgegeben werden soll (ermittelt oder daraus errechnet) der zurückgelegte Weg, die vergangene Zeit sowie die aktuelle Geschwindigkeit. Nebenbei sollen ein Maximalwertspeicher sowie Schlüsselwerte (400m Zeit, 1000m Zeit etc.) gespeichert werden und bei Bedarf per Tastendruck nach Messende aufgerufen werden können. Ich müßte also nur den Weg und die Geschwindigkeit zeitkritisch berechnen für die Ausgabe. Zeit und Beschleunigung liegen ja direkt vor und müssen nur formatiert werden. Sollte doch zu machen sein ?!?!? Ach ja, die Messgenauigkeit sollte schon nicht zu schlecht sein, also bei der Bestimmung der 400m Zeit maximal 0,1 sek Abweichung ! Sonst kann ich auch 2 Lichtschranken und ne Stopuhr nehmen und das Projekt wäre sinnlos :-)
> Sollte doch zu machen sein ?!?!? > die Messgenauigkeit sollte schon nicht zu schlecht sein Ich bin da sehr skeptisch. Ich gehe davon aus, daß du zu Fuß unterwegs bist. Da gibts jede Menge Stöße, die viel stärker sind als die tatsächlich interessierende Größe (Beschleunigung in Bewegungsrichtung) - auch wenn du einen Sensor nimmst, der 2 Beschleunigungsrichtungen messen kann (und evtl. Störungen rausrechnen/minimieren kannst...?). Je nachdem wo du die Sensoren am Köper anbringen willst, treten unterschiedliche Störungen auf. Am Fuß/Bein: Starke Erschütterungen in Hochrichtung -> Verfälschung der zu messenden Werte in Laufrichtung (u.a. da der Fuß sich "dreht" und dadurch die Sensoren mitdreht). Brustgurt: weniger Erschütterungen als am Fuß, aber auch fast keine Beschleunigungsänderungen in Laufrichtung. Oberkörper bewegt sich ja ziemlich gleichförmig. Du kannst mit dem Sensor aber nur Beschleunigungen messen, also Geschwindigkeits_änderungen_. Die Auswertung der sauberen Signale (wenns die nur gäbe) würde nicht so schwer ausfallen. Um die Geschwindigkeit zu ermitteln mußt du 1x integrieren, für den Weg mußt du 2fach integrieren. Die Zeit kannst du mitzählen. Eine GPS-Auswertung würde ich als genauer einschätzen als die Beschleunigungsmessergeschichte. Du hast also ganz andere Probleme, als 5 Werte/s visuell zu erfassen. Schmittchen "hoffentlich nicht am Thema vorbei".
Hallo, nein, das ganze wird in einem Auto/Motorrad mitgeführt. Aber du hast recht, ich hatte auch zur Fehlerkorrektur vor den 2. Ausgang des Sensors (ADXL202 von Analog Devices) auszulesen. Ich weiß, das es prinzipiell funktioniert, habe das schonmal am Notebook erfaßt (mit AD Wandler). Nun möchte ich das Ganze in ein kompaktes Gerät bauen. Ich versteife mich jetzt nicht unbedingt auf eine hohe Anzahl an Ausgaben von Werten pro Sekunde, mich interessiert ja eigentlich nur was technisch mit AVR und LCD machbar ist :-)
> das ganze wird in einem Auto/Motorrad mitgeführt
Aha. Da kann ich mir das schon eher vorstellen. Durch die Angabe
400m/1000m habe ich auf Läufer/Leichtathletik getippt.
Idee: Wenn du den Sensor nur schwach mechanisch mit dem Auto in
Stoßrichtung (Hochachse) koppelst (also dem Sensor quasi extra
Stoßdämpfer verpaßt), dann wären die Erschütterungen zumindest etwas
gedämpft. Aber das bringt dann deine Meßreihe ans Licht (deren
Ergebnisse du hier sicher bekannt gibst?!).
Für das Auto/Moped-Projekt sehe ich deutlich bessere Chancen auf eine
höhere Genauigkeit als beim LäuferModell.
Aber nochmal: Du kannst nur Geschwindigkeits_änderungen_ messen.
Konstante Geschwindkeit kannst du direkt nicht von Stillstand
unterscheiden. Also ein Boardcomputer im herkömlichen Sinne wird daraus
nicht (aber das willst du ja auch nicht).
Analog hat einige interessante Appnotes auf der Webseite. U.a. auch ein
Pedometer (hier wird aber nur erkannt, wann der Fuß aufsetzt und mit der
durchschnittlichen Schrittlänge multipliziert).
Wenn du deinen Sensor dann um 90° drehst, dann kannst du auch noch die
Kurvenbeschleunigung messen - oder die Kurvenlage (tilt).
Zur Auswertung: Du schreibst, daß du die Werte mit einem AD-Wandler
eingelesen hast. Der ADXL202 bietet aber auch einen "duty cycle output",
den könntest du per ICP und Timer auch Auslesen, evtl. wird das genauer,
da die DA-AD-Wandlung entfällt.
Halte uns auf dem Laufenden.
Schmittchen.
Hallo Thomas, irgendwie verstehe ich nicht, warum Du die Streckenfunktionen über einen Beschleuingungssensor erfassen willst. Einfacher ist doch, irgendwo an Deinem Fahrzeug ein Wegsignal abzugreifen. Dann hast Du die Zeit (von Deiner AVR-Zeitbasis) und den Weg (von Deinem Weggeber). Deine Größen bestimmst Du wie folgt: - zurückgelegter Weg: Zahl der Wegimpulse durch Wegkonstante (Impulse pro Strecke) - vergangene Zeit: AVR-Zeitbasis - aktuelle Geschwindigkeit: Delta Strecke durch Delta Zeit - Maximalwertspeicher: trivial - Schlüsselwerte (400m Zeit, 1000m Zeit etc.): trivial Oder hab ich Dein Problem nicht verstanden? Gruß, Rudolf. Rudolf Sosnowsky +++ LC Design EPSON Technology Partner Internet http://www.LC-Design.de
Hi Thomas, ich würde auch die Idee von Rudolf verwirklichen - ich hab' mich mal ein wenig mit Beschleunigungsmessung und Berechnung der Strecke daraus beschäftigt. Ich weiß nicht, welche Erfolge du bereits mit deinem Laptop hattest, aber ich kann mir fast nicht vorstellen, dass es dir gelungen ist damit eine Strecke zu messen!! Problem: die Erdbeschleunigungs wird mitgemessen - du musst also das ganze absolut waagrecht halten um die Erdbeschleunigung weglassen zu können - dabei hilft dir auch dein 2. Beschleunigungssensor nicht, da er nicht zwischen Winkeländerung und tatstächlich zu messender Beschleunigung unterscheiden kann. 2. Prob: Bias: - die Genauigkeit ist glaub ich 2mg oder 4mg - setz doch mal in deine Formel ein Rauschen von 2mg über 60sek ein und sag' mir welche Geschwindigeit du dann hast - bei Streckenmesssung ist der Fehler durch 2x integrieren noch viel viel größer!!!! 3.Prob: der digitalport ist möglicherweise aufgrund der Vibrationen im Fahrzeug unbrauchbar - Abhilfe: Analogausgang nutzen und filtern!! Bsp: http://autopilot.sourceforge.net/rev2.2.html mitte Das angesprochene Problem mit der nicht vorhandenen Beschleunigung bei konst. Geschwindigkeit wäre eigentlich gar kein Problem - dafür gibt es schon Formeln... Ich hab' keine Ahnung wie gut du bereits informiert bistoder nicht, aber folgende Suchworte könnten dir bei google weiterhelfen: "integration beschleunigung" INS ..... Interessante Links: http://www.electronic-engineering.ch/study/ins/ins.html (ganz unten auf der Seite gibts ne deutsche Version!!!!) Lies dir das auf jeden Fall durch - da steht drin warums nicht geht (ich war auch enttäuscht weil ich meine Idee anfangs auch großartig fand) http://www.genesys-offenburg.de/archiv/iss/inertial.htm http://www.media.mit.edu/resenv/imu/ mfg Christian
Hallo, ich danke allen erst einmal für die Beiträge. Also an der mathematischen Umsetzung wirds nicht hapern. Ich denke nach ein paar Semestern Physik-Vorlesung sollte das Grundwissen da sein :-). Um die Mess-Fehler zu korrigieren, muss ich ein paar Versuchsreihen durchführen, ist auch klar. Ich habe mir übrigens von Analog Devices ein paar PDF-Dokumente zu dem ADXL202 heruntergeladen. Unter anderem werden hier die Punkte Fehlerreduzierung, Kalibrierung und mathematische Operationen intensiv abgehandelt. @Christian: Es sind nach diesen Unterlagen von AD wohl auch Messungen mit Auflösungen von 1 mg möglich ! Von dem ADXL202 gibt es mittlerweile 2 Ausführungen, eine verbesserte mit höherer Genauigkeit ist verfügbar. Auf jeden Fall wird es hier einen Link geben mit meinem Projekt, versprochen !
Hallo nochmal, zu allen anderen Vorschlägen einen Wegimpuls einfließen zu lassen: Das funktioniert nicht, zumindest nicht mit der Genauigkeit wie bei der Beschleunigung. Es gibt hier noch viel schlimmere Störgrößen, z.B. Schlupf an den Rädern oder z.B. die Ausdehnung von Reifen bei hohen Geschwindigkeiten durch die Fliehkraft u.s.w. Das Gerät soll bei (legalen!) Beschleunigungsrennen ins Auto gebaut werden. Und bei solchen Rennen hab ich schon Fahrzeuge gesehen, die auf fast 400m 2 schwarze Linien gezogen haben. Deren km-Zähler wird da wohl 800m angezeigt haben :-) Die Eingangsgröße Beschleunigung scheint mir nach reiflicher Überlegung ideal. Nochmal zum Thema Einfluß von Stößen etc. auf die Genauigkeit: Es sind natürlich nur entsprechende Straßen für Messungen geeignet, logisch. Das auf Kopfsteinpflaster nur Müll rauskommt ist schon klar :-))
Hallo Thomas, hättest Du uns diese Randbedingungen von Anfang an mitgeteilt, hätten wir hier nicht herumorakeln müssen... Interessant war die Diskussion trotzdem. Gruß, Rudolf. Rudolf Sosnowsky +++ LC Design EPSON Technology Partner Internet http://www.LC-Design.de
und wenn Du die Geschwindigkeit an den antriebslosen Rädern abgreifst? Sofern Du natürlich kein Allrad betriebenes fahrezug verwendest... Im TV bei den Testberichten (Motorvision oder Auto-Motor-Sport-TV) sieht man häufig, daß die für Ihre Tests ein Zusätzliches Speichenrad ähnlich wie vom Fahrrad außen an der Karosse befestigen und mitführen, ich nehme mal an, daß das bei Beschleunigungsrennen wohl nicht so cool kommt, oder? ;-) Ich wäre auf jeden Fall mal neugierig, was bei Deinem Projekt bei rauskommt. Wäre klasse, wenn Du das irgendwo im Netz veröffentlichen würdest. ciao, Andi
Hallöchen nochmal... Ich hab grad noch was interessantes im netz gefunden, während ich auf der Suche nach Radarsensoren für Alarmanlagen war... man findet halt allen Mist nur nicht was man sucht... ;-) Sieh mal hier: http://www.mso-technik.de/precisionfarm.html#tgss Es handelt sich um eine Geschwindigkeitserfassung per Radarsensor, könnte genau das richtige für Dein Projekt sein... Auf der Seite geht es zwar eigentlich um Landwirtschaftliche Technik, aber theoretisch......... ciao, Andi
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.