PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linienverfolgung geht nur zum Teil



homergun
29.01.2007, 21:53
Hallo ich habe hier schon lange nichts mehr geschrieben und hatte jetzt Zeit mich mit dem Asuro auseinanderzusetzen. Ich bin auch ein absoluter c-Neuling aber immerhin habe ich aus Beispielen ein kleines Programm zur Linienverfolgung gezimmert(Verfolgt Linien die heller als der Hintergrund sind).
#include "asuro.h"

int main(void){
unsigned int data[2];
Init();
FrontLED(ON);
StatusLED(OFF);
while(1){
LineData(data);
data[0]=data[0]*1.0;
MotorDir(FWD,FWD);
if (data[0] < data[1])
{BackLED(OFF,ON);
MotorSpeed(255,150);}
else
{BackLED(ON,OFF);
MotorSpeed(150,255);}}
while(1);
return 0;
}
Jetzt das seltsame Problem:
Asuro lässt das Prog nur ablaufen, wenn der ganz linke Taster gedrückt ist, das heißt ich habe ein Stück Klebeband dran gemacht um den Taster eben gedrückt zu halten. Was ist an dem Programm falsch?
Eigentlich habe ich im Prog gar keine Taster erwähnt.
Zweites Problem:
Wenn ich an der Stelle"data[0]=data[0]*1.0;" die Zahl veränder auf z.B. 0.9 startet er erst nach ein paar Sekunden und dreht sich dann nur im Kreis. Die Zahl war eigentlich gedacht, um die unterschiedliche Empfindlichkeit der Sensoren auszugleichen.

damaltor
29.01.2007, 22:00
das problem hat mit den tastern nix zu tun, könnte zufall sein.
eigentlich sollte das programm funktionieren denk cih mal... parobier es mal bei hellem und bei sehr wenig licht, was macht er dann?

homergun
29.01.2007, 22:17
Ich habe es eben noch mal bei kompletter Dunkelheit ausprobiert aber es bringt nichts. Die 6 Tasten funktionieren mehr oder weniger Wirkungsvoll aber das ist ja kein Zustand. Ich will vllt auch mal was programmieren was Linienverfolgung und Tasten mit einbezieht.

damaltor
29.01.2007, 22:19
hmm... dann sieht das nach nem lötfehler aus...
eigentlich haben die beiden elemente nicht besonders viel miteinander zu tun

homergun
29.01.2007, 22:22
also dass ich Widerstände vertauscht habe oder kalte Lötstellen oder so...?

damaltor
29.01.2007, 22:51
vermutlich... die liegen vorn hinter den tastern verdammt dicht beieinander. kann vielleicht auch sein, dass zwei widerstände ein bein vertauscht haben, also sozusagen gekreutzt sind. anstatt so

o-o
o-o
könnten sie aus versehen auch so eongelötet worden sein:

o o
| |
o o

radbruch
29.01.2007, 23:52
Hallo,

solange kein Taster gedrückt wird ist es reichlich egal welcher Widerstand wo eingelötet ist (solange keiner gegen GND liegt).

Ich vermute eher dass durch das Drücken der Taste auf der Platine eine Spannung entsteht und dadurch eine schlechte Lötstelle beeinflußt wird.


Die Zahl war eigentlich gedacht, um die unterschiedliche Empfindlichkeit der Sensoren auszugleichen.
Das wirst du mit einer kleinen Rechnung nicht ausgleichen können. Viel Spass beim Tüfteln.

Gruß

mic

homergun
30.01.2007, 18:39
Ich bin mit dem Lötkolben noch mal alle Lötstellen durchgegangen und das Problem besteht weiterhin unverändert.

radbruch
30.01.2007, 19:05
Ich vermute, du meinst das Problem mit dem Taster der gedrückt werden muss damit was passiert. Was sagt denn der SelfTest?

Zum Programm und dem endlosen Drehen: Wohin und wie schnell soll er eigentlich fahren wenn beide Seiten gleich hell sind?

homergun
31.01.2007, 09:28
Ja das Tasterproblem

Den Selftest hat er bestanden und verschiedene andere einfache Programme von mir und auch sowas wie mit Geräuscherzeugung hier aus dem Forum laufen problemlos, ohne dass man Tasten drücken muss.

Und beide Seiten sind doch bei 1023 Möglichkeiten für jede Seite fast nie gleich hell( dafür ist nichts definiert).

damaltor
31.01.2007, 13:26
nein gleich hell wirst du sie eigentlich nicht bekommen, wenn dann nur aus glück =)

es gibt auch noch die möglichkeit "0", allerdings sieht man die meist nur wenn der sensor hinüber ist...

trotzdem, ich habe gerade nochmal in den schaltplan geschaut. die taster haben nichts mit den anderen teilen des asuro zu tun, bis darauf dass sie am gleichen prozessor und der gleichen masse hängen.

Kann quasi gar nicht sein =)

radbruch
31.01.2007, 18:25
Seltsam, seltsam. Und der SelfTest läuft wie alle anderen Demos normal? Mal 'ne ausgefallenere Idee: Du lädst natürlich die fertigen hex-Dateien der Demos auf den asuro. Hast du das selbe mal mit selbst erzeugten hex-Dateien versucht? Startet ein einfaches Programm ohne Tastendruck (z.B.: while(1) BackLED(ON,ON); )? Vielleicht stimmt mit deinem Compiler etwas nicht.

homergun
31.01.2007, 21:05
Ich denke der Compiler wird schon ok sein, so Sachen wie einfach Motoren vorwärts laufen lassen oder LED-Programme die ich auch selber compiliert habe lassen sich ganz normal starten und ausführen.

Gestern habe mal das Melodieprogramm von ich glaube Arexx-Henk ausprobiert, hat soweit auch funktioniert. Hier kann man durch die Tasten verschiedene Funktionen auswählen, das seltsame war jedoch, dass die Tasten nur bei Helligkeit funktionierten, könnte also vllt. mit den Photosensoren zusammenhängen.

damaltor
31.01.2007, 22:30
ich vermute, dass da irgendwo eine ungewollte brücke ist, die den taster und einen der fototransistoren in reihe schaltet. es könnte sein, dass du bei r26 und r32 oder r24 und r11 oder r23 und r15 oder r28 und r15 ein beinchen vertauscht hast. der widerstand kommt in den kreis, und das andere beinchen in das pad, wo der kleine fleck hinzeigt.

homergun
01.02.2007, 18:11
Danke für den Hinweis Damaltor (
und das andere beinchen in das pad, wo der KLEINE FLECK hinzeigt)
den Fleck habe ich nämlich gar nicht beachtet
wenn das die Ursache ist dann habe ich den Fehler gefunden, es sind die Widerstände R15 und R23 vertauscht
dann werde ich gleich mal den Lötkolben anschmeißen

damaltor
01.02.2007, 18:30
=)

ist mir auch passiert... sei vorsichtig beim auslöten, nicht dass das beinchen ausreisst.

homergun
01.02.2007, 19:15
Jetzt funktionierts auch ohne Klebeband. :mrgreen:
Ja da kann ich mich nur für eure Hilfe bedanken

damaltor
01.02.2007, 19:22
kein problem, dafür ist das forum ja da...