Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
Zitat von ehenkes
@Sternthaler: jetzt hast Du mich verwirrt. Ich habe doch nirgends POWER > 255 verwendet.
Oh man, ich hätte doch früher nach Hause gehen sollen. Du hast natürlich Recht. Ich habe mich mit dem distance-Parameter vertan. Der ist ja bei dir -500.
Zitat:
Zitat von ehenkes
Welchen Wertebereich hat int? Ist das ein 8bit oder 16bit int.
Egal auf welchem System: Immer 16 Bit. Ist meines wissens der einzige Datentyp der auf allen Betriebssystemen fest ist. Deshalb gibt es die Typen uint32_t und Co.
Zitat:
Zitat von ehenkes
while (tot_count<enc_count){...}
Stimmt hier alles? tot_count ist doch int, 8bit oder 16bit? Wie wird hier umgewandelt für den Vergleich?
Du hast ja schon selber gerechnet und bist auf einen Wert für enc_count mit 258 gekommen. Das liegt also noch locker im int-Bereich (16Bit). C castet ja automatisch. Bei einem Vergleich wird (schon wieder: so weit ich weiss) grundsätzlich auf den größten Datentyp 'hochgecastet'. Somit müßte eigendlich ein 32-Bit-Vergleich entstehen.
Das jedenfalls macht der Compiler daraus. (4 mal cp, somit 4*8Bit=32Bit)
Code:
while (tot_count < enc_count)
15c8: e1 14 cp r14, r1
15ca: f1 04 cpc r15, r1
15cc: 01 05 cpc r16, r1
15ce: 11 05 cpc r17, r1
15d0: 09 f4 brne .+2 ; 0x15d4
15d2: 47 c0 rjmp .+142 ; 0x1662
Warum auch immer nur mit r1 verglichen werden muss.
Zitat:
Zitat von ehenkes
Dabei wird das linke Rad zum Zählen verwendet. Hier könnte man doch auch das rechte nehmen?
Ja, ohne Probleme.
Zitat:
Zitat von ehenkes
Wie kann ich die Odometrie testen, ob Diode/Fototransistor auf beiden Seiten überhaupt richtig arbeiten?
OK, hier mal ein Datensammler:
(Tastennummerierung: Von vorne auf den Asur gesehen: Links ist 1 rechts ist 6)
Bedienung:
Taste 5 fährt den Asuro ca 10 cm vorwärts (Am besten in der Hand halten und die Räder etwas bremsen. Evl. bei unterschiedlicher Beleuchtung ausprobieren, bis beide Räder halbwegs gleichmäßig drehen.)
Taste 1 sendet die ermittetelten Messdaten in folgendem Format:
PID LD RD LH RH
vergiss PID, LD und RD
In LH und RH sind die Messungen der Odometriesensoren Links und Rechts.
In Excel sollten die Daten so halbwegs gleichförmige Sinuskurven erzeugen.
ACHTUNG:
Taste 2, 3 und 4 schaltet Parameter um. Zur Not Asuro nochmal aus- und wieder anschalten. (Mit IR Übertragung als 'Menue')
Taste 6 lässt den Asuro auch fahren. Macht hier aber Blödsinn. Nimm Taste 5.
@stochri
Schön dich mal wieder zu treffen.
Hast du hier ein Erklärung? Vor allem mit den Daten von ehenkes.
Programmseitig sieht es ja ok aus. (Ja, ja, -500 sind der Weg.)