PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NIBO BEE



the.speciali
15.10.2009, 17:43
Hab noch nirgends hier ein Thread gesehen über das Teil und wo ich den jetzt rein machen soll weis ich auch net so recht :D

Wie es scheint ist er heute hereingestellt worden (vor paar Stunden gabs noch nicht den Link zu Reichelt) und den will ich euch nicht vorenthalten:

NiboBee (http://www.nicai-systems.de/nibobee.html)

Ist auf den ersten Blick leistungsfähiger als der Asuro und desto länger ich mir ihn anschau desto mehr und mehr glaub ich das dieser Nibo ein echter Konkurrent werden könnte. Vor allem gefällt mir die Option mit dem integrierten USB, mit dessen Hilfe - so wie ich das verstanden hab - man den NiboBee programmieren kann ohne zusätzliche Adapter, auch wird hier drüber gleich die Akkus geladen (ja ich weis ist umständlich den jetzt stundenlang am USB dranzulassen um mal die Akkus aufzuladen :D trotzdem find ich diese Option interessant^^).

Jetzt müsste nur noch der Support und die Anleitung gut sein..., auch bin ich ein bisschen Skeptisch gegenüber den Tastern. Und die komische Kuppel gefällt mir auch nicht :D Aber sie schützt so wenigstens die Elektronik. Nicht zu vergessen der günstige Preis von 49,90 (http://www.reichelt.de/?ACTION=3;ARTICLE=91023;PROVID=2402),

the.speciali

radbruch
15.10.2009, 18:26
Hallo

Ich habe mir mal auf die Schnelle einen Überblick verschafft und bin nahezu sprachlos. Vermutlich haben sie jetzt (endlich im dritten Anlauf) einen würdigen Nachfolgerkandidaten für den asuro geschaffen. Aufbauanleitung und Programmiertutorial vorbildlich ausführlich, Ausstattung komplett (sogar mit USB-Kabel) zum sofortigen Durchstarten nach der Bescherung (Akkus mitbestellen!).

Da die Library (im Moment?) nur als einsteigerfreundliche selbstinstallierende Windows-Version angeboten wird, kann ich zu deren Inhalt noch nichts sagen. Da nicai aber sehr geübte Programmierer beschäftigt (das sieht man an den Libs der Vorgänger), gehe ich davon aus, dass auch hier ein neuer Masstab gesetzt wird.

Gruß

mic

Max Hinze
15.10.2009, 18:36
Hallo

ist wirklich wie radbruch gesagt hat ein wirklich würdiger nachfolger von Asuro.
Bessere erweiterungsmöglichkeiten, größerer Speicher. USB Programmer mit dazu und alles zum Preis von Asuro.

Respekt

Gruß Max

pinsel120866
18.10.2009, 10:32
Hi,

auch sehr interessant finde ich dass er 5 Ports für Erweiterungen frei hat.

Tolle Sache!

workwind
03.11.2009, 09:12
NIBObee folgt einer Linie (Video):

[flash width=400 height=320 loop=false:5059aff3d1]http://www.youtube.com/v/AZC2ro-nFBQ&hl=de&fs=1&[/flash:5059aff3d1]

pinsel120866
03.11.2009, 09:17
WOW - Echt super, wie schnell der Kleine die Kurve kratzt!

2 Sachen würden mich hierzu brennend interessieren:

- Wie macht er sich auf der Linien-test-arena
- Wie sieht der Code dazu aus?

workwind
03.11.2009, 09:24
Programmcode für die Linienfolge aus dem Video:


#include <nibobee/iodefs.h>
#include <nibobee/motpwm.h>
#include <nibobee/analog.h>
#include <nibobee/line.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>


int main() {
activate_output_group(IO_LEDS); // LED bits als Output
motpwm_init();
motpwm_setLeft(0);
motpwm_setRight(0);
analog_init();
line_readPersistent();
set_output_group(IO_SENS); // Pull-ups aktivieren
activate_output_bit(IO_LINE_EN);

int16_t speed_flt_l=0;
int16_t speed_flt_r=0;

// Countdown: LEDs blinken lassen
for (uint8_t i=0; i<10; ++i) {
led_set(LED_L_RD, 1);
led_set(LED_R_RD, 1);
_delay_ms(10);
led_set(LED_L_RD, 0);
led_set(LED_R_RD, 0);
_delay_ms(990);
}
led_set(LED_L_YE, 1);
led_set(LED_R_YE, 1);
_delay_ms(1000);
led_set(LED_L_YE, 0);
led_set(LED_R_YE, 0);

// Hauptschleife:
while(1) {
sei();
_delay_ms(1);
int16_t speed_l=0;
int16_t speed_r=0;

int16_t lval = line_get(LINE_L);
int16_t cval = line_get(LINE_C);
int16_t rval = line_get(LINE_R);

if (lval+cval+rval < 20) {
led_set(LED_L_RD, 0);
led_set(LED_R_RD, 0);
speed_r=0, speed_l=0;
} else if ((lval<cval) && (lval<rval)) {
// lval is minimum
led_set(LED_L_RD, 1);
led_set(LED_R_RD, 0);
speed_r=550, speed_l=450-1*(cval-lval);
} else if ((rval<cval) && (rval<lval)) {
// rval is minimum
led_set(LED_L_RD, 0);
led_set(LED_R_RD, 1);
speed_r=450-1*(cval-rval), speed_l=550;
} else {
// cval is minimum
led_set(LED_L_RD, 1);
led_set(LED_R_RD, 1);
speed_r=750 + 1*(rval-cval), speed_l=750 + 1*(lval-cval);
}

speed_flt_l*=3; speed_flt_l+=speed_l; speed_flt_l/=4;
speed_flt_r*=3; speed_flt_r+=speed_r; speed_flt_r/=4;

motpwm_setLeft(speed_flt_l);
motpwm_setRight(speed_flt_r);

}
return 0;
}

pinsel120866
03.11.2009, 09:40
Vielen Dank!

Ürigens, die Linientestarena gibt es hier:

https://www.roboternetz.de/phpBB2/viewtopic.php?t=30004

radbruch
03.11.2009, 17:29
Hallo

Echt super, scheinbar sind drei Liniensensoren ein echter Vorteil. Noch 'ne Frage zum Programm:

speed_l=450-1*(cval-lval);

Soweit ich das bisher überblicke kann man in der Grundausstattung nicht mit einem Terminal kommunizieren. Muss man die Werte der Liniensensoren deshalb schätzen oder werden die Werte durch die Kallibrierfunktion auf definierte Werte gerechnet?

Übrigends hat NiboBee (der oder die?) acht freie PortPins (4xdigital einschließlich I2C, 4xanalog), wenn man die Taster mitrechnet ist sogar der komplete Port C nutzbar. Hier zeigen sich die Vorteile des 40Pinners gegenüber den 28 des asuro-mega8 ;)

Die Libraries gibt es nun auch als Archive zum Download. Und das Wiki wächst auch täglich. Weihnachten kann kommen ;)

