NIBO2 - Test Bodensensoren
Hallo Achim
Ich habe ein neues Thema bezgl Bodensensoren aufgemacht, denn dieses Thema hat ja mit dem initializer2.hex nicht so viel zu tun...
Beim Test der Bodensensoren (die 2 vorderen Sensoren) habe ich festgestellt, daß der Nibo noch bis zu 4 cm weiter fährt nach dem Erkennen des "Absturzes" -> 4cm, da würde er auf jeden Fall abstürzen (2,4 cm sind das maximale ohne Absturz)
Mein Programm ist ganz einfach gehalten; in einer while-schleife wird:
copro_setSpeed(tspeed_l, tspeed_r);
copro_update();
if ((value_fl<0x20)||(value_fr<0x20)) {
leds_set_status(2,4);
copro_stop();}
(das sind nur prinzipielle Codeschnipsel!) Die Sollwertvorgabe tspeed_l = 40 Ticks (14cm/s), ki = 15, kp = 20, kd = 10.
Ich wollte auch die Zeit messen, die vergeht, bis der NIBO steht (vom Auslösen des copro_stop() bis copro_speed_l = 0, wollte das über einen interruptgesteuerten Timer/Zähler ISR(TIMER2_COMP_vect) machen, aber der Befehl copro_stop() schaltet die Interruptbehandlung aus (cli() und sei())..und somit geht mein Zähler nicht - es wäre schon interessant, die Zeit zu messen, die der Nibo braucht um zum stehen zu kommen..
ich werde mal checken, ob der Nibo mit dem Befehl copro_setPWM() schneller zum Stillstand kommt, denn ich befürchte, daß er noch weiter fahren würde,wenn der Speedsetpoint größer wäre (z.B. statt 40 Ticks 80 Ticks, wobei die Frage ist - kann er diese Geschwindigkeit überhaupt fahren...
Hero_123
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
es kommt darauf an, welche Fkt in der while-schleife aufgerufen werden - wenn KEINE Grafikausgaben erfolgen, stoppt der NIBO bei 40 Ticks gerade noch rechtzeitig (ca 3mm vor Teflon-Rand -> kein Absturz), bei 60 Ticks fährt er ca 3 - 5mm über den Teflon-Rand hinaus -> Absturz.
Ich hatte bei meinen ersten Versuchen mir immer die Drehzahl, Batt-spg und die Bodensensoren am Grafikdisplay anzeigen lassen, diese Anzeigen verursachen eine Verzögerung -> NIBO fährt weiter als gewünscht...
bei den 40Ticks hat er bei mir immer gerade noch rechtzeitig gestoppt (Ubatt = 10V), wenn keine Anzeige erfolgte
die Fkt copro_setPWM(0,0) führt auch nicht zu einem früheren Stopp.
Fazit: 40 Ticks, keine Grafikausgaben - bei mir kein Absturz.
habe mal mein c-file mit angehängt - alles mit NiboLib 2.7
Hero_123