So, erst einmal Hallo an alle!
Ich habe es mitlerweile auch geschafft, mich hier anzumelden, und auch endlich Zeit, um hier zu posten...
Also, ich bin der Kollege von Zander, um dessen Nibo es sich mit dem Problem handelt.
Ich habe die beiden IR LEDS mit einer Fachperson (meinem Vater
) durchgemessen, und sie sind in Ordnung. Die entsprechenden Empfänger haben wir auch durchgemessen, die sind auch intakt. Weiterhin haben wir andere Punkte gemessen, um sicherzustellen, dass nicht irgenwo ein Kurzschluss irgendwelche Signale auf Null Volt zieht. Dabei haben wir allerdings auch keine Mängel finden können.
Mit den IR Sende LEDS habe ich von der Stellung/Position her auch schon viel gespielt, d.h. Mal etwas höher und Mal etwas tiefer nach oben/unten gebogen. Ich habe die Dinger sogar nochmals ausgelötet, und neu reingelötet, mit verringertem Abstand, in der Hoffnung, dass dies etwas nützt. Allerdings auch hier kein Erfolg. (Nach dem neuen Einlöten sind übrigens die beiden Sende- und Empfänger Bauteile immernoch intakt..).
Ich habe mir folgendes Programm auf den Nibo gespielt:
#include <nibo/niboconfig.h>
/* #include <nibo/display.h> */
/* #include <nibo/gfx.h> */
#include <nibo/copro.h>
#include <nibo/delay.h>
#include <nibo/iodefs.h>
#include <nibo/bot.h>
#include <avr/interrupt.h>
#include <nibo/spi.h>
#include <nibo/leds.h>
#include <stdio.h>
#include <nibo/pwm.h>
int main()
{
sei(); // activate AVR interrupts to enable SPI-BUS communication
bot_init(); // enable Vcc meassurement
spi_init();
leds_init(); // initialize LEDs
pwm_init(); // initialize pwm and time calculations
// display_init();
// gfx_init();
// gfx_move(62, 0);
// gfx_set_proportional(1);
// gfx_print_text("motion");
// gfx_set_proportional(0);
// gfx_move(5, 0);
// gfx_print_char('R');
// gfx_move(118, 0);
// gfx_print_char('L');
// delay(50);
copro_ir_startMeasure(); // start distance meassurement
copro_setSpeedParameters(5, 6, 7);
int counter=0;
while (1==1) {
delay(10);
// char text[20]="";
bot_update(); // update values
// float volt = 0.0166 * bot_supply - 1.19;
// sprintf(text, "%3.1fV", (double)volt);
// gfx_move(25, 0);
// gfx_print_text(text);
switch(++counter) {
case 1:
leds_set_headlights(512);
break;
case 300:
copro_setSpeed(10, 10);
break;
case 500:
copro_stop();
leds_set_headlights(0);
leds_set_status(1, 0);
leds_set_status(1, 1);
break;
case 800:
copro_setSpeed(-10, -10);
break;
case 1000:
copro_stop();
leds_set_status(0, 0);
leds_set_status(0, 1);
break;
case 1300:
counter=0;
break;
}
}
return 0;
}
Es handelt sich hierbei um das, modifizierte, im Tutorial gelistete, letzte Beispiel um den Nibo etwas nach vorne und wieder nach hinten fahren zu lassen. Ich habe bewusst die Werte bei
copro_setSpeed(-10, -10);
auf 10 verringert, und damit drehen die beiden Motoren auch nicht mehr volle Power/Spannung/Drehzahl. Jedoch fährt der Bot immernoch nicht gerade, sondern Mal nach mehr links, Mal mehr nach rechts, unvorhersagbar. Also schliese ich, dass mit der Drehzahlregelung immer noch etwas nicht stimmen kann.
Falls nicht noch jemand einen super Einfall hat, lassen wir den Bausatz umtauschen.. es ist bestimmt nicht im Sinne des Erfinders, dass solch ein Verhalten vorliegt. Außerdem habe ich Sorge, dass ich mit immer weiteren Untersuchungen, vor allem mit Umbauten nur mehr Schaden anrichten kann, als Lösungen zu finden.. naja, soweit erstmal..
Güße, Peterchen