Gruß

mic

workwind
04.11.2009, 08:23
Die Bibliothek bringt eine Kalibrierungsfuntion mit, die Parameter werden im EEPROM gespeichert und bleiben (EESAVE=0) bei der Neuprogrammierung erhalten. Die Kalibrierung wird mit schwarzem und mit weissem Untergrund durchgeführt, die Messung wird moduliert durchgeführt. Als Ergebnis erhält man 0 für schwarz und 1024 für weiss.

Zur Kommunikation steht ein serielle 5V Schnittstelle (RN-Definition: RS232 TTL Stecker (http://www.rn-wissen.de/index.php/RN-Definitionen#RS232_TTL_Stecker)) zur Verfügung.

Sergetg
01.02.2010, 13:22
auch wird hier drüber gleich die Akkus geladen (ja ich weis ist umständlich den jetzt stundenlang am USB dranzulassen um mal die Akkus aufzuladen :D trotzdem find ich diese Option interessant^^).


the.speciali

Für mich ist das sehr Praktisch da ich so ein USB-Ladegerät für MP3-Player usw. rumliegen habe.

An sonsten finde ich am NiboBee praktisch, dass er den USB-Programmer auf der Hauptplatine integriert hat. Super ist der Jumperstecker um die Stromversorgung der Motoren zu unterbrechen damit er nicht vom Tisch runterfällt und kaputt geht (weis nicht ob der Asuro das auch hat).

Etwas weniger gefält mir die Konstruktion des Getriebes welche bei mir etwas Problehme machte und zum teil immer noch macht. Auch die Fühler sind nach meiner Ansicht etwas unoptimal Konstruiert.

Vom Preis Leistungsverhältniss her bin ich zufrieden, denn der Preis ist für das er den USB-Programmer Integriert hat und noch die Akuldefunktion echt gut. Man muss sich ausser den Akus kein Zubehör dazu kaufen. Somit ist er gut für Leute die in die Robotik einsteigen wollen und noch kein Zubehör (z.B ISP-Programmer) besitzen.

s.frings
28.03.2010, 14:18
Die Fühler kann man gemäß https://www.roboternetz.de/phpBB2/viewtopic.php?t=52390 leicht verbessern.

Mit den Getrieben hatte ich überhaupt keine Probleme, deswegen würde ich das Getriebe jederzeit hoch loben. Hast Du vielleicht etwas schief zusammen gebaut?

Die Sensoren zur Linienverfolgung funktionieren bei mir sehr gut.

Rabenauge
28.03.2010, 14:50
Preislich ist die Biene allemal ihr Geld wert.
So langsam fange ich an, zu blicken, was man aus dem kleinen Ding alles machen kann und bin immer wieder beeindruckt.

Dass manche Lösungen (ja, ich finde die Getriebekonstruktion auch misslungen, das wäre einfacher und besser gegangen) nicht soo optimal sind, gut, Perfektion hat nunmal ihren Preis. Richtig zusammengebaut, funktioniert es gut, und nachbessern kann man eigentlich _immer_.

Der Jumper für die Motorbrücken ist ein Anfang, ich hab mir, weil mich das Getüdel genervt hat, dort nen Schalter angeschlossen, der zusammen mit dem Haupschalter an der Heckplatte (hat meine Biene halt) sitzt, so muss ich nicht ständig unter der Kuppel herumhantieren.

Da mein Bienchen inzwischen eh längst mit LiPo fährt (die AAA sind auch so ein leichter Fehlgriff), ich ein Oberdeck eingezogen habe (um das Display schön weit nach oben zu bekommen und trotzdem noch Platz für andere Spielereien zu haben), muss ich meine Kuppel eigentlich nur noch in ganz seltenen Fällen abnehmen.
Inzwischen (nach etlichen, auch optischen) Umbauten gefällt mir das Bienchen schon recht gut, auch, weil man unter der Kuppel mehr Platz hat, als man denkt.

HHBurak
13.04.2010, 07:49
Programmcode für die Linienfolge aus dem Video:


#include <nibobee/iodefs.h>
#include <nibobee/motpwm.h>
#include <nibobee/analog.h>
#include <nibobee/line.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>


int main() {
activate_output_group(IO_LEDS); // LED bits als Output
motpwm_init();
motpwm_setLeft(0);
motpwm_setRight(0);
analog_init();
line_readPersistent();
set_output_group(IO_SENS); // Pull-ups aktivieren
activate_output_bit(IO_LINE_EN);

int16_t speed_flt_l=0;
int16_t speed_flt_r=0;

// Countdown: LEDs blinken lassen
for (uint8_t i=0; i<10; ++i) {
led_set(LED_L_RD, 1);
led_set(LED_R_RD, 1);
_delay_ms(10);
led_set(LED_L_RD, 0);
led_set(LED_R_RD, 0);
_delay_ms(990);
}
led_set(LED_L_YE, 1);
led_set(LED_R_YE, 1);
_delay_ms(1000);
led_set(LED_L_YE, 0);
led_set(LED_R_YE, 0);

// Hauptschleife:
while(1) {
sei();
_delay_ms(1);
int16_t speed_l=0;
int16_t speed_r=0;

int16_t lval = line_get(LINE_L);
int16_t cval = line_get(LINE_C);
int16_t rval = line_get(LINE_R);

if (lval+cval+rval < 20) {
led_set(LED_L_RD, 0);
led_set(LED_R_RD, 0);
speed_r=0, speed_l=0;
} else if ((lval<cval) && (lval<rval)) {
// lval is minimum
led_set(LED_L_RD, 1);
led_set(LED_R_RD, 0);
speed_r=550, speed_l=450-1*(cval-lval);
} else if ((rval<cval) && (rval<lval)) {
// rval is minimum
led_set(LED_L_RD, 0);
led_set(LED_R_RD, 1);
speed_r=450-1*(cval-rval), speed_l=550;
} else {
// cval is minimum
led_set(LED_L_RD, 1);
led_set(LED_R_RD, 1);
speed_r=750 + 1*(rval-cval), speed_l=750 + 1*(lval-cval);
}

speed_flt_l*=3; speed_flt_l+=speed_l; speed_flt_l/=4;
speed_flt_r*=3; speed_flt_r+=speed_r; speed_flt_r/=4;

motpwm_setLeft(speed_flt_l);
motpwm_setRight(speed_flt_r);

}
return 0;
}


Hi Leute,
habe heute für mich ein großes, aber für euch bestimmt ein kleines problem. Und zwar habe ich diesen Quellcode kopiert und dann versucht mit AVR zu Compilieren, aber da bekomme ich folgende Fehlermeldung:


Build started 13.4.2010 at 08:33:50
avr-gcc -I"C:\Programme\NIBObeeLib\include" -mmcu=atmega16 -Wall -gdwarf-2 -std=gnu99 -D_NIBOBEE_ -DF_CPU=15000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT NibobeeTest.o -MF dep/NibobeeTest.o.d -c ../N
ibobeeTest.c

avr-gcc -mmcu=atmega16 -Wl,-Map=NibobeeTest.map NibobeeTest.o -L"C:\Programme\NIBObeeLib\lib" -lnibobee_line -lnibobee_base -lnibobee_utils -o NibobeeTest.elf
C:\Programme\NIBObeeLib\lib\libnibobee_line.a(line .o): In function `line_readPersistent':
line.c:(.text.line_readPersistent+0x10): undefined reference to `__eerd_block'
C:\Programme\NIBObeeLib\lib\libnibobee_line.a(line .o): In function `line_writePersistent':
line.c:(.text.line_writePersistent+0x10): undefined reference to `__eewr_block'
make: *** [NibobeeTest.elf] Error 1
Build failed with 2 errors and 0 warnings...


Ps.: ich möchte erreichen, dass er im Endeffekt einen Parcour abfahren kann und dies brauche ich für meinen Informatik Leistungskurs.

MfG & vielen Dank im voraus Leute

oberallgeier
13.04.2010, 08:19
... diesen Quellcode kopiert ... da bekomme ich folgende Fehlermeldung ...Versuch mal die eeprom.h auch zu includen . . . . :

#include <avr/eeprom.h>

workwind
13.04.2010, 08:46
Hallo HHBurak,

vermutlich passen die WinAVR Version und die Version der NIBObeeLib nicht zusammen:
http://www.nibo-roboter.de/wiki/NIBObee/FAQ

muell-er
13.04.2010, 08:54
... vermutlich passen die WinAVR Version und die Version der NIBObeeLib nicht zusammen ...Na dann wird sich WinAVR wohl anpassen müssen.

Rabenauge
13.04.2010, 10:43
Ja, das Problem hatte ich unlängst auch: Ersatzrechner und dort alles neu rauf, und schon klappte nix mehr. ;)
Auf dem hier gehts nun wieder wie früher.
Gab es auch eine Lösung dazu, in einem der Bienen-Treads (oder unter C-Programmierung).

HHBurak
20.04.2010, 07:15
So jetzt funktioniert alles war wohl eine ältere version der library.
Der Nibobee fährt schon gut, hat aber bei engen kurve bis zu 90° einige Probleme der Bahn zu folgen. Wir haben schon mal den Speed gedrosselt, was könnte wir noch ändern damit er genauer fährt

HHBurak@hotmail.de

Unregistriert
03.05.2016, 13:12
Hi,
ich habe bei meinem Nibobee das Problem, dass die vorderen Sensoren nicht so reagieren wie sie eigentlich sollten.
Normalerweise ist es ja so, dass wenn der Nibobee auf einem weißen Blatt ist, die vorderen LEDs (LED1 und LED2) leuchten und wenn unter denen nichts ist dann müssten die LEDs nicht leuchten.
Jetzt ist es bei mir aber so, dass die LEDs die ganze zeit leuchten und nur einzelnt aus gehen, wenn ich die Photo-Widerstände links und Rechts unten einzelnt bedecke. Sprich: Wenn ich den linken Photo-Widerstand (in Fahrt richtung) bedecke dann geht die LED auf der rechten Seite (also LED2) aus und wenn ich den rechten Photo-Widerstand bedecke, dann geht die linke LED (also LED1) aus. Ist also über Kreuz. Wenn ich beide bedecke bleiben sie nach wie vor an.

Hat vielleicht jemand ne Lösung dazu?