Liste der Anhänge anzeigen (Anzahl: 1)
Probleme mit 22er-Lochscheiben
hi sternthaler,
ich habe ja bereits geschrieben, dass an neuen lochscheiben gearbeitet wird. Die sind nun fertig und es gibt probleme:
- anzahl löcher - 22, ursprünglich 4 sw segmente und 4 ws segmente, die dann durch 8 löcher ersetzt wurden
- verhältnis alt/neu = 1:2,75, in dem verhältnis verringerte ich auch die variable MY_GO_ENC_COUNT_VALUE auf 5723L . das war notwendig, weil mein asuro schon beim versuch die go funktion mit diesem programm zu testen fast vom tisch gefallen wäre. trotz der vorherigen ermittlung von ODO DARK und LIGHT werten, die nun so groß sind:
MY_ODO_LIGHT_VALUE_L 76
MY_ODO_DARK_VALUE_L 47
MY_ODO_LIGHT_VALUE_R 87
MY_ODO_DARK_VALUE_R 55
und nun zum problem: TURN
-die funktion lässt sich auf dem asuro nicht starten
- manuelle verändeung in der myasuro.h lassen sich zwar durchführen, aber:
sollte der wert im gleichen verhältnis 2,75 angepasst werden, wäre es 69 (ursprünglich bei 8 löchern 192)...
Diese veränderun bewirkt aber nicht, dass der asuro beim turn(90,150) auch ein 90° winkel dreht, sondern einen viel kleineren. Manuelle veränderungen (erhöhungen) des wertes bewirken eine gewisse vergrößerung des winkels, ab dem wert 350 dreht der asuro überhaupt nicht, beim einsatz des test programms aus der encoder.c (quadrat fahren) fährt er vor, zuckt kurz und fährt wieder vor...
was kann ich machen???
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo inka,
für MY_TURN_ENC_COUNT_VALUE muss auf alle Fälle ein größerer Wert benutzt werden.
Wenn du also vorher 192 hattest, sollten dann so ca. 530 benutzt werden.
Ich habe mal in allen mir vorliegenden LIB-Version nachgeschaut. An den Variablen-Definitionen kann es eigentlich nicht liegen. Die sind immer mindestens mit int definiert worden.
Was mich aber stark wundert ist der alte Wert von 192 bei 4/4-er Scheiben bei dir.
Ich habe die 8/8-er Scheiben am Asuro. Bei mir habe ich ca. einen Wert von 215. Somit liegen wir nicht weit auseinander. Warum?
Im Verhältnis zu meinen Scheiben sollte dein alter Wert dann nur bei ca. 108 liegen. Multipliziert mit den 2,75 also bei 300. Und damit schon viel zu weit weg von deinem Versuch mit 350.
Könnte es sein, dass bei dir der Asuro bei Test 4 (Turn) 180° Grad dreht? Er soll nur 90° Grad drehen! (Alte SW-Scheiben)
Was passiert überhaupt beim ausprobieren mit diesem Ermittlungsprogramm?
Du solltest auf alle Fälle immer Test 1 (Tasten) und Test 2 (Hell-/Dunkel-Werte) machen.
Test 3 (Go) und Test 4 (Turn) sind unabhängig voneinander.
Liefert Test 3 (Go) funktionsfähige Werte?
Bei Test 4 (Turn) wird beim Drücken der Tasten 'zu groß' bzw. 'zu klein' am Asuro der aktuelle Wert im PC-Programm rechts unter 'Daten' ausgegeben. Das sind die Werte in <>-Klammern. Was kommt da?
Es gibt aber noch eine andere Variante, die dich wahrscheinlich zum heulen bringen würde. :(
Du schreibst:
Zitat:
anzahl löcher - 22
Wenn auf der Scheibe nun 22 Löcher sind, ist es nämlich möglich, dass die Abfrage der Sensoren in der Lib zu langsam ist um die Löcher alle mitzubekommen. (Auf dem Foto gehe ich aber doch nur von 8 Löchern aus.)
Eigentlich sollte dann aber das drehen/fahren immer viel zu weit sein, da ja 'angeblich' noch keine Tik's gefahren wurden, wenn sie nicht gemessen werden konnten. Also weiterfahren wäre angesagt.
Im Moment bin ich mit meinem Latein am Ende.
Poste mal ein paar Daten aus dem PC-Programm vom Test 4(Turn) und evl. auch mal deinen Programmcode.
Gruß Sternthaler
P.S.: Hier muss ich mal Reklame für inkas tollen Umbau machen.
Liste der Anhänge anzeigen (Anzahl: 1)
hi sternthaler,
momentan habe ich noch größere probleme, nicht einmal das go(200,150) geht, er fährt einfach nur geradeaus ohne anzuhalten...Ich poste hier mal die myasuro.h:
Code:
/* Tastaturabfrage */
/*! Faktor zur Berechnung der gedrueckten Tasten.\n
Der Originalwert ist \b 61L und koennten im Bereich zwischen ca. 58L und
65L schwanken. Dieser Wert gleicht Toleranzen der Wiederstaende an den
Tastern aus.
*/
//#define MY_SWITCH_VALUE 61L /*!< Multiplikator fuer Tasterwerte */
#define MY_SWITCH_VALUE 63L //20_08_2007
/* Odometrie / Encoder */
/*! Wert, der in der Odometrie ueberschritten werden muss, um zum
weiterzaehlen der Ticks in encoder[] zu fuehren bei aktivierter
Automatik\n
Die Originalwerte (links, rechts) sind \b 160.
Diese Werte sind sehr stark vom Umgebungslicht abhaengig.
Sie MUESSEN GROESSER als die Werte fuer MY_ODO_DARK_VALUE_L sein.
*/
//#define MY_ODO_LIGHT_VALUE_L 160 /*!< Encoderschwellwert fuer Hell (linke Seite) */
//#define MY_ODO_LIGHT_VALUE_L 97 //20.08.2007
//#define MY_ODO_LIGHT_VALUE_L 105 //16.10.2007
#define MY_ODO_LIGHT_VALUE_L 76 //24.10.2007
/*! Wert, der in der Odometrie unterschritten werden muss, um zum
weiterzaehlen der Ticks in encoder[] zu fuehren bei aktivierter
Automatik\n
Die Originalwerte (links, rechts) sind \b 140.
Diese Werte sind sehr stark vom Umgebungslicht abhaengig.
Sie MUESSEN KLEINER als die Werte fuer MY_ODO_LIGHT_VALUE_L sein.
*/
//#define MY_ODO_DARK_VALUE_L 140 /*!< Encoderschwellwert fuer Dunkel (linke Seite) */
//#define MY_ODO_DARK_VALUE_L 59 //20.08.2007
//#define MY_ODO_DARK_VALUE_L 65 //16.10.2007
#define MY_ODO_DARK_VALUE_L 47 //24.10.2007
/*! Wert, der in der Odometrie ueberschritten werden muss, um zum
weiterzaehlen der Ticks in encoder[] zu fuehren bei aktivierter
Automatik\n
Die Originalwerte (links, rechts) sind \b 160.
Diese Werte sind sehr stark vom Umgebungslicht abhaengig.
Sie MUESSEN GROESSER als die Werte fuer MY_ODO_DARK_VALUE_R sein.
*/
//#define MY_ODO_LIGHT_VALUE_R 160 /*!< Encoderschwellwert fuer Hell (rechte Seite) */
//#define MY_ODO_LIGHT_VALUE_R 107 //16.10.2007
#define MY_ODO_LIGHT_VALUE_R 87 //24.10.2007
/*! Wert, der in der Odometrie unterschritten werden muss, um zum
weiterzaehlen der Ticks in encoder[] zu fuehren bei aktivierter
Automatik\n
Die Originalwerte (links, rechts) sind \b 140.
Diese Werte sind sehr stark vom Umgebungslicht abhaengig.
Sie MUESSEN KLEINER als die Werte fuer MY_ODO_LIGHT_VALUE_R sein.
*/
//#define MY_ODO_DARK_VALUE_R 140 /*!< Encoderschwellwert fuer Dunkel (rechte Seite) */
//#define MY_ODO_DARK_VALUE_R 66 //16.10.2007
#define MY_ODO_DARK_VALUE_R 55 //24.10.2007
/* Werte für 12 Segmente Encoder */
/*! Faktor zur Berechnung von Ticks um aus den in mm angegebenen Parameter
umzurechnen.\n
Der Originalwert ist \b 19363L und ist von der Anzahl der schwarz/weiss
Teilstuecke auf den Odometriescheiben abhaengig.\n
Der Originalwert wurde durch stochri ermittelt.
*/
//#define MY_GO_ENC_COUNT_VALUE 19363L /*!< GO Funktion, Divisor fuer Entfernung */
#define MY_GO_ENC_COUNT_VALUE 15740L //20.08.2007
//#define MY_GO_ENC_COUNT_VALUE 5723L //24.10.2007
/*! Faktor zur Berechnung von Ticks um aus den in Grad angegebenen Parameter
umzurechnen.\n
Der Originalwert ist \b 177L und ist von der Anzahl der schwarz/weiss
Teilstuecke auf den Odometriescheiben abhaengig.\n
Der Originalwert wurde durch stochri ermittelt.
*/
//#define MY_TURN_ENC_COUNT_VALUE 177L /*!< Turn Funktion, Mutiplikator fuer Winkel */
//#define MY_TURN_ENC_COUNT_VALUE 197L //20.08.2007
//#define MY_TURN_ENC_COUNT_VALUE 210L //06.09.2007
#define MY_TURN_ENC_COUNT_VALUE 192 //16.10.2007
//#define MY_TURN_ENC_COUNT_VALUE 500 //24.10.2007
/* Werte zum ausgleichen unterschiedlicher Motoren */
/*! Differenzangabe zwischen den beiden Motoren.\n
Der angegeben Wert verteilt sich je zur Haelte auf die Vorgaben fuer die\n
Motorgeschwindigkeit.\n
Bei einem \n positiven Wert, wird der \n rechte Motor \b verstaerkt.\n
Bei einem \n negativen Wert, wird der \n linke Motor \b verstaerkt.
*/
#define MY_MOTOR_DIFF 0 /*!< 1/2 PLUS fuer Rechts, 1/2 MINUS fuer Links */
#endif /* MYASURO_H */
den test mit deinem programm für die ermittlung der myasuro werte werde ich noch einmal durchführen, beim letzten mal habe ich die werte für die hell/dunkel übergänge ermittelt, dann beim go test fuhr der asuro gleich stark nach rechts (musste ihn einfangen), es wurde die möglichkeit zum "zu kurz, zu lang ok nochmals" überhaupt nicht angeboten - (durch eine unterbrechnung der IR verbindung?), das turn testprogramm liess sich dann, als ich den asuro wieder so hinstellte, dass er in sichtweite des IR-transceivers war nicht starten, die status LED blinkte so weit ich mich erinnern kann nur kurz in rot und dann wieder grün.
edit2: den taster-test habe ich vorher nicht durchgeführt - kann es sein, dass dann die tasten bei den darauffolgenden tests (go/turn) nicht/nicht richtig erkannt werden?
auf dem neuen foto hier kann man die 22 löcher sehen denke ich und in der code tabelle sind die mit dieser 22er scheibe über ein ausgabeprogramm festgehaltenen werte:
Code:
L: 21 R:340 Lmax:10 Lmin:523 Rmax:170 Rmin:682
L: 21 R:328 Lmax:15 Lmin:272 Rmax:249 Rmin:505
L: 27 R:658 Lmax:21 Lmin:150 Rmax:453 Rmin:505
L: 43 R:261 Lmax:32 Lmin:97 Rmax:453 Rmin:383
L: 84 R:557 Lmax:58 Lmin:91 Rmax:505 Rmin:383
L: 20 R:130 Lmax:58 Lmin:56 Rmax:505 Rmin:257
L: 134 R:475 Lmax:96 Lmin:56 Rmax:505 Rmin:257
L: 23 R:507 Lmax:96 Lmin:40 Rmax:506 Rmin:257
L: 627 R:293 Lmax:361 Lmin:40 Rmax:506 Rmin:257
L: 23 R:51 Lmax:361 Lmin:32 Rmax:506 Rmin:154
L: 18 R:54 Lmax:361 Lmin:25 Rmax:506 Rmin:104
L: 19 R:348 Lmax:361 Lmin:22 Rmax:506 Rmin:104
L: 15 R:124 Lmax:361 Lmin:19 Rmax:506 Rmin:104
L: 641 R:32 Lmax:501 Lmin:19 Rmax:506 Rmin:68
L: 45 R:37 Lmax:501 Lmin:19 Rmax:506 Rmin:53
L: 631 R:476 Lmax:566 Lmin:19 Rmax:506 Rmin:53
L: 22 R:322 Lmax:566 Lmin:19 Rmax:506 Rmin:53
L: 654 R:546 Lmax:610 Lmin:19 Rmax:526 Rmin:53
L: 36 R:569 Lmax:610 Lmin:19 Rmax:547 Rmin:53
L: 28 R:519 Lmax:610 Lmin:19 Rmax:547 Rmin:53
L: 24 R:620 Lmax:610 Lmin:19 Rmax:583 Rmin:53
L: 27 R:419 Lmax:610 Lmin:19 Rmax:583 Rmin:53
L: 20 R:489 Lmax:610 Lmin:19 Rmax:583 Rmin:53
L: 509 R:243 Lmax:610 Lmin:19 Rmax:583 Rmin:53
L: 308 R:280 Lmax:610 Lmin:19 Rmax:583 Rmin:53
L: 24 R:723 Lmax:610 Lmin:19 Rmax:653 Rmin:53
L: 33 R:376 Lmax:610 Lmin:19 Rmax:653 Rmin:53
L: 634 R:215 Lmax:622 Lmin:19 Rmax:653 Rmin:53
L: 38 R:412 Lmax:622 Lmin:19 Rmax:653 Rmin:53
L: 41 R:566 Lmax:622 Lmin:19 Rmax:653 Rmin:53
L: 18 R:626 Lmax:622 Lmin:19 Rmax:653 Rmin:53
L: 22 R:33 Lmax:622 Lmin:19 Rmax:653 Rmin:43
L: 575 R:544 Lmax:622 Lmin:19 Rmax:653 Rmin:43
L: 40 R:492 Lmax:622 Lmin:19 Rmax:653 Rmin:43
L: 24 R:649 Lmax:622 Lmin:19 Rmax:653 Rmin:43
L: 37 R:596 Lmax:622 Lmin:19 Rmax:653 Rmin:43
L: 27 R:39 Lmax:622 Lmin:19 Rmax:653 Rmin:41
L: 36 R:160 Lmax:622 Lmin:19 Rmax:653 Rmin:41
L: 211 R:367 Lmax:622 Lmin:19 Rmax:653 Rmin:41
L: 31 R:544 Lmax:622 Lmin:19 Rmax:653 Rmin:41
L: 92 R:586 Lmax:622 Lmin:19 Rmax:653 Rmin:41
L: 507 R:313 Lmax:622 Lmin:19 Rmax:653 Rmin:41
L: 235 R:575 Lmax:622 Lmin:19 Rmax:653 Rmin:41
L: 27 R:706 Lmax:622 Lmin:19 Rmax:679 Rmin:41
L: 637 R:575 Lmax:629 Lmin:19 Rmax:679 Rmin:41
L: 28 R:568 Lmax:629 Lmin:19 Rmax:679 Rmin:41
L: 625 R:344 Lmax:629 Lmin:19 Rmax:679 Rmin:41
L: 374 R:577 Lmax:629 Lmin:19 Rmax:679 Rmin:41
L: 20 R:707 Lmax:629 Lmin:19 Rmax:693 Rmin:41
L: 33 R:553 Lmax:629 Lmin:19 Rmax:693 Rmin:41
L: 184 R:462 Lmax:629 Lmin:19 Rmax:693 Rmin:41
L: 20 R:600 Lmax:629 Lmin:19 Rmax:693 Rmin:41
L: 28 R:538 Lmax:629 Lmin:19 Rmax:693 Rmin:41
L: 646 R:45 Lmax:637 Lmin:19 Rmax:693 Rmin:41
L: 18 R:47 Lmax:637 Lmin:19 Rmax:693 Rmin:41
L: 383 R:35 Lmax:637 Lmin:19 Rmax:693 Rmin:38
L: 651 R:710 Lmax:644 Lmin:19 Rmax:701 Rmin:38
L: 18 R:510 Lmax:644 Lmin:19 Rmax:701 Rmin:38
L: 25 R:43 Lmax:644 Lmin:19 Rmax:701 Rmin:38
L: 22 R:247 Lmax:644 Lmin:19 Rmax:701 Rmin:38
danke...
edit, 25.10. 13:59 - entspricht meine scheibe mit 8 löchern nicht eher der 8/8 reflektionsscheibe als der 4/4er?