So übertrieben viel Werte braucht man ja garnicht. Es genügen ja schon ein paar Wellenberge/Täler um zu sagen, wo der Mittelwert liegt.
100 Werte sind also weitaus genug, wenn man die Abtastzeit richtig wählt.
ich versuch mal das grob zu berechnen...
der asuro fährt mit etwa 1 m/s = 1000mm/s
ein tick entspricht gut 3 mm
sind also ca 300 ticks pro sekunde, also 3-4 ms pro tick.
so sollte also jeder 2. bis 3. tick nur ein messwert kommen... das ist wohl wirklich zu wenig. alternative: ein array von 100 werten messen, stehenbleiben, eeprom schreiben, wieder fahren... hmm. ob das sinn macht weiss ich nicht genau, die frage ist wie viele werte durch das stehenbleiben und wieder losfahren verloren gehen. aber so könnte man 500 werte pluss 100 im sram festhalten.
So übertrieben viel Werte braucht man ja garnicht. Es genügen ja schon ein paar Wellenberge/Täler um zu sagen, wo der Mittelwert liegt.
100 Werte sind also weitaus genug, wenn man die Abtastzeit richtig wählt.
Grüße,
Harri
@harry3
poste doch einfach das Programm, mit dem du deine Messwerte für den EXCEL-Auszug oben aufgenommen hast.
@liggi
Sonst kannst du natürlich auch mit dem hier, dir die Daten der Odometrie einfach zum PC senden lassen.
Schön langsam an den Rädern drehen, und die Messwerte werden im PC-Programm angezeigt.
Dich dürfte zum Überprüfen, ob deine Hardware in Ordnung ist, vor allem der Teil interessieren:
Das Windows-Programm teilt sich in 4 Teile:
2 a) ...
2 b) Permanete Anzeige der Sensordaten vom Asuro
2 c) ...
Lieber Asuro programieren als arbeiten gehen.
Das Programm hab ich nicht mehr, sonst hätte ich es bereits gepostet.Zitat von Sternthaler
Grüße,
Harri
Hallo harry3,
schade, ich kann hier aber noch das Programm, leider nur *.hex, anbieten, das über den Beitrag
https://www.roboternetz.de/phpBB2/ze...=292879#292879 von ehenkes zu erreichen ist.
- Programm in den Asuro laden.
- Asuro aus- / einschalten ==> Er fährt dann los
- Asuro unter empfangsbereiten IR-Empfänger halten
- Irgendeine Asuro-Taste drücken ==> Messdaten werden übertragen.
Lieber Asuro programieren als arbeiten gehen.
Hallo und danke für die bisherige Hilfe. Ich konnte leidern nicht früher antworten. Ich hab das Programm von Sternthaler mal aus probierte und aus gewertet, dass kam dabei raus:
Also jetzt meine Frage:Code:LoggingOdometers V1.0 (2006-05-21, Arexx-Henk) Left Odometer +00154 +00154 +00156 +00177 +00183 +00201 +00204 +00207 +00198 +00186 +00169 +00160 +00158 +00167 +00178 +00184 +00198 +00206 +00198 +00183 +00172 +00157 +00149 +00156 +00161 +00179 +00190 +00204 +00206 +00201 +00189 +00182 +00162 +00155 +00158 +00168 +00179 +00187 +00202 +00206 +00200 +00186 +00175 +00157 +00152 +00152 +00160 +00176 +00184 +00196 +00201 +00203 +00194 +00185 +00171 +00163 +00147 +00159 +00163 +00184 +00195 +00206 +00207 +00203 +00192 +00184 +00161 +00159 +00150 +00161 +00169 +00183 +00197 +00204 +00207 +00200 +00191 +00179 +00158 +00155 +00155 +00158 +00176 +00179 +00194 +00207 +00203 +00190 +00178 +00183 +00198 +00206 +00206 +00197 +00183 +00170 +00151 +00159 +00157 +00172 +00179 +00193 +00205 +00204 +00195 +00184 +00171 +00159 +00145 +00157 +00159 +00182 +00189 +00199 +00201 +00202 +00191 +00182 +00165 +00160 +00147 +00159 +00168 +00185 +00199 +00206 +00206 +00201 +00190 +00182 +00163 +00152 +00155 +00163 +00177 +00185 +00201 +00204 +00205 +00196 +00183 +00171 +00155 +00154 +00150 +00167 +00171 +00184 +00199 +00206 +00201 +00190 +00179 +00159 +00156 +00143 +00163 +00171 +00188 +00200 +00206 +00201 +00190 +00169 +00186 +00199 +00206 +00200 +00193 +00177 +00171 +00146 +00151 +00153 +00173 +00183 +00195 +00200 +00201 +00195 +00186 +00174 +00156 +00150 +00148 +00169 +00179 +00195 +00205 +00206 +00204 +00195 +00180 +00170 +00152 +00150 +00153 +00164 +00186 +00197 +00206 +00204 +00200 +00188 +00177 +00166 +00147 +00154 +00155 +00175 +00176 +00197 +00203 +00205 +00190 +00180 +00159 +00156 +00142 +00156 +00169 +00182 +00199 +00205 +00203 +00195 +00184 +00160 +00158 +00150 +00162 +00173 +00182 +00199 +00204 +00205 +00192 Right Odometer +00213 +00193 +00171 +00161 +00149 +00140 +00147 +00166 +00183 +00192 +00196 +00217 +00201 +00184 +00166 +00145 +00141 +00149 +00166 +00179 +00198 +00208 +00207 +00197 +00180 +00160 +00143 +00141 +00156 +00172 +00188 +00206 +00213 +00210 +00200 +00169 +00150 +00138 +00138 +00147 +00167 +00181 +00197 +00204 +00199 +00199 +00186 +00167 +00147 +00134 +00136 +00152 +00171 +00180 +00199 +00210 +00209 +00198 +00179 +00164 +00146 +00135 +00139 +00153 +00175 +00188 +00210 +00215 +00215 +00198 +00173 +00157 +00139 +00131 +00138 +00192 +00213 +00203 +00184 +00166 +00147 +00138 +00143 +00160 +00178 +00195 +00207 +00209 +00199 +00182 +00167 +00150 +00139 +00145 +00167 +00184 +00200 +00211 +00211 +00204 +00173 +00153 +00139 +00140 +00147 +00163 +00180 +00195 +00203 +00201 +00196 +00187 +00169 +00152 +00140 +00140 +00145 +00157 +00175 +00193 +00208 +00208 +00200 +00183 +00164 +00148 +00133 +00131 +00142 +00162 +00179 +00199 +00215 +00216 +00207 +00184 +00163 +00148 +00136 +00137 +00154 +00172 +00185 +00193 +00200 +00216 +00195 +00177 +00156 +00139 +00203 +00207 +00202 +00187 +00169 +00152 +00139 +00138 +00153 +00174 +00191 +00208 +00212 +00209 +00193 +00168 +00152 +00144 +00146 +00156 +00172 +00186 +00199 +00204 +00199 +00199 +00185 +00169 +00149 +00136 +00135 +00150 +00172 +00182 +00200 +00211 +00210 +00196 +00173 +00156 +00137 +00129 +00136 +00152 +00171 +00188 +00209 +00214 +00214 +00195 +00172 +00160 +00147 +00139 +00144 +00162 +00180 +00193 +00195 +00215 +00208 +00190 +00172 +00156 +00140 +00138 +00153 +00172 +00192 +00206 +00209 +00199 +00183 +00166 +00146 +00212 +00212 +00205 +00177 +00154 +00135 +00137 +00150 +00161 +00174 +00191 +00202 +00201 Left min/max, right min/max values +00142 +00207 +00129 +00217
Gibt das Programm die Helligkeit nicht zwichen 0 und irgendwas um 1000 aus? Wenn ja, ist es schlimm oder gar ein Problem, dass bei mir die Daten um ca. 180 penndel?
Danke
das hab ich schon von mehreren leuten gehört... scheint wohl gelegentlich so zu sein. theoretisch liegen die werte zwischen 0 und 1023.
Hallo liggi, hi damaltor.
Ich würde darauf tippen, dass die Messwerte nur mit 8 Bit erfasst wurden. (P.S.: Das Programm ist nicht von mir, sonst könnte ich das ja mit Sicherheit sagen.)
Ein Beispiel von mir erfasster Daten bei 'normaler' Schreibtischbeleuchtung und definitive 10 Bit mal als Bild unten.
Wenn du liggi deine Daten bei vollem Sonnenschein aufgenommen hast, dann könnten die Messwerte allerdings locker in den unteren Bereich rutschen. Aber im Moment ist ja keine Sonne da.
Im übrigen kommen bei meinem (funktionierenden) Asuro mit dem Programm zum Schluß folgende Daten raus:
Left min/max, right min/max values
+00097
+00182
+00067
+00171
Das sind nur 8-Bit-Messwerte!
Für 8 Bit spricht auch noch die Überlegung, dass 2 * 237 Daten übertragen wurden. Als INT-Variable gesammelt kämen wir da auf 2 * 237 * 2 Byte Speicher = 948 Byte. Passt zwar noch in den Asuro, aber halte ich für recht hochgegriffen, da ja auch noch Stack und bestimmt ein paar weitere Variablen Platz finden wollen.
Somit sind deine Messdaten im grünen Bereich.
@liggi
Jetzt habe ich dein Programm mal gerade ausproblert. (Besser spät als nie )
Der Asuro fährt bei mir wunderbar geradeaus und folgende Daten werden übertragen:
1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 3 3 2 3 4 4 3 3 3 4 4 4 4 4 4 5 6 6 6 7 7 7 6 7 7 7 8 9 9 9 9 10 11 11 11 10 10 10 11 11 11 12 12 13 13 13 13 12 13 12 13 13 13 13 13 13 14 14 14 15 15 15 14 14 14 15 15 15 15 15 15 15 15 14 14 14 13 12 12 12 12 11 12 12 13 12 12 13 12 13
Egal wie ich an den Rädern bremse, bleibt der Wert immer unter 25.
Das hilft dir zwar im Moment nicht weiter, aber unabhängig von irgend einer Übertragungsgeschwindigkeit, ist das Programm funktionsfähig.
Aber folgendes: Multipliziere doch mal den Output deiner Messdaten mit 4:
Left min/max, right min/max values
+00142 * 4 = 568
+00207 * 4 = 828 -- Mittelwert der beiden : 698
+00129 * 4 = 516
+00217 * 4 = 868 -- Mittelwert der beiden : 692
Da in deinem Programm mit:
#define TRIGGERLEVEL 600
#define HYSTERSIS 10
die Werte eigendlich passen könnten, ist das Verhalten deines Asuros zwar 'merkwürdig', aber wie damaltor schon als erstes sagte: "Anpassen vom Triggerlevel" hier wohl sinnvollerweise auf 700, solltest du probieren. Da du bei deinen Werten genügend 'Luft' nach oben und unten hast, darf auch der Wert für HYSTERSIS ruhig auf 20 oder 30 erhöht werden. (Reduziert Fehlauswertungen.)
Lieber Asuro programieren als arbeiten gehen.
Danke Leute, jetzt geht alles. Es hat, bis auf das Triggerlevel, gepasst. Das Problem, war das mir irgend wie bei den späteren Programmen ein == stat einem = reingerutscht.
noch mal vielen Dank
bei sonnenschein werden die werte groß... viel licht = kleiner widerstand = hohe spannung am adc = hoher wert.
Lesezeichen